← 返回列表
⚠ 装前注意
为 DeepSeek Harness 提供持久记忆,由 Honcho
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/25 · 已提供中文文档
DeepSeek Harness 的 Honcho 集成
综合分
38
GitHub 分
38
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add plastic-labs/dsh-honcho未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 静态安装检查有提示项,装前建议看一眼 README
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 0 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/26(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@honcho-ai/dsh-honcho(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 06:31:18
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-llm@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-session-query@deepseek-ai/dsh-commands用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-honcho
为 DeepSeek Harness 提供持久记忆,由 Honcho
驱动。
dsh 在会话结束时会忘掉一切。这个插件为它提供不会丢失的记忆:你在做的项目、你习惯怎么工作、你上周做了什么决定以及为什么。它与其他
Honcho 集成读取同一个 ~/.honcho/config.json,所有集成只需在一处配置;把其中两个指向同一个 workspace,它们就共享同一份记忆。
安装
dsh plugin --profile 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 -
"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 | 会话名为 - |
| 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")。
与其他集成共享记忆
每个集成默认使用自己的 Honcho workspace(本插件为 dsh,claude-honcho 为 claude_code),而 workspace 是隔离边界,所以默认情况下它们看不到彼此的记忆。把它们指向同一个 workspace 即可合并:
"hosts": {
"dsh": { "workspace": "shared" },
"claude_code": { "workspace": "shared" }
}
同时请在各集成中保持 peerName 一致,因为 conclusions 是按 peer 存储的。claude-honcho 也计划支持 sessionStrategy: "git-remote" 和
sessionPrefix,这样同时在两边处理的仓库就可以有意地指向同一个会话,而不是碰巧撞在一起。
会话
默认:每个项目目录对应一个长期会话,命名为 -,与 claude-honcho 一致。可以用根层级的 sessions 映射为任意路径固定另一个会话名,覆盖值始终优先。
| sessionStrategy | 会话名 | 说明 |
| ------------------------- | -------------------------- | -------------------------------------------------------------------------------------- |
| per-directory(默认) | - | 重启和切换分支后保持不变 |
| per-repo | - | 在任意子目录中都使用同一份记忆 |
| git-remote | - | 取自 origin URL,因此两台机器上的同一个仓库对应同一个会话。不在仓库中或没有 origin 时回退为 per-directory |
| git-branch | -- | 不在仓库中或处于 detached HEAD 时回退为 per-directory |
| per-session | -chat- | 每次重启都从零开始 |
| global | | 所有内容共用一份记忆 |
per-directory 和 per-repo 按文件夹名命名会话,所以两个不同的项目如果都放在名为 web 的目录中,就会在不同机器间悄悄共用同一份记忆。git-remote 解决了这个问题:它把
origin URL 归一为 host/owner/repo,于是 git@github.com:you/web.git 和 https://github.com/you/web 被视为同一个,而 you/web 与
someone-else/web 则不同。它比较的是配置中写的 URL,所以通过不同 ssh Host 别名克隆的机器(一台用 github.com-work,另一台用 github.com)仍会得到不同的会话。
sessionPrefix 在每个自动生成的会话名前加上一段固定字符串,例如 "vps-" 会得到 vps-you-web,适用于希望从会话名看出它来自哪台机器的情况。它对所有策略都生效。在 sessions
中固定的会话名会原样使用,不会加前缀。
尽量使用范围更大的策略。 Honcho 的建议是不要把会话划分得太细:后台的 Deriver(推导器)需要在单个会话中积累足够的材料,才能进行有效推理。git-branch 会按分支拆分项目的记忆,而 per-session 每次重启都会丢弃记忆。
命令
| 命令 | 作用 |
| ---------------- | ----------------------------------------------------------------------------- |
| /honcho | 状态:peer、workspace、会话、会话策略、待上传条数、上次同步时间、上次获取时间 |
| /honcho config | 最终生效的设置、设置所在的文件,以及被忽略的注入组件 |
| /honcho flush | 立即同步 |
环境要求
- Node ^22.19.0 || >=24.0.0
- 正在运行的 dsh(基于 0.1.2-alpha.3 开发并通过类型检查)
- Honcho API key,或位于 baseUrl 的自托管 Honcho
开发
bun install
bun test
bun run typecheck
bun run build
设计思路以及每个扩展点背后的考量,见 ARCHITECTURE.md(英文)。
致谢
本插件的初始设计受到 @nanpaidashi 的
dsh-honcho-sync(MIT)启发。
~/.honcho/config.json 的配置契约、会话命名规则以及 src/redact.ts 来自同系列的 Honcho 集成:claude-honcho、codex-honcho
等。
DeepSeek Harness 采用 MIT 许可证,正是它的 Cordis
插件模型,让原生集成值得一写,而不必用钩子做桥接。
许可证
MIT