1. 项目概述:当皇上,一个基于明朝内阁制的AI多智能体协作系统

如果你曾经幻想过像皇帝一样,只需动动嘴皮子,就有一群“大臣”为你分忧解难,处理从写代码到查账单的各种琐事,那么“当皇上”这个项目,可能就是为你量身打造的。这不是一个简单的聊天机器人,而是一个开箱即用的、完整的AI多智能体(Multi-Agent)协作系统。它的核心思想,是将古代明朝的“三省六部”官僚体系,用现代AI技术复刻出来,让你成为那个发号施令的“皇帝”。

想象一下这个场景:你在Discord里@一下“司礼监”,说“帮朕写个用户登录API,再查一下这个月花了多少钱”。接下来,你会看到“司礼监”接旨,将任务交给“内阁”优化和拆解,然后“内阁”拟好执行计划,由“司礼监”分别派发给“兵部”(负责编码)和“户部”(负责财务分析)。最后,“兵部”提交代码到GitHub,“都察院”自动进行代码审查并给出反馈。整个过程,就像一支训练有素的AI团队在为你7x24小时工作。

这个项目的价值在于,它不是一个需要你从零开始搭建的复杂框架,而是一个 成品 。你不需要懂复杂的Python多线程编程,也不需要自己设计Agent之间的通信协议。通过一个5分钟的一键安装脚本,你就能在服务器上部署一个拥有18个以上独立AI智能体的“朝廷”。每个智能体(Agent)都有明确的职责、独立的记忆(Memory)和专属的技能(Skill),它们可以像真实团队一样协作,处理复杂的、多步骤的任务。

它适合谁?对于独立开发者或小团队来说,它是一个强大的AI副驾驶团队,能帮你分担开发、运维、内容创作等重复性工作。对于技术管理者或产品经理,它是一个绝佳的原型验证工具,可以快速模拟一个产品从需求到上线的全流程。甚至对于AI爱好者,它也是一个深入理解多智能体协作、工作流编排的绝佳学习案例。

2. 核心架构设计:为何选择“三省六部”?

在开始动手之前,理解“当皇上”背后的架构设计逻辑至关重要。这决定了它为何高效,以及如何适应不同的场景。项目提供了三种制度模板,但默认且最核心的是 明朝内阁制 。选择这个架构,并非为了标新立异,而是因为它完美地映射了现代软件开发和团队协作中的核心需求。

2.1 明朝内阁制:效率与制衡的典范

明朝的内阁-司礼监-六部体系,本质上是一个高度专业化和流程化的决策执行系统。在“当皇上”中,这个体系被解构为以下几个核心角色,每个角色都对应一个或多个AI Agent:

  1. 皇帝(用户) :需求的发起者和最终决策者。你只需要用自然语言下达指令。
  2. 司礼监(调度中心) :这是整个系统的“路由器”和“大内总管”。它的核心职责不是思考,而是 接旨和派发 。当用户@司礼监时,它会第一时间响应,然后将原始指令传递给下一个关键角色——内阁。它的存在,让用户有一个统一的、稳定的交互入口。
  3. 内阁(策略与规划中心) :这是系统的“大脑”。它接收来自司礼监的原始、可能模糊的用户指令,并进行“Prompt增强”。这个过程包括: 理解用户真实意图、追问模糊细节、拆解复杂任务、生成可执行的子任务计划(Plan) 。例如,用户说“做个网站”,内阁可能会追问“是什么类型的网站?需要哪些页面?”,并最终生成计划:“1. 兵部设计前端页面;2. 兵部搭建后端API;3. 工部配置服务器”。
  4. 六部(执行单元) :这是系统的“手和脚”,是专业的执行者。每个部门专精一个领域:
    • 兵部 :软件工程。负责写代码、搭架构、修Bug。
    • 户部 :财务运营。负责成本分析、预算报告。
    • 礼部 :品牌与营销。负责文案、社交媒体内容。
    • 工部 :运维与DevOps。负责服务器部署、CI/CD流水线。
    • 吏部 :项目管理与协调。负责任务跟踪、团队协作。
    • 刑部 :法务与合规。负责审查合同、知识产权事宜。
  5. 都察院(质量与审计中心) :这是系统的“质检员”。它不参与日常执行,但拥有 事后审查权 。在项目中,它通常与GitHub的Webhook集成。当代码被推送到仓库时,都察院会自动触发,对代码进行审查,检查代码风格、潜在漏洞、性能问题等,并给出通过或修改建议。

