对话研究助手

基于Telegram的对话式研究助手,专注于论文分析与开发工作流支持。

  • by duncanhovsky
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 duncanhovsky/telegram-copilot-bridge-skill

使用说明

对话研究

Dialogue Research是一个基于Telegram的会话研究助手,用于论文分析和开发工作流程。

安装指南

1) 先决条件

  • Node.js 20+
  • VS Code(推荐内部人士)+支持MCP的副驾驶聊天
  • Telegram机器人令牌(来自 @BotFather)
  • 要么 GITHUB_TOKEN 或 COPILOT_API_KEY 用于自动模型调用

2) 安装依赖项

npm install
npm run build

3) 准备代币

3.1电报令牌

  1. 打开 @BotFather 在Telegram中
  2. 跑 /newbot
  3. 复制bot令牌(例如: 123456:ABC...)

3.2型号证书(选择一个)

  • GITHUB_TOKEN (与 models 访问)
  • COPILOT_API_KEY

如果你看到 The models permission is required to access this endpoint,您的令牌没有模型访问权限。使用具有适当权限的令牌。

4) 配置环境变量(Windows PowerShell)

[Environment]::SetEnvironmentVariable('TELEGRAM_BOT_TOKEN','<your_telegram_bot_token>','User')
[Environment]::SetEnvironmentVariable('GITHUB_TOKEN','<your_github_token>','User')
# Or:
# [Environment]::SetEnvironmentVariable('COPILOT_API_KEY','<your_copilot_api_key>','User')

可选:

[Environment]::SetEnvironmentVariable('HTTP_PROXY','http://127.0.0.1:7890','User')
[Environment]::SetEnvironmentVariable('HTTPS_PROXY','http://127.0.0.1:7890','User')
[Environment]::SetEnvironmentVariable('NO_PROXY','localhost,127.0.0.1','User')
[Environment]::SetEnvironmentVariable('DEV_WORKSPACE_ROOT','E:\\project\\bot_ws','User')

设置变量后,重新加载VS Code(Developer: Reload Window).

5) MCP配置

确保 .vcode/mcp.json 包含 telegram-copilot-bridge 并使用 ${env:TELEGRAM_BOT_TOKEN}.

然后在命令面板中运行:

  • MCP: Start Server
  • 选择 telegram-copilot-bridge

6) 启动守护程序模式

npm run daemon:start

停止守护进程:

npm run daemon:stop

用法

1) 直接在Telegram中聊天

直接向您的机器人发送消息。守护进程会自动轮询更新并回复。

建议的第一步:

/devworkspace E:\project\bot_ws

2) 命令

  • /start 显示欢迎信息
  • /menu 刷新交互式主菜单
  • /back 返回上一步(论文和开发流程)
  • /topic <name> 切换主题线程
  • /agent <profile> 交换机代理配置文件
  • /models 列出可用型号
  • /modelsync 从端点刷新可用模型
  • /model <id> 为当前主题设置模型
  • /language <zh|en> 或 /lang <zh|en> 为当前主题设置交互语言
  • /history <keyword> 搜索历史
  • /paper 显示当前论文
  • /paperhelp 显示纸张模式命令指南
  • /paperadd <arXiv-link|arXiv-id|paper-title> 添加纸张
  • /paperlist 列出/选择最近的论文
  • /papermode <organize|brainstorm> <cot|tot|got> 设定论文推理模式
  • /paperorganize [cot|tot|got] 整理纸质信息
  • /paperbrainstorm [--mode cot|tot|got] <question> 进行5人头脑风暴
  • /ask <question> 询问当前论文
  • /askm <model-id> <question> 使用按请求模型覆盖进行询问

开发模式命令:

  • /devworkspace <path> 设置工作区根目录
  • /devprojects 列出项目
  • /devcreate <project-name> 创建项目并设置为当前
  • /devselect <project-name> 选择当前项目
  • /devclone <repo-url> [project-name] 克隆并设置当前
  • /devstatus 显示开发模式状态
  • /devhelp 显示开发模式命令指南
  • /devls [dir] 列出当前项目中的文件
  • /devcat <file-path> 从当前项目读取文件
  • /devrun <command> 运行白名单命令(git status|branch|log, npm/pnpm/yarn test)
  • /devgit [status|branch|log] Git查询操作的快捷方式

交互式开发流程(内联键盘):

  • 进入 💻 Development Menu 接收工作区项目列表和克隆提示
  • 从内联按钮中选择项目以设置焦点项目
  • 设置焦点后,使用 🤖 Copilot 或 🔁 Change Project
  • 在“振动编码”面板中,使用 🧩 Agent / 🧠 Model / 🌳 File Tree
  • 您还可以在开发模式下直接发送GitHub repo URL以克隆到工作区
  • 文件树行的格式为 文件夹 <path> 或 #文件N.ext <path>
  • 回复 文件夹 <path> (或 文件夹)浏览、回复 #文件N.ext 让Copilot读取并解释该文件
  • 文件树支持内联分页(上一页/下一页)对于大型目录
  • #文件N.ext 在当前目录中使用稳定的编号(N在页面之间保持一致)
  • 内联回调操作绑定到发起主题线程(不强制回退到默认主题)
  • 开发子步骤支持 ⬅️ 返回上一步 通过内联键盘(项目列表、聚焦项目面板、vibe面板、代理/模型选择器、文件树)
  • 您还可以使用 /back 作为开发流程中前一步导航的文本回退
  • 纸张子页(历史/候选人)也使用 ⬅️ 返回上一步 内联导航
  • Back action回调命名空间统一为 back:* (传统回调仍然兼容)
  • 为了可读性和更安全的重构,后台操作回调文本集中在守护进程常量中

语言行为:

  • zh =>机器人系统消息和模型输出遵循中文
  • en =>机器人系统消息和模型输出遵循英文
  • 语言设置按以下方式存储 chat_id + topic

指导层次:

  • 全球指导保持简洁 /start.
  • 论文具体指导集中在 /paperhelp 并在进入纸张模式后出现。
  • 针对发展的指导主要集中在 /devhelp 并在进入开发模式后出现。

验证

  1. 发送 /start
  2. 发送正常消息并确认自动回复
  3. 检查 数据/副本使用日志 用于使用记录

自动覆盖重点:

故障排除

MCP在启动时卡住

  1. 跑 npm run build
  2. 跑 Developer: Reload Window
  3. 重新启动MCP服务器

机器人不自动回复

  1. 确保守护进程正在运行(npm run daemon:start)
  2. 检查 TELEGRAM_BOT_TOKEN
  3. 检查 GITHUB_TOKEN 或 COPILOT_API_KEY
  4. 如果出现权限错误,请使用令牌 models 访问
  5. 环境更新后重新启动守护进程和VS代码

开发项目操作失败

  1. 确认 DEV_WORKSPACE_ROOT 或奔跑 /devworkspace <path>
  2. 确认路径权限
  3. 跑 /devstatus 检查当前工作区/项目
  4. 确保 git 已安装用于克隆操作

getUpdates 409冲突

只有一个守护进程实例应该轮询相同的bot令牌。

成本/重试日志