bossagent更新0.1.1

BOSS Agent v0.1.1 重构了桌面工作台和真实运行时:可以选择项目目录、调用受限工具、生成 Markdown 交付物,并把任务、审批、失败与实际输出如实保存下来。

bossagent更新0.1.1封面图
文章目录

上一篇写完两天后,我把它拆开重装了

上一篇《BOSS Agent:这次我想坐在老板的位置上》写完时,它已经有 Electron 桌面壳、员工分工、模型服务、审批和 SQLite 历史,至少看起来像一间刚开张的小公司。

但我重新把整个项目从界面一路检查到运行时之后,发现有些地方只是“长得像能工作”。页面上有状态、有进度、有交付物,背后的生产工具却还没有真正接上;浏览器预览甚至会填入演示员工、审批和任务结果,让空办公室看起来灯火通明。

这就有点像在门口贴满“今日繁忙”的委托单,推门进去却发现阿银还在睡觉。

所以这次 v0.1.1 没有继续往界面上堆功能,而是做了一次从 Electron IPC、任务运行时、持久化、权限,到桌面交互和发布流程的完整重构。

项目仓库:wswayin/BOSS_agent

版本发布:BOSS Agent v0.1.1

先删掉那些看起来很忙的东西

这次最先处理的不是新功能,而是假象。

没有真实任务,就不再生成一排像模像样的历史记录;没有 Electron preload,浏览器里只显示明确的只读空状态;模型名称、Git 分支、访问模式、进度百分比和连接状态,也不能再从前端写死后假装是后端传来的。

以前有些入口虽然能点,却没有对应能力。比如“插件库”实际只是在配置模型服务,“日程”展示的也是任务历史,搜索和加号里还有没接线的操作。现在这些名称被重新整理成了更诚实的四个入口:

  • 新任务:选择项目目录、运行模型并提交目标。
  • 团队:查看真实员工、模型分配和 HR 草稿。
  • 集成:配置模型 Provider,并区分真正加载的能力与只有声明的能力。
  • 活动:查看持久化任务、审批和交付状态。

我越来越觉得,工具最重要的体验不是“看起来什么都有”,而是每一个亮着的按钮都真的有后续。

现在提交任务之前,得先把真实世界接上

新版的新任务页会先要求选择项目目录和可运行的模型 Provider。目标提交后,CEO 必须先理解任务并生成通过校验的阶段计划,再把工作交给产品经理、开发、QA & 交付或 HR。

如果 Provider 没有启用、凭据不可用、请求失败,或者模型生成的计划不合法,任务会直接显示失败。桌面正式任务不再偷偷切回脚本化的假运行,让界面继续表演“已完成”。

这次接上的生产工具只有三个:

workspace.read
document.write_markdown
command.request

workspace.read 只能在选中的项目目录里受限读取;document.write_markdown 会把真实 Markdown 交付物写到 BOSS Agent 自己的用户数据目录,并记录 SHA-256;command.request 只会生成一条命令提案,哪怕审批通过,也不会直接执行主机 Shell。

工具不多,但它们终于做的是名字写出来的事。

完成不是绿色徽章说了算

BOSS Agent v0.1.1 的任务工作台会展示阶段、验收标准和实际输出

任务工作台现在按照真实阶段显示员工分配、验收标准、实际输出、错误和交付物。左侧历史记录也会打开被选中的那一次运行,不会不管点哪条都跳回最新任务。

不过这里还有一条我特意保留的提醒:运行状态显示 Completed,只代表模型和这次运行正常结束,不代表需求已经被独立验证、代码一定改完、测试一定通过。

以前我很容易把“Agent 返回了最终答案”当成“项目完成”。现在界面会把实际输出和验收标准摆在一起,让 Boss 自己检查。这听上去少了一点全自动的魔法,却更像真正的交付。

审批终于不再是按钮动画

高风险工具遇到审批时,运行会停在可恢复的状态。批准或拒绝之后,系统会重新检查权限策略,再继续或结束任务,而不是只在前端把按钮变成绿色。

员工治理也接上了真实流程。Boss 可以直接创建员工;HR 创建的只能是草稿,必须经过 Boss 批准后才会成为可用员工。不同员工还能保存各自的模型服务和模型名称,实际执行时会使用被分配员工的配置。

团队页会展示真实员工、模型分配和等待 Boss 处理的 HR 草稿

Boss 仍然不会出现在员工名单里。老板如果也被 CEO 派去写日报,那这个组织多少还是有点问题。

“装了什么”和“写在配置里什么”是两回事

多智能体项目很容易把 Tools、Skills、MCP 和 Plugins 全写在一张能力清单里,然后给人一种它们已经全部可用的感觉。

新版集成页会明确区分:模型 Provider 已实现,桌面运行时当前真正加载了三个工具;Skills、MCP 和 Plugins 仍然只有声明,没有完整的安装、启停、升级和卸载生命周期。

集成页会区分运行时已加载的工具和只有声明的能力

这也是这次重构里我最喜欢的变化之一。能力边界被写清楚以后,下一步该补什么反而更容易判断。

界面变简单,是因为职责被拆开了

旧版 App.tsx 一度接近三千行,界面映射、交互、状态和大量样式都挤在一起。这次把桌面壳、任务输入和阶段序列拆成了独立组件,共享文案也集中管理,App.tsx 缩到了不到一千行。

设置页也改成渐进展开。平时只看员工和 Provider 的摘要,真的要修改模型、创建员工或开启本次会话的实时执行时,再展开对应表单。

首页因此回到了我最初真正需要的样子:左边是导航和真实任务历史,右边是一块安静的输入区域。先把事情交代清楚,再进入工作台处理计划、审批和交付物。

这次我也开始认真对待发布

v0.1.1 加入了类型检查、运行时 smoke、工作区工具测试、Electron 失败注入、打包后应用验证和 Windows GitHub Actions。安装包、SHA-256、blockmap 和发布清单也已经上传到 GitHub Release。

它现在仍然是未签名安装包,也没有自动更新。Windows 会提示未知发布者,所以只应该从项目的官方 Release 下载。代码签名和自动发布不能靠界面画一个“安全”图标解决,得等真正的证书和发布流程接上。

它现在还不能做什么

这次更新让 BOSS Agent 从展示型原型走到了真实运行时,但离“把项目交给它,第二天回来收货”还很远:

  • 只能受限读取项目目录,不能 patch 或写入项目文件。
  • command.request 只记录提案,不执行主机 Shell。
  • 还没有 token streaming、取消、重试和用量统计。
  • SQLite 目前保存的是任务快照,不是真正的追加式事件存储。
  • Tools、Skills、MCP 和 Plugins 还没有统一的完整生命周期。
  • Windows 安装包未签名,也没有自动更新。

这些限制没有藏在 README 最下面,而是直接反映在界面和运行结果里。

从会展示,到开始真正干活

上一篇写 BOSS Agent 时,我关心的是角色怎么分工、Boss 应该保留哪些决定。这次重构让我更在意另一件事:一个 AI 工作台必须诚实地区分“计划做”“正在做”“真的做了”和“还需要人检查”。

v0.1.1 还不能替我修改代码,也不能通宵执行命令,但它已经能面对一个真实项目目录,使用明确受限的工具,把计划、过程、审批、失败和交付物留下来。

老板的位置算是坐稳了一点。至于什么时候能把木刀往桌上一放,第二天直接来验收——先别催,万事屋也是要按委托难度收费的。