← 返回项目

Project · 桌面应用 · AI Agent · 早期开发(v0.1.0)

muchbot:本地多 Bot 协作桌面工作台

为不同 Bot 配置职责、模型和工作目录,通过私聊、群聊与群主分派协作完成本机任务。将工具调用、权限审批、记忆、技能和 MCP 接入统一到桌面对话中。基于 Electron、React、TypeScript 与 SQLite 构建,业务运行在独立 Agent Host 中,当前处于以 Windows 为验证平台的早期开发阶段。

muchbot:本地多 Bot 协作桌面工作台 项目封面

技术栈

ReactViteTypeScript

时间

开始
—
结束
—
更新
2026.10.25

muchbot 是我独立开发的本地多 Bot 桌面工作台。你可以给不同 Bot 设置职责、模型和工作目录,在私聊中交代任务,也可以把它们拉进群,通过 @ 和群主分派协作。文件读写、命令执行、工具审批和结果都出现在对话里。

它面向需要在本机处理文件、编写代码或组织多个 Agent 协作的人。项目关注的是任务执行过程:谁来接手、能操作哪些资源、什么时候需要用户确认,以及任务结束后怎样清理进程、保留上下文。

多个 Bot 怎样一起工作

每个 Bot 可以有自己的身份、职责、主模型、备用模型和工作目录。简单任务直接私聊;需要分工时,把相关 Bot 加入群聊。

群聊支持按 @ 路由消息,也支持由群主分派任务、收集成员汇报。运行时会限制连续接力轮数与任务链中的任务数量,达到上限后暂停,等待用户继续发言,避免 Bot 互相触发而让任务无限扩散。

对话可以创建分支,保留原任务上下文;分支还可以创建独立 Git worktree,让不同尝试在不同工作树中进行。工作树用于分开代码改动,并不是权限沙箱。

把业务放进独立 Agent Host

桌面端使用 Electron、React 19 和 TypeScript,界面由 Vite 构建。模型调用、Bot 运行时、权限决策和存储都在独立的 Agent Host 中运行,Host 通过 Electron 的 utilityProcess 启动。

界面通过 MessagePort 上的类型化 RPC 与事件和 Host 通信,不直接操作数据库或系统凭据。主进程负责窗口、系统能力、凭据加解密,以及 Host 的生命周期管理。Host 意外退出后,会先清理其资源再退避重启;短时间内连续失败则停止重启并通知界面。

数据由 SQLite 与文件化 Profile 共同保存。Profile 用 YAML 与 Markdown 表达 Bot 配置、身份和记忆,支持导入、导出;数据库维护消息、审批规则、学习提案和资源索引等状态。单个 Profile 导出不等于完整应用备份。

权限审批与命令执行

Bot 提供「询问」「自动」「完全权限」三档模式。权限层根据工具类型、目标路径、当前模式和已保存的允许规则,决定直接执行还是弹出审批卡片。

例如,在询问模式下,读取工作目录内文件可以直接执行,写入文件和执行命令需要审批;自动模式允许更多工作目录内操作,但访问目录外文件仍需审批。MCP 工具还会参考服务声明的只读属性。

Windows 命令执行使用我编写的 C# 辅助程序,通过 Job Object 管理命令及其子进程,处理取消任务、Host 退出等情况下的进程树清理。这里解决的是进程生命周期问题,不能把它理解为操作系统级沙箱。

一条获准执行的命令,仍可能访问当前系统用户有权访问的其他位置。 文件工具的目录检查无法约束命令内部行为;MCP 的只读声明也取决于服务本身。

记忆、技能与学习提案

muchbot 支持用户记忆、Bot 记忆和主题记忆,也可以为 Bot 配置技能包。身份、记忆和技能用于补充任务上下文,而不是每次都靠用户重新交代。

学习模块可以在空闲时复盘对话,生成记忆或技能修改提案。用户能查看修改内容,编辑后批准,也可以拒绝;提案经过审阅后才生效。这样,复盘得到的内容不会直接覆盖长期配置。

接入模型与外部能力

应用支持 DeepSeek 与 OpenAI 兼容服务,并可为 Bot 配置主模型和备用模型。额外能力通过 MCP 服务接入,编程任务也可以交给本机 Claude Code 或 Codex。

本机编程 Agent 使用自身的认证与配置,启动后的内部命令和文件操作不经过 muchbot 逐项审批,因此启动审批不代表对后续每一步操作都进行了检查。

对话、配置和记忆保存在本机,但调用远程模型、网页服务、MCP 或编程 Agent 时,相关上下文仍可能发给对应服务。API Key 通过 Electron safeStorage 加密保存,对话、Profile 和工作区文件并非整体加密。

测试与当前状态

仓库使用 Node 内置 test runner,测试覆盖 Host、存储、权限、群聊路由与共享逻辑,并配置 Windows CI 执行文档检查、lint、类型检查、构建和测试。桌面冒烟脚本使用独立临时数据、本机模拟模型和测试 MCP 服务,检查从界面到 Host 的实际链路,也提供打包产物的冒烟入口。CI 的基础检查不启动桌面窗口,不能代替桌面与打包验证。

当前版本为 0.1.0,仍处于早期开发阶段。构建、打包和 CI 以 Windows 为验证平台,界面以简体中文为主;macOS 和 Linux 尚未完成对应的 CI 与打包验证。此页面暂不提供安装包下载链接。