Boss

Boss 是一个面向多设备开发协作的 agent control plane。

它的目标是让用户通过对话入口或独立控制台,持续管理多台 Windows、Mac 上的编码代理,支持任务拆分、实时进度、需求变更、审批和审计。

当前状态

当前仓库已经包含产品设计文档与一版可直接跑起来的本地控制台:

当前原型能力:

  • Fastify API
  • 文件持久化状态存储
  • SSE 实时事件流
  • Web 控制台
  • boss-worker 模拟执行器
  • boss-worker 外部命令执行模式,可接本地 Codex / Claude / 自定义脚本
  • AI Glasses 云服务器一键部署脚本
  • 命令行对话入口脚本
  • npm run smoke 自动跑端到端验证
  • Dockerfile + compose.yaml 支持容器启动

当前推荐方向

  • 主控面Web 为主,聊天入口为辅
  • ManagerCodex
  • 设备侧 workerCodex CLI + Claude Code
  • 工具层MCP
  • 调度:持久队列或工作流引擎

本地运行

npm install
npm run demo

浏览器打开:

http://127.0.0.1:43210

如果你只想单独启动服务端:

npm run dev

如果你想把数据写到独立文件,避免和默认 demo 数据混用:

BOSS_DATA_FILE=.boss-data/local-dev.json npm run dev

云端主控部署

如果你要按最初的产品策略来跑:

  • 云服务器只跑 Boss control plane
  • 你的 Windows / Mac 本机各自跑 worker
  • 你通过浏览器或命令行和云端主控对话

仓库已经内置 AI Glasses 云服务器部署脚本:

./scripts/deploy_ai_glasses_server.sh

这条脚本会优先尝试 Docker 部署;如果云机拉不到 Docker Hub 镜像,会自动回落到 Node 常驻进程模式。

部署完成后,先用这个脚本确认云端状态:

./scripts/boss_cloud_status.sh

查看云端日志:

./scripts/boss_cloud_logs.sh

默认云端入口:

http://111.231.132.51:43210

这就是你当前最短的“主账号对话入口”。

如果你要手工启动 worker

npm run worker -- --name win-a --os windows --capability terminal --capability browser
npm run worker -- --name win-b --os windows --capability terminal --capability test
npm run worker -- --name mac-a --os macos --capability terminal --capability test --capability browser

如果你要接真实本地执行器,而不是模拟执行:

npm run worker -- \
  --name mac-codex \
  --os macos \
  --capability terminal \
  --capability test \
  --mode command \
  --workspace /path/to/project \
  --executor ./scripts/codex_executor.sh

也可以接 Claude Code 或任意你自己的脚本,只要命令能从环境变量里读取任务上下文:

  • BOSS_TASK_TITLE
  • BOSS_TASK_DESCRIPTION
  • BOSS_TASK_KIND
  • BOSS_TASK_JSON
  • BOSS_WORKSPACE
  • BOSS_WORKER_NAME

仓库里已经自带两个可直接改造的适配脚本:

  • ./scripts/codex_executor.sh
  • ./scripts/claude_executor.sh

例如:

npm run worker -- \
  --name win-claude \
  --os windows \
  --capability terminal \
  --capability browser \
  --mode command \
  --workspace /path/to/project \
  --executor ./scripts/claude_executor.sh

怎么和系统对话

当前推荐两种方式:

  1. 浏览器入口
    打开云端控制台:
http://111.231.132.51:43210

这是最符合产品策略的入口,也是主控面。

  1. 命令行聊天入口
    仓库里自带一个简单 CLI可以直接发消息给 Boss
BOSS_SERVER_URL=http://111.231.132.51:43210 ./scripts/boss_chat.sh create "Boss 主控对话"
BOSS_SERVER_URL=http://111.231.132.51:43210 ./scripts/boss_chat.sh send "先调研这个问题,不要急着改代码。"
BOSS_SERVER_URL=http://111.231.132.51:43210 ./scripts/boss_chat.sh status

这条 CLI 入口后面也很容易改造成 Telegram / Slack / 企业微信 webhook。

一键本地 demo

npm install
npm run demo

这会拉起:

  • Web/API 服务
  • 2 台 Windows 模拟 worker
  • 1 台 Mac 模拟 worker

自动 smoke test

npm run smoke

容器启动:

docker compose up --build

当前 v1 能力

  • 创建项目会话并持续对话
  • 自动生成任务树并调度到不同 worker
  • worker 心跳、掉线回收、任务重排
  • worker 真实外部命令执行,支持本地命令适配
  • 审批、暂停、恢复、取消、重排
  • SSE 实时事件流和 Web 控制台
  • 会话归档与恢复
  • 云端主控部署脚本与状态脚本
  • 命令行对话入口
  • 一键 demo 启动
Description
Boss multi-device agent control plane prototype
Readme 184 MiB
Languages
Kotlin 39.6%
TypeScript 36.3%
JavaScript 10.9%
Shell 8.4%
CSS 2.1%
Other 2.7%