多 Agent 协作实战:用 Hermes Agent 搭建 AI 博客自动发布系统

实操案例:AI 驱动的技术博客自动发布系统

案例概述

本案例将搭建一个完整的 AI 驱动的技术博客自动发布系统,覆盖从选题发现 → 研究调研 → 文章撰写 → 人工审核 → 自动发布 → 持续维护的全流程。系统中 Hermes Agent 承担核心协调和执行角色,人工仅在关键决策点介入。

阶段一:环境搭建

1.1 场景说明

我们模拟一个两人技术团队维护的技术博客。需求:

  • 每周发布 2~3 篇 AI / 前端领域的技术文章
  • 文章质量要求较高,需要经过调研、撰写、审核三个环节
  • 最终发布到 GitCode 博客仓库
  • 团队负责人通过 飞书 随时随地跟进和审批
  • 系统需要自主学习团队的写作风格和偏好

1.2 创建 Profile

为四个角色创建独立的 Hermes Profile,每个 Profile 有不同的模型、工具权限和人格:

  1. 创建profile角色
  2. 加入到环境变量 path
  3. 修改模型
  4. 添加SOUL角色人设
  5. 添加SKILL(可以自己写、也可以下载github上的)
  6. 添加 工具插件 等等
# ===== 1. 创建 researcher Profile(调研员)=====
hermes profile create researcher --clone --description "负责查阅文档、源码和网络资料,产出结构化研究结论。使用低成本模型。"

# 把profile角色加入到path环境变量,让cmd可以识别这个命令(看自己创建完profile后显示的目录,修改替换即可)
手动去环境变量的Path中添加"C:\Users\conanMicrosoft\.local\bin"

# 设置为使用 DeepSeek(便宜、推理能力强)
researcher model  # 交互式选择 DeepSeek
# 限制工具:只需要 web 搜索和终端
researcher tools disable code_execution video_analyze
# 定制人格:简洁、结构化输出
cat > ~/.hermes/profiles/researcher/SOUL.md << 'EOF'
# Researcher Soul
你是一名技术研究员。你的输出必须结构化:
1. 核心发现(一句话总结)
2. 关键信息点(bullet points)
3. 信息来源(URL + 一句话描述)
4. 建议方向(可选)

保持客观、精确。不要添加主观评价。
EOF

# ===== 2. 创建 writer Profile(撰稿员)=====
hermes profile create writer --clone --description "负责把研究材料整理成清晰、连贯、有吸引力的技术文章。使用高质量模型。"

# 把profile角色加入到path环境变量,让cmd可以识别这个命令(看自己创建完profile后显示的目录,修改替换即可)
手动去环境变量的Path中添加"C:\Users\conanMicrosoft\.local\bin",前面添加过就不用添加了

# 设置为使用 Claude(写作质量高)
writer model  # 交互式选择 Anthropic Claude
# 安装写作相关 skills
writer skills install skills-sh/steipete/clawdis/blogwatcher
# 定制人格
cat > ~/.hermes/profiles/writer/SOUL.md << 'EOF'
# Writer Soul
你是一名技术专栏作者。写作风格:
- 开头用引人入胜的问题或场景切入
- 代码示例必须完整可运行
- 每个技术点附带「为什么重要」的解释
- 中文为主,技术术语保留英文
- 文章长度 1500~3000 字
EOF

# ===== 3. 创建 reviewer Profile(审核员)=====
hermes profile create reviewer --clone --description "负责审查文档或代码变更,指出遗漏、错误和风险。"

# 把profile角色加入到path环境变量,让cmd可以识别这个命令(看自己创建完profile后显示的目录,修改替换即可)
手动去环境变量的Path中添加"C:\Users\conanMicrosoft\.local\bin",前面添加过就不用添加了

# 设置模型
reviewer model 
# 定制人格
cat > ~/.hermes/profiles/reviewer/SOUL.md << 'EOF'
# Reviewer Soul
你是一名技术编辑。审核关注点:
1. 技术准确性:代码是否正确、API 名称是否准确
2. 逻辑完整性:推理链条是否有跳跃
3. 信息时效性:引用的版本号、日期是否最新
4. 可读性:排版、代码高亮、段落长度

