dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
这份框架永远同时是"未完成"和"完成":能跑的现在算完成,够不着的上限算未完成。
上限我们做不到,所以才开源——你来验、来推翻,把它的边界往外推一点。
它是一份封存格式 + 一把尺子。 核心只有一句:写下判断时,必须写清「什么情况下它是错的」。没写,就不算数。
格式.md 是纯 markdown——笔记本、Obsidian、Word,照抄就能用。check_seal.py,有 Python 就能跑。AI 是基于上文存在的 —— 但她每次不可能完全读完上文。
上下文有限。不管记忆做得多细,AI 读到的永远是被压过的那部分:摘要、结论、上一次的判断。它不是「读完了全部再回答」,是「读了别人留给它的结论再回答」。
结论一旦被当成事实沿用,AI 就不像人了。
人也不读完自己的全部记忆。人也是拿当下语境重新得出判断 —— 她的判断永远是「进行时」:随时可以推翻。
这就是这套格式唯一在做的事:把 AI 读上文得到的结论,写成一条可被推翻的进行时。
下次读到时,它不是「已知事实」,是「一个待验的假设」—— 第③栏写着怎么推翻它,第④栏写着上次推翻改了什么。
所以它不提高 AI 的记忆量。它让 AI 记忆里的每一个结论,都保持可被推翻的状态。
这就是「像人的地方」的归纳:不是像人一样会忘,是像人一样,判断永远可改。
两个生态位,不是所有人:
你是谁 · 为什么需要它 极限模式的正常用户 · 把 AI 当长期助手深度用,记忆里塞满判断。一旦某个结论过期而你忘了改,它会被一直沿用——而且没人知道它过期了 有艺术鉴赏需求的用户 · 看画、看片、看图,「这好在哪里」本身就是判断。审美判断最容易被写成一句结论,也最需要可推翻
其他人不用。 没有 live 冲突的人、只把 AI 当日用工具的普通用户、团队流程里图省事的人 —— 这套格式对他们只是负担。它不劝人用。
独立研究的产物。 五栏、推翻条件、变更史,都不是从哪个现成插件抄的,是从下面这几条地上长出来的:
撞名说明:发布时发现 GitHub 上已有两个叫 dsh-retro 的仓库(tangzheng202202/dsh-retro、uckkk/dsh-retro),方向不同、各自独立。那是撞名,不是抄,也不是被抄。 本包更名为 dsh-retcon(retcon = retroactive continuity,追溯性连续性)——词是旧的,这套实现是新的。
L0 格式 + 尺子 格式.md + 读取/标准.md + scripts/check_seal.py
纯 markdown,跟宿主无关 —— 你不用装任何东西
L1 宿主的手 index.js(DSH 插件)—— 替你记住格式、执行检查
L2 机器 变更史 / 回访 / 度量 —— 让框架自己跑起来,不靠人的记性现在 L0 独立了,L1 是插件,L2 里变更史做了、度量还没做。
只想拿 L0、不想装任何东西 → retcon-form(格式包:格式 + 给任何 AI 的提示词 + 检查器,跟 DSH 无关)。
本仓库(dsh-retcon)是插件版,等于 L0 + 一个自动执行格式的手。为什么先说 L0:这套东西最值钱的部分(判据、格式、样例、检查器)全在 L0,而 L0 谁都能拿走,不依赖 DSH 活一天。插件只是让「记得住格式」这件事不必靠人。
1. 找到 DSH 的插件目录。
别猜。问你的 AI 一句:「你的插件目录在哪?」 —— 它就跑在 DSH 里,它知道。
拿到路径后,把包放进去,目录名叫 dsh-retcon/:
<那个目录>/dsh-retcon/
├── index.js
├── cordis.patch.yml ← 不用改,拷进去就行
└── package.json不装插件也能用:格式.md+scripts/check_seal.py是独立的,拷到任何地方都行。
⚠ 目录不存在就自己建(plugins/ 就是个普通文件夹)。⚠ 如果你是第一次装,别去找"现有的插件"(没有)—— 问 AI,或者看 DSH 启动时的工作目录下的 `plugins/`。
2. 重启 DSH。
3. 验收:问 AI「有没有 seal_write 这个工具」,或者直接让它调一次。
⇒ 没出现 = 目录放错了。 回第 1 步换候选(三个候选在文末「八、装」)。
如果你没装 DSH,用 `格式.md` + `check_seal.py` 照样能跑通整套流程——插件只是替你记住了格式,不是替你做了判断。
详细说明见文末「八、装」。
这个包给了四样东西。它们可以分开用,也可以一个都不用。
你想要 · 拿哪个 · 需要 想让它拦你一下 · 装插件(见第八节) · 有 DSH 不想装任何东西,照格式手写 · 格式.md · 一支笔 只要一把尺子 · 读取/标准.md + scripts/check_seal.py · Python 想写出你自己的判据 · 读取/填空.md · 一支笔 先看真事长什么样 · 读取/样例一.md、读取/样例二_一次真实的批评.md、读取/样例三_一条判断塌了.md · 眼睛
⇒ 没有人该被劝着用这个。四个可以一起用,也可以一个都不用。
⇒ 不要因为「作者说好」才用。你自己的事,你自己挑。
先把话说清楚,因为它跟市面上所有「记忆插件」反着来:
它们在比 · 这个在比 记得多全、多准 · 记得有没有被推翻的可能 检索多快 · 每条能不能回到当时的原片 上下文塞得多满 · 塞不进去的是不是被记下来了
它不提高上限,它提高下限。
它不帮你记得更多。它只挡住一件事:把当时的判断,慢慢洗成“我当时就想对了”。
记忆就是一个 markdown 文件,落在 封存/ 下,文件名带日期:
20261025_标题.md
├── # 标题
├── > 封存时间 / 来源 / 衍生自(可选)
├── ## 一、我的假设(写完不改)
│ ### 那是什么 ← 要以「我猜/我以为」开头
│ ### 凭什么这么假设 ← 指到具体哪句话/哪一帧
│ ### 我可能错在哪 ← 至少两条
│ ### 怎么推翻我 ← 一件能执行的事(必填,空着就拒)
├── ## 二、原片(指针)
├── ## 三、后来 ← 回访时填
└── ## 四、注释 ← 推翻记录 + 那套东西改了哪一条⇒ 格式由 `seal_write` 自动生成,你不用记。 你要填的是内容。
完整示例(一份真封存,它自己只有 4/5 分)见第四节。
你(或者你的 AI)想记一件事。插件只问一句:
「这条,怎么推翻?」
⇒ 一条你怎么都想不到如何推翻的判断,不是判断,是信念。
信念不是不能有。但它不能混在「判断」里过夜。
工具 · 干什么 seal_write · 封存一条判断:假设 / 证据 / 我可能错在哪 / 怎么推翻我(必填) seal_later · 回访:验完了,记「站住了」还是「塌了」,以及为什么 seal_list · 列出还没结案的(「后来」空着的)
另有可选脚本 scripts/cut_ledger.py,管另一半——丢弃:
python scripts/cut_ledger.py cut <路径> --why "为什么觉得它不重要" --pred "切掉后什么该还在"
python scripts/cut_ledger.py list # 没结案的
python scripts/cut_ledger.py back <ID> ok|broke --note "后来怎样了"
python scripts/cut_ledger.py audit丢 ≠ 删。
删是损毁,丢是一次切断实验:切掉 → 预测什么该还在 → 回来记「塌了 / 没事」。
只有前三栏的注释是流水账;补上「后来」,才是实验记录。
插件给的是结构。它给的不是内容。
封存/ 里会长出这种文件:
# 记忆功能那条视频(判断封存)
## 一、我的假设(原文,写完不改)
### 那是什么
这条视频的议题不是「记忆好不好用」,是「记忆该被当成账本还是时间」。
### 凭什么这么假设
1. 2:40 那帧只有两行:时间 ≠ 重要性 / 你难道说忘就忘?
2. 4:25 那帧:B →(?)→ 修改 | 新建,下面一行「反正我现在认为是做不到的啊」
### 我可能错在哪
1. 我把 4:25 的 B 当成「记忆条目」,它也可能是「用户」或「版本 B」
2. 4 个时间点不代表中间是连续的 —— 我可能又在没有刻度的横轴上画曲线
### 怎么推翻我
取全片等间隔 12 帧。若 2:40 与 4:25 之间没有承接,则「一条论证线」塌掉。
## 二、原片(指针)
| 源 | BV11jnm6bENb(7:11) |
| 原片位置 | 封存/原片/20261025_xxx/ |
| 横轴有没有 | ✅ 有时间戳 ⚠ 只有 4 个点,不许画趋势 |
## 三、后来
(空着)这个文件真正有意思的不是第一节,是第三节。 第一节谁都能写。
第三节空着的时候,它只是一个猜想。填了,才是知识。
回访分两种,各管各的:
只写「后来」不写这层区分,回访就会变成一句口号:没人回去,也没人知道犯了错该回来看什么。