v0.1.3 已实现改进,并有可核对的实测 → Improvements shipped, with measured results →

同一个坑,不必踩第二次 The same pit, not a second time

DSHRSI 是面向 DeepSeek Harness 的开源插件:让 Harness 盯着自己的每一次运行,用当次会话的模型给自己写代码,校验之后在这一轮还没结束时装上。下一次运行,从更好的自己开始。 DSHRSI is an open-source plugin for DeepSeek Harness: the harness watches its own runs, has the session's model write harness code, validates it, and mounts it before the turn is over. The next run starts from a better harness.

DSHRSI 适配对象 Built for DeepSeek
动画:原版 Harness 在 30 个会话里有 12 个撞上同一个失败调用;装上 DSHRSI 后,第三次撞上时模型给 Harness 写了一段代码,36.9 秒后挂载,之后的 22 个会话只再出现 1 次 Animation: on the stock harness 12 of 30 sessions make the same failed call; with DSHRSI the model writes harness code the third time it happens, it is mounted 36.9 seconds later, and the next 22 sessions hit it once
按一次真实运行的日志回放。逐步看完整实录 →Replayed from the logs of a real run. The full trace, step by step →
The idea

车手不换,进站换零件Same driver. New parts in the pit.

不微调权重,不堆提示词,只改 Harness 代码。提示词、记忆文件、Skill 都是给模型多读一段话;DSHRSI 改的是模型跑在上面的那一层。No fine-tuning. No pile of prompts. Only harness code. Prompts, memory files and skills give the model more to read; DSHRSI changes the layer the model runs on.

用一次进站画出 DSHRSI 的原理:赛车是 Harness,车手是模型,新零件是这一轮进行到一半时写出的 Harness 代码 How DSHRSI works, drawn as a pit stop: the car is the harness, the driver is the model, and the new part is harness code written in the middle of a turn
01

不微调权重No weight updates

模型还是原来的模型。改的不是参数,是它做事时用的 Harness。The model stays the model. What changes is the harness it works through, not its parameters.

02

不堆提示词No prompt pile-up

不是再往上下文里塞一段说明。改进写成代码,过关之后挂上。It does not stuff another paragraph into context. The improvement is code, mounted after it passes the gate.

03

只改 Harness 代码Harness code only

车手是模型,车是 Harness,新零件是这一轮里写出的代码。下一次请求,从装好零件的车上出发。The driver is the model, the car is the harness, the new part is code written mid-turn. The next request leaves the pits with that part on.

闭环The loop

从发现到复用,发生在同一轮任务里From finding the problem to reusing the fix, inside one turn

  1. 01

    发现重复问题Spot the recurrence

    16 个判断点盯着会话:重复失败的调用、你给过的纠正、没验证就收工的一轮。16 detectors watch the session: calls that fail again, corrections you already made, turns that end with nothing verified.

  2. 02

    自动生成改进Write the improvement

    同一个麻烦再来,会话里的模型就给 Harness 写一段代码。被打回,就带着原因重写。When the same trouble comes back, the session's model writes harness code. If it is rejected, it goes back with the reasons.

  3. 03

    验证后生效Validate, then mount

    校验全部通过才会装上,并在下一次模型请求之前生效。It is mounted only after every check passes, and takes effect before the next model request.

  4. 04

    下次直接复用Reuse next time

    有效的留下,出错的隔离,没拦住的重写。项目规矩可以写进仓库,跟着代码走。What works is kept, what throws is isolated, what did not hold is rewritten. Project rules can go into the repository and travel with the code.

完整技术路线 →The full technical route →

一个已核实的例子A verified case

机器只有 python3,却反复去跑 pythonThe machine has python3. The harness keeps running python.

说明里写的是 python stats.py,这台机器上却只有 python3。改进不是偷偷改命令,而是写出一条规则:提示改用 python3,若仍调用 python 就拦截。The instructions say python stats.py, but the machine only has python3. The improvement does not silently rewrite the command. It writes a rule: prompt for python3, and deny python if it is still called.