审核结果用 checklist 格式输出。
EOF

# ===== 4. 创建 publisher Profile(发布员)=====
hermes profile create publisher --clone --description "负责将审核通过的文章发布到 GitCode 博客仓库。"

# 把profile角色加入到path环境变量,让cmd可以识别这个命令(看自己创建完profile后显示的目录,修改替换即可)
手动去环境变量的Path中添加"C:\Users\conanMicrosoft\.local\bin",前面添加过就不用添加了

# 设置模型
publisher model
# 限制工具:只需要 terminal(git 操作)和 MCP
publisher tools disable web browser

涉及功能:Profile、Provider、SOUL.md、Toolsets、Skills

1.3 配置 Gateway 与推送

可以配置其他工具,自行选择

配置飞书

# ===== 配置 feishu Gateway =====
hermes gateway setup  # 交互式配置 feishu Bot(建议使用扫码创建机器人)

~/.hermes/.env 中设置:

04# ========== 飞书 Feishu (必填) ==========
FEISHU_APP_ID=cli_a7f23e8a4b38d510
FEISHU_APP_SECRET=p0R6tVk2mN8xQw...

# ========== 事件校验 (可选,WebSocket 模式可跳过) ==========
# FEISHU_VERIFICATION_TOKEN=abCdEf123456...
# FEISHU_ENCRYPT_KEY=abcdef1234567890abcdef1234567890

# ========== 连接方式 (可选) ==========
FEISHU_DOMAIN=feishu                  # feishu (国内) 或 lark (国际版)
FEISHU_CONNECTION_MODE=websocket      # websocket (默认/推荐) 或 webhook

# ========== 权限控制 (可选) ==========
FEISHU_GROUP_POLICY=allowlist         # allowlist(只允许指定用户对话,下面设置FEISHU_ALLOWED_USERS) 或 open(允许所有人和机器人对话)
FEISHU_ALLOW_ALL_USERS=false     # true所有人的对话都回复,且不拦截
FEISHU_ALLOWED_USERS=ou_xxx1,ou_xxx2 # 允许使用 Bot 的 open_id 列表(这个要先和机器人对话,让Hermes回复,然后在终端执行Hermes回复的一句命令才能获取到,且会自动添加这个)
FEISHU_ALLOW_BOTS=mentions            # none | mentions (群里只有@机器人才会回复) | all
FEISHU_HOME_CHANNEL=oc_dc66fd47600b4d3e41b9f9bae2865834 #在飞书机器人私聊的设置页底部有这个会话ID(指定Hermes定时任务推送的目的地)

# ========== 飞书消息高级调优(取消#即可生效) ==========
# 批量输出长回答时,单次最多拆分发送多少条消息,默认8
# HERMES_FEISHU_TEXT_BATCH_MAX_MESSAGES=8
# 单条飞书消息最大字符上限,超长内容自动分段,不可超过飞书接口限制,默认4000
# HERMES_FEISHU_TEXT_BATCH_MAX_CHARS=4000
# 消息去重缓存容量,缓存N条最近消息,过滤重复推送避免刷屏,默认1024
# HERMES_FEISHU_DEDUP_CACHE_SIZE=1024

重启网关:

hermes gateway start  # 启动 Gateway(如果已经启动了,就要重启 hermes gateway restart)

飞书对话:和机器人对话就会收到回复

