@honcho-ai/dsh-honcho

memorytested: passnpmMIT

Honcho memory plugin by Plastic Labs: injects the user profile, session summary and relevant conclusions at session start, uploads each turn to Honcho in the background with secrets redacted, and adds honcho_search / honcho_chat / honcho_remember tools plus a /honcho status command; configured throu

下载量 / Downloads
4,974
依赖体积 / node_modules
3.93 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add @honcho-ai/dsh-honcho

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-honcho

[English](README.md) | 中文 | [Русский](README.ru.md)

为 DeepSeek Harness 提供持久记忆,由 Honcho

驱动。

dsh 在会话结束时会忘掉一切。这个插件为它提供不会丢失的记忆:你在做的项目、你习惯怎么工作、你上周做了什么决定以及为什么。它与其他

Honcho 集成读取同一个 ~/.honcho/config.json,所有集成只需在一处配置;把其中两个指向同一个 workspace,它们就共享同一份记忆。

安装

dsh plugin --profile <name> add @honcho-ai/dsh-honcho

然后在 ~/.honcho/config.json 中填入你的 API key 和名字:

{
  "peerName": "your-name",
  "auth": { "apiKey": "${HONCHO_API_KEY}" },
  "hosts": {
    "dsh": { "workspace": "dsh" }
  }
}

在 app.honcho.dev 获取 key。只设置环境变量 HONCHO_API_KEY 也能直接使用,只有需要修改默认值时才用到配置文件。

功能

会话开始时注入 Honcho 已知的内容:你的 peer card(关于你的要点卡片)、本项目会话到目前为止的摘要,以及 Honcho 已得出的、与你刚才提问相关的

conclusions(结论)。只需一次 API 调用,按字符预算裁剪,并在你工作时持续刷新。

记录每一轮对话。 用户和助手的消息在后台发送给 Honcho,经过防抖,并在每轮结束时、上下文压缩(compaction)前以及退出时写入。发送前会先对密钥等敏感信息脱敏。

为模型提供三个工具:

工具 · 用途

honcho_search · 查找信息。同时搜索原始消息和推导出的 conclusions。

honcho_chat · 提出需要判断的问题。基于 Honcho 已知的全部内容推理作答。速度较慢。

honcho_remember · 保存长期有效的事实、偏好或决定。

/honcho 显示状态,并附上该会话在 Honcho 控制台中的链接,详见下文「命令」。

配置

所有行为配置都位于 ~/.honcho/config.json 的 hosts.dsh 下,与 claude-honcho、codex-honcho 及其他集成读取的是同一个文件。根层级存放身份与连接信息,host 块存放行为配置。

该文件按严格 JSON 解析:下方示例中的注释和末尾逗号仅作说明。如果保留它们,整个文件会被跳过且不会有任何提示,所有设置都会回退到默认值。

{
  "peerName": "your-name",
  "workspace": "honcho",
  "baseUrl": "https://api.honcho.dev", // bare host or …/v3 both fine
  "timeoutMs": 30000,
  "auth": { "apiKey": "${HONCHO_API_KEY}" },
  "enabled": true, // global kill switch
  // sessions may also sit here as a fallback; the host block wins

  "hosts": {
    "dsh": {
      "workspace": "dsh",
      "aiPeer": "dsh", // defaults to the host name
      "observationMode": "unified", // unified | directional
      "sessionStrategy": "per-directory", // see Sessions below
      "sessionPeerPrefix": true, // session names are <peer>-<dir>
      "sessionPrefix": "", // literal prefix on every generated name, e.g. "vps-"
      "sessions": { "/path/to/repo": "pinned-session-name" }, // pin a session
      "injection": {
        "sessionStart": ["directives", "summary", "peerCard"], // + representation
        "perTurn": ["userContext", "dialectic"], // userContext = representation + card
        "tools": true,
        "searchTopK": 10,
        "searchMaxDistance": 0.6,
        "maxConclusions": 15, // how many conclusions Honcho RETURNS
        "maxRenderedConclusions": 4, // how many survive filtering into the prompt
        "contextTokens": 1500,
        "cadence": { "dialectic": 5, "ttlSeconds": 300 },
        "dialectic": {
          "reasoning": "low", // minimal | low | medium | high | max
          "maxChars": 600,
        },
      },
      "capture": {
        "saveMessages": true,
        "saveToolUse": false, // one-line summaries of tool activity
        "writeFrequency": "async", // async | sync
        "noisePatterns": [], // additive to the built-in secret patterns
      },
      "messageUpload": {
        "maxUserTokens": 6000,
        "maxAssistantTokens": 6000,
      },
    },
  },
}

示例中的英文注释含义:

配置项 · 注释说明

baseUrl · 只写主机名或带 …/v3 均可

enabled · 全局总开关

(根层级注释) · sessions 也可放在根层级作为兜底;与 host 块冲突时以 host 块为准

aiPeer · 默认等于 host 名

observationMode · 可选 unified 或 directional

sessionStrategy · 见下文「会话」

sessionPeerPrefix · 会话名为 <peer>-<dir>

sessionPrefix · 加在每个自动生成的会话名前的固定前缀,例如 "vps-"

sessions · 为指定路径固定会话名

sessionStart · 还可加入 representation

perTurn · userContext = representation + peer card

maxConclusions · Honcho 返回多少条 conclusions

maxRenderedConclusions · 经过筛选后最终写入提示词的条数

reasoning · 可选 minimal、low、medium、high、max

saveToolUse · 为工具调用记录一行摘要

writeFrequency · 可选 async 或 sync

noisePatterns · 在内置密钥过滤规则之外追加的规则

注入组件

两组选项的区别在于刷新节奏,而不在于能携带什么内容。

injection.sessionStart 在会话打开时注入一次:directives(如何使用记忆的指引)、summary、peerCard、representation。

injection.perTurn 在你工作时持续刷新:

  • userContext:一份针对当前提示词的最新 peer 上下文,包含 representation(表征)+ peer card。它以你当前的消息作为检索词,因此召回的是语义上相关的内容,而不只是最近的内容。它是一个组合包,无论

sessionStart 中写了什么,都会同时提供两者。如果只想要其中之一,就在 sessionStart 中写上它,并设置 perTurn: [],代价是失去每轮刷新。

  • dialectic(推理问答):由 Honcho 推理得出的一段关于你的回答,每隔 cadence.dialectic 轮运行一次,并由 injection.dialectic

控制其形式。第一轮之后不会等待它返回,迟到的结果会在下一轮送达。

canonical schema(标准配置规范)中列出、但本插件未实现的组件(briefing、assistantContext、sessionContext)会在启动时报告,而不是被静默丢弃。本插件不处理的配置键(showContents、statusline、globalOverride、细粒度的

observation、multiUser)以及早期版本之后改过名的键也同样会报告。这里没有任何配置会被接受后又悄悄忽略。

插件自身的 cordis.yml 配置只包含底层参数:configPath、apiKeyRef、host、enabled。设置 host

可以在同一套安装上运行一个凭据隔离的 profile(如 "dsh_work")。

与其他集成共享记忆

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::4,最后更新 2026-10-27

Links

GitHub · Homepage · npm

Same category