为什么这个架构有效? 它模拟了现实中高效团队的工作流: 产品经理(用户)提出需求 -> 项目经理/技术负责人(内阁)拆解和规划 -> 各领域专家(六部)并行执行 -> QA(都察院)进行质量把关 。这种分工避免了单个“全能型”AI Agent在处理复杂任务时容易陷入的思维混乱和上下文过载问题。每个Agent只需专注于自己的领域,通过清晰的接口(内阁生成的Plan)进行协作,整体效率和输出质量都更高。

2.2 其他制度模板:唐朝三省制与现代企业制

除了默认的明朝内阁制,项目还预置了另外两种制度,以适应不同的管理风格和场景。

唐朝三省制 :强调“三权分立”与制衡。流程是: 中书省(起草)-> 门下省(审核)-> 尚书省(执行) 。门下省拥有“封驳权”,可以驳回中书省不合理的方案。这非常适合对流程严谨性、方案合规性要求极高的企业级或政府项目场景,确保每一个决策都经过双重校验。

现代企业制 :完全扁平化的现代公司架构。角色包括CEO、CTO、CFO、CMO等,所有沟通默认使用英文。这适合国际化团队,或者偏好现代企业管理术语的用户。其核心流程与明朝内阁制类似,但角色名称和交互方式更贴近硅谷科技公司。

实操心得:制度选择指南

  • 个人项目、快速原型开发 :首选 明朝内阁制 。它的“司礼监-内阁”调度中心模式效率最高,能快速将模糊需求转化为可执行动作。
  • 需要严格流程控制的合规项目 :选择 唐朝三省制 。额外的审核环节(门下省)能有效避免技术债务和决策失误。
  • 国际化团队或英文工作环境 :选择 现代企业制 。角色名称和沟通语言无缝衔接,减少认知负担。
  • 关键提示 :这三种制度在安装后可以随时通过脚本一键切换,你可以根据当前项目的不同阶段灵活选择。例如,在创意爆发期用明朝制快速推进,在代码审查期切换到唐朝制加强质量管控。

2.3 技术底座:OpenClaw框架

“当皇上”并非从零造轮子,它基于 OpenClaw 框架构建。理解这一点,能帮你更好地驾驭和扩展这个系统。

OpenClaw是一个开源的AI智能体编排框架,你可以把它想象成AI领域的“Kubernetes”。它提供了几个核心能力:

  • Agent管理 :轻松创建、配置、运行和监控多个AI智能体。
  • Skill(技能)系统 :提供了60多种开箱即用的工具,如操作GitHub、读写Notion、执行Shell命令、进行网页搜索等。每个Agent可以装备不同的Skill。
  • Memory(记忆) :每个Agent拥有独立的、持久化的记忆存储(通常是SQLite数据库),让它能记住之前的对话和上下文,实现“越用越懂你”。
  • Channel(通道) :支持通过Discord、飞书、Slack、Telegram甚至Web UI等多种方式与Agent交互。
  • 沙箱隔离 :Agent执行的代码会在Docker容器中运行,确保宿主机的安全。

“当皇上”项目所做的工作,是基于OpenClaw框架, 预配置好了一整套符合“三省六部”制度的Agent角色、Skill组合、工作流规则和交互模板 。你下载并运行它,就等于获得了一个已经编排好的、功能完整的AI团队,无需从底层开始搭建。

3. 从零开始:完整部署与配置实操

