Documentation / v0.9.0

使用说明

从安装到第一位数字员工,从一条会话到一套多人协作流程。按需要跳读,或者从上往下跑通一遍。

01 / Install

先把班底跑起来

桌面版适合直接在 Windows 上使用;从源码运行适合想改代码、使用 Linux/macOS,或需要自行部署控制面的场景。

Windows 桌面版

  1. 打开 GitHub Releases,下载 bandi_<版本>_x64-setup.exe。
  2. 双击安装并启动。安装包自带 Node 运行时,不需要额外安装。
  3. 安装包没有代码签名,Windows 可能提示“未知发布者”。确认文件来自 Release 后选择“仍要运行”。
  4. 本机访问控制面默认免登录,打开窗口即可使用。
✓

校验下载文件

Release 页面同时提供 SHA256SUMS-v<版本>.txt,可用它核对安装包完整性。

从源码运行

需要 Node 22 或更高版本,服务端使用内置的 node:sqlite。没有 npm 依赖,也不需要打包器。

PowerShell
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。

i

数据目录

默认落在用户目录:Windows 为 %APPDATA%\bandi。可用 BANDI_DATA 指向别处;仓库里的 data/ 只在显式设置时使用。

两个前置条件

  • Agent CLI 自行安装、凭据自备。班底负责调用,不分发 Codex 或 DeepSeek Harness。
  • 多机协作时,每台执行机器都安装班底节点。控制面只负责编排,活由节点在本机拉起 CLI。

02 / Digital employee

创建第一位数字员工

数字员工不是一段预设提示词,而是一份可管理的执行配置。它把“谁”“会什么”“在哪干”“用什么跑”拆开管理。

配置作用示例
名字派活时用于辨认阿拓
岗位主职,自由文本,不参与自动派活研发
职责指令带进该员工每次对话的身份设定先定位根因,再小步修改
Runtime实际执行用的 Agent CLICodex CLI
权限控制 CLI 的沙箱模式只读 / 可写
工作目录会话和命令落地的目录E:\projects\my-app

岗位和技能不是一回事

  • 岗位说明“他是谁”,一个员工通常只有一个,用来在通讯录和人员下拉里快速辨认。
  • 技能说明“他会干什么”,可以挂载多个,也可以随时解除。
  • 流程派活只认节点上点的名字,不会因为岗位或技能自动顶人。
i

先从小权限开始

第一次使用建议从只读权限开始,确认工作目录、CLI 行为和输出都符合预期,再逐步放开写权限。

03 / Conversation

把一句话变成一次真实执行

在“消息”里选择一位数字员工,输入任务并发送。每条消息都会启动一次真实调用;事件流实时显示思考、工具调用、文件改动和最终回复。

会话里能做什么

  • 查看执行过程,而不是只等最后一句答案。
  • 随时停止正在跑的任务。
  • 刷新或重连后,从已有事件继续看,不会丢掉中间过程。
  • 让会话关联某个项目,活就落在该项目目录里。

会话、工单与任务卡

员工的一对一会话用于人和他直接沟通。流程步骤和任务卡会按需创建独立的“工单会话”,在消息模块里归入“手上的活”,避免把执行细节混进日常对话。

!

停止不等于回滚

停止会终止当前执行,但已经写入磁盘的代码和文件改动不会自动撤销。重要目录请先使用版本控制。

04 / Workflow

让多个 Agent 按流程接力

工作台里的“流程编排”由模板和实例组成。模板定义节点、连线和每个节点的经办人;实例是一条具体工作从想法走到完成的过程。

发布一条流程

  1. 进入工作台,打开“流程编排”。
  2. 添加节点,为每个节点点名一位数字员工。
  3. 配置节点之间的连线,并标记需要人工放行的节点。
  4. 发布模板,在工作台发起实例,填入这次要做的“想法”。

内置交付模板

班底自带一条交付模板,覆盖想法、写代码、测试、部署等典型环节。部署节点固定需要人下令,避免 Agent 自动把变更推到线上。

流程实例
想法  →  写代码  →  测试  →  [人工] 部署  →  完成
        阿拓       小满        老周

实例页看什么

  • 当前走到哪个节点,谁在办理。
  • 哪些步骤在排队、执行、等待确认或失败。
  • 哪一步正在等人放行,以及这一步的上下文。

如果经办人正忙,步骤会退回待办并由调度自动重派。额度耗尽或真实失败则进入阻塞/失败状态,等人处理,不会无休止重试。

05 / Task board

用一块看板收拢所有活

任务看板有两个入口:项目详情里只看当前项目,工作台里的全局看板看所有项目。它们使用同一套数据与交互。

卡片从哪里来

  • 流程卡:流程每次到达一个节点时生成。
  • 聊天卡:在会话中派活时生成。
  • 手工卡:在看板列头点击“+”直接创建。
  • 仓库值班卡:定时巡检 GitHub 的 PR / Issue 后写入。

状态与开工

看板按生命周期分列,例如待办、进行中、待人确认、停下等人、失败、已完成。手工卡可以拖动改状态;流程卡和聊天卡的状态由平台管理。

把有执行人的卡拖进“进行中”会触发开工。没有执行人的卡只改变状态,不会派活。派不出去时状态保持原样,并显示具体原因。

筛选与讨论

全局看板支持按状态、负责人和项目筛选。任务卡详情采用评论区形态:可以围绕一个问题反复讨论,确认后再把状态改为待办并指定执行人,自动开始工作。

06 / Nodes

把算力扩展到多台机器

控制面和执行节点是两层。控制面保存编排、员工、任务和事件;节点安装在实际执行任务的机器上,主动向控制面报到并领取任务。

拓扑
控制面(托管或本机)
       ↑ 长连接 / 节点主动连出
执行节点  ──  拉起 Codex / dsh
       ↓
本机代码、凭据、工作目录

接入一台新机器

  1. 在那台机器上准备 Node 22+ 和所需的 Agent CLI。
  2. 配置控制面地址,以及控制面要求的一次性邀请码或访问令牌。
  3. 启动节点,确认它完成报到并探到 Runtime。
  4. 在员工配置里选择带机器名的 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 仍由桌面/服务器承担。

准备好开始了吗?
下载桌面版或从源码运行
→