SuperAPI AI 工具集

openteam-control

智能体与模型

查看项目

更新于 10-15 08:43

技能介绍

用途

本技能用于通过本机 openteamcli 命令和本地 daemon 控制 OpenTeam。它面向外部智能体或 CLI 调用场景,不直接操作浏览器界面,也不绕过本地控制协议调用 Chrome 扩展内部 API。

当任务需要多个 AI 角色在 OpenTeam 里讨论、评审、批判、头脑风暴、比较方案,或分别给出独立观点时,使用这个技能。

本机命令要求

默认直接调用已安装到本机 PATH 里的 openteamcli。如果命令不存在,提示用户先从 npm 安装:

npm install -g @afumu/openteamcli

开发期可以在 OpenTeam 仓库里执行:

npm install -g ./packages/openteamcli

或使用软链接安装:

npm link ./packages/openteamcli

启动并检查连接

任何操作前先运行:

openteamcli daemon start
openteamcli doctor

daemon start 是幂等命令。如果 daemon 已经运行,只会返回 alreadyRunning,不会重复启动后台进程。

如果结果里 extension.connected 是 false:请用户打开 OpenTeam 插件页面,确认设置里已开启“本机智能体控制”,再运行一次 doctor。

如果 daemon 状态异常,优先运行:

openteamcli daemon restart
openteamcli doctor

推荐的新任务流程

新任务优先使用“一次性创建群聊、添加角色、发布任务、等待回复”的流程,最适合外部 Agent 或 CLI 调用。

先创建一个 JSON 文件,例如 task.json:

{
  "chat": {
    "name": "方案评审",
    "mode": "independent"
  },
  "roles": [
    {
      "source": "temporary",
      "name": "工程师",
      "systemPrompt": "从工程实现、复杂度、风险和测试角度评估。"
    },
    {
      "source": "temporary",
      "name": "产品经理",
      "systemPrompt": "从用户价值、范围控制和交付节奏角度评估。"
    }
  ],
  "task": {
    "target": "all",
    "content": "请评估这个方案,给出风险、建议和最终判断。"
  },
  "options": {
    "waitForReplies": true,
    "activateChat": true,
    "openTeamPage": true
  }
}

然后运行:

openteamcli run create-and-post --file task.json --wait

向用户汇报时,优先按角色保留观点差异,不要把所有回复压平成一段通用总结。

临时角色

如果人员库里没有现成模板,不要要求用户先手动创建模板,直接在任务 JSON 里使用临时角色:

{
  "source": "temporary",
  "name": "研究员",
  "description": "负责查漏补缺和事实核对。",
  "chatSite": "deepseek",
  "systemPrompt": "你是研究员,负责核对事实、找出假设漏洞,并列出需要补充的信息。"
}

临时角色只属于当前群聊,不会写入人员库。chatSite 可用值:deepseek、chatgpt、gemini、claude、grok。

如果模拟真实公众人物、公司创始人或专家风格,必须在 systemPrompt 里明确:这是公开思想风格的模拟角色,不是真人本人,不代表其公司或组织发言,不声称拥有私人经历、实时信息或内部信息。

继续已有群聊

当用户给出 chatId,或希望继续之前的 OpenTeam 群聊时,使用已有群聊流程:

openteamcli task post --chat <chatId> --target all --content "继续追问的问题"
openteamcli task wait --chat <chatId> --message <messageId> --timeout 300000
openteamcli task read --chat <chatId> --message <messageId>

如果 task post 的 CLI 进程迟迟不返回,但 chat get 已经能看到用户消息和角色回复,说明群聊执行链路可能已经完成。此时用 task read 按消息 ID 读取结果,并检查 daemon 是否有悬挂请求:

openteamcli daemon status

如果 pending 长时间不为 0,重启 daemon 清理悬挂状态:

openteamcli daemon restart

常用命令

openteamcli daemon start
openteamcli doctor
openteamcli daemon status
openteamcli daemon restart
openteamcli chat list
openteamcli chat get <chatId>
openteamcli chat create --name "群聊名" --mode independent
openteamcli chat activate --chat <chatId>
openteamcli chat initialize --chat <chatId>
openteamcli role list --chat <chatId>
openteamcli role batch-add --chat <chatId> --file roles.json
openteamcli task post --chat <chatId> --target all --content "任务"
openteamcli task wait --chat <chatId> --message <messageId> --timeout 300000
openteamcli task read --chat <chatId> --message <messageId>

roles.json 可以是数组:

[
  {
    "source": "temporary",
    "name": "研究员",
    "systemPrompt": "负责查漏补缺和事实核对。"
  }
]

错误恢复

优先看机器可读的 error.code。

  • extension_not_connected:请用户打开 OpenTeam 插件页面,确认已开启本机智能体控制,然后重跑 doctor。
  • control_disabled:请用户在 OpenTeam 设置里开启“本机智能体控制”。
  • role_not_ready:运行 chat initialize --chat <chatId>,或请用户等待角色 iframe 初始化完成。
  • task_timeout:运行 task read,汇报已收到的部分回复和仍在等待的角色。
  • permission_denied:不要盲目重试。本地 token 或 daemon 状态可能异常,先运行 daemon restart。
  • fetch failed:先运行 doctor 和 daemon status。如果 daemon 退出或插件断开,重启 daemon 并重新打开 OpenTeam 页面。

操作规则

  • 新任务优先使用 run create-and-post --file ... --wait。
  • 多角色、长提示词或复杂任务必须使用 JSON 文件承载输入。
  • 不要把密钥、token、cookie 或用户隐私信息写进任务提示词。
  • 本地 daemon 只能监听 127.0.0.1,不要暴露到公网或局域网。
  • 除非用户明确希望浏览器会话里的 AI 角色行动,否则不要替用户向 OpenTeam 发布任务。
  • 汇报结果时说明哪些角色已回复、哪些角色仍在等待、是否超时。

适用场景

适合需要多个 AI 角色进行讨论、评审、批判、头脑风暴、方案比较或分别给出独立观点的任务,通过本机 CLI 驱动 OpenTeam 群聊完成。

限制

依赖本机已安装的 openteamcli 和运行中的 daemon,且需要 OpenTeam 插件已连接并开启本机智能体控制。本地 daemon 仅监听 127.0.0.1。技能资料未提供收费、价格、平台支持范围等其他信息。