memory_honcho
memory_honcho 为 Agent Core 添加 Honcho-backed persistent memory。它会在
model calls 前注入相关 memory context,在 assistant response 完成后把 turn 镜像到
Honcho,并可选暴露 model-callable honcho_* tools。
当你需要由 Honcho 支撑的 cross-session user 或 project recall,而不是只使用
file-backed memory_basic package 时,使用它。
安装内容
Package 会把 package-owned authored components 安装进选中的 runtime core:
agent/lib/memory_honcho/
agent/bootstrap/memory_honcho/
agent/input/memory_honcho_recall/
agent/output/memory_honcho_sync/
agent/skills/memory_honcho/
enable_tools=true 时,也就是默认情况,它还会安装:
agent/tools/honcho_profile/
agent/tools/honcho_search/
agent/tools/honcho_context/
agent/tools/honcho_reasoning/
agent/tools/honcho_conclude/
它还会更新 agent/pipelines.yaml:
bootstrap:
serial:
- session_context
- memory_honcho
input:
serial:
- base_input
- memory_honcho_recall
parallel: []
output:
serial:
- base_output
parallel:
- memory_honcho_sync
Runtime memory data 不属于 package ownership,存储在:
memory/honcho/
cache.json
outbox.jsonl
synced_turns.json
Uninstall 会移除已安装 slots、tools、skill 和 lib files,但保留
memory/honcho/。
Requirements
memory_honcho 声明一个 manual dependency:
honcho-ai
Demiurge packages 不安装 Python dependencies,也不修改 uv.lock。使用该 package
前,按 host environment policy 安装 honcho-ai。
Package 可以连接 Honcho Cloud 或 self-hosted Honcho endpoint:
| Setup | 必需配置 |
|---|---|
| Honcho Cloud | HONCHO_API_KEY 或 api_key package option |
| Self-hosted 或 local Honcho | HONCHO_BASE_URL 或 base_url package option |
| Self-hosted with auth | base_url 加 api_key |
当设置了 base_url 但没有设置 api_key 时,package 会向 Honcho SDK 传入
api_key="local"。
安装
先 preview:
uv run demiurge package install memory_honcho --core assistant --preview
使用环境变量安装:
export HONCHO_API_KEY=...
uv run demiurge package install memory_honcho --core assistant
Local 或 self-hosted Honcho service:
export HONCHO_BASE_URL=http://localhost:8000
uv run demiurge package install memory_honcho --core assistant
也可以在安装时传入 options:
uv run demiurge package install memory_honcho \
--core assistant \
--option api_key=... \
--option workspace=demiurge \
--option peer_name=allen \
--option session_strategy=per-directory
Secret options 会在 packages.yaml 中 redacted。
Recall Modes
recall_mode 控制 memory 是自动注入、通过 tools 暴露,还是两者都启用。
| Mode | 行为 |
|---|---|
hybrid | 默认。自动注入 Honcho context,并在 enable_tools=true 时安装 honcho_* tools。 |
context | 自动注入 Honcho context。除非设置 enable_tools=false,tools 仍会安装;如果你想要 context-only 行为,请使用该 option。 |
tools | 不自动注入 Honcho context。enable_tools=true 时安装 tools。 |
安装 tools-only mode:
uv run demiurge package install memory_honcho \
--core assistant \
--option recall_mode=tools
禁用 tool 安装:
uv run demiurge package install memory_honcho \
--core assistant \
--option enable_tools=false
Options
| Option | Default | 说明 |
|---|---|---|
recall_mode | hybrid | hybrid、context 或 tools。 |
enable_tools | true | 为显式调用安装 honcho_* authored tools。 |
api_key | unset | 直接传入 Honcho API key。Fallback 到 HONCHO_API_KEY。 |
base_url | unset | Honcho API base URL。Fallback 到 HONCHO_BASE_URL。用于 self-hosted 或 local Honcho。 |
workspace | demiurge | Honcho workspace id。 |
peer_name | unset | 稳定的 user peer id。未设置时,Demiurge 会从 turn metadata 或 session id 派生。 |
ai_peer | demiurge-assistant | assistant 的 Honcho peer id。 |
session_strategy | per-directory | Demiurge turns 到 Honcho sessions 的映射方式。可选 per-directory、per-repo、per-session、global。 |
context_tokens | 1200 | 解析为目标 context budget。当前格式化仍按 section 组织,尚未执行硬 token truncation。 |
timeout_seconds | 3 | 在 SDK 支持时传给 Honcho SDK。 |
context_cadence | 1 | 接受为 package configuration。当前实现尚未执行 turn-gap throttle。 |
Session Mapping
Package 使用 session_strategy 把每个 turn 映射到 Honcho session:
| Strategy | Honcho session id |
|---|---|
per-directory | 当前 workspace directory basename。 |
per-repo | 当前 workspace directory basename。目前行为等同于 per-directory。 |
per-session | Demiurge session id。 |
global | 已配置的 workspace value。 |