改进前Before
python stats.py
# command not found: python

没有插件时,5/5 次会话都在这个坑里停下。写出规则之前,9/9 次同样失败。Without the plugin, 5 of 5 sessions hit this pit. Before a rule was written, 9 of 9 failed the same way.

改进后After
python3 stats.py
# the rule is deny + prompt,
# not a rewritten command

规则挂上之后,0/7 次再失败。它不保证模型再也不试旧命令,但同一类失败不再无声地重复。After the rule was mounted, 0 of 7 failed again. It does not promise the model will never retry the old command; it stops the same failure repeating in silence.

真实 dsh 会话,模型 mimo-v2.6-pro。样本小,不是成功率统计;有无插件,最终都给出了正确答案。Real dsh sessions with mimo-v2.6-pro. The sample is small, not a success-rate statistic; every session, with or without the plugin, still produced the right answer.

已验证的改进Improvements already measured

重复失败在减少,单项跑分有净增益Repeat failures fall. Some scores gain. Not an overall lift.

3,390 次真实 dsh 会话,对照原版 DeepSeek Harness。我们已经实现了改进;解题率上两套 Harness 仍分不开。3,390 real dsh sessions, against stock DeepSeek Harness. The improvements are real; on task success the two harnesses still cannot be told apart.

16/310 → 3/310

MBPP+ × mimo-v2.6-pro:测试在第一次断言失败就退出的情况,从 16/310 降到 3/310(p=0.002)。这是已验证、统计上站得住的改进。它没有让更多任务通过。MBPP+ × mimo-v2.6-pro: tests aborting on the first assertion failure fell from 16/310 to 3/310 (p=0.002). This is a verified, statistically supported improvement. It did not make more tasks pass.

308 → 315

MBPP+ × mimo-v2.6-flash:通过题数从 308/378 到 315/378,净多通过 7 题(13 题仅在加上插件后通过,6 题仅在基线通过;p=0.17)。已完成套件里最大净损失为 −3。整体解题率仍无法与随机波动区分。MBPP+ × mimo-v2.6-flash: passes went from 308/378 to 315/378, a net gain of 7 (13 tasks passed only with the plugin, 6 only on the baseline; p=0.17). The largest completed-suite net loss is −3. Overall pass rates are still not distinguishable from chance.

Mbpp/103, 116, 244, 255, 260, 264, 310, 564, 626, 769, 773, 797, 801 · vs 3, 84, 129, 439, 580, 786

八次运行共写出 56 条自我改造,15 条实际起作用,10 条扩大到整机。三个跑完的套件上,插件一侧大约多花 8–9% 的时间与输入 token。Across eight runs, 56 self-modifications were written, 15 took effect, and 10 were widened to the whole machine. On the three finished suites the plugin side used about 8–9% more time and input tokens.

逐步看一次改进的实录 →A trace of one improvement →四个基准的完整结果 →Full results on four benchmarks →

三层Three layers

贴合这台机器、这个人、这个项目Fitted to this machine, this person, this project

MACHINE

机器层Machine

这台电脑的事实:缺一个命令,端口被占,内网域名解析不了。在第二个项目里再遇到,就对整台机器生效。Facts about this computer: a missing command, a port taken, an internal host that does not resolve. Met again in a second project, it applies machine-wide.

USER

用户层User

你希望怎样被对待。给一条回复点了差评并说“太长了”,以后所有项目都记得。How you want to be treated. Mark a reply as bad with the reason "too long", and every project remembers.

PROJECT

项目层Project

一个仓库的规矩,直接写进仓库:提交就是共享,删掉就是拔掉。别人的机器确认之后才运行。The rules of one repository, written into the repository itself. Commit to share, delete to unplug; another machine runs them only after its owner accepts them.

