Honcho Memory Plugin for Nanobot

1. 一句话定位

Honcho 是 peer-centric 的状态和洞察层:它围绕 workspace、peer、session、message 建模,再由后台 worker 生成 representation、summary 和更高层 insight。

2. 核心心智模型

  • Honcho 不只是 memory search;它把人和 agent 都建模为 peer。
  • session 是多个 peers 的交互空间,message 必须带来源 peer。
  • 写入 message 后,deriver/dreamer 在后台处理,不应由 Adapter 同步调用。
  • 读取时优先用 context、representation、chat 等原生 endpoint。
  • Adapter 应使用 SDK/REST API,不导入 Honcho server 内部模块。

3. 数据模型

Workspace
  |-- Peer: user
  |-- Peer: assistant
  |-- Session
       |-- peers: user, assistant
       |-- messages: peer-labeled turns
  |-- Collections
       |-- Documents / representations / summaries
字段来源用途
workspace_idbenchmark app/run顶层隔离
peer_iduser / assistant参与者身份
session_idNanobot session会话边界
message.peerrole mapping标记消息来源
targetquery config查询哪个 peer 的洞察
tokensprompt budget控制 context 大小

4. 运行时流程

Write path
Nanobot turn
  -> HonchoPlugin maps role to peer
  -> POST session messages
  -> Honcho enqueue background tasks
  -> deriver updates representation/summary/peer card
  -> dreamer may schedule higher-level processing
 
Read path
Nanobot needs context
  -> session.context or peer.context
  -> optional peer.representation
  -> optional peer.chat for natural-language insight
  -> formatted context for Nanobot

5. 原生 API

API参数返回值用途
session.add_messages / messages RESTpeer-labeled messagescreated messages写入交互
session.context / session context RESTsummary, tokens, peer optionscontext object获取会话上下文
peer.search / search RESTquery, scope, filtersmatched messages/docs搜索原始或派生内容
peer.chat / /peers/{id}/chatquery, target, reasoning levelanswer向 Honcho 查询 peer insight
session.representation(peer) / representation RESTpeer/sessionrepresentation doc低延迟人格/偏好上下文

6. 存储后端

  • Honcho server 使用 Postgres;README 要求 Postgres connection URI,并提到 pgvector。
  • config 中有 vector store 配置,支持 pgvector、Turbopuffer、LanceDB 等形态。
  • deriver 是独立后台进程:uv run python -m src.deriver
  • dreamer 由 deriver/queue 体系调度;不是 Nanobot adapter 的同步函数。

7. Nanobot 集成边界

Nanobot 概念Honcho 概念
benchmark app/runworkspace
human personapeer
Nanobot assistantpeer
conversationsession
user/assistant turnpeer-labeled message
prompt memory contextsession context + representation

不能绕过的原生路径:

  • 不直接写 Honcho DB。
  • 不直接 import src.deriversrc.dreamer
  • 不用 raw search 取代 context/representation/chat。
  • 不把 user 和 assistant 合并成一个 peer。

8. 性能保留原则

  • deriver/dreamer 保持后台异步;Adapter 只观察状态或读取已生成结果。
  • 保留 token budget,例如 tokens=10000
  • 对刚写入的数据接受 eventual consistency,必要时显示 pending
  • 保留 peer/session scope,避免 workspace 级全量搜索过宽。
  • 批量写 message 时使用 Honcho API 的 batch 行为,不逐字段手写 DB。

9. 集成风险 + 校验清单

  • 检查 user peer 和 assistant peer 被正确区分。
  • 检查写入后 message 顺序稳定,session 不串。
  • 检查 deriver 运行时 representation/summary 会更新。
  • 检查 deriver 未完成时 Adapter 有 fallback 或 pending 标记。
  • 分别记录 context、search、chat、representation 的 latency 和输出长度。