一个 OpenCode 插件,将中国古代三省六部制的治理智慧映射为多智能体协作架构,用于编排复杂的编程任务。
graph TD
User["用户下旨"] --> Taizi["太子<br/>分诊定性"]
Taizi --> Zhongshu["中书省<br/>拟定方案"]
Zhongshu --> Menxia["门下省<br/>审核封驳"]
Menxia -->|驳回| Zhongshu
Menxia -->|通过| Dispatch["六部并行执行"]
Dispatch --> Libu["吏部<br/>架构重构"]
Dispatch --> Hubu["户部<br/>数据存储"]
Dispatch --> Libu2["礼部<br/>API接口"]
Dispatch --> Bingbu["兵部<br/>安全测试"]
Dispatch --> Gongbu["工部<br/>基础设施"]
Libu --> Memorial["奏折<br/>汇总回报"]
Hubu --> Memorial
Libu2 --> Memorial
Bingbu --> Memorial
Gongbu --> Memorial
完整流程:用户下旨 → 太子分诊 → 中书省规划 → 门下省审核 → 六部并行执行 → 奏折回报
| Agent | 角色 | 职责 |
|---|---|---|
| 太子 (taizi) | 分诊官 | 接收用户请求,分析任务性质,转发给中书省 |
| 中书省 (zhongshu) | 规划师 | 将任务拆解为子任务,分配给对应六部,输出结构化 JSON 方案 |
| 门下省 (menxia) | 审查官 | 审核中书省方案的合理性、风险和依赖关系,可封驳退回 |
| 吏部 (libu) | 架构师 | 负责代码架构、重构、类型系统、模块设计 |
| 户部 (hubu) | 数据官 | 负责数据库、状态管理、缓存、数据迁移 |
| 礼部 (libu2) | 接口官 | 负责 API 设计、协议对接、文档编写 |
| 兵部 (bingbu) | 安全官 | 负责测试、安全审计、性能优化、错误处理 |
| 工部 (gongbu) | 工程师 | 负责构建工具、CI/CD、部署、环境配置 |
创建圣旨并启动完整流转流程。
输入参数:
- title: 圣旨标题
- content: 具体需求描述
- priority: 优先级 (low / medium / high / critical)
查询历史圣旨和执行结果。
输入参数:
- edict_id: (可选) 查看特定圣旨的奏折
- status: (可选) 按状态筛选 (planning / reviewing / executing / completed / failed / halted)
紧急叫停正在执行的圣旨。
输入参数:
- edict_id: 要叫停的圣旨 ID
- reason: 叫停原因
在 .opencode/opencode.json 中添加插件路径:
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"./plugins/emperor/index.ts"
]
}插件使用独立的 .opencode/emperor.json 配置文件(不与 opencode.json 混合):
{
"agents": {
"taizi": { "model": "anthropic/claude-sonnet-4-20250514" },
"zhongshu": { "model": "anthropic/claude-sonnet-4-20250514" },
"menxia": { "model": "anthropic/claude-sonnet-4-20250514" },
"libu": { "model": "anthropic/claude-sonnet-4-20250514" },
"hubu": { "model": "anthropic/claude-sonnet-4-20250514" },
"libu2": { "model": "anthropic/claude-sonnet-4-20250514" },
"bingbu": { "model": "anthropic/claude-sonnet-4-20250514" },
"gongbu": { "model": "anthropic/claude-sonnet-4-20250514" }
},
"pipeline": {
"maxPlanningRetries": 3,
"reviewMode": "mixed",
"sensitivePatterns": ["删除", "drop", "rm -rf", "production", "密钥", "credentials"]
},
"store": {
"dataDir": ".opencode/emperor-data"
}
}- agents: 每个 Agent 的模型配置,可按需指定不同模型
- pipeline.maxPlanningRetries: 中书省规划被门下省驳回后的最大重试次数
- pipeline.reviewMode: 审核模式
auto— 自动审核,敏感操作仍需人工确认manual— 所有操作都需人工确认mixed— 默认自动,检测到敏感操作时转为人工(推荐)
- pipeline.sensitivePatterns: 触发人工审核的关键词列表
- store.dataDir: 圣旨数据持久化目录
在 OpenCode 中切换到 taizi Agent,直接描述你的需求:
@taizi 我需要给项目添加用户认证系统,包括 JWT token、刷新机制、以及角色权限控制
太子会自动分诊并触发完整的三省六部流转。
任何 Agent 都可以调用下旨工具:
使用 emperor_create_edict 工具:
title: "用户认证系统"
content: "实现 JWT 认证、token 刷新、RBAC 权限控制"
priority: "high"
使用 emperor_view_memorial 工具:
edict_id: "edict_1709712000000_a1b2"
门下省会自动扫描子任务描述,匹配敏感关键词(如"删除"、"production"、"密钥"等)。匹配到时:
- 标记为敏感操作
- 弹出确认对话框,需用户手动批准
- 用户可选择批准或驳回
六部子任务支持依赖声明。调度引擎使用拓扑排序(Kahn 算法)将子任务分组为执行波次:
- Wave 1: 无依赖的子任务并行执行
- Wave 2: 依赖 Wave 1 结果的子任务并行执行
- 依此类推...
执行完成后,系统生成结构化奏折(Memorial),包含:
- 各部执行结果和状态
- 成功/失败统计
- 风险提示和门下省审核意见
.opencode/
├── emperor.json # 插件配置
├── opencode.json # OpenCode 配置(注册插件)
└── plugins/emperor/
├── index.ts # 插件入口
├── types.ts # 类型定义
├── config.ts # 配置加载器
├── store.ts # 圣旨数据持久化
├── agents/
│ └── prompts.ts # 八部 Agent 系统提示词
├── skills/ # 📚 插件内置 Skills
│ ├── taizi-reloaded/ # 太子增强版(判断-执行分离)
│ ├── quick-verify/ # 快速验证技能
│ ├── hubu-tester/ # 户部测试官
│ └── menxia-reviewer/ # 门下省审核官
├── engine/
│ ├── pipeline.ts # 流转引擎主流程
│ ├── reviewer.ts # 门下省审核 + 敏感操作检测
│ └── dispatcher.ts # 六部调度(拓扑排序 + 并行执行)
└── tools/
├── edict.ts # 下旨工具
├── memorial.ts # 查看奏折工具
└── halt.ts # 叫停工具
插件自带以下增强版 Skills,安装插件后自动启用:
| Skill | 说明 |
|---|---|
taizi-reloaded |
太子增强版,强调判断-执行分离和验证优先 |
quick-verify |
快速验证技能,强制交付前验证 |
hubu-tester |
户部测试官,完善的验证报告模板 |
menxia-reviewer |
门下省审核官,增加代码安全审查 |
@skill taizi-reloaded
@skill quick-verify
@skill hubu-tester
@skill menxia-reviewer
.opencode/
├── emperor.json # 插件配置
├── opencode.json # OpenCode 配置(注册插件)
└── plugins/emperor/
├── index.ts # 插件入口
├── types.ts # 类型定义
├── config.ts # 配置加载器
├── store.ts # 圣旨数据持久化
├── agents/
│ └── prompts.ts # 八部 Agent 系统提示词
├── engine/
│ ├── pipeline.ts # 流转引擎主流程
│ ├── reviewer.ts # 门下省审核 + 敏感操作检测
│ └── dispatcher.ts # 六部调度(拓扑排序 + 并行执行)
└── tools/
├── edict.ts # 下旨工具
├── memorial.ts # 查看奏折工具
└── halt.ts # 叫停工具
- 运行时: Bun
- 语言: TypeScript (strict mode)
- 插件 SDK: @opencode-ai/plugin
- 数据持久化: JSON 文件存储