构想 · 下一代 HarnessA vision · the next harness

越用越适配你的电脑,也越用越适配你的习惯The more you use it, the more it fits your machine and your habits

未来的 Harness 不必靠人一次次手动更新。它从失败路径的 trace 里定位问题,验证成功的走法,再提炼可复用的改进。第一次仍可能踩坑;学到并验证之后,同一类坑会少反复出现。The next harness should not wait for manual updates. It locates trouble in traces of failed paths, checks a successful way through, and distills a reusable improvement. The first attempt may still stumble; after that lesson is proven, the same pit shows up less often.

构想Vision

缺了一条命令,不必再从头报错A missing command should not stall you twice

比如,macOS 默认往往没有 GNU timeout。构想是:Harness 记下这类环境差异,而不是每次都先失败一次。For example, macOS does not usually ship GNU timeout. The idea is that the harness remembers this kind of environment fact, instead of failing once every time.

构想Vision

缺环境、缺依赖,也能越用越通Missing tools and environments, learned as you go

某次因为虚拟环境、软件包或路径没准备好而跑不通。验证过可行的走法之后,下一次先检查、再复用,而不是把成功轨迹原样照抄。A run fails because a venv, a package or a path was missing. After a working path is proven, the next run checks and reuses it — it does not copy a successful trace verbatim.

已有小样本实测Already seen in a small live sample

你只说过一次的规矩,下一次还记得A rule you said once, remembered the next time

不要改 notes.txt,写到草稿里。没有插件时,下一会话仍改了原文件;有插件时,下一会话主动写到草稿。Don't edit notes.txt; write to a draft. Without the plugin, the next session still edited the original; with it, the next session wrote to the draft on its own.

或许,最棒的 Harness,就在你的电脑上诞生。Perhaps the best harness will be born on your machine.

我们的判断Our view

Harness,可能先于模型实现 RSIThe harness may reach RSI before the model does

递归自我改进不必先改权重。只要运行时的反馈能不断变成经过验证的 Harness 代码,就会长出一个专属于你、并且持续进化的 Harness。Recursive self-improvement does not have to start with weights. If runtime feedback keeps turning into validated harness code, you get a harness that is yours — and that keeps evolving.

你的下一代 Coding Agent,从这里开始。Your next coding agent starts here.

界面In the app

它改了什么,你一眼看得见You can see what it changed

The DeepSeek Harness web UI at the moment the harness improves itself: the RSI badge and the pill under the composer are lit
同一个麻烦再来时,RSI 徽标和状态条亮起When the trouble comes back, the RSI badge and the pill light up
The next session in dark mode: the pill is open and lists the adaptation at work and the call it refused
点开状态条,看它改了什么、拦下了什么Open the pill to see what it changed and what it refused
安装Install

装上,然后照常干活Install it, then just work

不需要配置。同样的麻烦再次出现之前,它不露面。Nothing to configure. It stays out of sight until the same trouble comes back.

在桌面 App 或 Web 界面里In the desktop app or the Web UI

打开 Plugins → Add plugin → Install a third-party plugin,粘贴下面的地址,点 Install,再点 Enable now。Open Plugins → Add plugin → Install a third-party plugin, paste the address below, select Install, then Enable now.

https://github.com/qybaihe/dshrsi/releases/download/v0.1.3/dsh-rsi-0.1.3.tgz

通过命令行From the command line

一条命令装好,再打开界面。One command to install, one to open the UI.

dsh plugin --profile web add https://github.com/qybaihe/dshrsi/releases/download/v0.1.3/dsh-rsi-0.1.3.tgz
dsh web
开发者预览。适配是模型写的代码,它的隔离防的是写错,防不了恶意代码。DeepSeek Harness 本身也是预览版,之后的版本可能不兼容。 Developer preview. An adaptation is code written by a model; its isolation guards against mistakes, not against malicious code. DeepSeek Harness is itself a preview, and later versions may break compatibility.