deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
中文(默认) · English
给 DSH 做的通用宿主插件,默认面向本地大模型调参;当前重点覆盖 Qwen3.8-27B 与 Qwen3.8 Flash 等本地 27B/轻量模型,也兼容 API 模型。 插件不做模型权重修改,只做每次使用持续自进化的宿主侧记忆层,以 DSH 宿主插件形式实现。 每次使用:模型先"反问式"自检(counter-reason)自己的答案;可信教训被保存并在下次注入; 便宜方法没解决时,深度批评轮自动升级。通用模式:无需针对特定任务的评分器。
仓库地址:https://github.com/pk14742952-AD/dsh-host-rsi
插件简介:这是一个给 DSH 用的通用记忆 / 自进化插件。它在后台采集每次使用的 成功、失败、用户纠正与长期偏好,把高价值经验沉淀为可信教训,并在下次遇到相似任务时自动注入。 更新日志见 CHANGELOG.md。
想理解技术原理、或在自己环境复刻? 读 PRINCIPLES.md (专用文档:信号阶梯 / 反思循环 / 触发与效率 / 索引机制 / 与 AREX-2 的对应 / 复刻清单,逐点标注源码行号)。
本项目的核心原理源自并致敬以下公开研究成果:
GUI 说明:本项目此前缺少 GUI,本次补齐。仪表板「设置页里点一下即开网页」的显示方式参考了 DSH 插件
billion-context(MIT)——仅参考其展示思路,代码为独立重写,并非复制其代码(详见 client.js 与 lib/dashboard.js)。
DSH 重启后:「设置」→「插件」→ 「DSH HOST RSI记忆」 →「打开仪表板」,即可在浏览器查看插件运行状态(启用中/降级、可信/隔离/轨迹、最近记录)。页面每 3 秒轮询 status.json,并显示触发诊断:已处理事件、注入、捕获、失败信号、最近触发事件与原因。
也可在本机直接跑独立 demo(不依赖 DSH):
node demo-serve.mjs # 本机回环 + 示例记录(默认端口 8788)
RSI_DEMO_PORT=9000 node demo-serve.mjs
pre-step / turn-end / message 的多个常见事件名(agent/pre-step、message、chat/message 等),谁存在就用谁,并用事件对象/内容去重,避免一轮触发两次。rsi_events 查看触发诊断;rsi_demo_capture 可写一条示例教训,用于快速验证仪表板/设置页。user-instruction 可信教训;普通一次性任务请求不会写入记忆。hasDuplicate 门槛拦截;不同项目出现相似指令不会被误合并。addLesson/addTrajectory 立即写内存、批量后台落盘
(flushMs 防抖);目录不可写时降级为纯内存(store.disabled),插件不崩、照常工作。index.json+termindex.json 仅在打开时读一次,之后全内存;写入合并批处理;
防抖计时器 unref,不占用事件循环 / 不拖住进程退出。node --test);宿主侧每个 DSH 调用都带 ?. 防御 +
try/catch,形状错了就空操作,绝不向宿主抛错。任务 + 答案
├─ L1 有可验证检查?(代码测试 / 数学== / SQL 匹配 / schema 合法)
│ → 跑它。L1 失败 = 高价值纠正型教训。(决定性 → 停)
└─ 无 L1 → 内联自反问:模型输出
[VERIFY: CONFIRMED|REFUTED|UNCERTAIN; conf=..; lesson=..; fix=..; reason=..]
├─ CONFIRMED 且 conf≥thr → 可信 L2,结束(不开批评)
├─ REFUTED → 自动批评轮(重推 fix)→ 纠正型教训
├─ UNCERTAIN / 无标签 / 低 conf → 自动批评轮
└─ 用户 rsi_verify 强制 → 自动批评轮
批评后仍不确定 → 进隔离区(被更强信号证实后才注入)
自动但高效: 每条重路径都有门控。无相关时全空操作;只在带结果信号的轮次(出错 / 跑工具 / 产出物 / 决策 / 自选标签)捕获;便宜方法失败才开批评;每会话预算封顶成本。
dsh-host-rsi/ # 插件包(代码)
index.js # DSH 宿主入口:apply() + rsi_status 工具 + __RSI__ 注入 + /rsi/* 路由
client.js # 浏览器客户端:DSH 设置页「DSH HOST RSI记忆」标签(展示方式参考 billion-context,代码独立重写)
demo-serve.mjs # 本机独立 demo(不依赖 DSH,loopback + 示例记录)
cordis.patch.yml # DSH 宿主 bundle 补丁(插入 dsh-host-rsi)
config.default.json # 默认配置
icon.svg # 设置页图标
lib/ # 纯逻辑(可单测,零宿主依赖)
spine.js # 轮生命周期 + 任务变更检测
retrieve.js # 相关度排序 + token 预算
inject.js # 注入文本生成
interrogate.js # 自检指令、[VERIFY] 标签解析、批评 prompt、自一致
signal.js # 信号阶梯判定(L1/L3/REFUTED/CONFIRMED + 权重)
scorers.js # L1 可验证检查(code/math/sql/schema 自动探测)
capture.js # 把一轮编排为"已分类教训 + 轨迹"
policy.js # 触发 + 升级 + 预算门控
store.js # 文件存储 + 倒排索引(内存缓存 + 后台防抖写入 + 优雅降级)
status.js # 快照 + records + formatStatusReport
dashboard.js # dashboardHtml + /rsi/* webserver handler + 本机 dashboard server
locale/ # 设置标签 i18n(zh/en)
test/ # node:test 套件(含 webserver/client 宿主集成测试)
~/.dsh/rsi-memory/ # 数据目录(人可读的权威源;DSH_HOME 环境变量可覆盖)
index.json termindex.json
lessons/<domain>.md # 可信,可人工策展
quarantined/<domain>.md# 未验证,日后转正
trajectories/*.jsonl # 原始轨迹(供日后 LoRA 蒸馏)
git clone https://github.com/pk14742952-AD/dsh-host-rsi
cd dsh-host-rsi
node demo-serve.mjs
然后用浏览器打开控制台输出的回环地址,就能看到仪表板和示例记忆。
宿主专用 bundle。从 GitHub 安装:
dsh plugin --profile web add github:pk14742952-AD/dsh-host-rsi
发布到 npm 后也可以直接安装:
dsh plugin --profile web add dsh-host-rsi
也可以用 DSH 插件管理器对本地目录 dsh-host-rsi/ 执行 plugin_manager install_bundle。
安装完成后重启 DSH 即可生效,没有构建步骤。
插件是 模型无关的宿主侧逻辑,不依赖具体模型参数量,本质上 DSH 能驱动的模型都可以用:
inject.topK / inject.tokenBudget / capture.maxPerSession。inject.topK / inject.tokenBudget 获得更完整的记忆复用。如果你的模型参数量或上下文差异较大,只需要调整 config.default.json 里的注入预算,不需要改插件代码。
index.js 里 ctx 事件载荷形状是"文档名 + 防御假设"(agent/pre-step、turn/end、agent.followup)。
首启用 cordis_inspect_query(Event/Service)确认:
turn/end 事件暴露胶水所需的 任务 + 助手文本 + 工具结果;agent.followup / agent.inject 是否存在(不存在则这些路径安全空操作)。然后运行:
cd E:\DSH\dsh-host-rsi
node --test # 纯逻辑 + 数据层套件(自动发现 test/*.test.js)
config)见 config.default.json:
enabled(总开关,false=完全空操作)、dir(数据目录)、flushMs(后台写入防抖 ms);inject.{topK,tokenBudget,candCap,enabled,includeQuarantined,oncePerTask,maxInjectsPerTask,reinjectOn,compactTopK,compactTokenBudget};capture.{enabled,maxPerSession,minChars,dedupeThreshold,captureUserCorrections,captureUserInstructions};escalate.{enabled,maxCriticsPerSession,selfConsistency,threshold};embeddings(预留,默认 null;规模大了可换成嵌入近邻)。默认值对本地模型偏保守。
dsh-host-rsi)采用 MIT 协议,见 LICENSE。@deepseek-ai,MIT,Copyright 2026 DeepSeek):本项目是 DSH 的宿主插件,不修改、不分发 DSH 源码,仅通过 DSH 的宿主 API(ctx.on / ctx.inject / webServer.register / 页面注入)与其协作。MIT 为宽松许可、支持第三方插件与其共存并独立发布;本项目未复制 DSH 代码,故无随附 DSH 版权声明的强制义务(此处主动注明,以示合规)。结论:原项目 DSH 采用 MIT 宽松协议、支持第三方插件,故本项目可合规发布;本项目同为 MIT,并显式致谢 DSH 与 billion-context。
trajectories/ + trusted 教训是干净的训练集。周期性导出后在 Qwen3.8-27B 上做小 LoRA 蒸馏
(loss 只落在"前进型决策"上),把元技能烤进权重——这是运行时记忆环路的批量、安全补充。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。