用途:hermes worker 把 Hermes 智能体接入 iii 总线。hermes::run 执行一次无头 Hermes 回合并携带 iii 运行时上下文,使智能体能实时发现并驱动整个引擎;hermes::send 向 Hermes 支持的 27+ 消息平台投递消息;入站平台消息与 webhook 事件到达该 worker 的 HTTP sink(hermes::inbound)后重新发布,供任意 iii worker 响应。
主要能力:hermes::run 接受 prompt 或 messages,以及 model、cwd、iii_context,返回 {session_id, result, is_error};智能体可通过 iii CLI(engine::functions::list、iii trigger <fn> --help)发现并调用任意已注册函数。hermes::send 接受 {platform, message},覆盖 Telegram、Discord、Slack、WhatsApp、Teams 等 20+ 平台。hermes::sessions::list 列出本 worker 运行过的会话;hermes::status 查看会话状态与 live 标志;hermes::stop 中断运行中的回合;run::start_and_wait 是 hermes::run 的别名。传入相同 session_id 可延续上下文。
使用方式:需预先配置 Hermes 凭据(~/.hermes/.env)。要接收入站事件,将 Hermes 网关路由指向该 worker 的 inbound_api_path,投递会落到 hermes::inbound 并重新发布。
限制:worker 在容器内运行 Hermes CLI,需要预置凭据,不使用交互式门户 OAuth 流程。hermes::run 与 hermes::send 未经人工批准不可被智能体调用(涉及权限与外发消息),只读内省允许(见 iii-permissions.yaml)。Hermes 一次性返回仅含最终文本,因此 agent::events 携带整回合帧(turn_end、agent_end),而非逐工具帧。Hermes 自带的 shell/代码/网页工具与 MCP 有意不再暴露,因为 iii 已有 shell、coder、web。需要超出 Hermes 的能力时,应新增其他 iii worker,而非在此处附加。