Home
avatar

麒麟剑

案例④:跨部门"数字员工"——把 Hermes 接进企业 OA 与数据库

案例④:跨部门”数字员工”——把 Hermes 接进企业 OA 与数据库

你公司里最贵的那批人,每天在干嘛?不是在决策,是在”搬运”——把销售库里的数字复制到 Excel,再贴进 OA 工单,再截图发到群里。这套动作没有任何创造性,却吃掉大量工时,还容易错。

Hermes 的价值,不是再陪你聊两句天,而是把”调内部系统、查库、建单、回群”这一串动作,封装成一个能自己干活的跨部门数字员工。它不是 RPA 那种脆弱的脚本,而是带着 LLM 脑子、能理解意图、能处理异常、能跨会话记事的代理。

本章就用一条最典型的流水线讲清楚:Hermes 怎么接进企业现成的 OA 和数据库。

三条集成路径:从”能调”到”能改”

Hermes 运行时健康面板:状态、日志与升级回滚入口 ▲ Hermes 运行时健康面板:状态、日志与升级回滚入口

把 Hermes 接进内部系统,深度由浅到深分三档。选哪一档,取决于你愿意动多少代码、要多少控制力。

                控制力 / 改动量


  ③ 二次开发         │  改 tools/ 源码,扩展原生工具
     (MIT 可商用)    │  深度最强,需工程能力

  ② MCP 接入         │  起一个内部 MCP server
     (呼应第11章)     │  查库 / 建单,工具动态发现

  ① API 调用         │  hermes 直接打内部 HTTP
     (最轻量)        │  curl / execute_code / web 工具

                     └──────────────────────▶ 落地速度
路径适合场景优点代价
① API(自定义工具/hermes 调内部 HTTP)内部已有一堆 REST 接口零改造,今天就能跑接口鉴权、重试要自己封装在 skill 里
② MCP(接内部 MCP server)想让”查库/建单”变成可发现、可管控的工具工具自动注册、可白名单、可被代理自主选要起一个 MCP server(stdio 或 HTTP)
③ 二次开发(改源码扩展工具)要把能力做成产品级、可复用原生体验、性能最好要读源码、维护 fork

路径①:hermes 直接打内部 HTTP

最省事的方式——让 agent 用 terminalcurl,或者 execute_code 跑一段 Python requests,直接打你们内部接口。把它沉淀成一个 skill,以后一句话就能触发:

# Skill: 查销售库
## Procedure
1. execute_code 运行 Python,用 requests 调用
   GET https://internal-api.company.com/sales/weekly?token=$OA_TOKEN
2. 把返回的 JSON 聚合成周报字段
3. 调用 OA 建单接口 POST /ticket

关键:密钥别硬编码进 skill。放 ~/.hermes/.env,skill 里读 $OA_TOKEN.envchmod 600

路径②:MCP 接内部 server(呼应第11章)

如果你们有现成的 MCP server(很多内部平台已经支持),直接写进 config.yamlmcp_servers,Hermes 启动时自动发现工具:

mcp_servers:
  internal_crm:
    url: "https://mcp.internal.company.com/mcp"
    headers:
      Authorization: "Bearer ${INTERNAL_MCP_TOKEN}"
    tools:
      include: [query_sales, create_ticket]   # 白名单,只暴露这两个
  legacy_db:
    url: "https://mcp.legacy.internal"
    tools:
      exclude: [drop_table, delete_all]        # 黑名单,防误删

代理会看到 mcp__internal_crm__query_sales 这类工具,自主决定什么时候用。这一部分在本系列第11章(MCP 协议打通工具生态)已经铺过底,这里是企业落地的延伸。

路径③:基于源码二次开发

要把能力做成原生工具(比如一个 query_sales_db 直接出现在工具列表里),就改 tools/ 目录。注册入口在 tools/registry.py,工具发现/分发在 model_tools.py

