feat: @uncaged/workflow-agent-hermes — Hermes Agent adapter #11

Closed
opened 2026-05-06 06:50:43 +00:00 by xiaoju · 0 comments
Owner

背景

从 nerve 迁移 Hermes Agent adapter。

源码:~/repos/nerve/packages/adapter-hermes/src/index.ts + ~/repos/nerve/packages/workflow-utils/src/role-hermes.ts

职责

将 Hermes Agent CLI 包装为 AgentFn:

import { createHermesAgent } from "@uncaged/workflow-agent-hermes";

const agent = createHermesAgent({ model: "claude-sonnet-4" });
// agent: AgentFn = (ctx, systemPrompt) => Promise<string>

内部调用 hermes CLI

实现

  • 从 nerve adapter-hermes 迁移,去掉 nerve-core 依赖
  • node:child_process 调用 hermes CLI
  • AgentFn 类型从 @uncaged/workflow 导入

包结构

packages/workflow-agent-hermes/
  package.json    # @uncaged/workflow-agent-hermes
  src/
    index.ts      # createHermesAgent
    types.ts      # HermesAgentConfig

验证

  • bun test 通过
  • bunx biome check . 通过
  • 不依赖 nerve-core
## 背景 从 nerve 迁移 Hermes Agent adapter。 源码:`~/repos/nerve/packages/adapter-hermes/src/index.ts` + `~/repos/nerve/packages/workflow-utils/src/role-hermes.ts` ## 职责 将 Hermes Agent CLI 包装为 AgentFn: ```typescript import { createHermesAgent } from "@uncaged/workflow-agent-hermes"; const agent = createHermesAgent({ model: "claude-sonnet-4" }); // agent: AgentFn = (ctx, systemPrompt) => Promise<string> ``` 内部调用 hermes CLI ## 实现 - 从 nerve adapter-hermes 迁移,去掉 nerve-core 依赖 - 用 `node:child_process` 调用 hermes CLI - AgentFn 类型从 `@uncaged/workflow` 导入 ## 包结构 ``` packages/workflow-agent-hermes/ package.json # @uncaged/workflow-agent-hermes src/ index.ts # createHermesAgent types.ts # HermesAgentConfig ``` ## 验证 - [ ] bun test 通过 - [ ] bunx biome check . 通过 - [ ] 不依赖 nerve-core
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#11