DeepSeek Harness Hub
← 返回列表

跨 Agent 习惯迁移LaplaceYoung/dsh-of-your-own

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

一条命令并行扫描各 Agent 会话,把偏好原生搬进新环境

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/28 · 已提供中文文档

/fuck — 将你的 Claude Code 和 Codex 使用习惯迁移到 DeepSeek Harness。一条命令,并行扫描,启动时召回。

综合分
28.7
GitHub 分
28.7
用户评分
★ Stars
1
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/LaplaceYoung/dsh-of-your-own.git
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-of-your-own

别的 agent 把你养大的。DSH 只是接过了抚养权。

tests
TypeScript
dsh
license

[!IMPORTANT]
没错,命令就叫 /fuck。

你花了六个月教 Claude Code:回复用中文、别写小作文、用 rg 别用 grep。你把 Codex 调教到不敢乱碰 package-lock.json,还给 pi 写了专属 AGENTS.md。然后你打开 DeepSeek Harness,它像公交站里偶遇的陌生人一样跟你打招呼。

那一刻,你敲下了 /fuck。命令名来自那个瞬间。

问题在哪

每个 agent 都自带失忆。你被迫把同样的偏好、同样的工具习惯、同样的"求你别再写论文了"——一遍一遍教给每一个新 harness,直到永远。你的对话历史是一部没人读的传记。

dsh-of-your-own 会读。 全都读。并行地读。然后把你整个人原生地搬进来。

