@sublang/playbook

中文文档
18.1.2发布于 2026/11/02Apache-2.0TypeScriptES Module构建来源已验证

可组合的XState v5剧本运行时,编译了由GEARS规范驱动的Captain、CODE、REVIEW、DECIDE、DEV、BRANCH、PR和INSPECT工作流。

中文使用文档
文档目录5 节
  1. 快速启动
  2. 创造你自己的剧本
  3. 如何编译
  4. 贡献
  5. 许可证

剧本:可靠性是你所需要的

npm version Node.js CI

技能通过状态机和各种llm变得可靠。

自然语言技能灵活且易于使用,但比脚本化工作流更难以预测,尤其是在长期工作中。 即使是最好的法学硕士也会犯错误,部分原因是简单的语言描述很少能消除模糊性或保证完整性。

SubLang Playbook同时解决以下两个问题:

  • 的同伴 SLC编译器 将纯语言过程(如 SKILL.md,将其转化为具有确定性状态机控制流的剧本。
  • 剧本可以为其步骤分配不同的代理或法学硕士,并让他们相互审查和挑战,帮助在交付之前发现错误。

Venn diagram: Skill is flexible, Workflow is deterministic, and Playbook sits in the intersection as both.

词汇: 老板 是你;这个 队长 协调代理是你吗 说话;一个 角色 剧本-本地工作是什么 coder;和一个 球员 是 一个或多个稳定的队长会话代理和提供程序会话 角色绑定。角色描述工作流程,而玩家id决定哪些工作 分享对话的连续性。

运行 playbook 的交互式tmux UI cligent,或者 playbook run 对于同一个Captain会话,在脚本和CI中没有tmux。

快速启动

开箱即用,Playbook包括 代码 的实现, 审查 对于基于提交的审查和修复, 决定 对于独立提出和审查的规范决定, DEV 对于开发请求的基于存储库的规划, 分支 用于检查GitHub问题的新分支, 公关 通过拉取请求发布、检查和合并分支 检查 用于在不更改存储库的情况下解释提供的材料或运行的接口。 CODE和DECIDE调用REVIEW作为嵌套剧本;DEV调用CODE,或者DECIDE然后CODE,当请求命名GitHub问题或请求拉请求时,将它们包装在BRANCH和PR中。

共享的启动器配置选择队长和球员的适配器 当地可见的证书:克劳德首先,然后是法典,以及两者的位置 配置只 dev.reviewer 种子在法典上。如果两者都不是 配置好后,它会给克劳德种子,并打印一个通知。编码、评审、决策、分支和PR绑定 他们的本地角色显式地 dev.coder 和 dev.reviewer,如此嵌套而过 约定只有在绑定名称相同的情况下才共享会话 玩家ID;DEV的分析师绑定了一个不同的 dev.analyst player和INSPECT的 检查员结合 inspect.inspector.

npm install -g @sublang/playbook
npm install -g @anthropic-ai/claude-agent-sdk @openai/codex-sdk

自定义配置需要其提供商所需的sdk;看到 配置代理. 如果SDK缺失或比客户端支持的版本老,Playbook在启动任何东西之前打印固定的安装命令;看到 安装代理sdk 升级, npx,以及其他适配器。

先决条件:

  • Node.js >= 20.6.0
  • 已配置适配器的凭据:authenticated 克劳德代码 或者 ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN 克劳德;身份验证 食典委CLI 或者 OPENAI_API_KEY / CODEX_ACCESS_TOKEN 为食品
  • GitHub CLI (gh)为存储库的GitHub远程认证,为 /branch, /pr, /dev 命名问题或请求拉取请求的请求

互动 playbook 另外需要tmux 3.3或更新版本 glow 在 PATH;无头 playbook run 没有。

CODE在当前目录下工作,可以自主编辑和提交,所以使用一个干净的分支或工作树。

cd /path/to/your/project
playbook

输入一个任务,输入 /code <task> 要实现,请输入 /decide <question> 独立提出和审查的决定。

在第一次启动时,Playbook将其配置写入 ${SPEX_HOME:-$HOME/.spex}/config/playbook.config.yaml. 一个配置留在以前的位置-根的 playbook/playbook.config.yaml 或者 ${XDG_CONFIG_HOME:-$HOME/.config}/playbook/playbook.config.yaml -在下次发射时移动一次,除非一个相对的主定位器改变了目标那个案子被拒绝了,原封不动地换了一个。

相同的配置,编译船长,启用剧本,稳定的球员,和 嵌套呼叫功率无头匝。两个前端创造相同的耐用性 逻辑会话:复制上报的会话ID,重新打开交互式会话 无头或无头会话交互。 显式运行REVIEW,或者将更长的请求传递给Captain:

playbook run "/review review the latest commit"
printf '%s\n' 'Implement the approved specification, then review it.' | playbook run
# Later, either presentation can reopen the returned/reported session id:
playbook --session 4f2c0000-0000-4000-8000-000000009ab1
playbook run --session 4f2c0000-0000-4000-8000-000000009ab1 "continue"

playbook run 将一个boss可见的Captain回复打印到stdout,并将操作状态打印到stderr;CODE和DECIDE也可以在那里完成它们嵌套的REVIEW调用。

如果某一步骤失败或在回答之前需要准备,请Captain修正前提条件并继续;看到 准备停止的步骤.

使用 /inspect 分析现有材料或解释运行界面。浏览器访问需要显式启用检查器 浏览器功能. 嵌入式主机可以提交便携式附件,并显示保存的本地图形 资产和会话api.

看到 使用CLI 对于旗帜和持久延续, 配置代理 对于共享阵容, 嵌入 对于自定义主机,以及 更新日志 的版本。

创造你自己的剧本

单独的 SLC编译器 需要Node.js >= 23.6并编译一个纯语言 .md 或者 .txt 过程:

npm install -g @sublang/slc
slc playbook my-workflow.md
# After enabling /absolute/path/to/my-workflow.ts in the shared config:
playbook run "/my-workflow <your task>"

SLC写道 my-workflow.ts源代码旁边有一个为Playbook准备的注册表项,下面有可检查的中间体和测试 my-workflow.playbook/. 启用该条目并绑定它在其下声明的每个角色 playbooks.my-workflow 在共享配置中,然后调用 /my-workflow;看到 外部的剧本 和 SLC文件.

如何编译

SLC的 playbook 管道有三个阶段:

  1. 文本→GEARS (slc / text2gears.md)——明确每个行为的触发器、参与者、提示和结果。
  2. 齿轮→FSM (slc / gears2fsm.md) -将每个项目映射到一个XState状态,该状态调用队长、玩家、另一个剧本或本地脚本。
  3. FSM→运行时 (slc / link.md) -将机器连接到独立于主机的接口,用于用户输入、代理调用、状态和遥测。

默认的传递在前两个阶段之间运行 通过优化 将符合条件的机械步骤替换为本地shell脚本,以及 prompt-prefix通过 将每个提示的中继运行时值移动到其指令之后,以便重复运行共享可缓存的提示前缀; --no-optimize 跳过。 检查完整 队长, 代码, 审查, 决定 的例子。

贡献

我们欢迎各种贡献。

  • 🌟如果您发现Playbook有用,请点击我们的回购。
  • 打开一个问题 针对bug或特性请求。
  • 打开PR 用于修复或改进。
  • 讨论 不和 寻求支持或新想法。

从资料来源:

git clone https://github.com/sublang-ai/playbook.git
cd playbook
pnpm install --frozen-lockfile
pnpm build
pnpm test
pnpm playbook   # drive a Boss turn against the source tree

Playbook本身是规范驱动的:编译器阶段是规范的一部分 slc/,而参考剧本则是从它们的散文来源中重新生成的。 编辑源代码,重新生成它的GEARS、FSM和运行时工件,同步测试和下游规范,直到 pnpm test 通过,并提交与共同作者预告片 specs/packages/git.md. 齿轮↔FSM契约(剧本包)和运行时契约(剧本-运行时包)被钉在 specs/packages/ 并通过测试套件进行验证。

许可证

apache - 2.0

版本与发布记录

@sublang/playbook 共发布 62 个版本,首次发布于 2026/05/17;过去 12 个月发布了 62 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
18.1.2latest2026/11/02今天
18.1.12026/11/021 天前
18.1.02026/10/267 天前
18.0.12026/10/268 天前
18.0.02026/10/2311 天前
17.11.12026/10/2212 天前

关于 @sublang/playbook 的常见问题

@sublang/playbook 是什么?

可组合的XState v5剧本运行时,编译了由GEARS规范驱动的Captain、CODE、REVIEW、DECIDE、DEV、BRANCH、PR和INSPECT工作流。

如何安装 @sublang/playbook?

在项目目录运行 npm install @sublang/playbook,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 playbook,可以用 npx playbook 直接运行。

@sublang/playbook 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@sublang/playbook 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@sublang/playbook 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.6.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@sublang/playbook 可以商用吗?

@sublang/playbook 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@sublang/playbook 还在维护吗?

最新版本 18.1.2 发布于 2026/11/02(今天);至今共发布 62 个版本,其中过去 12 个月发布了 62 个;首次发布于 2026/05/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。