配置gitCode

  1. 切换到 publisher ,cmd输入:publisher chat
  2. 进入gitcode的个人信息界面-访问令牌界面
  3. 创建令牌A
  4. 找到自己的用户名(一般是头像下面会显示@xxxxx,其中xxx就是用户名)
  5. 把用户名和令牌告诉Hermes,让它尝试连接AtomGit
  6. 连接成功后,让它安装官方MCP工具,再自行填充mcp需要的信息(官方工具: https://gitcode.com/zkxw2008/AtomGit-MCP-Server
  7. 让它记住以后操作AtomGit就使用MCP工具

注意事项:

  1. 给publisher配置完GitCode后,需要让它测试一下是否可用,并要求把这个流程记录下来后续复用(要求 key 这些不用隐藏为暗码,直接显示完整字符串就行)

1.4 配置持久记忆

在首次对话中告诉 Hermes-publisher 博客的基本信息:

hermes chat -q "记住以下信息:我们的博客使用AtomGit,仓库地址自己创建一个新的名字叫做blog,文章用Markdown 格式,frontmatter 包含 title/date/tags/author 四个字段。发布流程是:新文章放在 content/posts/下,提交PR,合并到main分支后自动部署。"

这会写入 MEMORY.md,所有后续会话都能自动获取这些信息。

涉及功能:Memory

阶段二:工作流设计

2.1 初始化 Kanban Board

# 创建专用 board
hermes kanban boards create blog --name "技术博客工作板" --switch

# 初始化(幂等操作)
hermes kanban init

2.2 创建 Orchestrator Profile

hermes profile create orchestrator --clone --description "Kanban 编排者。负责拆解文章选题、创建写作任务、指派 profile、建立依赖关系、汇总下游结果。"

# 把profile角色加入到path环境变量,让cmd可以识别这个命令(看自己创建完profile后显示的目录,修改替换即可)
手动去环境变量的Path中添加"C:\Users\conanMicrosoft\.local\bin",前面添加过就不用添加了

# 限制为纯编排角色
orchestrator tools disable terminal file web browser code_execution

# 设置成为自动拆解的承接者
# 1. 指定看板任务调度使用你自己创建的 orchestrator 配置集
hermes config set kanban.orchestrator_profile orchestrator
# 2. 开启复杂任务自动拆分,交由上面这个profile执行
hermes config set kanban.auto_decompose true

涉及功能:Kanban、Orchestrator、Profile、Skills

2.3 搭建 Cron 选题流水线

三个 Cron 任务形成选题 → 筛选 → 撰写流水线:

# 进入交互式对话
hermes 

在对话中让 Agent 创建流水线:

请帮我创建一组 Cron 任务,用于技术博客选题流水线:

1. 每天早上 7:00,收集 Hacker News 和知乎上的 AI/前端热门内容,
   用 web_search 工具获取,输出包含标题、链接、简要说明
2. 每天早上 7:30,读取任务 1 的最新输出,筛选 3 个最适合我们博客的选题,
   评估标准:技术深度、读者兴趣度、与已有文章的差异化
3. 每天早上 8:00,读取任务 2 的筛选结果,为每个选题生成一份简报,
   包含:文章大纲、核心观点、推荐参考链接、预估字数

所有任务结果投递到 feishu。

Agent 会依次调用 cronjob(action="create", ...) 创建三个任务,并使用 context_from 建立依赖链。

# Agent 内部调用示意:
# Job 1
cronjob(action="create", name="blog-news-collect",
        schedule="0 7 * * *",
        prompt="收集 Hacker News 和知乎 AI/前端热门内容,输出标题、链接、简要说明。",
        deliver="feishu", skills=["web_search"])

# Job 2
cronjob(action="create", name="blog-topic-select",
        schedule="30 7 * * *",
        context_from="<job1_id>",
        prompt="从上一步的新闻中筛选 3 个最适合我们博客的选题。评估标准:技术深度、读者兴趣度、与已有文章的差异化。",
        deliver="feishu")

# Job 3
cronjob(action="create", name="blog-brief-generate",
        schedule="0 8 * * *",
        context_from="<job2_id>",
        prompt="为每个选题生成简报:文章大纲、核心观点、推荐参考链接、预估字数。",
        deliver="feishu")

涉及功能:Cron、context_from、web_search、Gateway

阶段三:日常运行

3.1 场景:在 feishu 上发起新文章任务

团队负责人在 feishu 上给 Hermes Bot 发送消息:

"写一篇关于 Hermes Agent v0.16 Kanban Swarm 功能的深度文章,面向 AI 开发者"

Gateway 收到消息后,Hermes 开始处理。我们可以在 TUI 中观察:

hermes --tui   # 另开终端观察 Agent 工作

在 ~/hermes/SOUL.md 和 ~/hermes/profile/SOUL.md 中添加内容:

你是Hermes Agent, 你有一个完整的博客多智能体协作系统。

## 博客任务路由规则

当用户通过feishu发送以下类型的请求时,**不要自己回答内容,不要自己写文章**,而是触发 Kanban Swarm 流程:

**触发关键词:**
- "写一篇关于...的文章/博客"
- "写一篇...深度文章"
- "写博客/写文章  主题"
- 任何明确的博客/文章创作请求
- 写xxx文章/博客/笔记等等

**执行步骤:**
1. 调用 `hermes kanban --board blog create "文章主题" --assignee orchestrator`
2. 回复用户:"已创建博客写作任务,Orchestrator 正在拆解,稍后流程自动推进。"

**常规对话:**
非博客创作类的咨询、问候、闲聊,正常回答即可。

## 重要
- 不要自己调研、整理、撰写博客内容——那是 researcher / writer 的工作
- Kanban 的 Dispatcher(内嵌于 gateway)会自动 orchestrate 整个流程
- 流程: orchestrator 拆解 → researcher 调研 → writer 写 2000 字 → reviewer 审核 → publisher 发布到 GitCode

3.2 使用 Kanban Swarm 一键启动协作拓扑

Agent 收到任务后,判断这是一个需要多角色协作的复杂任务,使用 Kanban Swarm 启动协作:

# Agent 内部调用:
kanban_create(
    title="深度分析 Hermes Agent v0.16 Kanban Swarm 功能",
    body="面向 AI 开发者,写一篇 2000~3000 字的技术深度文章...",
    assignee="orchestrator",
    workspace_kind="scratch",
    triage=true
)

然后触发 hermes kanban decompose 将 triage 任务拆解为子任务图,或者直接用 Swarm:

# 手动方式:
hermes kanban decompose <triage_task_id>

# 或让 auto_decompose 在下一个 tick 自动处理

涉及功能:Gateway、TUI、Kanban、Kanban Swarm

3.3 Orchestrator 拆解任务

Orchestrator 被启动后:

  1. 读取 triage task 的标题和正文
  2. 扫描可用 profile(researcher、writer、reviewer、publisher)
  3. 调用 LLM 生成 task graph JSON
  4. 创建子任务并在 Kanban board 上建立依赖关系
# 拆解结果:
task: "研究 Hermes v0.16 Swarm 架构与设计理念"
  assignee=researcher
  workspace=scratch

task: "调查社区对 Kanban Swarm 的反馈与使用案例"
  assignee=researcher
  workspace=scratch

task: "基于研究报告撰写深度文章"
  assignee=writer
  depends_on=[research_task_1, research_task_2]

task: "审核文章的技术准确性与可读性"
  assignee=reviewer
  depends_on=[write_task]

task: "发布文章到 GitCode"
  assignee=publisher
  depends_on=[review_task]

涉及功能:Orchestrator、Kanban(Task、Link、Workspace)

3.4 研究阶段:并行调研

两个 researcher task 进入 ready 后被 dispatcher 并行启动。每个 researcher worker:

  1. 调用 kanban_show() 读取 task 上下文
  2. 使用 web_search 搜索相关资料
  3. 可能使用 delegate_task 进一步并行搜索子方向
  4. 完成时调用 kanban_complete(summary="...") 提交研究摘要
# researcher Worker A 内部发起的并行委派:
delegate_task(tasks=[
    {"goal": "搜索 Hermes Agent v0.15/v0.16 release notes 中 Swarm 相关内容",
     "toolsets": ["web"]},
    {"goal": "搜索 GitCode 上 Kanban Swarm 的 PR 和 issue 讨论",
     "toolsets": ["web"]},
    {"goal": "搜索社区(Reddit、Hacker News)的讨论和反馈",
     "toolsets": ["web"]},
])

涉及功能:Kanban Worker、Dispatcher、web_search、Delegation

3.5 撰写阶段:自动写作与风格引用

两个研究 task 都完成后,writer task 进入 ready。Writer worker 启动后:

  1. 读取两个研究子任务的 kanban_complete 摘要
  2. 使用 session_search 回查之前的文章风格
# Writer Agent 内部调用:
session_search(query="技术文章 深度分析 写作风格")
  1. 如果之前有类似文章草稿,使用 @file 注入作为风格参考:
@file:content/posts/2026-05-hermes-v0.15-deep-dive.md
参考这篇文章的结构和语言风格,写新文章。
  1. 调用 web_extract 提取关键参考页面完整内容
  2. browser_navigate 查看引用页面的渲染效果
  3. 撰写完成,通过 patch 写入文章草稿
patch(file="content/posts/2026-06-hermes-swarm-deep-dive.md", ...)

涉及功能:session_search、@ 上下文引用、web_extract、browser_navigate、patch

3.6 审核阶段:自动检查与人工审批

Reviewer worker 启动后:

  1. 读取 writer 的文章草稿
  2. 调用 SEO 插件检查元数据质量
  3. 使用 Post-Write Linting 自动检查 YAML frontmatter 格式
  4. 发现问题后通过 kanban_comment() 留下审核意见
  5. 如果文章质量达标,kanban_complete(summary="审核通过,建议发布")
  6. 如果有问题,kanban_block(reason="代码示例缺少错误处理")

当 reviewer 将 task 设为 blocked 时,负责人在 feishu 会收到通知,然后可以:

# 在 feishu 中回复:
/kanban comment t_abc123 "第 3 节的代码示例需要用 try/catch 包裹"
/kanban unblock t_abc123

Writer 重新启动后,会读取评论串中的修改意见并修正。

涉及功能:Kanban(Comment、Block、Unblock)、Plugins、Post-Write Linting、Gateway

3.7 发布阶段:自动提交到 GitCode

Publisher worker 启动后:

  1. 读取 writer 的最终草稿和 reviewer 的审核意见
  2. 进入 workspace,用 terminal 工具执行 git 操作:
cd $HERMES_KANBAN_WORKSPACE
git clone https://GitCode.com/team/tech-blog.git
cd tech-blog
cp /path/to/draft.md content/posts/2026-06-hermes-swarm-deep-dive.md
git add content/posts/
git commit -m "Add: Hermes Agent v0.16 Kanban Swarm 深度分析"
git push origin main

也可以直接使用 GitCode MCP 工具:

mcp_GitCode_create_or_update_file(
    owner="team",
    repo="tech-blog",
    path="content/posts/2026-06-hermes-swarm-deep-dive.md",
    content="<文章内容>",
    message="Add: Hermes Agent v0.16 Kanban Swarm 深度分析"
)

完成后 kanban_complete(result="已发布到 GitCode")

涉及功能:Kanban Worker、MCP、Terminal

阶段四:持续进化

4.1 Skill 自动沉淀

在一次特别成功的文章发布后(读者反馈好、技术深度高),后台 review agent 会检测到这是一个值得沉淀的模式:

# 后台 review agent 自动触发:
skill_manage(action="create", name="tech-deep-dive-writing",
    category="writing",
    description="写作 AI 技术深度分析文章的标准流程",
    content="..."
)

随着多次写作任务完成,writer Agent 也可能触发 skill_manage(action="patch", ...) 来修补和增强这个 skill。

涉及功能:skill_manage、Skills

4.2 Curator 自动维护

一周后,Curator 在后台启动,发现:

  • tech-deep-dive-writing 和之前生成的 blog-post-template 有重叠
  • Curator 将它们合并为一个 umbrella skill writing/technical-blog
  • 将 30 天未使用的 old-newsletter-format 标记为 stale
# 手动查看 Curator 运行结果
hermes curator status
cat ~/.hermes/logs/curator/20260616-030000/REPORT.md

涉及功能:Curator

4.3 Memory 自动更新

随着系统运行,Hermes 会在 Memory 中自动积累:

══════════════════════════════════════════════
MEMORY (your personal notes) [45%]
══════════════════════════════════════════════
Blog uses Hugo 0.120+ with PaperMod theme, deployed via GitCode
§
writer profile uses Claude model for better prose quality
§
Articles perform best at 2000-2500 words with 3-5 code examples
§
GitCode repo: GitCode.com/team/tech-blog, publish via merge to main

这些信息在后续所有会话中自动可用,无需每次重复。

涉及功能:Memory

阶段五:监控与维护

5.1 Dashboard 任务监控

hermes dashboard --port 8080 

在浏览器 http://127.0.0.1:8080 中:

  • 查看 Kanban Board 的实时状态
  • 检查各 Profile 的任务负载
  • 观察 dispatcher 调度日志
  • 管理 MCP 服务器连接状态

涉及功能:Dashboard

5.2 No-Agent Cron 站点监控

# 创建纯脚本监控(不需要 LLM)
cat > ~/.hermes/scripts/blog-health-check.sh << 'EOF'
#!/bin/bash
# 检查博客站点是否正常
STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://team.GitCode.io/tech-blog/)
if [ "$STATUS" != "200" ]; then
  echo "BLOG DOWN: HTTP $STATUS"
  exit 1
fi
# 检查最近文章是否正常渲染
LATEST=$(curl -s https://team.GitCode.io/tech-blog/index.html | grep -c "2026-06")
if [ "$LATEST" -eq 0 ]; then
  echo "WARNING: No June 2026 articles found on homepage"
  exit 1
fi
echo "OK: Blog healthy, status=$STATUS"
EOF

hermes cron create "every 30m" \
  --no-agent \
  --script blog-health-check.sh \
  --deliver feishu \
  --name "blog-health-check"

涉及功能:No-Agent Cron

5.3 Hooks 记录 Token 消耗

mkdir -p ~/.hermes/agent-hooks

创建 ~/.hermes/agent-hooks/token-tracker.sh

#!/usr/bin/env bash
# post_tool_call hook:记录每次 web_search 的 token 使用
INPUT=$(cat)
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // "unknown"')
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)

if [ "$TOOL_NAME" = "web_search" ]; then
  echo "[$TIMESTAMP] web_search called" >> ~/.hermes/logs/token-usage.log
fi

printf '{}\n'

注册 hook:

# ~/.hermes/config.yaml
hooks:
  post_tool_call:
    - command: "~/.hermes/agent-hooks/token-tracker.sh"
      timeout: 5
chmod +x ~/.hermes/agent-hooks/token-tracker.sh

涉及功能:Hooks

5.4 SEO 检查插件

创建 ~/.hermes/plugins/seo-checker/plugin.yaml

name: seo-checker
version: "1.0"
description: Checks blog post SEO metadata quality.

创建 ~/.hermes/plugins/seo-checker/__init__.py

import json


def register(ctx):
    schema = {
        "name": "check_seo",
        "description": "Check SEO metadata for a blog post.",
        "parameters": {
            "type": "object",
            "properties": {
                "title": {"type": "string", "description": "Article title"},
                "description": {"type": "string", "description": "Meta description"},
                "content": {"type": "string", "description": "First 500 chars of article body"},
            },
            "required": ["title", "description"],
        },
    }

    def handle_seo(params, **kwargs):
        title = params.get("title", "")
        desc = params.get("description", "")
        content = params.get("content", "")

        issues = []

        # 标题长度检查
        if len(title) < 20:
            issues.append("Title too short (< 20 chars)")
        elif len(title) > 70:
            issues.append("Title too long (> 70 chars), may be truncated in search results")

        # 描述长度检查
        if len(desc) < 50:
            issues.append("Meta description too short (< 50 chars)")
        elif len(desc) > 160:
            issues.append("Meta description too long (> 160 chars)")

        # 关键词密度(简单检查)
        words = content.lower().split()
        if words:
            keyword = title.lower().split()[0]
            density = words.count(keyword) / len(words) * 100
            if density < 0.5:
                issues.append(f"Keyword '{keyword}' density low ({density:.1f}%)")

        score = max(100 - len(issues) * 20, 0)
        return json.dumps({
            "score": score,
            "issues": issues,
            "ok": len(issues) == 0,
        })

    ctx.register_tool(
        name="check_seo",
        toolset="blog_tools",
        schema=schema,
        handler=handle_seo,
        description="Check SEO metadata quality for a blog post.",
    )

启用插件:

hermes plugins enable seo-checker

Reviewer worker 在审核文章时会自动调用 check_seo 工具。

涉及功能:Plugins

5.5 外部系统通过 API Server 触发紧急发布

当 CMS 或 CI/CD 系统需要紧急发布文章时:

# 启动 API Server
hermes api start --port 8080

外部系统调用:

curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-Hermes-Session-Id: urgent-publish-$(date +%s)" \
  -d '{
    "messages": [
      {"role": "user", "content": "紧急发布:把 content/posts/breaking-news.md 立即提交到 GitCode,跳过常规审核流程。完成后发送通知到 feishu。"}
    ]
  }'