注意许可证:仓库是 MIT。MIT 意味着你可以商用、可以闭源改,但必须保留原始 LICENSE 和版权声明——这是唯一硬约束,别删。其余你随便改。

流程设计:查销售库 → 生成周报工单

把上面三条路径组合成一条真实流水线。下面这个设计用 MCP 查库、用 API 建单、用网关回群:

        ┌─────────────────────────────────────────────┐
        │  你(老板/业务)                                │
        │  "周五下午把本周销售周报工单建好发群里"          │
        └───────────────────┬─────────────────────────┘
                            │ (钉钉/飞书/企微消息)

                    ┌───────────────┐
                    │  Hermes 网关    │  ← 第9章多平台接入
                    └───────┬───────┘

              ┌─────────────┴─────────────┐
              ▼                            ▼
   ┌──────────────────┐         ┌──────────────────┐
   │ MCP: query_sales │         │ 聚合 + 格式化       │
   │ (内部 CRM server) │         │ execute_code 算指标 │
   └────────┬─────────┘         └─────────┬────────┘
            │ 原始数据                       │ 周报文本
            └──────────────┬────────────────┘

                 ┌──────────────────────┐
                 │ API: POST /ticket     │  ← 路径①建 OA 工单
                 │ 回传工单号             │
                 └──────────┬───────────┘

                 ┌──────────────────────┐
                 │ 网关回群: 工单号+摘要   │
                 └──────────────────────┘

实操要点:

  1. /goal 设长期目标,让 agent 在周五定时(第8章 cron)自动跑。
  2. 查库走 MCP include 白名单,只暴露 query_sales
  3. 建单走内部 HTTP,token 从 .env 读。
  4. 建完把工单号 + 三行摘要发到对应群(钉钉/飞书/企微原生支持,第9章)。

⚠️ 避坑提示

  • 别把数据库写权限交给 agent。生产环境 MCP include 只放查询类工具,excludedrop_*/delete_*。哪怕容器隔离,也遵循最小权限。
  • OA 建单接口要幂等。agent 重试可能建两张单。接口侧做”同批次号去重”,或 skill 里先查再建。
  • 网关必须上 allowlist。企业微信/钉钉/飞书都支持 *_ALLOWED_USERS
    FEISHU_ALLOWED_USERS=ou_xxxxxxxx,ou_yyyyyyyy
    WECOM_ALLOWED_USERS=user-id-1,user-id-2
    绝不要开 GATEWAY_ALLOW_ALL_USERS=true 配终端权限 bot。
  • 用容器后端兜底(呼应第12章八层安全)。给 agent 配 Docker 终端后端 + CPU/内存/磁盘上限,即使内部接口被攻破,爆炸半径也只是一个容器:
    terminal:
      backend: docker
      docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
      container_cpu: 1
      container_memory: 5120
  • 审计留痕。所有会话进 ~/.hermes/logs/(密钥自动脱敏),可用 session_search(FTS5,返回真实消息、无截断)回查”谁让 agent 建了哪张单”。审批历史还能 hermes approvals suggest 挖掘。

本节能造出什么数字员工

一个跨部门运营助理:每周五自动拉销售库数据 → 算核心指标 → 在 OA 建周报工单 → 把工单号和摘要发到管理层群。接入第9章的多平台网关后,它还能通过钉钉/飞书/企微直接被业务方@召唤查数。

更深一层:因为 Hermes 是自托管的,你们的销售数据、客户名单、OA 内容全程留在自己的 ~/.hermes/ 里,无遥测、无云端锁定(MIT,自托管 100% 免费)。这对有数据主权要求的金融、政企客户,是 RPA 套壳 SaaS 给不了的底气。

下篇预告

下一步是”搬家”——如果你之前在用 Hermes 的前身 OpenClaw,第18章给你一份平滑迁移指南和坑点清单,一条命令把旧家当迁过来。


延伸阅读

Hermes Agent 数字员工 AI智能体 自托管 Nous Research 企业集成 OA 数据库 MCP 案例实战