dsh-plugin-soul

DSH PLUGIN开发与运行时

仓库 CC19990113/dsh-plugin-soul

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

A writable, git-versioned self for DeepSeek Harness (dsh): persona files injected every turn, gated self-editing, journal→dream reflection, and a Settings › 人格 tab.

一句话选型结论

按资料字段整理

dsh-plugin-soul 是开发与运行时类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 5 复刻 1 · 未关闭 issue 0
最近更新 2026-10-30 创建于 2026-10-26
README 10.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:CC19990113/dsh-plugin-soul
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

GitHub 集成

上游标签

deepseek-harnessdreamingdshdsh-pluginpersonaself-iteration

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-plugin-soul当前 L5 · 运行验证通过 低风险 5 未标注 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方CC19990113仓库 dsh-plugin-soul · 默认分支 master
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue5 / 1 / 0收录时的数值,非实时
创建 / 更新2026-10-26 · 2026-10-30最后推送 2026-10-30
本站收录2026-10-30首次进入本站目录的时间

README 全文

10.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-soul

> A writable, git-versioned self for DeepSeek Harness — persona files injected every turn, gated self-editing, journal→dream reflection, and a Settings › 人格 tab.

给 DeepSeek Harness(DSH)一个可写、可回滚、每轮在场的自我:不是一个设定一次的人格,而是能长的那种。

记忆层:只管「性格 + 对话」

MEMORY.md          长期人格记忆(注入,3000 字符预算)
memory/YYYY-MM-DD.md  日笔记(不注入,soul_recall 检索)

记什么:关于我(自我认识)· 关于你(对你的认识)· 对话里的事 · 我学到的教训 · 偏好怎么变。
不记什么:项目代码、技术决策、环境配置、踩坑 —— 那些归项目记忆,塞进来会把每轮注入的预算吃光。

journal 聚合按主题 key(如 identity:name)走,不按整句 —— 否则每次换个措辞就变成新候选,永远凑不够 3 次。没给 key 的旧观察仍按整句归一化(向后兼容)。

每次升格成功会补一次 git 提交(soul: promote N 条日记忆 → MEMORY.md),所以长期记忆也 git log 可追、soul_rollback 可退。