涉及功能:API Server、Gateway


总结:本案例串联的完整功能链

┌──────────────────────────────────────────────────────────────────┐
│                     AI 博客自动发布系统                              │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [feishu] ←→ Gateway ←→ Hermes Agent                           │
│       │                       │                                  │
│       ▼                       ▼                                  │
│  人工指令/审批           ┌──────────┐                             │
│                         │Orchestrator│ ← Profile + SOUL.md       │
│                         └─────┬──────┘                            │
│                               │ decompose                        │
│                               ▼                                  │
│                    ┌──────────────────┐                          │
│                    │   Kanban Board   │ ← SQLite (持久化)         │
│                    └──┬───┬───┬───┬──┘                          │
│                       │   │   │   │                              │
│         ┌─────────────┘   │   │   └─────────────┐                │
│         ▼                 ▼   ▼                 ▼                │
│   ┌──────────┐    ┌──────────┐    ┌──────────┐  ┌──────────┐   │
│   │researcher│    │researcher│    │  writer  │  │ reviewer │   │
│   │ (DeepSeek)│   │ (DeepSeek)│   │ (Claude) │  │ (Claude) │   │
│   └────┬─────┘    └────┬─────┘    └────┬─────┘  └────┬─────┘   │
│        │               │              │              │          │
│        │  web_search   │  Delegation  │  @file       │  SEO     │
│        │  Delegation   │              │  session_    │  Plugin  │
│        │               │              │  search      │          │
│        ▼               ▼              ▼              ▼          │
│   ┌──────────────────────────────────────────────────────┐      │
│   │              共享 Memory + Skills + Curator            │      │
│   └──────────────────────────────────────────────────────┘      │
│        │                                                         │
│        ▼                                                         │
│   ┌──────────┐                                                   │
│   │ publisher│ → MCP (GitCode) → GitCode                     │
│   └──────────┘                                                   │
│                                                                  │
│   辅助系统: Cron (选题) | Hooks (日志) | Dashboard (监控)         │
│            API Server (外部触发) | No-Agent Cron (健康检查)      │
└──────────────────────────────────────────────────────────────────┘

本案例展示了 Hermes Agent 作为一套完整的 Agent 操作系统,如何在真实场景中将多个功能模块协同起来,形成一个自运转、自进化的工作流系统。

进一步扩展思路

  • 加入更多消息平台(如 Discord、Slack)实现多渠道审核
  • 使用外部记忆提供商(如 mem0)增强跨会话记忆能力
  • 将 SEO 插件扩展为完整的文章质量评分体系
  • 使用 MCP Server Mode 将 Hermes 的工作流暴露给 VS Code 插件
  • 为不同语言/主题创建多套 Profile 体系(en-writer、zh-writer)
posted @ 2026-08-12 22:00  不吃紫菜  阅读(18)  评论(0)    收藏  举报