210 lines
4.8 KiB
Markdown
210 lines
4.8 KiB
Markdown
# Boss
|
||
|
||
Boss 是一个面向多设备开发协作的 agent control plane。
|
||
|
||
它的目标是让用户通过对话入口或独立控制台,持续管理多台 Windows、Mac 上的编码代理,支持任务拆分、实时进度、需求变更、审批和审计。
|
||
|
||
## 当前状态
|
||
|
||
当前仓库已经包含产品设计文档与一版可直接跑起来的本地控制台:
|
||
|
||
- [文档总览](./docs/README.md)
|
||
- [竞品对比](./docs/competitor-comparison.md)
|
||
- [系统架构](./docs/system-architecture.md)
|
||
- [MVP 功能清单](./docs/mvp-feature-plan.md)
|
||
- [技术选型](./docs/technical-selection.md)
|
||
- [消息协议与状态机](./docs/message-protocol-and-state-machine.md)
|
||
- [实施路线图](./docs/implementation-roadmap.md)
|
||
|
||
当前原型能力:
|
||
|
||
- Fastify API
|
||
- 文件持久化状态存储
|
||
- SSE 实时事件流
|
||
- Web 控制台
|
||
- `boss-worker` 模拟执行器
|
||
- `boss-worker` 外部命令执行模式,可接本地 Codex / Claude / 自定义脚本
|
||
- AI Glasses 云服务器一键部署脚本
|
||
- 命令行对话入口脚本
|
||
- `npm run smoke` 自动跑端到端验证
|
||
- `Dockerfile` + `compose.yaml` 支持容器启动
|
||
|
||
## 当前推荐方向
|
||
|
||
- 主控面:Web 为主,聊天入口为辅
|
||
- Manager:Codex
|
||
- 设备侧 worker:Codex CLI + Claude Code
|
||
- 工具层:MCP
|
||
- 调度:持久队列或工作流引擎
|
||
|
||
## 本地运行
|
||
|
||
```bash
|
||
npm install
|
||
npm run demo
|
||
```
|
||
|
||
浏览器打开:
|
||
|
||
```bash
|
||
http://127.0.0.1:43210
|
||
```
|
||
|
||
如果你只想单独启动服务端:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
如果你想把数据写到独立文件,避免和默认 demo 数据混用:
|
||
|
||
```bash
|
||
BOSS_DATA_FILE=.boss-data/local-dev.json npm run dev
|
||
```
|
||
|
||
## 云端主控部署
|
||
|
||
如果你要按最初的产品策略来跑:
|
||
|
||
- 云服务器只跑 Boss control plane
|
||
- 你的 Windows / Mac 本机各自跑 worker
|
||
- 你通过浏览器或命令行和云端主控对话
|
||
|
||
仓库已经内置 AI Glasses 云服务器部署脚本:
|
||
|
||
```bash
|
||
./scripts/deploy_ai_glasses_server.sh
|
||
```
|
||
|
||
这条脚本会优先尝试 Docker 部署;如果云机拉不到 Docker Hub 镜像,会自动回落到 Node 常驻进程模式。
|
||
|
||
部署完成后,先用这个脚本确认云端状态:
|
||
|
||
```bash
|
||
./scripts/boss_cloud_status.sh
|
||
```
|
||
|
||
查看云端日志:
|
||
|
||
```bash
|
||
./scripts/boss_cloud_logs.sh
|
||
```
|
||
|
||
默认云端入口:
|
||
|
||
```bash
|
||
http://111.231.132.51:43210
|
||
```
|
||
|
||
这就是你当前最短的“主账号对话入口”。
|
||
|
||
如果你要手工启动 worker:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
如果你要接真实本地执行器,而不是模拟执行:
|
||
|
||
```bash
|
||
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`
|
||
|
||
例如:
|
||
|
||
```bash
|
||
npm run worker -- \
|
||
--name win-claude \
|
||
--os windows \
|
||
--capability terminal \
|
||
--capability browser \
|
||
--mode command \
|
||
--workspace /path/to/project \
|
||
--executor ./scripts/claude_executor.sh
|
||
```
|
||
|
||
## 怎么和系统对话
|
||
|
||
当前推荐两种方式:
|
||
|
||
1. 浏览器入口
|
||
打开云端控制台:
|
||
|
||
```bash
|
||
http://111.231.132.51:43210
|
||
```
|
||
|
||
这是最符合产品策略的入口,也是主控面。
|
||
|
||
2. 命令行聊天入口
|
||
仓库里自带一个简单 CLI,可以直接发消息给 Boss:
|
||
|
||
```bash
|
||
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:
|
||
|
||
```bash
|
||
npm install
|
||
npm run demo
|
||
```
|
||
|
||
这会拉起:
|
||
|
||
- Web/API 服务
|
||
- 2 台 Windows 模拟 worker
|
||
- 1 台 Mac 模拟 worker
|
||
|
||
自动 smoke test:
|
||
|
||
```bash
|
||
npm run smoke
|
||
```
|
||
|
||
容器启动:
|
||
|
||
```bash
|
||
docker compose up --build
|
||
```
|
||
|
||
## 当前 v1 能力
|
||
|
||
- 创建项目会话并持续对话
|
||
- 自动生成任务树并调度到不同 worker
|
||
- worker 心跳、掉线回收、任务重排
|
||
- worker 真实外部命令执行,支持本地命令适配
|
||
- 审批、暂停、恢复、取消、重排
|
||
- SSE 实时事件流和 Web 控制台
|
||
- 会话归档与恢复
|
||
- 云端主控部署脚本与状态脚本
|
||
- 命令行对话入口
|
||
- 一键 demo 启动
|