[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73973":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},73973,"edict","cft0808\u002Fedict","cft0808","🏛️ 三省六部制 · OpenClaw Multi-Agent Orchestration System — 9 specialized AI agents with real-time dashboard, model config, and full audit trails","https:\u002F\u002Fopenclaw.ai",null,"Python",16033,1687,71,33,0,40,110,328,120,44.68,"MIT License",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39],"ai-agents","ai-orchestration","autonomous-agents","claude","dashboard","kanban","llm","multi-agent","openai","openclaw","orchestration","python","workflow-automation","2026-06-12 02:03:20","\u003Ch1 align=\"center\">⚔️ 三省六部 · Edict\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>我用 1300 年前的帝国制度，重新设计了 AI 多 Agent 协作架构。\u003Cbr>结果发现，古人比现代 AI 框架更懂分权制衡。\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Csub>12 个 AI Agent（11 个业务角色 + 1 个兼容角色）组成三省六部：太子分拣、中书省规划、门下省审核封驳、尚书省派发、六部+吏部并行执行。\u003Cbr>比 CrewAI 多一层\u003Cb>制度性审核\u003C\u002Fb>，比 AutoGen 多一个\u003Cb>实时看板\u003C\u002Fb>。\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-demo\">🎬 看 Demo\u003C\u002Fa> ·\n  \u003Ca href=\"#-30-秒快速体验\">🚀 30 秒体验\u003C\u002Fa> ·\n  \u003Ca href=\"#-架构\">🏛️ 架构\u003C\u002Fa> ·\n  \u003Ca href=\"#-功能全景\">📋 看板功能\u003C\u002Fa> ·\n  \u003Ca href=\"docs\u002Ftask-dispatch-architecture.md\">📚 架构文档\u003C\u002Fa> ·\n  \u003Ca href=\"README_EN.md\">English\u003C\u002Fa> ·\n  \u003Ca href=\"README_JA.md\">日本語\u003C\u002Fa> ·\n  \u003Ca href=\"CONTRIBUTING.md\">参与贡献\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpenClaw-Required-blue?style=flat-square\" alt=\"OpenClaw\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.9+-3776AB?style=flat-square&logo=python&logoColor=white\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAgents-12_Specialized-8B5CF6?style=flat-square\" alt=\"Agents\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDashboard-Real--time-F59E0B?style=flat-square\" alt=\"Dashboard\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-22C55E?style=flat-square\" alt=\"License\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFrontend-React_18-61DAFB?style=flat-square&logo=react&logoColor=white\" alt=\"React\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBackend-stdlib_only-EC4899?style=flat-square\" alt=\"Zero Backend Dependencies\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F公众号-cft0808-07C160?style=for-the-badge&logo=wechat&logoColor=white\" alt=\"WeChat\">\n\u003C\u002Fp>\n\n---\n\n## 🎬 Demo\n\n\u003Cp align=\"center\">\n  \u003Cvideo src=\"docs\u002FAgent_video_Pippit_20260225121727.mp4\" width=\"100%\" autoplay muted loop playsinline controls>\n    您的浏览器不支持视频播放，请查看下方 GIF 或 \u003Ca href=\"docs\u002FAgent_video_Pippit_20260225121727.mp4\">下载视频\u003C\u002Fa>。\n  \u003C\u002Fvideo>\n  \u003Cbr>\n  \u003Csub>🎥 三省六部 AI 多 Agent 协作全流程演示\u003C\u002Fsub>\n\u003C\u002Fp>\n\n\u003Cdetails>\n\u003Csummary>📸 GIF 预览（加载更快）\u003C\u002Fsummary>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fdemo.gif\" alt=\"三省六部 Demo\" width=\"100%\">\n  \u003Cbr>\n  \u003Csub>飞书下旨 → 太子分拣 → 中书省规划 → 门下省审议 → 六部并行执行 → 奏折回报（30 秒）\u003C\u002Fsub>\n\u003C\u002Fp>\n\u003C\u002Fdetails>\n\n> 🐳 **没有 OpenClaw？** 跑一行 `docker run -p 7891:7891 cft0808\u002Fedict` 即可体验完整看板 Demo（预置模拟数据）。\n\n---\n\n## 🤔 为什么是三省六部？\n\n大多数 Multi-Agent 框架的套路是：\n\n> *\"来，你们几个 AI 自己聊，聊完把结果给我。\"*\n\n然后你拿到一坨不知道经过了什么处理的结果，无法复现，无法审计，无法干预。\n\n**三省六部的思路完全不同** —— 我们用了一个在中国存在 1400 年的制度架构：\n\n```\n你 (皇上) → 太子 (分拣) → 中书省 (规划) → 门下省 (审议) → 尚书省 (派发) → 六部 (执行) → 回奏\n```\n\n这不是花哨的 metaphor，这是**真正的分权制衡**：\n\n| | CrewAI | MetaGPT | AutoGen | **三省六部** |\n|---|:---:|:---:|:---:|:---:|\n| **审核机制** | ❌ 无 | ⚠️ 可选 | ⚠️ Human-in-loop | **✅ 门下省专职审核 · 可封驳** |\n| **实时看板** | ❌ | ❌ | ❌ | **✅ 军机处 Kanban + 时间线** |\n| **任务干预** | ❌ | ❌ | ❌ | **✅ 叫停 \u002F 取消 \u002F 恢复** |\n| **流转审计** | ⚠️ | ⚠️ | ❌ | **✅ 完整奏折存档** |\n| **Agent 健康监控** | ❌ | ❌ | ❌ | **✅ 心跳 + 活跃度检测** |\n| **热切换模型** | ❌ | ❌ | ❌ | **✅ 看板内一键切换 LLM** |\n| **技能管理** | ❌ | ❌ | ❌ | **✅ 查看 \u002F 添加 Skills** |\n| **新闻聚合推送** | ❌ | ❌ | ❌ | **✅ 天下要闻 + 飞书推送** |\n| **部署难度** | 中 | 高 | 中 | **低 · 一键安装 \u002F Docker** |\n\n> **核心差异：制度性审核 + 完全可观测 + 实时可干预**\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🔍 为什么「门下省审核」是杀手锏？（点击展开）\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cbr>\n\nCrewAI 和 AutoGen 的 Agent 协作模式是 **\"做完就交\"**——没有人检查产出质量。就像一个公司没有 QA 部门，工程师写完代码直接上线。\n\n三省六部的 **门下省** 专门干这件事：\n\n- 📋 **审查方案质量** —— 中书省的规划是否完备？子任务拆解是否合理？\n- 🚫 **封驳不合格的产出** —— 不是 warning，是直接打回重做\n- 🔄 **强制返工循环** —— 直到方案达标才放行\n\n这不是可选的插件——**它是架构的一部分**。每一个旨意都必须经过门下省，没有例外。\n\n这就是为什么三省六部能处理复杂任务而结果可靠：因为在送到执行层之前，有一个强制的质量关卡。1300 年前唐太宗就想明白了——**不受制约的权力必然会出错**。\n\n\u003C\u002Fdetails>\n\n---\n\n## ✨ 功能全景\n\n### 🏛️ 十二部制 Agent 架构\n- **太子** 消息分拣 —— 闲聊自动回复，旨意才建任务\n- **三省**（中书·门下·尚书）负责规划、审议、派发\n- **七部**（户·礼·兵·刑·工·吏 + 早朝官）负责专项执行\n- 严格的权限矩阵 —— 谁能给谁发消息，白纸黑字\n- **状态流转校验** —— kanban_update.py 强制合法转换路径，非法状态跳转被拒绝\n- 每个 Agent 独立 Workspace · 独立 Skills · 独立模型\n- **旨意数据清洗** —— 标题\u002F备注自动剥离文件路径、元数据、无效前缀\n\n### 📋 军机处看板（10 个功能面板）\n\n\u003Ctable>\n\u003Ctr>\u003Ctd width=\"50%\">\n\n**📋 旨意看板 · Kanban**\n- 按状态列展示全部任务\n- 省部过滤 + 全文搜索\n- 心跳徽章（🟢活跃 🟡停滞 🔴告警）\n- 任务详情 + 完整流转链\n- 叫停 \u002F 取消 \u002F 恢复操作\n\n\u003C\u002Ftd>\u003Ctd width=\"50%\">\n\n**🔭 省部调度 · Monitor**\n- 可视化各状态任务数量\n- 部门分布横向条形图\n- Agent 健康状态实时卡片\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\n\n**📜 奏折阁 · Memorials**\n- 已完成旨意自动归档为奏折\n- 五阶段时间线：圣旨→中书→门下→六部→回奏\n- 一键复制为 Markdown\n- 按状态筛选\n\n\u003C\u002Ftd>\u003Ctd>\n\n**📜 旨库 · Template Library**\n- 9 个预设圣旨模板\n- 分类筛选 · 参数表单 · 预估时间和费用\n- 预览旨意 → 一键下旨\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\n\n**👥 官员总览 · Officials**\n- Token 消耗排行榜\n- 活跃度 · 完成数 · 会话统计\n\n\u003C\u002Ftd>\u003Ctd>\n\n**📰 天下要闻 · News**\n- 每日自动采集科技\u002F财经资讯\n- 分类订阅管理 + 飞书推送\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\n\n**⚙️ 模型配置 · Models**\n- 每个 Agent 独立切换 LLM\n- 应用后自动重启 Gateway（~5秒生效）\n\n\u003C\u002Ftd>\u003Ctd>\n\n**🛠️ 技能配置 · Skills**\n- 各省部已安装 Skills 一览\n- 查看详情 + 添加新技能\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\n\n**💬 小任务 · Sessions**\n- OC-* 会话实时监控\n- 来源渠道 · 心跳 · 消息预览\n\n\u003C\u002Ftd>\u003Ctd>\n\n**🎬 上朝仪式 · Ceremony**\n- 每日首次打开播放开场动画\n- 今日统计 · 3.5秒自动消失\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\n\n**🏛️ 朝堂议政 · Court Discussion**\n- 多官员围绕议题展开部门视角讨论\n- LLM 驱动的多角色辩论（各部依职责发表专业意见）\n- 支持多轮推进 · 总结结论 · 保留讨论记录\n\n\u003C\u002Ftd>\u003Ctd>\n\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## 🖼️ 截图\n\n### 旨意看板\n![旨意看板](docs\u002Fscreenshots\u002F01-kanban-main.png)\n\n\u003Cdetails>\n\u003Csummary>📸 展开查看更多截图\u003C\u002Fsummary>\n\n### 省部调度\n![省部调度](docs\u002Fscreenshots\u002F02-monitor.png)\n\n### 任务流转详情\n![任务流转详情](docs\u002Fscreenshots\u002F03-task-detail.png)\n\n### 模型配置\n![模型配置](docs\u002Fscreenshots\u002F04-model-config.png)\n\n### 技能配置\n![技能配置](docs\u002Fscreenshots\u002F05-skills-config.png)\n\n### 官员总览\n![官员总览](docs\u002Fscreenshots\u002F06-official-overview.png)\n\n### 会话记录\n![会话记录](docs\u002Fscreenshots\u002F07-sessions.png)\n\n### 奏折归档\n![奏折归档](docs\u002Fscreenshots\u002F08-memorials.png)\n\n### 圣旨模板\n![圣旨模板](docs\u002Fscreenshots\u002F09-templates.png)\n\n### 天下要闻\n![天下要闻](docs\u002Fscreenshots\u002F10-morning-briefing.png)\n\n### 上朝仪式\n![上朝仪式](docs\u002Fscreenshots\u002F11-ceremony.png)\n\n\u003C\u002Fdetails>\n\n---\n\n## 🚀 30 秒快速体验\n\n### Docker 一键启动\n\n```bash\ndocker run -p 7891:7891 cft0808\u002Fsansheng-demo\n```\n打开 http:\u002F\u002Flocalhost:7891 即可体验军机处看板。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>⚠️ 遇到 \u003Ccode>exec format error\u003C\u002Fcode>？（点击展开）\u003C\u002Fb>\u003C\u002Fsummary>\n\n如果你在 **x86\u002Famd64** 机器（如 Ubuntu、WSL2）上看到：\n```\nexec \u002Fusr\u002Flocal\u002Fbin\u002Fpython3: exec format error\n```\n\n这是因为镜像架构不匹配。请使用 `--platform` 参数：\n```bash\ndocker run --platform linux\u002Famd64 -p 7891:7891 cft0808\u002Fsansheng-demo\n```\n\n或使用 docker-compose（已内置 `platform: linux\u002Famd64`）：\n```bash\ndocker compose up\n```\n\n\u003C\u002Fdetails>\n\n### 完整安装\n\n#### 前置条件\n- [OpenClaw](https:\u002F\u002Fopenclaw.ai) 已安装\n- Python 3.10+\n- macOS \u002F Linux\n\n#### 安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fcft0808\u002Fedict.git\ncd edict\nchmod +x install.sh && .\u002Finstall.sh\n```\n\n安装脚本自动完成：\n- ✅ 创建全量 Agent Workspace（含太子\u002F吏部\u002F早朝，兼容历史 main）\n- ✅ 写入各省部 SOUL.md（角色人格 + 工作流规则 + 数据清洗规范）\n- ✅ 注册 Agent 及权限矩阵到 `openclaw.json`\n- ✅ **符号链接统一数据**（各 Workspace 的 data\u002Fscripts → 项目目录，确保数据一致）\n- ✅ **设置 Agent 间通信可见性**（`sessions.visibility all`，解决消息不可达问题）\n- ✅ **同步 API Key 到所有 Agent**（自动从已配置的 Agent 复制）\n- ✅ 构建 React 前端（需 Node.js 18+，如未安装则跳过）\n- ✅ 初始化数据目录 + 首次数据同步（含官员统计）\n- ✅ 重启 Gateway 使配置生效\n\n> ⚠️ **首次安装**：需先配置 API Key：`openclaw agents add taizi`，然后重新运行 `.\u002Finstall.sh` 同步到所有 Agent。\n\n#### 启动\n\n```bash\n# 方式 1：一键启动（推荐）\nchmod +x start.sh && .\u002Fstart.sh\n\n# 方式 2：分别启动\nbash scripts\u002Frun_loop.sh &      # 数据刷新循环\npython3 dashboard\u002Fserver.py     # 看板服务器\n\n# 打开浏览器\nopen http:\u002F\u002F127.0.0.1:7891\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🖥️ 生产环境部署（systemd）\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# 安装 systemd 服务\nsudo cp edict.service \u002Fetc\u002Fsystemd\u002Fsystem\u002F\nsudo systemctl daemon-reload\nsudo systemctl enable edict\nsudo systemctl start edict\n\n# 或使用管理脚本\nbash edict.sh start    # 启动\nbash edict.sh status   # 查看状态\nbash edict.sh restart  # 重启\nbash edict.sh stop     # 停止\n```\n\n\u003C\u002Fdetails>\n\n> 💡 **看板即开即用**：`server.py` 内嵌 `dashboard\u002Fdashboard.html`，Docker 镜像包含预构建的 React 前端\n\n> 💡 详细教程请看 [Getting Started 指南](docs\u002Fgetting-started.md)\n\n---\n\n## 🏛️ 架构\n\n```\n                           ┌───────────────────────────────────┐\n                           │          👑 皇上（你）              │\n                           │     Feishu · Telegram · Signal     │\n                           └─────────────────┬─────────────────┘\n                                             │ 下旨\n                           ┌─────────────────▼─────────────────┐\n                           │          � 太子 (taizi)            │\n                           │    分拣：闲聊直接回 \u002F 旨意建任务      │\n                           └─────────────────┬─────────────────┘\n                                             │ 传旨\n                           ┌─────────────────▼─────────────────┐\n                           │          📜 中书省 (zhongshu)       │\n                           │       接旨 → 规划 → 拆解子任务       │\n                           └─────────────────┬─────────────────┘\n                                             │ 提交审核\n                           ┌─────────────────▼─────────────────┐\n                           │          🔍 门下省 (menxia)         │\n                           │       审议方案 → 准奏 \u002F 封驳 🚫      │\n                           └─────────────────┬─────────────────┘\n                                             │ 准奏 ✅\n                           ┌─────────────────▼─────────────────┐\n                           │          📮 尚书省 (shangshu)       │\n                           │     派发任务 → 协调六部 → 汇总回奏    │\n                           └───┬──────┬──────┬──────┬──────┬───┘\n                               │      │      │      │      │\n                         ┌─────▼┐ ┌───▼───┐ ┌▼─────┐ ┌───▼─┐ ┌▼─────┐\n                         │💰 户部│ │📝 礼部│ │⚔️ 兵部│ │⚖️ 刑部│ │🔧 工部│\n                         │ 数据  │ │ 文档  │ │ 工程  │ │ 合规  │ │ 基建  │\n                         └──────┘ └──────┘ └──────┘ └─────┘ └──────┘\n                                                               ┌──────┐\n                                                               │📋 吏部│\n                                                               │ 人事  │\n                                                               └──────┘\n```\n\n### 各省部职责\n\n| 部门 | Agent ID | 职责 | 擅长领域 |\n|------|----------|------|---------|\n| � **太子** | `taizi` | 消息分拣、需求整理 | 闲聊识别、旨意提炼、标题概括 |\n| 📜 **中书省** | `zhongshu` | 接旨、规划、拆解 | 需求理解、任务分解、方案设计 |\n| 🔍 **门下省** | `menxia` | 审议、把关、封驳 | 质量评审、风险识别、标准把控 |\n| 📮 **尚书省** | `shangshu` | 派发、协调、汇总 | 任务调度、进度跟踪、结果整合 |\n| 💰 **户部** | `hubu` | 数据、资源、核算 | 数据处理、报表生成、成本分析 |\n| 📝 **礼部** | `libu` | 文档、规范、报告 | 技术文档、API 文档、规范制定 |\n| ⚔️ **兵部** | `bingbu` | 代码、算法、巡检 | 功能开发、Bug 修复、代码审查 |\n| ⚖️ **刑部** | `xingbu` | 安全、合规、审计 | 安全扫描、合规检查、红线管控 |\n| 🔧 **工部** | `gongbu` | CI\u002FCD、部署、工具 | Docker 配置、流水线、自动化 |\n| 📋 **吏部** | `libu_hr` | 人事、Agent 管理 | Agent 注册、权限维护、培训 |\n| 🌅 **早朝官** | `zaochao` | 每日早朝、新闻聚合 | 定时播报、数据汇总 |\n\n### 权限矩阵\n\n> 不是想发就能发 —— 真正的分权制衡\n\n| From ↓ \\ To → | 太子 | 中书 | 门下 | 尚书 | 户 | 礼 | 兵 | 刑 | 工 | 吏 |\n|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| **太子** | — | ✅ | | | | | | | | |\n| **中书省** | ✅ | — | ✅ | ✅ | | | | | | |\n| **门下省** | | ✅ | — | ✅ | | | | | | |\n| **尚书省** | | ✅ | ✅ | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **六部+吏部** | | | | ✅ | | | | | | |\n\n### 任务状态流转\n\n```\n皇上 → 太子分拣 → 中书规划 → 门下审议 → 已派发 → 执行中 → 待审查 → ✅ 已完成\n                      ↑          │                              │\n                      └──── 封驳 ─┘                    阻塞 Blocked\n```\n\n> ⚡ **状态转换受保护**：`kanban_update.py` 内置 `_VALID_TRANSITIONS` 状态机校验，\n> 非法跳转（如 Doing→Taizi）会被拒绝并记录日志，确保流程不可绕过。\n>\n> 🔄 **异步事件驱动**：服务间通过 Redis Streams EventBus 解耦通信，Outbox Relay 保障事件可靠投递。\n> 所有状态变更自动写入审计日志（`audit.py`），支持完整追溯。\n\n---\n\n## 📁 项目结构\n\n```\nedict\u002F\n├── agents\u002F                     # 12 个 Agent 的人格模板\n│   ├── taizi\u002FSOUL.md           # 太子 · 消息分拣（含旨意标题规范）\n│   ├── zhongshu\u002FSOUL.md        # 中书省 · 规划中枢\n│   ├── menxia\u002FSOUL.md          # 门下省 · 审议把关\n│   ├── shangshu\u002FSOUL.md        # 尚书省 · 调度大脑\n│   ├── hubu\u002FSOUL.md            # 户部 · 数据资源\n│   ├── libu\u002FSOUL.md            # 礼部 · 文档规范\n│   ├── bingbu\u002FSOUL.md          # 兵部 · 工程实现\n│   ├── xingbu\u002FSOUL.md          # 刑部 · 合规审计\n│   ├── gongbu\u002FSOUL.md          # 工部 · 基础设施\n│   ├── libu_hr\u002F                # 吏部 · 人事管理\n│   └── zaochao\u002FSOUL.md         # 早朝官 · 情报枢纽\n├── dashboard\u002F\n│   ├── dashboard.html          # 军机处看板（单文件 · 零依赖 · ~2500 行）\n│   ├── dist\u002F                   # React 前端构建产物（Docker 镜像内包含，本地可选）\n│   ├── auth.py                 # Dashboard 登录鉴权\n│   ├── court_discuss.py        # 朝堂议政（多官员 LLM 讨论引擎）\n│   └── server.py               # API 服务器（Python 标准库 · 零依赖 · ~2300 行）\n├── edict\u002Fbackend\u002F              # 异步后端服务（SQLAlchemy + Redis）\n│   ├── app\u002Fmodels\u002F\n│   │   ├── task.py             # 任务模型 + 状态机\n│   │   ├── audit.py            # 审计日志模型\n│   │   └── outbox.py           # Outbox 消息模型\n│   ├── app\u002Fservices\u002F\n│   │   ├── event_bus.py        # Redis Streams EventBus\n│   │   └── task_service.py     # 任务服务层\n│   └── app\u002Fworkers\u002F\n│       ├── dispatch_worker.py  # 并行调度 + 重试 + 资源锁\n│       ├── orchestrator_worker.py  # DAG 编排器\n│       └── outbox_relay.py     # 事务性 Outbox Relay\n├── agents\u002F\n│   ├── \u003Cagent_id>\u002FSOUL.md      # 各省部 Agent 人格模板\n│   ├── GLOBAL.md               # 全局 Agent 配置\n│   └── groups\u002F                 # Agent 分组（sansheng \u002F liubu）\n├── scripts\u002F\n│   ├── run_loop.sh             # 数据刷新循环（每 15 秒）\n│   ├── kanban_update.py        # 看板 CLI（含旨意数据清洗 + 标题校验 + 状态机）\n│   ├── skill_manager.py        # Skill 管理工具（远程\u002F本地 Skills 添加、更新、移除）\n│   ├── agentrec_advisor.py     # Agent 模型推荐（功过簿 + 成本优化）\n│   ├── linucb_router.py        # LinUCB 智能路由\n│   ├── refresh_watcher.py      # 数据变更监听\n│   ├── sync_from_openclaw_runtime.py\n│   ├── sync_agent_config.py\n│   ├── sync_officials_stats.py\n│   ├── fetch_morning_news.py\n│   ├── refresh_live_data.py\n│   ├── apply_model_changes.py\n│   └── file_lock.py            # 文件锁（防多 Agent 并发写入）\n├── tests\u002F\n│   ├── test_e2e_kanban.py      # 端到端测试（17 个断言）\n│   └── test_state_machine_consistency.py  # 状态机一致性测试\n├── data\u002F                       # 运行时数据（gitignored）\n├── docs\u002F\n│   ├── task-dispatch-architecture.md  # 📚 详细架构文档：任务分发、流转、调度的完整设计（业务+技术）\n│   ├── getting-started.md             # 快速上手指南\n│   ├── wechat-article.md              # 微信文章\n│   └── screenshots\u002F                   # 功能截图（11 张）\n├── install.sh                  # 一键安装脚本\n├── start.sh                    # 一键启动（Dashboard + 数据刷新）\n├── edict.service               # systemd 服务配置（生产部署）\n├── edict.sh                    # 服务管理脚本（start\u002Fstop\u002Frestart\u002Fstatus）\n├── CONTRIBUTING.md             # 贡献指南\n└── LICENSE                     # MIT License\n```\n\n---\n\n## 🎯 使用方法\n\n### 向 AI 下旨\n\n通过 Feishu \u002F Telegram \u002F Signal 给中书省发消息：\n\n```\n给我设计一个用户注册系统，要求：\n1. RESTful API（FastAPI）\n2. PostgreSQL 数据库\n3. JWT 鉴权\n4. 完整测试用例\n5. 部署文档\n```\n\n**然后坐好，看戏：**\n\n1. 📜 中书省接旨，规划子任务分配方案\n2. 🔍 门下省审议，通过 \u002F 封驳打回重规划\n3. 📮 尚书省准奏，派发给兵部 + 工部 + 礼部\n4. ⚔️ 各部并行执行，进度实时可见\n5. 📮 尚书省汇总结果，回奏给你\n\n全程可在**军机处看板**实时监控，随时可以**叫停、取消、恢复**。\n\n### 使用圣旨模板\n\n> 看板 → 📜 旨库 → 选模板 → 填参数 → 下旨\n\n9 个预设模板：周报生成 · 代码审查 · API 设计 · 竞品分析 · 数据报告 · 博客文章 · 部署方案 · 邮件文案 · 站会摘要\n\n### 自定义 Agent\n\n编辑 `agents\u002F\u003Cid>\u002FSOUL.md` 即可修改 Agent 的人格、职责和输出规范。\n\n### 增补 Skills（从网上连接）\n\n**三种方式添加 Skills：**\n\n#### 1️⃣ 看板 UI（最简单）\n\n```\n看板 → 🔧 技能配置 → ➕ 添加远程 Skill\n→ 输入 Agent + Skill 名称 + GitHub URL\n→ 确认 → ✅ 完成\n```\n\n#### 2️⃣ CLI 命令（最灵活）\n\n```bash\n# 从 GitHub 添加 mmx_cli skill 到门下省\npython3 scripts\u002Fskill_manager.py add-remote \\\n  --agent menxia \\\n  --name mmx_cli \\\n  --source https:\u002F\u002Fraw.githubusercontent.com\u002FMiniMax-AI\u002Fcli\u002Fmain\u002Fskill\u002FSKILL.md \\\n  --description \"MiniMax 多模态 CLI 技能\"\n\n# 一键导入默认 skills 到指定 agents\npython3 scripts\u002Fskill_manager.py import-official-hub \\\n  --agents menxia,shangshu\n\n# 列出所有已添加的远程 skills\npython3 scripts\u002Fskill_manager.py list-remote\n\n# 更新某个 skill 到最新版本\npython3 scripts\u002Fskill_manager.py update-remote \\\n  --agent menxia \\\n  --name mmx_cli\n```\n\n#### 3️⃣ API 请求（自动化集成）\n\n```bash\n# 添加远程 skill\ncurl -X POST http:\u002F\u002Flocalhost:7891\u002Fapi\u002Fadd-remote-skill \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"agentId\": \"menxia\",\n    \"skillName\": \"mmx_cli\",\n    \"sourceUrl\": \"https:\u002F\u002Fraw.githubusercontent.com\u002FMiniMax-AI\u002Fcli\u002Fmain\u002Fskill\u002FSKILL.md\",\n    \"description\": \"MiniMax 多模态 CLI 技能\"\n  }'\n\n# 查看所有远程 skills\ncurl http:\u002F\u002Flocalhost:7891\u002Fapi\u002Fremote-skills-list\n```\n\n**默认可导入 Skill：**\n\n支持的 Skills：\n- `mmx_cli` — MiniMax 多模态 CLI 技能（文本、图像、视频、语音、音乐、搜索）\n\n如果你有自己的 Skills Hub，可以通过 `OPENCLAW_SKILLS_HUB_BASE` 或 `~\u002F.openclaw\u002Fskills-hub-url` 配置自定义源。\n\n详见 [🎓 远程 Skills 资源管理指南](docs\u002Fremote-skills-guide.md)\n\n---\n\n## 🔧 技术亮点\n\n| 特点 | 说明 |\n|------|------|\n| **React 18 前端** | TypeScript + Vite + Zustand 状态管理，13 个功能组件 |\n| **纯 stdlib 后端** | `server.py` 基于 `http.server`，零依赖，同时提供 API + 静态文件服务 |\n| **EventBus 事件总线** | Redis Streams 发布\u002F订阅，服务间解耦通信 |\n| **Outbox Relay** | 事务性 Outbox 模式，保障事件可靠投递（至少一次语义） |\n| **状态机审计** | 严格生命周期状态转换 + 完整审计日志（`audit.py`） |\n| **并行调度引擎** | Dispatch Worker 支持并行执行、指数退避重试、资源锁 |\n| **DAG 编排器** | Orchestrator 基于 DAG 的任务分解与依赖解析 |\n| **Agent 思考可视** | 实时展示 Agent 的 thinking 过程、工具调用、返回结果 |\n| **一键安装 \u002F 一键启动** | `install.sh` 自动配置，`start.sh` 一条命令启动全部服务 |\n| **systemd 生产部署** | `edict.service` 支持 systemd 守护进程，开机自启 |\n| **15 秒同步** | 数据自动刷新，看板倒计时显示 |\n| **Dashboard 鉴权** | `auth.py` 提供看板登录认证 |\n| **每日仪式** | 首次打开播放上朝开场动画 |\n| **远程 Skills 生态** | 从 GitHub\u002FURL 一键导入能力，支持版本管理 + CLI + API + UI |\n\n---\n\n## � 深入了解\n\n### 核心文档\n\n- **[📖 任务分发流转完整架构](docs\u002Ftask-dispatch-architecture.md)** — **必读文档**\n  - 详细讲解三省六部如何处理复杂任务的业务设计和技术实现\n  - 涵盖：9大任务状态机 \u002F 权限矩阵 \u002F 4阶段调度（重试→升级→回滚）\u002F Session JSONL数据融合\n  - 包含完整的使用案例、API端点说明、CLI工具文档\n  - 对标 CrewAI\u002FAutoGen：为什么制度化>自由协作\n  - 故障场景与恢复机制\n  - **读这个文档会理解为什么三省六部这么强大**（9500+ 字，30 分钟完整理解）\n\n- **[🎓 远程 Skills 资源管理指南](docs\u002Fremote-skills-guide.md)** — Skills 生态\n  - 从网上连接和增补 skills，支持 GitHub\u002FGitee\u002F任意 HTTPS URL\n  - 默认 Skills 源和自定义 Hub 支持\n  - CLI 工具 + 看板 UI + Restful API\n  - Skills 文件规范与安全防护\n  - 支持版本管理和一键更新\n\n- **[⚡ Remote Skills 快速入门](docs\u002Fremote-skills-quickstart.md)** — 5 分钟上手\n  - 快速体验、CLI 命令、看板操作示例\n  - 创建自己的 Skills 库\n  - API 完整参考 + 常见问题\n\n- **[🚀 快速上手指南](docs\u002Fgetting-started.md)** — 新手入门\n- **[🤝 贡献指南](CONTRIBUTING.md)** — 想参与贡献？从这里开始\n\n---\n## 🔧 常见问题排查\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>❌ 任务总超时 \u002F 下属完成了但无法传回太子\u003C\u002Fb>\u003C\u002Fsummary>\n\n**症状**：六部或尚书省已完成任务，但太子收不到回报，最终超时。\n\n**排查步骤**：\n\n1. **检查 Agent 注册状态**：\n```bash\ncurl -s http:\u002F\u002F127.0.0.1:7891\u002Fapi\u002Fagents-status | python3 -m json.tool\n```\n确认 `taizi` agent 的 `statusLabel` 是 `alive`。\n\n2. **检查 Gateway 日志**：\n```bash\nls \u002Ftmp\u002Fopenclaw\u002F | tail -5          # 找到最新日志\ngrep -i \"error\\|fail\\|unknown\" \u002Ftmp\u002Fopenclaw\u002Fopenclaw-*.log | tail -20\n```\n\n3. **常见原因**：\n   - Agent ID 不匹配（已在 v1.2 修复：`main` → `taizi`）\n   - LLM provider 超时（增加了自动重试）\n   - 僵尸 Agent 进程（运行 `ps aux | grep openclaw` 检查）\n\n4. **强制重试**：\n```bash\n# 手动触发巡检扫描（自动重试卡住的任务）\ncurl -X POST http:\u002F\u002F127.0.0.1:7891\u002Fapi\u002Fscheduler-scan \\\n  -H 'Content-Type: application\u002Fjson' -d '{\"thresholdSec\":60}'\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>❌ Docker: exec format error\u003C\u002Fb>\u003C\u002Fsummary>\n\n**症状**：`exec \u002Fusr\u002Flocal\u002Fbin\u002Fpython3: exec format error`\n\n**原因**：镜像架构（arm64）与主机架构（amd64）不匹配。\n\n**解决**：\n```bash\n# 方法 1：指定平台\ndocker run --platform linux\u002Famd64 -p 7891:7891 cft0808\u002Fsansheng-demo\n\n# 方法 2：使用 docker-compose（已内置 platform）\ndocker compose up\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>❌ Skill 下载失败\u003C\u002Fb>\u003C\u002Fsummary>\n\n**症状**：`python3 scripts\u002Fskill_manager.py import-official-hub` 报错。\n\n**排查**：\n```bash\n# 测试网络连通性\ncurl -I https:\u002F\u002Fraw.githubusercontent.com\u002FMiniMax-AI\u002Fcli\u002Fmain\u002Fskill\u002FSKILL.md\n\n# 如果超时，使用代理\nexport https_proxy=http:\u002F\u002Fyour-proxy:port\npython3 scripts\u002Fskill_manager.py import-official-hub --agents menxia\n```\n\n**常见原因**：\n- 中国大陆访问 GitHub raw 资源需要代理\n- 网络超时（已增加到 30 秒 + 自动重试 3 次）\n- 默认 skill 源无法访问，或自定义 Skills Hub 配置错误\n\n\u003C\u002Fdetails>\n\n---\n## �🗺️ Roadmap\n\n> 完整路线图及参与方式：[ROADMAP.md](ROADMAP.md)\n\n### Phase 1 — 核心架构 ✅\n- [x] 十二部制 Agent 架构（太子 + 三省 + 七部 + 早朝官）+ 权限矩阵\n- [x] 军机处实时看板（10 个功能面板 + 实时活动面板）\n- [x] 任务叫停 \u002F 取消 \u002F 恢复\n- [x] 奏折系统（自动归档 + 五阶段时间线）\n- [x] 圣旨模板库（9 个预设 + 参数表单）\n- [x] 上朝仪式感动画\n- [x] 天下要闻 + 飞书推送 + 订阅管理\n- [x] 模型热切换 + 技能管理 + 技能添加\n- [x] 官员总览 + Token 消耗统计\n- [x] 小任务 \u002F 会话监控\n- [x] 太子消息分拣（闲聊自动回复 \u002F 旨意建任务）\n- [x] 旨意数据清洗（路径\u002F元数据\u002F前缀自动剥离）\n- [x] 重复任务防护 + 已完成任务保护\n- [x] 端到端测试覆盖（17 个断言）\n- [x] React 18 前端重构（TypeScript + Vite + Zustand · 13 组件）\n- [x] Agent 思考过程可视化（实时 thinking \u002F 工具调用 \u002F 返回结果）\n- [x] 前后端一体化部署（server.py 同时提供 API + 静态文件服务）\n\n### Phase 2 — 制度深化 🚧\n- [ ] 御批模式（人工审批 + 一键准奏\u002F封驳）\n- [x] 功过簿（Agent 绩效评分 + 模型推荐 + 成本优化）\n- [x] EventBus 事件总线（Redis Streams 解耦通信）\n- [x] Outbox Relay（事务性事件投递）\n- [x] 状态机审计（严格生命周期 + 审计日志）\n- [x] 并行调度引擎（指数退避重试 + 资源锁）\n- [x] DAG 编排器（任务分解 + 依赖解析）\n- [x] Dashboard 鉴权（登录认证）\n- [x] 一键启动 \u002F systemd 生产部署\n- [ ] 急递铺（Agent 间实时消息流可视化）\n- [ ] 国史馆（知识库检索 + 引用溯源）\n\n### Phase 3 — 生态扩展\n- [ ] Docker Compose + Demo 镜像\n- [ ] Notion \u002F Linear 适配器\n- [ ] 年度大考（Agent 年度绩效报告）\n- [ ] 移动端适配 + PWA\n- [ ] ClawHub 上架\n\n---\n\n## 🤝 参与贡献\n\n欢迎任何形式的贡献！详见 [CONTRIBUTING.md](CONTRIBUTING.md)\n\n特别欢迎的方向：\n- 🎨 **UI 增强**：深色\u002F浅色主题、响应式、动画优化\n- 🤖 **新 Agent**：适合特定场景的专职 Agent 角色\n- 📦 **Skills 生态**：各部门专用技能包\n- 🔗 **集成扩展**：Notion · Jira · Linear · GitHub Issues\n- 🌐 **国际化**：日文 · 韩文 · 西班牙文\n- 📱 **移动端**：响应式适配、PWA\n\n---\n\n## 📂 案例\n\n`examples\u002F` 目录收录了真实的端到端使用案例：\n\n| 案例 | 旨意 | 涉及部门 |\n|------|------|----------|\n| [竞品分析](examples\u002Fcompetitive-analysis.md) | \"分析 CrewAI vs AutoGen vs LangGraph\" | 中书→门下→户部+兵部+礼部 |\n| [代码审查](examples\u002Fcode-review.md) | \"审查这段 FastAPI 代码的安全性\" | 中书→门下→兵部+刑部 |\n| [周报生成](examples\u002Fweekly-report.md) | \"生成本周工程团队周报\" | 中书→门下→户部+礼部 |\n\n每个案例包含：完整旨意 → 中书省规划 → 门下省审核意见 → 各部执行结果 → 最终奏折。\n\n---\n\n## ⭐ Star History\n\n如果这个项目让你会心一笑，请给个 Star ⚔️\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=cft0808\u002Fedict&type=Date)](https:\u002F\u002Fstar-history.com\u002F#cft0808\u002Fedict&Date)\n\n---\n\n## 📮 朕的邸报——公众号\n\n> 古有邸报传天下政令，今有公众号聊 AI 架构。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Fwechat-qrcode.jpg\" width=\"220\" alt=\"公众号二维码 · cft0808\">\n  \u003Cbr>\u003Cbr>\n  \u003Cb>👆 扫码关注「cft0808」—— 朕的技术邸报\u003C\u002Fb>\n\u003C\u002Fp>\n\n你会看到：\n\n- 🏛️ **架构拆解** —— 三省六部到底怎么分权制衡的？12 个 Agent 各司何职？\n- 🔥 **踩坑复盘** —— Agent 吵架了怎么办？Token 烧光了怎么省？门下省为什么总封驳？\n- 🛠️ **Issue 修复实录** —— 每个 bug 都是一道奏折，看朕如何批红\n- 💡 **Token 省钱术** —— 用 1\u002F10 的 token 跑出门下省审核效果的秘密\n- 🎭 **Agent 人设彩蛋** —— 六部的 SOUL.md 是怎么写出来的？\n\n> *\"朕让 AI 上朝，结果 AI 比朕还卷。\"* —— 关注后你会懂的。\n\n---\n\n## 📄 License\n\n[MIT](LICENSE) · 由 [OpenClaw](https:\u002F\u002Fopenclaw.ai) 社区构建\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cstrong>⚔️ 以古制御新技，以智慧驾驭 AI\u003C\u002Fstrong>\u003Cbr>\n  \u003Csub>Governing AI with the wisdom of ancient empires\u003C\u002Fsub>\u003Cbr>\u003Cbr>\n  \u003Ca href=\"#-朕的邸报公众号\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F公众号_cft0808-关注获取更新-07C160?style=for-the-badge&logo=wechat&logoColor=white\" alt=\"WeChat\">\u003C\u002Fa>\n\u003C\u002Fp>\n","三省六部制·Edict是一个基于古代中国行政制度设计的多智能体（Multi-Agent）协作系统，它通过12个专业AI代理实现任务的分拣、规划、审核、派发及执行。该项目采用Python编写，并依赖于OpenClaw平台，具备实时监控看板、完整的审计跟踪以及模型配置等功能。其独特之处在于引入了专门用于审核的“门下省”角色，确保每个决策过程都有监督和反馈机制，同时提供了直观的任务状态展示界面，非常适合需要透明度高且控制力强的自动化工作流场景，比如复杂项目管理或企业级应用开发过程中的人工智能辅助决策支持。",2,"2026-06-11 03:48:12","high_star"]