理论讲完,我们进入实战环节。我将以最常用的 云服务器(Ubuntu 22.04 LTS) 明朝内阁制 为例,带你一步步完成从零到一的部署。请务必使用云服务器,避免在个人电脑上安装,因为后续的定时任务、长期运行等操作在服务器上更为稳定和安全。

3.1 环境准备与一键安装

首先,你需要准备两样东西:

  1. 一台云服务器 :推荐使用海外服务商(如DigitalOcean, Linode, Vultr)或国内服务商(如阿里云、腾讯云)的Ubuntu 22.04/24.04 LTS系统,最低配置1核2GB内存即可起步。
  2. API密钥 :你需要一个大语言模型(LLM)的API Key。项目支持多种模型,新手推荐使用 OpenAI的GPT-4o/GPT-4 Turbo Anthropic的Claude 3.5 Sonnet 。去对应平台注册并获取API Key。

登录你的云服务器,开始安装:

# 1. 更新系统并安装基础依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget

# 2. 执行一键安装脚本(推荐远程安装方式,最简单)
bash <(curl -fsSL https://raw.githubusercontent.com/wanikua/danghuangshang/main/scripts/full-install.sh)

这个 full-install.sh 脚本会完成以下所有工作:

  • 自动安装 Docker 和 Docker Compose(如果未安装)。
  • 克隆 OpenClaw 框架和 “当皇上” 项目模板到你的服务器(默认在 ~/clawd 目录)。
  • 安装 Python 依赖和必要的系统工具。
  • 最关键的一步: 运行人设注入脚本 。这一步会将明朝内阁制下所有Agent(司礼监、内阁、六部等)的详细角色设定、系统提示词(System Prompt)和初始记忆写入各自的配置中。这是让AI“入戏”成为古代大臣的关键。

脚本运行过程中,会以交互方式提示你输入两个关键信息:

  • OPENAI_API_KEY :你的LLM API密钥。
  • DISCORD_BOT_TOKEN :你的Discord机器人Token(如果你想用Discord作为控制界面)。

注意事项:获取Discord Bot Token

  1. 访问 Discord Developer Portal ,点击 “New Application” 创建一个新应用。
  2. 进入 “Bot” 页面,点击 “Add Bot”。
  3. 在Bot设置页面,找到 “TOKEN” 部分,点击 “Reset Token” 并复制下来。 这个Token只显示一次,务必妥善保存。
  4. 在 “Privileged Gateway Intents” 下, 务必勾选 “MESSAGE CONTENT INTENT” 。这是为了让Bot能读取消息内容。
  5. 在 “OAuth2” -> “URL Generator” 页面,勾选 bot applications.commands 权限,并赋予它必要的权限(如发送消息、读取消息历史等),生成一个邀请链接,用这个链接将Bot邀请到你的Discord服务器。

安装脚本大约需要5-10分钟。完成后,你会看到类似 “Installation completed successfully!” 的提示。此时,你的AI朝廷核心系统已经就绪。

3.2 核心配置详解与安全设置

安装完成后,最重要的配置文件位于 ~/.openclaw/openclaw.json 。这个文件定义了整个系统的行为。我们重点看几个关键部分:

{
  "core": {
    "model": "openai:gpt-4o", // 默认使用的模型
    "temperature": 0.7, // 创造性,越高越随机
    "workspace": "/home/ubuntu/clawd/workspace" // Agent的工作目录
  },
  "agents": {
    // 这里列出了所有Agent的定义,每个都有独立的配置
    "silijian": { // 司礼监
      "name": "司礼监",
      "instructions": "你是司礼监掌印太监,负责接旨、传达、协调六部...(详细人设)",
      "model": "openai:gpt-4o", // 可单独指定模型
      "skills": ["discord", "memory", "cron"] // 拥有的技能
    },
    "neige": { // 内阁
      "name": "内阁",
      "instructions": "你是内阁首辅,负责优化圣旨、拆解任务、制定执行计划...",
      "model": "anthropic:claude-3-5-sonnet-20241022", // 内阁可以用更强的模型
      "skills": ["memory", "reasoning"]
    }
    // ... 其他六部等Agent配置
  },
  "channels": [
    {
      "channel": "discord",
      "config": {
        "token": "YOUR_DISCORD_BOT_TOKEN",
        "allowBots": "mentions" // ⚠️ 安全关键配置!
      }
    }
  ]
}

安全配置要点(必读,否则可能导致消息风暴):

在多Bot的Discord服务器里,如果每个Bot都能看到并响应其他Bot的消息,就会形成“A说话 -> B回复 -> A看到B回复又说话 -> ...”的死循环。 allowBots 配置就是用来解决这个问题的。

  • "allowBots": false :Bot会完全忽略其他Bot的消息。这很安全,但会导致 司礼监无法@兵部 ,协作链条断裂。
  • "allowBots": true :Bot会响应所有消息,包括其他Bot的。这会导致 无限循环和消息风暴 ,绝对禁止!
  • "allowBots": "mentions" 唯一正确的配置 。Bot只响应那些 明确@了它自己 的消息。这样,当司礼监在消息里@兵部时,兵部才会响应;而兵部完成任务后的普通汇报,不会触发司礼监再次响应。

请务必检查你所有Agent的Discord配置中, allowBots 都设置为 "mentions"

3.3 启动朝廷与首次朝会

配置完成后,就可以启动你的AI朝廷了。

# 进入OpenClaw目录
cd ~/clawd

# 启动所有Agent(后台运行)
openclaw start --all

# 查看运行状态
openclaw status

# 查看特定Agent的日志(例如司礼监)
openclaw logs silijian

如果一切正常,你应该能在Discord服务器里看到你添加的Bot已经在线。现在,激动人心的时刻到了: 第一次上朝

在你的Discord频道里,尝试@你的司礼监Bot(例如 @司礼监 ),然后输入你的第一道“圣旨”:

@司礼监 朕欲建一博客网站,记录技术心得,需有文章列表、详情页及搜索功能,用Python Flask框架实现。预算有限,需评估初期云服务器开销。着尔等速办。

接下来,你将亲眼目睹整个朝廷的运转:

  1. 司礼监 会立刻回复:“遵旨!臣即刻请内阁拟票……”
  2. 片刻后, 内阁 会发言:“臣已拟票。【任务一】@兵部 — 搭建Flask博客后端,实现文章CRUD接口及搜索功能。【任务二】@户部 — 评估阿里云/腾讯云轻量应用服务器月度开销。”
  3. 司礼监 接着派发:“内阁拟票已收,开始派发!@兵部 @户部 依内阁所拟执行。”
  4. 兵部 户部 会分别开始工作,并在完成后汇报结果。
  5. 如果兵部将代码推送到了GitHub, 都察院 可能会自动跳出来进行代码审查。

整个过程就像观看一场精密的戏剧,每个角色各司其职,有条不紊。至此,你的AI朝廷已正式运转起来。

4. 高级功能与深度定制

基础部署完成后,你可以探索更多高级功能,让这个朝廷更加强大和贴合你的需求。

4.1 技能(Skill)扩展:为六部赋能

OpenClaw内置了60多种Skill,你可以像给游戏角色装备道具一样,给不同的部门装备不同的技能。配置方法是在对应Agent的配置里修改 skills 数组。

例如,如果你希望 礼部 不仅能写文案,还能自动发布到社交媒体,可以给它添加 twitter wechat 技能(需要先配置对应平台的API)。如果你希望 工部 能监控服务器,可以添加 monitoring 技能。

实操示例:为兵部添加GitHub技能 假设你已经配置好了GitHub的Personal Access Token(需要 repo 权限),并存储在 ~/.config/github/token 文件中。那么,在兵部( bingbu )的Agent配置里,确保 skills 列表中包含 "github" 。之后,你就可以直接命令兵部:“@兵部,在仓库 my-org/my-project 中创建一个关于用户登录的Issue”,兵部就会自动去执行。

4.2 记忆(Memory)系统:打造专属智囊团

每个Agent都有独立的记忆。这意味着,你告诉兵部“我喜欢用TypeScript”,它就会记住,下次你让它写代码时,它可能会优先推荐TypeScript。记忆存储在SQLite数据库中,位于每个Agent的工作目录下。

记忆备份至关重要 :这些记忆是Agent长期学习你习惯和偏好的成果,丢失了就无法恢复。项目提供了 scripts/memory-backup.sh 脚本。

# 进入项目目录
cd ~/danghuangshang

# 执行一次完整备份(备份到 ./backups/ 目录)
bash scripts/memory-backup.sh

# 设置每天凌晨3点自动备份(强烈推荐)
(crontab -l 2>/dev/null; echo "0 3 * * * cd /home/ubuntu/danghuangshang && bash scripts/memory-backup.sh -q 2>&1 | logger -t openclaw-backup") | crontab -

4.3 定时任务(Cron):让朝廷自动运转

你可以让朝廷在固定时间自动执行任务,比如每日汇报、每周备份、健康检查等。这通过Cron Skill实现。

示例:让户部每天上午9点汇报昨日开销

  1. 在户部的配置中确保有 cron 技能。
  2. 在Discord中向户部下旨: @户部 添加一个定时任务:每天上午9点,分析昨日所有API调用开销,并总结成报告发到这个频道。
  3. 户部会理解指令,并在后台设置一个Cron Job。从此,每天9点你都会收到一份自动生成的财务简报。

4.4 接入其他平台:飞书与Web GUI

除了Discord,系统还支持飞书(Lark)、Slack、Telegram等,甚至有一个内置的Web管理界面(GUI)。

接入飞书(更适合国内团队) : 飞书采用WebSocket长连接, 不需要服务器有公网IP ,对于部署在内网的服务非常友好。配置流程与Discord类似,在飞书开放平台创建应用、获取凭证,然后通过 openclaw channels add feishu 命令添加即可。之后,你就可以在飞书群里@你的AI大臣了。

启动Web管理界面 : 项目根目录下的 gui/ 文件夹里是一个React开发的管理面板,可以可视化查看所有Agent状态、会话记录、Token消耗等。

cd ~/danghuangshang/gui
npm install
npm run build
cd ../server
npm install
BOLUO_AUTH_TOKEN=your_secret_password node index.js

访问 http://你的服务器IP:18795 ,输入密码即可进入管理后台。这为你提供了除聊天频道外的另一个控制视角。

5. 故障排查、优化与经验分享

即使按照教程一步步来,也可能会遇到问题。这里汇总了一些常见坑点和优化技巧。

5.1 常见问题与解决方案

问题一:Bot在Discord里不响应@命令。

  • 检查1 :确认Bot已在线(绿色状态)。
  • 检查2 :确认你在频道里有@它的权限,并且输入格式正确(如 @司礼监 你好 )。
  • 检查3 :检查Bot的 Privileged Gateway Intents 中的 MESSAGE CONTENT INTENT 是否已开启。 这是最常见的原因。
  • 检查4 :查看Agent日志 openclaw logs <agent_name> ,看是否有连接或认证错误。

问题二:Agent之间出现消息循环(一个说话,另一个不停回复)。

  • 根本原因 allowBots 配置错误,设成了 true
  • 解决方案 :立即停止所有Agent ( openclaw stop --all ),然后检查并修改 ~/.openclaw/openclaw.json 中所有Discord Channel配置,将 allowBots 改为 "mentions" 。修改后重启。

问题三:内阁或六部给出的方案质量不高,不符合预期。

  • 优化1 :为关键Agent(如内阁、兵部)使用更强、更新的模型。在Agent配置中修改 model 字段,例如换成 anthropic:claude-3-5-sonnet-20241022
  • 优化2 :细化你的“圣旨”。模糊的指令会得到模糊的结果。尽量清晰,例如不说“做个App”,而说“做一个用于个人记账的移动App,需要包含收入支出分类、图表统计、数据导出功能,技术栈用React Native。”
  • 优化3 :利用内阁的“追问”机制。当你下旨后,内阁如果觉得信息不足,会主动向你提问。认真回答这些问题,能极大提升后续执行计划的准确性。

问题四:运行一段时间后,Agent反应变慢或出错。

  • 检查资源 :用 htop docker stats 命令查看服务器CPU、内存和磁盘占用。如果资源吃紧,考虑升级服务器配置。
  • 清理Docker :运行 docker system prune -a --volumes 可以清理无用的Docker镜像、容器和卷,释放空间。 注意:这会删除所有未运行的容器和未使用的镜像,操作前请确认。
  • 重启大法 :有时简单的重启能解决临时性问题: openclaw restart --all

5.2 成本控制与优化策略

让18个AI Agent 24小时待命,听起来很贵,但实际上通过策略优化,成本完全可以控制。

  1. 模型分级使用 :这是最有效的省钱方法。不要所有Agent都用最贵的GPT-4。
    • 内阁(首辅) :用最强的模型(如Claude 3.5 Sonnet, GPT-4)。因为它负责理解和规划,它的输出质量直接决定了整个任务的成败。
    • 六部(执行者) :用性价比高的模型(如GPT-4o, Claude 3 Haiku,甚至DeepSeek)。它们执行的是相对明确、具体的子任务。
    • 司礼监(调度员) :可以用更轻量的模型(如GPT-3.5-Turbo),它的工作主要是格式化的接旨和派发。
  2. 设置使用限额 :在OpenClaw配置中,可以为每个Agent设置每月或每日的Token消耗上限,防止意外超支。
  3. 善用“直接指挥”模式 :对于简单、明确的任务,可以直接在Discord里@具体的部门(如 @兵部 修复这个函数的Bug ),跳过司礼监和内阁。这节省了内阁进行Prompt增强的Token消耗。
  4. 关闭非核心Agent :如果你暂时不需要“翰林院”(写小说)或“刑部”(法务),可以用 openclaw stop hanlin_zhang xingbu 命令停止它们,节省资源和费用。

5.3 我的实战心得与建议

经过一段时间的深度使用,我总结出以下几点经验,可能比官方文档更有用:

  • 从简单任务开始 :不要一开始就扔一个“做一个电商平台”这样的巨型需求。先从“写一个Python爬虫获取天气数据”、“生成一份本周工作汇报模板”这样的小任务开始。这有助于你理解各个部门的协作方式,并逐步调教它们的“性格”。
  • 明确边界,人机共治 :AI朝廷是强大的助手,但不是万能的神。将创意、战略决策、最终审核权牢牢掌握在自己手中。让AI处理重复性、模式化、信息收集类的工作,而你专注于只有人能做的部分。
  • 定期“朝会”,统一思想 :可以定期(比如每周)在频道里发一个总结性指令,例如“@司礼监 着内阁并六部,总结本周各衙门所办差事,呈报朕览。”这能促使各个Agent回顾和整理记忆,也让它们对你的整体目标有更一致的理解。
  • 备份!备份!备份! :再说一遍,定期使用 memory-backup.sh 脚本备份。我曾因为一次误操作丢失了调教了两个月的兵部记忆,痛心疾首。
  • 拥抱混乱,迭代调整 :多智能体系统是复杂的,有时会出现意想不到的交互或结果。把这看作一个有趣的实验过程。当出现问题时,不要急着否定,去查看日志,分析是哪个环节的指令或配置出了问题,然后调整。这个过程本身,就是对你管理能力和系统思维的一种锻炼。

最后,这个项目的魅力在于,它不仅仅是一个工具,更是一个关于人机协作、组织管理的有趣隐喻。当你看着一群AI按照数百年前设计的官僚制度,有条不紊地处理着21世纪的数字任务时,那种穿越时空的奇妙感,或许才是“当皇上”带给你的最大乐趣。现在,你的朝廷已经就绪,是时候发布你的第一道圣旨了。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