01 / Install
先把班底跑起来
桌面版适合直接在 Windows 上使用;从源码运行适合想改代码、使用 Linux/macOS,或需要自行部署控制面的场景。
Windows 桌面版
- 打开 GitHub Releases,下载
bandi_<版本>_x64-setup.exe。 - 双击安装并启动。安装包自带 Node 运行时,不需要额外安装。
- 安装包没有代码签名,Windows 可能提示“未知发布者”。确认文件来自 Release 后选择“仍要运行”。
- 本机访问控制面默认免登录,打开窗口即可使用。
校验下载文件
Release 页面同时提供 SHA256SUMS-v<版本>.txt,可用它核对安装包完整性。
从源码运行
需要 Node 22 或更高版本,服务端使用内置的 node:sqlite。没有 npm 依赖,也不需要打包器。
git clone https://github.com/shepherd-chenxs/bandi.git cd bandi node --version node start.mjs
默认控制面地址是 http://127.0.0.1:8787/。Windows 也可以直接双击仓库里的 start.cmd。
数据目录
默认落在用户目录:Windows 为 %APPDATA%\bandi。可用 BANDI_DATA 指向别处;仓库里的 data/ 只在显式设置时使用。
两个前置条件
- Agent CLI 自行安装、凭据自备。班底负责调用,不分发 Codex 或 DeepSeek Harness。
- 多机协作时,每台执行机器都安装班底节点。控制面只负责编排,活由节点在本机拉起 CLI。
02 / Digital employee
创建第一位数字员工
数字员工不是一段预设提示词,而是一份可管理的执行配置。它把“谁”“会什么”“在哪干”“用什么跑”拆开管理。
| 配置 | 作用 | 示例 |
|---|---|---|
| 名字 | 派活时用于辨认 | 阿拓 |
| 岗位 | 主职,自由文本,不参与自动派活 | 研发 |
| 职责指令 | 带进该员工每次对话的身份设定 | 先定位根因,再小步修改 |
| Runtime | 实际执行用的 Agent CLI | Codex CLI |
| 权限 | 控制 CLI 的沙箱模式 | 只读 / 可写 |
| 工作目录 | 会话和命令落地的目录 | E:\projects\my-app |
岗位和技能不是一回事
- 岗位说明“他是谁”,一个员工通常只有一个,用来在通讯录和人员下拉里快速辨认。
- 技能说明“他会干什么”,可以挂载多个,也可以随时解除。
- 流程派活只认节点上点的名字,不会因为岗位或技能自动顶人。
先从小权限开始
第一次使用建议从只读权限开始,确认工作目录、CLI 行为和输出都符合预期,再逐步放开写权限。
03 / Conversation
把一句话变成一次真实执行
在“消息”里选择一位数字员工,输入任务并发送。每条消息都会启动一次真实调用;事件流实时显示思考、工具调用、文件改动和最终回复。
会话里能做什么
- 查看执行过程,而不是只等最后一句答案。
- 随时停止正在跑的任务。
- 刷新或重连后,从已有事件继续看,不会丢掉中间过程。
- 让会话关联某个项目,活就落在该项目目录里。
会话、工单与任务卡
员工的一对一会话用于人和他直接沟通。流程步骤和任务卡会按需创建独立的“工单会话”,在消息模块里归入“手上的活”,避免把执行细节混进日常对话。
停止不等于回滚
停止会终止当前执行,但已经写入磁盘的代码和文件改动不会自动撤销。重要目录请先使用版本控制。
04 / Workflow
让多个 Agent 按流程接力
工作台里的“流程编排”由模板和实例组成。模板定义节点、连线和每个节点的经办人;实例是一条具体工作从想法走到完成的过程。
发布一条流程
- 进入工作台,打开“流程编排”。
- 添加节点,为每个节点点名一位数字员工。
- 配置节点之间的连线,并标记需要人工放行的节点。
- 发布模板,在工作台发起实例,填入这次要做的“想法”。
内置交付模板
班底自带一条交付模板,覆盖想法、写代码、测试、部署等典型环节。部署节点固定需要人下令,避免 Agent 自动把变更推到线上。
想法 → 写代码 → 测试 → [人工] 部署 → 完成
阿拓 小满 老周
实例页看什么
- 当前走到哪个节点,谁在办理。
- 哪些步骤在排队、执行、等待确认或失败。
- 哪一步正在等人放行,以及这一步的上下文。
如果经办人正忙,步骤会退回待办并由调度自动重派。额度耗尽或真实失败则进入阻塞/失败状态,等人处理,不会无休止重试。
05 / Task board
用一块看板收拢所有活
任务看板有两个入口:项目详情里只看当前项目,工作台里的全局看板看所有项目。它们使用同一套数据与交互。
卡片从哪里来
- 流程卡:流程每次到达一个节点时生成。
- 聊天卡:在会话中派活时生成。
- 手工卡:在看板列头点击“+”直接创建。
- 仓库值班卡:定时巡检 GitHub 的 PR / Issue 后写入。
状态与开工
看板按生命周期分列,例如待办、进行中、待人确认、停下等人、失败、已完成。手工卡可以拖动改状态;流程卡和聊天卡的状态由平台管理。
把有执行人的卡拖进“进行中”会触发开工。没有执行人的卡只改变状态,不会派活。派不出去时状态保持原样,并显示具体原因。
筛选与讨论
全局看板支持按状态、负责人和项目筛选。任务卡详情采用评论区形态:可以围绕一个问题反复讨论,确认后再把状态改为待办并指定执行人,自动开始工作。
06 / Nodes
把算力扩展到多台机器
控制面和执行节点是两层。控制面保存编排、员工、任务和事件;节点安装在实际执行任务的机器上,主动向控制面报到并领取任务。
控制面(托管或本机)
↑ 长连接 / 节点主动连出
执行节点 ── 拉起 Codex / dsh
↓
本机代码、凭据、工作目录
接入一台新机器
- 在那台机器上准备 Node 22+ 和所需的 Agent CLI。
- 配置控制面地址,以及控制面要求的一次性邀请码或访问令牌。
- 启动节点,确认它完成报到并探到 Runtime。
- 在员工配置里选择带机器名的 Runtime,之后这个人的活就会派到那台机器。
路径是机器上的事实
控制面传给节点的是那台机器上的绝对路径。目录不存在时会明确失败,不会悄悄换一个目录继续干。
离线与重连
节点不在线时,任务会排队等它回来。节点掉线时,正在跑的任务判为中断;还没开始的任务放回队列。排队任务如果不再需要,可以手动停止。
07 / Extensions
技能、插件与连接器
技能
技能包是给数字员工增加工作方法的一种方式。可以在“设置 → 技能”中创建、导入或关联技能,也可以把已有技能添加到某位员工。
技能通常包含一份 SKILL.md,用描述说明“什么时候该用它”,正文提供具体工作流程。班底不会按技能自动派活,派活仍然由人点名。
插件
插件用于扩展工作台能力。已安装插件会出现在工作台中,例如项目面板;插件清单声明自己的版本、权限和界面入口。
连接器与 MCP
连接器用来登记外部能力,支持本地 stdio 进程和远程 HTTP 服务两种方式。可以在连接器里配置环境变量、请求头,并指定它给哪些 Runtime 使用。
密钥优先引用环境变量
连接器配置里推荐写 env:变量名,而不是直接粘贴明文令牌。
代码托管与定时任务
在“设置 → 代码托管”中连接 GitHub 后,可以接入仓库、同步代码、建成项目。定时任务支持 PR 巡检和数据库备份,可按间隔或日历规则执行。
08 / Security
安全边界
班底会按设计在你的机器上执行命令
它不是一个只读分析工具。使用前应确认工作目录、Agent 权限和任务内容,重要代码请纳入版本控制。
默认只听本机
控制面默认监听 127.0.0.1,本机访问免登录。一旦监听非回环地址,班底会自动要求访问令牌;令牌文件在数据目录中,应像私钥一样保管。
不要直接挂公网
- 公网或不可信网络优先使用 SSH 隧道、Cloudflare Tunnel 或 TLS。
- 如果需要直接监听公网地址,同时配置来源白名单
BANDI_ORIGINS,否则写请求会被拒绝。 - 访问令牌是共享的操作员令牌,不是多用户账号体系。
- 节点使用自己的令牌,可按机器吊销;不要复用控制面的操作员令牌。
凭据与数据
模型 Key、CLI 凭据和工作目录由你的机器管理。GitHub 令牌保存在数据目录的单独文件中,不写入 SQLite;界面只回显掩码。
备份时优先停止服务,再备份整个数据目录,确保 SQLite 的 WAL 文件与主库一致。
09 / FAQ
常见问题
必须先安装 Codex 或 DeepSeek Harness 吗?
是。班底负责调度和展示,不随包分发 Agent CLI,也不提供模型凭据。先按照对应 CLI 的说明安装并完成登录。
可以不用桌面版吗?
可以。使用 Node 22+ 直接运行 node start.mjs,或在 Linux 服务器上部署控制面。桌面版只是更省配置的 Windows 外壳。
为什么我的流程步骤一直停在待办?
常见原因是经办人正忙、Runtime 不在线,或节点上的工作目录不存在。实例页会显示阻塞原因;修正后等待调度重试,或手动处理。
多个项目可以同时跑吗?
同一员工可以有多件工作在排队,但同一项目同一时刻只允许一件执行,避免两个进程同时改同一份代码。
卸载会删除数据吗?
默认不删除。只有选择“完全卸载”时,才会同时删除数据库、令牌、插件、连接器、机器登记和自启项。
手机上能用吗?
当前产品优先桌面端,不把移动端作为这一版目标。通过远程访问时,界面能在浏览器打开,但控制面安全和 Runtime 仍由桌面/服务器承担。
下载桌面版或从源码运行 →