【免费下载链接】Seele
希儿最初的家~
Seele 是一个用「语音识别 + TTS + AI 大模型 + 影刀 RPA」实现的桌面宠物项目,它的 Botmux 扩展就放在botmux-skill/目录里:一个包含seele-rpaSkill 和 MCP 服务器的自包含插件。本文将带你从零开始搭建这个 MCP 服务器,并完成安装、配置与调试全流程。
一、先搞懂插件的整体架构
在动手之前,建议先理清 Seele 的三层结构(详见 README.md):
| 层级 | 职责 |
|---|---|
| 桌面宠物 | PyQt5 界面、角色 GIF、气泡、托盘与输入窗口 |
| Botmux 连接 | 订阅 Botmux Dashboard 的会话与 SSE 事件,展示机器人工作状态 |
| RPA 桥接 | 只允许调用已登记的影刀工作流,通过带 token 的本地 HTTP 接口供 Botmux MCP 调用 |
Botmux 扩展位于botmux-skill/,它提供三样东西:seele-rpaSkill、一个暴露白名单工作流工具的 MCP 服务器,以及不修改Botmux 的 daemon、worker 或 CLI adapter。
二、搭建开发环境:Node.js 22+ 与 Python 3.11
插件端和桌面端分别需要两套环境:
- 插件端(botmux-skill):Node.js 22+ 和 Botmux 3.8+,用于构建、测试与安装插件。
- 桌面端(Seele 本体):推荐 Conda + Python 3.11:
conda create -n Seele python=3.11 conda activate Seele pip install -r requirements.txt python Seele.py三、配置 Seele 本体:让 RPA Bridge 上线
MCP 服务器并不会直接操作影刀,它通过本地 HTTP 请求 Seele 的 RPA Bridge(源码见 rpa_bridge.py)。
- 复制
botmux_config.example.json为botmux_config.json; - 把
bridge.token替换为长随机 token(可用python -c "import secrets; print(secrets.token_urlsafe(32))"生成),并开启bridge.enabled; - 注意:
botmux_config.json已加入.gitignore,不要把 token 提交到仓库。
四、安装 botmux-skill 插件并启用 seele
进入插件目录执行官方流程(完整说明见 botmux-skill/README.md):
cd botmux-skill npm test botmux plugin install . --link botmux plugin enable seelenpm test会依次执行构建(scripts/build.mjs)、校验(scripts/validate.mjs)和冒烟测试(scripts/smoke.mjs);--link表示以链接方式安装,方便开发期热更新;- 启用插件后,务必开一个新的 Botmux 会话,Skill/MCP 快照才会刷新。
五、创建插件私有配置 config.json
安装完成后,创建~/.botmux/plugins/seele/config.json(模板见 config.example.json):
{ "bridgeUrl": "http://127.0.0.1:8765", "bridgeToken": "与botmux_config.json中相同的token", "allowedOpenIds": ["ou_你的飞书open_id"] }然后收紧权限:
chmod 600 ~/.botmux/plugins/seele/config.json几个关键细节:
allowedOpenIds可以是数组或逗号分隔字符串;留空时仍要求 Botmux 认证的飞书调用者,但接受机器人已允许的任何用户;SEELE_BRIDGE_URL、SEELE_BRIDGE_TOKEN、SEELE_ALLOWED_OPEN_IDS三个环境变量可在手动启动 MCP 进程时覆盖文件配置,但 Botmux 以受限环境启动插件进程,私有配置文件才是可靠的生产路径;- WSL2 用户注意:mirrored 网络下
127.0.0.1直接可用;NAT 网络下要把bridgeUrl指向 Windows 宿主地址,并把 Seele 的 bridge host 设为0.0.0.0,同时保留 bearer token、用 Windows 防火墙限制端口。
六、MCP 服务器工作原理与调试
MCP 服务器入口是 src/mcp/server.js,通过 src/mcp/index.json 声明stdio传输方式。它基于 JSON-RPC 2.0 处理initialize、tools/list、tools/call等请求,对外暴露 3 个工具:
| 工具 | 对应 Bridge 接口 | 说明 |
|---|---|---|
seele_list_workflows | GET /v1/workflows | 列出可用的工作流名称与 ID |
seele_run_workflow | POST /v1/workflows/run | 提交工作流,返回request_id |
seele_workflow_status | GET /v1/jobs/:request_id | 查询已提交任务的最新状态 |
用冒烟测试快速验证
npm test中的 scripts/smoke.mjs 会临时起一个 mock Bridge 服务,然后向真实 MCP 进程发送 JSON-RPC 请求,验证:
initialize返回seele-rpa服务器信息;- 未携带可信调用者身份时,
seele_run_workflow被拒绝; - 携带
botmuxTrustedCaller身份后成功提交,Bridge 端恰好收到 1 次运行请求。
输出Seele MCP smoke test passed.即表示本地链路健康。
调试时的三个高频问题
A trusted Botmux/Lark caller identity is required.:请求没有_meta.botmuxTrustedCaller身份,只有 Botmux 宿主真实调用才会注入该身份,手动测试需要自行携带;401 unauthorized:插件config.json里的bridgeToken与 Seele 的botmux_config.json中的bridge.token不一致;accepted不等于完成:Bridge 返回accepted只代表已提交,需要影刀工作流回调POST /v1/jobs/:request_id/status后,才能看到真实的completed或failed。request_id是幂等键,同一请求不会重复启动工作流,拿不准结果时复用原 ID,不要换新 ID 重试。
行为约定(包括安全红线)写在 SKILL.md 中:不要用 shell 命令、文件路径或 URL 冒充工作流名,工作流运行中也不要操作鼠标键盘。
七、小结
- 插件自包含在
botmux-skill/,npm test+botmux plugin install . --link+botmux plugin enable seele三步完成安装; - 两份 token 配置(Seele 端与插件端)必须一致,私有配置记得
chmod 600; - 调试顺序建议:先跑冒烟测试,再核对 Bridge 的
/healthz,最后在新的 Botmux 会话里验证工具调用; - 安全边界:Bridge 只接受白名单工作流、非 loopback 监听强制 token、MCP 要求可信飞书调用者身份。
完成以上步骤后,你就可以在飞书里直接让希儿帮你列出并启动影刀工作流了。祝开发顺利 🎉
【免费下载链接】Seele
希儿最初的家~
相关推荐
Penpot MCP 插件开发指南:搭建 WebSocket 桥接层并运行本地调试服务器
Penpot MCP 插件开发指南:搭建 WebSocket 桥接层并运行本地调试服务器 导读 Penpot MCP Plugin 是一个运行在 Penpot
前端后端图形学如何构建MCP服务器日志分析Kibana插件:完整开发指南
如何构建MCP服务器日志分析Kibana插件:完整开发指南 想要实现MCP服务器日志的深度分析和可视化吗?mcp use项目提供了强大的日志分析能力,但结合Ki
人工智能后端AI 应用MCP 服务ssh-mcp-server 开发者指南:如何快速上手 SSH MCP 服务器的单元测试与本地调试
ssh mcp server 开发者指南:如何快速上手 SSH MCP 服务器的单元测试与本地调试 ssh mcp server 是一个基于 SSH 的 MCP
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考