DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dafiyu-fold

d

dafiyu-fold

Manifest valid

Archive the original context before DSH compaction replaces it with a summary. Wraps the official summarize() without touching the engine.

hasBundlePatch

dafiyu-fold

v1.0.0 | MIT

折之前,把要被折掉的原文存一份。

DSH 的官方上下文压缩(compaction)把一大段历史压成摘要时,只留摘要,原文就没了。 被折掉的那些话——你说的、它说的、当时为什么那么想——说得再准也找不回来。

这个插件不替换官方引擎、不改它的提示词、不动任何阈值。 它只做一件事:在官方动手之前,把这一段原文整段抄到磁盘。


它做什么

每一轮折叠发生前,你会得到一份 Markdown:

~/.dsh/fold-archive/折叠-插件-2026-10-18T06-19-18.md

里面是按角色分好的一条条消息,原样保留。摘要照旧由官方生成,你照旧在会话里看到摘要——只是这一次,原文也在。

它不做什么

  • 不替换官方压缩引擎(是包一层,不是换掉)
  • 不改提示词、阈值、保留量
  • 不联网、不上传、不发任何东西出去
  • 不动会话文件本身(折叠仍然由官方完成,它只是在旁边抄一份)

安装

一键从 GitHub 装(DSH 0.2.0 实测可用,8 秒装完 v1.0.0):

dsh plugin --profile desktop add github:cazhaniyyah603-ui/dafiyu-fold

装完还要做两件事,缺一样它都不会干活:

  1. 把 dafiyu-fold 加进 profile 的 package.json → dsh.profile.bundles 数组;
  2. 在 cordis.patch.yml 里把 - id: dafiyu-fold 那一行写进 compaction 分组内(见下一节,这条最容易错)。

也可以手动装:把仓库目录放进插件目录,然后在 profile 的 package.json 的 dependencies 里写 "dafiyu-fold": "link:/绝对路径/到/dafiyu-fold"。

⚠️ 关键一步:必须放进 compaction 分组

这是唯一容易配错的地方,也是这个插件最值得说的一条经验。

DSH 把一个折叠服务关在 isolate 分组 里:

- id: compaction
  name: cordis:group
  group: true
  isolate:
    compaction: true      # ← 服务只在这间屋子里对外开放
    toolResultPruner: true
  config:
    - id: compaction-basic
      name: '@deepseek-ai/dsh-compaction-basic'
      config:
        thresholdRatio: 0.22
        retainTokens: 40000

isolate 的语义是:这个服务只对同一个分组里的插件可见。

所以插件那一行必须写成 compaction-basic 的兄弟:

  config:
    - id: compaction-basic
      name: '@deepseek-ai/dsh-compaction-basic'
      config:
        thresholdRatio: 0.22
        retainTokens: 40000
    - id: dafiyu-fold        # ← 放在这里
      name: dafiyu-fold

写在 profile 最外层是不行的——inject(['compaction']) 会永远等不到,apply 里也读不到 ctx.compaction(会报 cannot get property "compaction" without inject)。

验证它真的在跑

看日志:

tail -f ~/.dsh/dafiyu-fold.log

正常应该是这样:

[...] apply 进来了 ✓
[...] inject('compaction') 的回调进来了 ✓
[...] inject 回调:包好了 ✓ 以后每次折叠都会先把原文落盘

看到最后一行,就说明成了。之后每次折叠都会多一个 折叠-插件-*.md。

配置

环境变量默认值作用
DAFIYU_FOLD_DIR~/.dsh/fold-archive原文存哪儿
DAFIYU_FOLD_LOG~/.dsh/dafiyu-fold.log日志写哪儿

它是怎么包的

ctx.inject(['compaction'], child => {
  const proto = Object.getPrototypeOf(child.compaction);
  const original = proto.summarize;
  proto.summarize = async (input, agent, signal) => {
    存档(input);
    return original.call(this, input, agent, signal);
  };
});

拿到活着的那台引擎,只覆盖 summarize() 这一个方法。官方引擎的其余部分一动不动。

已知限制

  • 这是对内部接口的包裹(summarize 是官方引擎的子类钩子),DSH 大版本升级时可能失效。失效的表现是日志里出现 没有 summarize ✗,删掉插件那一行即可,不会影响启动。
  • 只留这一次调用收到的输入。如果官方引擎在一次折叠里分多轮调用,会得到多份文件——这正是想要的行为。
  • 存档目录会一直变大。介意的话自己定期清理,插件不做自动删除(不替人删东西)。

更新记录

v1.0.0 — 2026-10-18

  • 第一版。折之前把原文整段落盘,摘要照旧走官方。
  • 只包 summarize(),不改引擎其余部分。
  • 默认目录 ~/.dsh/fold-archive/,可用 DAFIYU_FOLD_DIR / DAFIYU_FOLD_LOG 覆盖。
  • 已知的配置坑(isolate 分组)已写进 README 上面那节。
  • 发布前验过:五份文件无 BOM;用假引擎真调过一次 summarize,原文确实落盘、返回值原样透传。

License

MIT

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 164/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 9.2k

↓ 6.2k/wk

MIT

TypeScript

Oct 19, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 7.5k

↓ 163.6k/wk

MIT

TypeScript

Oct 19, 2026

dsh plugin --profile web add dshmarket

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.3k

MIT

Python

Oct 19, 2026

Index only — not installable

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 5.8k

NOASSERTION

Python

Oct 20, 2026

dsh plugin --profile web add treg-dsh