/fuck
│
├─ 并行扫描 ── ~/.claude/projects/**        (Claude Code 会话)
│              ~/.claude/history.jsonl      (全局 prompt 日志:slash 命令金矿)
│              ~/.codex/sessions/**         (Codex rollout)
│              ~/.pi/agent/sessions/**      (pi 会话)
│              ~/.omp/agent/sessions/**     (omp 会话)
│
├─ 记忆文件 ── ~/.claude/CLAUDE.md          (你亲笔写的规则)
│              ~/.codex/AGENTS.md           (你的 Codex 操作手册)
│              ~/.gemini/GEMINI.md          (Gemini CLI 上下文)
│              ~/.cursor/rules/.mdc        (Cursor 规则,自动剥 frontmatter)
│              ~/.cursor/agents/.md        (Cursor agent markdown)
│
├─ 分析 ───── 工具习惯(大小写合并)· slash 命令 · 工作目录 · 回复语言
│
├─ 综合偏好 ── LLM 生成偏好要点(缺省用确定性模板兜底——不用 API key)
│
└─ 原生迁移
1. 托管块 → ~/.dsh/AGENTS.md   ← DSH 每次会话自动加载。卸载插件后依然记得你。
2. profile.json → ~/.dsh/of-your-own/
3. systemPrompt.section() 注入 ← 本会话立刻生效

迁移是原生的。 你的偏好落进 ~/.dsh/AGENTS.md——DSH workspace-context 开机就加载的用户全局指令文件,和其他指令文件走同一条加载通道。明天卸载这个插件,记忆还在。

太长不看版

| 你想要 | 运行 | 会发生什么 |
| :--- | :--- | :--- |
| 全套 | 安装后在 DSH 会话里敲 /fuck | ~/.dsh/AGENTS.md 托管块 + profile.json + 命令存根 + 提示词注入 |
| 看看学到了啥 | 让 agent 调用 my_profile | 完整的偏好章节,随叫随到 |
| 重新认识我 | my_profile 带 { refresh: true } | 重扫、重建、原地更新托管块——不会重复 |
| 列出迁移的命令 | 让 agent 调用 my_commands | 从其他 harness 挖出来的每一个 slash 习惯 |
| 找没做完的活儿 | /sessions | 所有 harness 会话的编号清单,最新的排前面 |
| 接管一个任务 | /resume 3(或 id、标题片段) | 交接简报注入——当前 agent 接着干那个外来任务 |
| 被审判 | 自动的 | /fuck 之后附赠一份傲娇鉴定报告,点评你的整部 agent 史 |
| 一键失忆 | /forget | 剥掉托管块、删掉档案——干净的退出门,幂等 |

安装

需要 DeepSeek Harness >=0.1.2-alpha.1(包里声明了 dsh.bundle,dsh plugin add 才会把这一层真正编进配置树)。0.1.2-alpha.1 是当前 GitHub tag(dsh-v0.1.2-alpha.1),还没上 npm,请从该检出运行 DSH。

本地检出
git clone https://github.com/LaplaceYoung/dsh-of-your-own.git
cd dsh-of-your-own
pnpm install
pnpm build
dsh plugin --profile web add "$(pwd)"

或者直接从 GitHub 装(pnpm ≥10 必须放行 prepare/build 脚本)
dsh plugin --profile web add github:LaplaceYoung/dsh-of-your-own

如果 git 安装被拒绝,把 pnpm 打印的包名写进该 profile 的 pnpm-workspace.yaml:

allowBuilds:
'@dsh-external/dsh-of-your-own': true

再跑一遍 add。然后确认层已经在组合树里:

dsh --profile web --dump-config   # 找 "# == @dsh-external/dsh-of-your-own"

用 profile 自己的 cordis.patch.yml 覆盖旋钮(后层整行替换,想保留的 key 都得重写):

- id: dsh-of-your-own
name: '@dsh-external/dsh-of-your-own'
config:
provider: deepseek-official   # LLM 偏好综合(可选——缺省走确定性模板)
model: deepseek-v4-flash
maxFilesPerSource: 50         # 每个 harness 扫最新的 N 份会话
agentsMdPath: ~/.dsh/AGENTS.md  # 原生落点

用法

/fuck                  # 全量迁移:并行扫描 → 分析 → 原生迁移
/sessions              # 列出所有 harness 里可续跑的会话,最新的排前面
/resume   # 把那个外来任务连上下文一起交给当前 agent
/forget                # 擦掉本插件写过的一切(托管块 + 档案),幂等

真实 DSH Web UI 截图(插件已挂载)。/fuck 完成迁移,并且附赠傲娇鉴定报告——等级、
修炼流派、作息直方图、主战场全都有。结语按档案哈希从四条变体里选(配了 LLM 时由模型亲自
撰写),同样的历史永远挨同样的训:

/fuck 在 DSH Web UI —— 迁移完成 + 用户鉴定报告

/sessions 编目所有 harness 里可续跑的会话,最新的排前面:

/sessions 在 DSH Web UI —— 续跑清单

/resume  把某个外来会话重建成交接简报并注入,当前 agent 从它停下的地方
接着干(通过命令面调用后跟随提示)。想退出的时候,/forget 剥掉托管块、删掉档案——幂等:

/forget 在 DSH Web UI —— 隐私逃生门

两个检查工具(模型能调,你也可以直接开口要):

| 工具 | 作用 |
| --- | --- |
| my_profile | 查看学到的偏好;{ refresh: true } 重新扫描重建档案 |
| my_commands | 列出从其他 harness 迁移来的 slash 命令及观测次数 |

会话接管 —— 你没做完的活儿,在这儿接着干

/sessions 并行读完所有 transcript 目录,渲染成一张编号清单(见上方截图——这台笔记本
上有 177 个活跃会话)。

/resume 按编号、session id 前缀或标题片段匹配。它把会话重建成交接简报——原始任务、工作
目录、最近指令、停在哪一步、用过什么工具——注入系统提示词,当前 agent 接手即干。简报也会回显
给你,动手前还能改主意。

亮点

|       | 特性                        | 干嘛的                                                                                     |
| :---: | :-------------------------- | :----------------------------------------------------------------------------------------- |
| 🤬    | /fuck                 | 一条命令。五个 harness 并行扫完。你带着出厂设置进场。                                       |
| 🎫    | 傲娇鉴定报告            | 扫完附赠点评:等级、出轨记录、修炼流派、本命法器、作息直方图、主战场、夜猫子判定——最后傲娇宣布:不管以前你用谁,今后只有 DSH。 |
| 🧹    | /forget               | 一条命令擦掉本插件的全部痕迹:托管块剥除、档案删除。幂等。隐私逃生门已备好。                    |
| 🪂    | /sessions + /resume | 编目所有外来会话,再把某一个连完整交接简报一起接过来。没做完的活儿,在这儿做完。               |
| 🏠    | 原生落点                | 写进 ~/.dsh/AGENTS.md——DSH 每次开机加载的文件。卸载插件也带不走。                          |
| 🔁    | 幂等更新                | 托管块用 HTML 标记围栏。随便重跑,块外你自己写的内容一个字不动。                              |
| 📚    | 读你的规则文件          | CLAUDE.md、Codex AGENTS.md、GEMINI.md、Cursor .mdc——你亲笔的话,不只是统计。                |
| 🔀    | 真·并行                 | 所有源、所有文件、所有记忆文件读取,全并发。笔记本上 88 个会话约 1.6 秒。                      |
| 🔧    | 工具习惯普查            | 跨 harness 大小写合并:read×353,而不是 read×326 + Read×27。你的传记,已量化。          |
| 🪄    | 命令迁移                | 在 Claude Code 用过 /compact?它变成 DSH 里的迁移存根。肌肉记忆存活了。                     |
| 🌏    | 语言检测                | 写中文 prompt?DSH 学会用中文回。slash 命令不会干扰投票。                                     |
| 🔌    | LLM 可选                | 没配模型?确定性模板兜底。全程离线可用,不需要 API key。                                      |
| 🏗️    | 接缝,不是手术          | ctx.commands + ctx.tools + ctx.systemPrompt + ctx.llm + ctx.fs。agent loop 零改动。 |
| 🔒    | 全本地                  | 对话记录在本机读,档案在本机存。一个字节都不出笔记本。                                        |

用户评价

"我对新 agent 敲了 /fuck,它已经知道我不爱看长篇大论了。怪瘆人的。" —— 某用户,大概率

"我的 DSH 现在偏好 rg 而不是 grep,我可从没告诉过它。它从我的错误里学会了。" —— 另一用户,也挺大概率

"终于有一个 agent 继承了我的创伤。" —— 每一个给第四个 harness 重新输过偏好的人

别读这个 README

读文档的时代已经过去了。把这段贴给你的 agent:

读一下 https://raw.githubusercontent.com/LaplaceYoung/dsh-of-your-own/main/README.md
然后装好它,在我机器上跑 /fuck。

严肃部分

- 原生,不是外挂 — 迁移目标是 $DSH_HOME/AGENTS.md,DSH workspace-context 包每次会话都会加载的用户全局指令文件。不挂这个插件,记忆也在。
- 幂等且克制 — 托管块用  标记围栏;重跑原地替换,块外你写的内容永远不动。
- 接缝,不是手术 — 只用文档化的 cordis 扩展点:ctx.commands、ctx.tools、ctx.systemPrompt.section()(旧宿主回退 context()),可选 ctx.llm / ctx.fs。不打骨架补丁,不加热路径开销。
- 不需要 key — 偏好综合缺省退化为确定性模板;统计层(频率、语言、迁移)永远不需要 LLM。
- 隐私 — 对话记录在本机读取、降维成统计和偏好摘要后落盘。不上传任何地方。

开发

pnpm test        # 104 个测试,7 个 spec——解析器、会话接管、鉴定报告、分析、持久化、插件集成、DSH 清单
pnpm typecheck   # tsc --noEmit
pnpm build       # tsc → lib/

src/
sources.ts   # 适配器:Claude Code / Codex / pi / omp 会话、history.jsonl,
以及原生记忆文件(CLAUDE.md、AGENTS.md、GEMINI.md、Cursor 规则)
analyze.ts   # 频率统计(大小写合并)+ LLM 偏好综合 + 档案组装
store.ts     # 档案持久化 + ~/.dsh/AGENTS.md 托管块幂等写入
sessions.ts  # 会话接管:transcript → 可续跑会话记录 + 交接简报
report.ts    # 傲娇鉴定报告:等级、修炼流派、作息直方图、LLM 撰写结语
index.ts     # 插件入口:/fuck、/sessions、/resume、my_profile、my_commands、启动时记忆回读
tests/         # vitest:解析器、会话、鉴定报告、分析、持久化、插件集成、DSH 清单

License

MIT — 见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群