开始用

编码 agent 的开放编排层。

operad

$ operad pending
4c1e9a02  dev  confirm
  Rotate the http token
  waiting: ready to merge
  actions: dev:merge, dev:reject, dev:rework,
           dev:reverify, dev:cancel

$ operad dev:merge T-0022-token-rotate --yes

$ operad history T-0022-token-rotate
- 22:28:40  review  pass  58s
- 22:30:02  you chose merge
待办3
  • 轮换 http tokenT-0022-token-rotate
    待合并
  • 让 serve 干净退出T-0023-serve-stop
    评审有意见
  • 给 Claude Code 的 channelT-0024-mcp-channel
    开发没有产出
  • TUI 的主题文件T-0021-tui-themes
    运行中

内核只有三个词:flow、pending、history。

其余都是插件。

计划、开发、检查、评审、合并。

你提需求

用 operad plan add 写下需求,用 operad task add 拆成任务,再确认计划。

agent 开发

每个任务有自己的 git worktree 和一份说明。worker 在里面提交。

跑检查

你在 .operad/dev.json 里列的命令,会在这次提交上跑一遍。

agent 评审

reviewer 读改动,写一份报告。有意见就退回返工,次数有上限。

你来合并

任务停在 pending 里等你。merge 合进 main;reject 带上你的批注退回去。

谁都能开发,谁都能评审。

仓库里有插件的 worker 是 claude、pi 和 radian。每个都是要你自己启用的插件;按仓库来选,worker 用一个,reviewer 换另一个。

// .operad/dev.json
{
  "worker":   { "use": "claude/agent",
                "args": ["--model", "sonnet"] },
  "reviewer": { "use": "pi/agent",
                "args": ["--thinking", "medium"] }
}

内核就三个词。

flow

一件事要走的路:若干步骤,等你,等时间,结束。operad flows 列出已加载的 flow。

pending

所有在等你的事,放在一个列表里,每一项带着它能做的操作。

## dev run · started 21:38
**2026-11-08**
- 21:38:41  worktree  ready  1s
- 21:38:44  work  done  41m
- 22:20:01  review  fail  58s
- 22:21:01  work  attempt 2  after fail
- 22:22:02  confirm  reverify  8m
- 22:30:02  you chose merge

history

3

个词要学。其余的词都归插件,用不到的你根本不会遇到。

  • dev 计划、任务、评审、合并
  • chat 和 agent 的长对话
  • bot 一个目录、一个 agent、一组 skill
  • pool 每个 agent 共用的额度

插件是 TypeScript 文件,不用构建就能加载,小到让 agent 当场就能写出来。

插件运行前先做类型检查。

operad plugin check

等你的事,就是一个列表。

下面是示例任务。点一行展开;在等你的可以 merge 或 reject。

终端、Claude Code、iPhone。

终端客户端。

operad tui 会找到 operad serve,找不到就启动它,列出待办和运行中的东西,在列表旁边打开某一项。a 执行主操作,: 打开命令面板,q 退出。

Claude Code,走 MCP。

operad mcp 是一个走 stdio 的 MCP server。主 agent 可以读 pending、running 和 history,运行插件命令,做 config.json 允许的操作。它不会替你做决定:merge 始终归你。

它的工具有 list, show, section, pending, answer, running, history, command and act。

// .mcp.json
{ "mcpServers": {
    "operad": { "command": "operad",
                "args": ["mcp"] } } }

iPhone app。

运行 operad pair,扫码。app 里能看到 pending、running、每个对象的各个部分和它的 history,merge 之前会再问你一次。server 默认只监听本机,除非你给它一个局域网或 Tailscale 地址。

$ operad pair
url http://192.168.1.20:7480
token <你的 token>

在 operad app 里扫这个:

在你自己的机器上跑。

operad 还在开发中。下面是它自己的仓库怎么用 operad 跑的。

operad init
operad repo add .
operad plan add --slug dogfood --title "Run operad on operad" < request.md
operad task add --plan P-0001-dogfood --slug switch --title "Switch" < task.md
operad dev:confirm P-0001-dogfood
operad serve

operad pending
operad dev:merge T-0001-switch --yes

你需要 git、一个带 remote 的仓库、Bun 运行时,以及 PATH 里有 claude、pi 或 radian 其中之一。命令和 config.json 的各个 key 写在仓库的 docs/manual.md 里。

源码在 GitHub