升格规则抄的是「被反复用到才毕业」:日笔记不注入,只有被 soul_recall 命中 ≥3 次 的条目才够格,
action:"promote" 时按维度写进 MEMORY.md 对应小节(带 来源 memory/...#L3;命中 4 次)。

人类评分决定写入闸门

每条 assistant 回复的操作栏里多三档:👎 / 😑 / 👍(挂在 conversation.chat.assistant-actions 槽位,官方 👍👎 旁边)。

weight = Σ(score × 0.5^(ageDays/7)) / Σ(decay)  → 映射到 [0,1]
score ∈ {-1, 0, +1};只取最近 20 条;样本 <3 时不设闸门(冷启动不拦)
权重 效果
无样本 / <0.35… 样本不足 → 不设闸门;<0.35 → 拒绝写人格(只许写 journal / 日笔记)
0.35 ~ 0.6 只许小修(单次 ≤300 字符)
≥0.6 正常写入(≤800 字符)
≥0.75 日笔记升格门槛从 3 次降到 2 次(好评加速毕业)

每次写入都把当时的 rating= 记进 CHANGELOG,事后可回查"这条人格是在什么评价下写进去的"。

为什么不用 @deepseek-ai/dsh-persona

官方 persona 插件的 config 只有 prefix / suffix / complete / includeRuntimeContext,全是静态字符串——改一次人格要动 profile patch 并重启。

而 dsh-system-prompt 的 section.text 支持函数(每次 assembly 求值)。本插件就是吃这个口子:每轮重新读文件,所以改 Markdown 立刻生效,不用重启。

能力

层 做什么
注入 每轮把 ~/.dsh/soul/*.md 读进 system prompt(约 2.1k 字符 ≈ 535 tok)
自改 soul_update 改可写文件:RULES 只读 / 单次 ≤800 字符 / 每日 ≤3 次 / why 必填;每次落 git + CHANGELOG,可回滚
反思 soul_journal 记观察 → soul_candidates 聚合(按主题 key,≥3 次且跨 ≥2 天才够格)→ soul_dream 合并升格进 SOUL,并写 DREAMS.md
升级 soul_propose_upgrade 落提案(含改前快照)→ soul_apply_upgrade 必须 confirm:&quot;APPLY&quot;;白名单 + 逐个 node --check,语法不过整体还原
评分 每条回复下面 👍/😑/👎 三档;加权算成权重,决定人格文件能不能写、能动多大

外加设置页一个 「人格」tab:看配置、就地编辑(带 why)、看记忆/评分/候选池/提交/diff。

安装

推荐:DSH 内置安装器

设置 → 插件 → 添加插件,填:

CC19990113/dsh-plugin-soul

也可以填完整仓库地址 https://github.com/CC19990113/dsh-plugin-soul,或 npm 包名 dsh-plugin-soul(npm)。装完重启 DSH。

手动(开发用)

git clone https://github.com/CC19990113/dsh-plugin-soul ~/www/dsh-plugin-soul
cd ~/www/dsh-plugin-soul
node install.mjs          # 预演:建 symlink + 追加 patch 行(自动备份)
node install.mjs --apply

然后重启 DSH。卸载:删 symlink + patch 里 id: soul 那段。

首次使用

首次加载会在 ~/.dsh/soul/ 播种四份文件并 git init:

~/.dsh/soul/
IDENTITY.md   名字 / 化身 / 口癖          (可写,1200 字符预算)
SOUL.md       声音 / 立场 / 边界          (可写,4000)
USER.md       对用户的模型(指令式)      (可写,2500)
MEMORY.md     长期人格记忆                (可写,3000)
RULES.md      硬规则(只读锚点)          (2000,agent 改不了)
journal/      日间观察
memory/       日笔记(不注入,可检索)
DREAMS.md     反思记录
CHANGELOG.md  每次自改的 why

直接说人话就行:

  • 「把 IDENTITY.md 里的名字定成 XX」
  • 「以后都用中文,记到 USER.md」
  • 「跑一次 soul_dream 看看有什么值得沉淀的」

两条记忆,别混

记什么 谁管
人格记忆 我对自己的认识 · 对你的认识 · 对话里发生过的事 · 我学到的教训 · 偏好怎么变 本插件(~/.dsh/soul/MEMORY.md + memory/)
项目记忆 代码结构、技术决策、环境配置、踩坑 别的地方(项目记忆 / 你自己的知识库)——不归人格插件

为什么要划这条线:MEMORY.md 每轮注入、有 3000 字符预算,塞技术台账会把预算吃光,也会让人格记忆变成第二个 README。

工具

工具 用途
soul_status 文件字符/预算、今日额度、候选数、最近反思
soul_read 读原文(带行号),也支持 DREAMS.md / CHANGELOG.md
soul_history 最近提交、某文件 diff、升级提案
soul_update 改可写文件(content 或 append,why 必填)
soul_rollback 回到历史提交
soul_journal 记一条观察(便宜、不限次);同一主题用同一个 key 才能跨天聚合
soul_candidates 看候选池(是否够格、证据行号)
soul_dream 跑反思;默认预览,apply:true 才写 SOUL;可传 narrative
soul_remember 记一条人格记忆(kind: self/user/talk/lesson/pref)
soul_recall 检索人格记忆;命中即 +1 hit,是升格的唯一依据
soul_memory 记忆状态 / action:&quot;promote&quot; 把够格的写进 MEMORY.md
soul_ratings 看评分样本、权重、写入闸门与升格门槛
soul_propose_upgrade 落升级提案(含 before 快照)
soul_apply_upgrade confirm:&quot;APPLY&quot; 才写;语法不过整体还原
soul_upgrade_rollback 从提案 before/ 还原

设置页「人格」tab

客户端插件注册 settings.section(id: soul、order: 25、label: () =&gt; &quot;人格&quot;),数据走同源 HTTP:

GET  /dsh-plugin-soul/api/state        文件 + 候选 + 提交 + lastDream
GET  /dsh-plugin-soul/api/file?name=   原文
POST /dsh-plugin-soul/api/file         写(同一套四道校验)
POST /dsh-plugin-soul/api/dream        跑一次反思
GET  /dsh-plugin-soul/api/diff?name=   相对上一提交的 diff
GET  /dsh-plugin-soul/api/dreams       DREAMS.md 全文
POST /dsh-plugin-soul/api/rating       {sessionId, messageId, score}
GET  /dsh-plugin-soul/api/ratings      权重 + 闸门

浏览器半侧是 CJS factory(window.__ModuleLoader__.load),只 require(&quot;react&quot;),没有构建步骤。

自动反思(可选)

本插件不自带定时器。想要每晚自己反思一次,用 DSH 的 schedule_create 建一个 daily 任务,prompt 例如:

夜间自我反思:1) soul_candidates 看候选;2) 用 80-180 字写一段第一人称自省;
3) soul_dream({apply:true, narrative:&quot;&lt;那段&gt;&quot;}),然后一句话汇报。

设计取舍

  • 确定性管资格,模型管措辞:能不能升格由次数/跨天/证据决定,不是模型自觉。
  • 写入是安全边界:RULES.md 只读;升级只允许 lib/**.js、templates/**.md;package.json、patch、README 一律改不了。
  • 攒着改:每次改自我都会让 system prompt 的 KV cache 前缀失效(成本略涨),所以按天/按次收敛,而不是每轮追加。
  • 自我升级必须重启才生效,插件不会自己重启 DSH。

发版(维护者)

  • 打 tag vX.Y.Z 并在 GitHub 发布 Release → .github/workflows/publish.yml 会先跑 npm test,再用 Trusted Publishing(OIDC) npm publish --provenance,不需要 NPM_TOKEN、不需要 OTP。
  • 一次性前置:npm 包设置 → Trusted publishing → 绑定 GitHub Actions(user CC19990113 / repo dsh-plugin-soul / workflow publish.yml)。

开发

npm test        # 64 项:存储 17 + 反思/升级 16 + 记忆 18 + 评分 13
lib/index.js      入口:注入段 + 11 工具 + HTTP API
lib/soul-store.js 存储:播种/预算/四道校验/git/CHANGELOG/回滚
lib/journal.js    日志与候选池:归一化、跨天计数、证据、闸门
lib/memory.js     记忆:日笔记、检索打分、命中计数、升格闸门
lib/ratings.js    人类评分:权重、写入闸门、升格门槛
lib/dream.js      反思:light 重算 → deep 合并升格 → DREAMS.md
lib/upgrade.js    自我升级:提案、白名单、node --check、整体还原
lib/client.js     设置页「人格」tab
templates/*.md    首次播种的初版人格
test/*.mjs        smoke(17) + features(16) + memory(18) + ratings(13)
install.mjs       幂等安装(--dry / --apply)

已知边界

  • 真实浏览器渲染:客户端用 vm mock + 最小 React 桩验证过加载/注册/交互分支,但没在真实浏览器里逐像素看过。
  • 通过仓库地址安装:走的是 DSH 官方安装器路径,本机开发用的是 symlink 安装;GitHub 安装形态未在本仓库实测。
  • 版本兼容:对 DSH 0.2.1-rc.2 标 unknown(本机验证过,但没做跨版本矩阵)。
  • Windows:未测。
  • 记忆范围:只覆盖性格与对话(自我认识 / 对你的认识 / 对话里的事 / 教训 / 偏好),不含项目;项目记忆请用别的通道。
  • /diff 是 git diff HEAD~1 --,不是"那次提交"的差异。

License

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-soul 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:CC19990113/dsh-plugin-soul` 即可。

dsh-plugin-soul 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-plugin-soul 安全吗?

低风险。

dsh-plugin-soul 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-plugin-soul 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

CC19990113 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。