{/* 此页面由 website/scripts/generate-skill-docs.py 从技能的 SKILL.md 自动生成。请编辑源文件 SKILL.md,而非此页面。 */}
Honcho
配置并使用 Honcho 记忆与 Hermes —— 跨会话用户建模、多配置文件对等隔离、观察配置、辩证推理、会话摘要和上下文预算限制。适用于设置 Honcho、排查记忆问题、使用 Honcho 对等体管理配置文件,或调整观察、召回和辩证设置。
技能元数据
| 来源 | 可选 —— 使用 hermes skills install official/autonomous-ai-agents/honcho 安装 |
| 路径 | optional-skills/autonomous-ai-agents/honcho |
| 版本 | 2.0.0 |
| 作者 | Hermes Agent |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | Honcho, Memory, Profiles, Observation, Dialectic, User-Modeling, Session-Summary |
| 相关技能 | hermes-agent |
参考:完整 SKILL.md
:::info 以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
Honcho 记忆系统(用于 Hermes)
Honcho 提供 AI 原生跨会话用户建模。它能在多次对话中了解用户,并为每个 Hermes 配置文件赋予独立的对等身份,同时共享统一的用户视图。
使用时机
- 设置 Honcho(云端或自托管)
- 排查记忆不工作/对等体不同步的问题
- 创建多配置文件设置,使每个代理拥有自己的 Honcho 对等体
- 调整观察、召回、辩证深度或写入频率设置
- 了解 5 个 Honcho 工具的功能及使用场景
- 配置上下文预算和会话摘要注入
设置
云端(app.honcho.dev)
hermes honcho setup
# 选择 "cloud",粘贴来自 https://app.honcho.dev 的 API 密钥自托管
hermes honcho setup
# 选择 "local",输入基础 URL(例如 http://localhost:8000)参见:https://docs.honcho.dev/v3/guides/integrations/hermes#running-honcho-locally-with-hermes
验证
hermes honcho status # 显示已解析的配置、连接测试、对等体信息架构
基础上下文注入
当 Honcho 将上下文注入系统提示(在 hybrid 或 context 召回模式下)时,会按以下顺序组装基础上下文块:
- 会话摘要 —— 当前会话的简短摘要(放在最前面,使模型获得即时对话连续性)
- 用户表示(User Representation) —— Honcho 积累的用户模型(偏好、事实、模式)
- AI 对等体卡片(AI Peer Card) —— 此 Hermes 配置文件的 AI 对等体身份卡
会话摘要由 Honcho 在每次轮次开始时自动生成(当存在先前会话时)。它让模型获得热启动,无需重放完整历史记录。
冷/热启动提示选择
Honcho 自动在两种提示策略之间选择:
| 条件 | 策略 | 行为 |
|---|---|---|
| 无先前会话或表示为空 | 冷启动(Cold start) | 轻量级介绍提示;跳过摘要注入;鼓励模型了解用户 |
| 存在表示和/或会话历史 | 热启动(Warm start) | 完整基础上下文注入(摘要 → 表示 → 卡片);更丰富的系统提示 |
您无需配置此项 —— 系统会根据会话状态自动选择。
对等体
Honcho 将会话建模为对等体之间的交互。Hermes 为每个会话创建两个对等体:
- 用户对等体(User peer)(
peerName):代表人类。Honcho 通过观察到的消息构建用户表示。 - AI 对等体(AI peer)(
aiPeer):代表此 Hermes 实例。每个配置文件获得自己的 AI 对等体,使代理发展独立的观点。
观察
每个对等体有两个观察开关,控制 Honcho 从何处学习:
| 开关 | 功能 |
|---|---|
observeMe | 观察对等体自身的消息(构建自我表示) |
observeOthers | 观察其他对等体的消息(构建跨对等体理解) |
默认:所有四个开关均开启(完全双向观察)。
在 honcho.json 中按对等体配置:
{
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": true }
}
}或使用简写预设:
| 预设 | 用户 | AI | 使用场景 |
|---|---|---|---|
"directional"(默认) | me:开启, others:开启 | me:开启, others:开启 | 多代理,完整记忆 |
"unified" | me:开启, others:关闭 | me:关闭, others:开启 | 单代理,仅用户建模 |
在 Honcho 仪表盘中更改的设置会在会话初始化时同步回来 —— 服务器端配置优先于本地默认值。
会话
Honcho 会话限定消息和观察的存放范围。策略选项:
| 策略 | 行为 |
|---|---|
per-directory(默认) | 每个工作目录一个会话 |
per-repo | 每个 git 仓库根目录一个会话 |
per-session | 每次 Hermes 运行创建一个新 Honcho 会话 |
global | 所有目录共享单个会话 |
手动覆盖:hermes honcho map my-project-name
召回模式
代理访问 Honcho 记忆的方式:
| 模式 | 自动注入上下文? | 工具可用? | 使用场景 |
|---|---|---|---|
hybrid(默认) | 是 | 是 | 代理决定何时使用工具与自动上下文 |
context | 是 | 否(隐藏) | 最小令牌成本,无工具调用 |
tools | 否 | 是 | 代理显式控制所有记忆访问 |
三个正交调节维度
Honcho 的辩证行为由三个独立维度控制。每个维度可独立调节而不影响其他维度:
节奏(何时触发)
控制辩证和上下文 API 调用的频率。
| 键(Key) | 默认值 | 描述 |
|---|---|---|
contextCadence | 1 | 上下文 API 调用之间的最小轮次间隔 |
dialecticCadence | 2 | 辩证 API 调用之间的最小轮次间隔。推荐 1–5 |
injectionFrequency | every-turn | every-turn 或 first-turn 用于基础上下文注入 |
较高的节奏值会使辩证 LLM 触发的频率降低。dialecticCadence: 2 意味着引擎每隔一轮触发一次。设置为 1 则每轮都触发。
深度(多少轮)
控制 Honcho 每次查询执行的辩证推理轮数。
| 键 | 默认值 | 范围 | 描述 |
|---|---|---|---|
dialecticDepth | 1 | 1-3 | 每次查询的辩证推理轮数 |
dialecticDepthLevels | — | 数组 | 可选,每轮深度级别覆盖(见下文) |
dialecticDepth: 2 意味着 Honcho 执行两轮辩证综合。第一轮产生初步答案;第二轮进行精炼。
dialecticDepthLevels 允许您独立设置每轮的推理级别:
{
"dialecticDepth": 3,
"dialecticDepthLevels": ["low", "medium", "high"]
}如果省略 dialecticDepthLevels,轮次使用从 dialecticReasoningLevel(基础级别)派生的比例级别:
| 深度 | 传递级别 |
|---|---|
| 1 | [base] |
| 2 | [minimal, base] |
| 3 | [minimal, base, low] |
这使得早期轮次成本较低,同时最终综合使用完整深度。
会话开始时的深度。 会话启动预热在后台以完整配置的 dialecticDepth 运行,然后才进入第 1 轮。冷对等体上的单轮预热通常返回较薄弱的输出 —— 多轮深度在用户发言之前就运行了审计/对账循环。第 1 轮直接使用预热结果;如果预热未能及时完成,第 1 轮回退到带有限时超时的同步调用。
级别(强度)
控制每轮辩证推理的强度。
| 键 | 默认值 | 描述 |
|---|---|---|
dialecticReasoningLevel | low | minimal, low, medium, high, max |
dialecticDynamic | true | 当为 true 时,模型可以传递 reasoning_level 给 honcho_reasoning 以覆盖每次调用的默认值。false = 始终使用 dialecticReasoningLevel,忽略模型覆盖 |
更高的级别产生更丰富的综合结果,但在 Honcho 后端消耗更多令牌。
多配置文件设置
每个 Hermes 配置文件获得自己的 Honcho AI 对等体,同时共享同一工作空间(用户上下文)。这意味着:
- 所有配置文件看到相同的用户表示
- 每个配置文件构建自己的 AI 身份和观察
- 一个配置文件写入的结论通过共享工作空间对其他配置文件可见
创建带有 Honcho 对等体的配置文件
hermes profile create coder --clone
# 创建 hermes.coder 主机块,AI 对等体 "coder",继承默认配置--clone 对 Honcho 的作用:
- 在
honcho.json中创建hermes.coder主机块 - 设置
aiPeer: "coder"(配置文件名) - 从默认配置继承
workspace,peerName,writeFrequency,recallMode等 - 预先在 Honcho 中创建对等体,使其在第一条消息之前就已存在
回填现有配置文件
hermes honcho sync # 为所有尚无主机块的配置文件创建主机块按配置文件配置
在主机块中覆盖任何设置:
{
"hosts": {
"hermes.coder": {
"aiPeer": "coder",
"recallMode": "tools",
"dialecticDepth": 2,
"observation": {
"user": { "observeMe": true, "observeOthers": false },
"ai": { "observeMe": true, "observeOthers": true }
}
}
}
}工具
代理拥有 5 个双向 Honcho 工具(在 context 召回模式下隐藏):
| 工具 | 调用 LLM? | 成本 | 使用时机 |
|---|---|---|---|
honcho_profile | 否 | 极小 | 对话开始时快速获取事实快照,或用于快速名称/角色/偏好查询 |
honcho_search | 否 | 低 | 获取特定过去事实供自己推理 —— 原始摘录,无需综合 |
honcho_context | 否 | 低 | 完整会话上下文快照:摘要、表示、卡片、最近消息 |
honcho_reasoning | 是 | 中–高 | 由 Honcho 辩证引擎综合的自然语言问题 |
honcho_conclude | 否 | 极小 | 写入或删除持久化事实;传递 peer: "ai" 用于 AI 自我认知 |
honcho_profile
读取或更新对等体卡片 —— 精选的关键事实(名称、角色、偏好、沟通风格)。传递 card: [...] 进行更新;省略则读取。不调用 LLM。
honcho_search
对指定对等体的存储上下文进行语义搜索。返回按相关性排序的原始摘录,不进行综合。默认 800 个令牌,最大 2000。适用于需要获取特定过去事实自行推理而非获取综合答案的情况。
honcho_context
来自 Honcho 的完整会话上下文快照 —— 会话摘要、对等体表示、对等体卡片和最近消息。不调用 LLM。当您想一次性查看 Honcho 了解的关于当前会话和对等体的所有信息时使用。
honcho_reasoning
由 Honcho 的辩证推理引擎(Honcho 后端的 LLM 调用)回答的自然语言问题。成本更高,质量更高。传递 reasoning_level 控制深度:minimal(快速/廉价)→ low → medium → high → max(彻底)。省略则使用配置的默认值(low)。用于综合理解用户模式、目标或当前状态。
honcho_conclude
写入或删除关于对等体的持久化结论。传递 conclusion: "..." 创建。传递 delete_id: "..." 删除结论(用于 PII 移除 —— Honcho 会随时间自我修正错误结论,因此仅需在涉及 PII 时删除)。您必须恰好传递两者之一。
双向对等体定位
所有 5 个工具接受可选的 peer 参数:
peer: "user"(默认)—— 操作用户对等体peer: "ai"—— 操作此配置文件的 AI 对等体peer: "<explicit-id>"—— 工作空间中的任何对等体 ID
示例:
honcho_profile # 读取用户卡片
honcho_profile peer="ai" # 读取 AI 对等体卡片
honcho_reasoning query="这个用户最关心什么?"
honcho_reasoning query="我的交互模式是什么?" peer="ai" reasoning_level="medium"
honcho_conclude conclusion="偏好简洁的回答"
honcho_conclude conclusion="我倾向于过度解释代码" peer="ai"
honcho_conclude delete_id="abc123" # PII 移除
代理使用模式
Honcho 记忆激活时 Hermes 的指南。
对话开始时
1. honcho_profile → 快速预热,无 LLM 成本
2. 如果上下文较薄 → honcho_context (完整快照,仍无 LLM)
3. 如果需要深度综合 → honcho_reasoning (LLM 调用,谨慎使用)
不要每轮都调用 honcho_reasoning。自动注入已经处理持续的上下文刷新。仅在确实需要基础上下文未提供的综合洞见时使用推理工具。
当用户分享需要记住的内容时
honcho_conclude conclusion="<具体、可操作的事实>"
好的结论:“偏好代码示例而非文字说明”、“正在从事 Rust 异步项目,截至 2026 年 4 月” 不好的结论:“用户说了些关于 Rust 的话”(过于模糊)、“用户看起来懂技术”(已在表示中)
当用户询问过去上下文/您需要回忆具体信息时
honcho_search query="<主题>" → 快速,无 LLM,适合具体事实
honcho_context → 包含摘要和消息的完整快照
honcho_reasoning query="<问题>" → 综合答案,当搜索不够用时使用
何时使用 peer: "ai"
使用 AI 对等体定位来构建和查询代理自身的自我认知:
honcho_conclude conclusion="我在解释架构时倾向于冗长" peer="ai"—— 自我修正honcho_reasoning query="我通常如何处理模糊请求?" peer="ai"—— 自我审计honcho_profile peer="ai"—— 查看自己的身份卡
何时不应调用工具
在 hybrid 和 context 模式下,基础上下文(用户表示 + 卡片 + 会话摘要)在每轮前自动注入。不要重复获取已注入的内容。仅在以下情况调用工具:
- 您需要注入上下文未包含的信息
- 用户明确要求您回忆或检查记忆
- 您正在写入关于新内容的结论
节奏感知
工具侧的 honcho_reasoning 与自动注入辩证共享相同的成本。在显式工具调用后,自动注入节奏会重置 —— 避免同一轮次重复计费。
配置参考
配置文件:$HERMES_HOME/honcho.json(配置文件本地)或 ~/.honcho/config.json(全局)。
关键设置
| 键 | 默认值 | 描述 |
|---|---|---|
apiKey | — | API 密钥(获取) |
baseUrl | — | 自托管 Honcho 的基础 URL |
peerName | — | 用户对等体身份 |
aiPeer | 主机键 | AI 对等体身份 |
workspace | 主机键 | 共享工作空间 ID |
recallMode | hybrid | hybrid, context 或 tools |
observation | 全部开启 | 按对等体的 observeMe/observeOthers 布尔值 |
writeFrequency | async | async, turn, session 或整数 N |
sessionStrategy | per-directory | per-directory, per-repo, per-session, global |
messageMaxChars | 25000 | 每条消息的最大字符数(超出时分块) |
辩证设置
| 键 | 默认值 | 描述 |
|---|---|---|
dialecticReasoningLevel | low | minimal, low, medium, high, max |
dialecticDynamic | true | 按查询复杂度自动提升推理级别。false = 固定级别 |
dialecticDepth | 1 | 每次查询的辩证轮数(1-3) |
dialecticDepthLevels | — | 可选,每轮级别数组,例如 ["low", "high"] |
dialecticMaxInputChars | 10000 | 辩证查询输入的最大字符数 |
上下文预算和注入
| 键 | 默认值 | 描述 |
|---|---|---|
contextTokens | 无上限 | 组合基础上下文注入(摘要 + 表示 + 卡片)的最大令牌数。选择性限制 —— 省略则不设上限,设置为整数以限制注入大小 |
injectionFrequency | every-turn | every-turn 或 first-turn |
contextCadence | 1 | 上下文 API 调用之间的最小轮次间隔 |
dialecticCadence | 2 | 辩证 LLM 调用之间的最小轮次间隔(推荐 1–5) |
contextTokens 预算在注入时强制执行。如果会话摘要 + 表示 + 卡片超出预算,Honcho 首先修剪摘要,然后是表示,保留卡片。这防止了长会话中的上下文膨胀。
记忆上下文清理
Honcho 在注入前对 memory-context 块进行清理,以防止提示注入和格式错误的内容:
- 从用户编写的结论中剥离 XML/HTML 标签
- 规范化空白和控制字符
- 截断超过
messageMaxChars的单个结论 - 转义可能破坏系统提示结构的分隔符序列
此修复解决了原始用户结论中包含标记或特殊字符可能损坏注入上下文块的边缘情况。
故障排除
”Honcho not configured”
运行 hermes honcho setup。确保 ~/.hermes/config.yaml 中存在 memory.provider: honcho。
记忆在会话间不持久
检查 hermes honcho status —— 确认 saveMessages: true 且 writeFrequency 不是 session(后者仅在退出时写入)。
配置文件没有自己的对等体
创建时使用 --clone:hermes profile create <name> --clone。对于现有配置文件:hermes honcho sync。
仪表盘中的观察更改未反映
观察配置在每次会话初始化时从服务器同步。在 Honcho UI 中更改设置后,启动新会话。
消息被截断
超过 messageMaxChars(默认 25k)的消息会自动分块,并添加 [continued] 标记。如果频繁遇到此问题,检查工具结果或技能内容是否导致消息大小膨胀。
上下文注入过大
如果看到上下文预算超出警告,降低 contextTokens 或减少 dialecticDepth。预算紧张时,会话摘要首先被修剪。
会话摘要缺失
会话摘要需要当前 Honcho 会话中至少有一轮先前交互。在冷启动(新会话,无历史记录)时,摘要被省略,Honcho 改用冷启动提示策略。
CLI 命令
| 命令 | 描述 |
|---|---|
hermes honcho setup | 交互式设置向导(云端/本地,身份,观察,召回,会话) |
hermes honcho status | 显示已解析的配置、连接测试、当前配置文件的对等体信息 |
hermes honcho enable | 为当前配置文件启用 Honcho(必要时创建主机块) |
hermes honcho disable | 禁用当前配置文件的 Honcho |
hermes honcho peer | 显示或更新对等体名称(--user <name>, --ai <name>, --reasoning <level>) |
hermes honcho peers | 显示所有配置文件中的对等体身份 |
hermes honcho mode | 显示或设置召回模式(hybrid, context, tools) |
hermes honcho tokens | 显示或设置令牌预算(--context <N>, --dialectic <N>) |
hermes honcho sessions | 列出已知的目录到会话名称的映射 |
hermes honcho map <name> | 将当前工作目录映射到 Honcho 会话名称 |
hermes honcho identity | 播种 AI 对等体身份或显示两个对等体的表示 |
hermes honcho sync | 为所有尚无主机块的 Hermes 配置文件创建主机块 |
hermes honcho migrate | 从 OpenClaw 原生记忆迁移到 Hermes + Honcho 的逐步迁移指南 |
hermes memory setup | 通用记忆提供者选择器(选择 “honcho” 运行相同的向导) |
hermes memory status | 显示当前激活的记忆提供者和配置 |
hermes memory off | 禁用外部记忆提供者 |