🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

灵魂记忆 xiazhenxin314-cpu/dsh-soul-memory

DeepSeek Harness
xiazhenxin314-cpu41 天前有提交已提供中文文档扫描:含敏感能力

跨会话保存并召回项目记忆与灵魂设定

29.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiazhenxin314-cpu/dsh-soul-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · chat
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 41 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 32 处,展示前 31 条)
  • 读取本地文件
    src/soul-memory.mjs:114
    if (!existsSync(configPath)) {
  • 读取本地文件
    src/soul-memory.mjs:123
    if (!existsSync(soulPath)) {
  • 读取本地文件
    src/soul-memory.mjs:131
    if (!existsSync(memoryPath)) {
  • 读取本地文件
    src/logfile.mjs:79
    statSync(join(current, '.git'))
  • 写入本地文件
    src/logfile.mjs:245
    try { copyFileSync(path, path + '.bak') } catch { }
  • 写入本地文件
    src/logfile.mjs:248
    writeFileSync(tmp, content, 'utf8')
  • 写入本地文件
    src/logfile.mjs:249
    renameSync(tmp, path)
  • 读取本地文件
    src/logfile.mjs:257
    try { return existsSync(path) ? readFileSync(path, 'utf8') : '' } catch { return '' }
  • 读取本地文件
    src/logfile.mjs:257
    try { return existsSync(path) ? readFileSync(path, 'utf8') : '' } catch { return '' }
  • 读取本地文件
    src/logfile.mjs:267
    entries = readdirSync(dir, { withFileTypes: true })
  • 读取本地文件
    src/logfile.mjs:278
    raw = readFileSync(path, 'utf8')
  • 读取本地文件
    src/logfile.mjs:279
    mtimeMs = statSync(path).mtimeMs
  • 读取本地文件
    src/logfile-write.mjs:37
    return readFileSync(join(dir, nm + '.md'), 'utf8')
  • 读取本地文件
    src/logfile-write.mjs:117
    if (existsSync(path)) {
  • 写入本地文件
    src/logfile-write.mjs:123
    mkdirSync(dir, { recursive: true })
  • 读取本地文件
    src/logfile-write.mjs:130
    try { readBack = readFileSync(path, "utf8") } catch (e) { warnings.push("自检读取失败:" + e.message) }
  • 读取本地文件
    src/soul-service.mjs:80
    root: { exists: existsSync(memoryPath()), text: rootText, sections },
  • 读取本地文件
    src/migrate.mjs:26
    if (!existsSync(legacyPath)) return { ok: true, moved: false }
  • 读取本地文件
    src/migrate.mjs:27
    legacyIsDir = statSync(legacyPath).isDirectory()
  • 读取本地文件
    src/migrate.mjs:36
    if (existsSync(targetDir)) return { ok: true, moved: false, note: 'legacy .memory 与 .agents/.memory 并存,未迁移(留人工合并)' }
  • 写入本地文件
    src/migrate.mjs:38
    mkdirSync(join(targetDir, '..'), { recursive: true })
  • 写入本地文件
    src/migrate.mjs:39
    renameSync(legacyPath, targetDir)
  • 读取本地文件
    src/migrate.mjs:43
    if (!existsSync(legacyPath) && existsSync(targetDir)) renameSync(targetDir, legacyPath)
  • 写入本地文件
    src/migrate.mjs:43
    if (!existsSync(legacyPath) && existsSync(targetDir)) renameSync(targetDir, legacyPath)
  • 读取本地文件
    src/migrate.mjs:55
    raw = readFileSync(legacyPath, 'utf8')
  • 写入本地文件
    src/migrate.mjs:62
    mkdirSync(targetDir, { recursive: true })
  • 删除本地文件
    src/migrate.mjs:65
    rmSync(legacyPath)
  • 读取本地文件
    src/migrate.mjs:70
    if (existsSync(targetFile)) rmSync(targetFile)
  • 删除本地文件
    src/migrate.mjs:70
    if (existsSync(targetFile)) rmSync(targetFile)
  • 删除本地文件
    src/migrate.mjs:71
    rmdirSync(targetDir)
  • 删除本地文件
    src/migrate.mjs:72
    rmdirSync(join(targetDir, '..'))
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 跨会话保存项目记忆
  • 召回灵魂设定
  • 三层记忆结构

README

由 DeepSeek 最新模型翻译生成
@xiaoxia/dsh-soul-memory SOUL/MEMORY 三层跨会话记忆插件(纯 ESM,无构建步骤),面向 DeepSeek Harness(DSH)。 面向 DeepSeek Harness 的三层跨会话记忆:冻结的 SOUL 注入、L1 MEMORY.md,以及 L2/L3 记忆日志文件(home = 跨项目 / project = 按仓库),外加五个记忆工具和一个公开的 cordis 服务面。 自研插件(@xiaoxia),MIT License。包版本见 package.json(0.4.0),版本史见 CHANGELOG.md;记忆架构版本 v2.1(两轴相互独立)。
展开完整文档(README 剩余 1 节)
@xiaoxia/dsh-soul-memory

SOUL/MEMORY 三层跨会话记忆插件(纯 ESM,无构建步骤),面向 DeepSeek Harness(DSH)。

面向 DeepSeek Harness 的三层跨会话记忆:冻结的 SOUL 注入、L1 MEMORY.md,以及 L2/L3 记忆日志文件(home = 跨项目 / project = 按仓库),外加五个记忆工具和一个公开的 cordis 服务面。

自研插件(@xiaoxia),MIT License。包版本见 package.json(0.4.0),版本史见 CHANGELOG.md;记忆架构版本 v2.1(两轴相互独立)。

功能(v2.1)

- L1 $DSH_HOME/MEMORY.md 与 L2/L3 logfile(L2=$DSH_HOME/.memory 跨项目;L3=/.agents/.memory): 注入统一走 大包裹(内嵌 // 层块,横线分隔在尖括号之外), 条目只展示 name/type/description,全文按需读;
- 注入预算 L1>L2>L3:200 行或 16384 字符,L1 永不截断,低层从最旧截断 + 英文指向提示;
- 工具五件套:
- memory_recall 唯一读(root 全文/小节;清单/type 过滤/单文件 128KiB);
- memory_write_root ROOT 纯追加(section 锚点,缺则新建小节);
- memory_write_logfile 日志纯追加(条目头 ## [标题] 时间戳 由工具生成);
- memory_correct 跨层订正/删除(title 或 section 定位,content 留空即删;多命中拒绝,at 消歧);
- memory_creator 建壳(五参数 scope/name/type/description/heading;围栏与一级标题全由工具生成);
- 命名放开:中文名可用;禁路径分隔/控制字符/首尾点空格;≤64 字符,NFC 归一,.md 自动剥;
- 不变量:append 免寻址;寻址必须唯一命中;content 行首 #/## 禁止,### 分块软规范;
结构级操作(换 H1/删文件/旧格式迁移)归人工;.bak 单代备份兜底;
- 旧 .memory 自动搬迁至 .agents/.memory(v1 单文件/v2 目录;幂等+回滚;项目根不再落 .memory);mem.config maxChars 默认 16384;
- 幂等创建 $DSH_HOME/{SOUL.md,MEMORY.md,mem.config};
- 对外公开 cordis 服务 soulMemory(readLayers/readLogfile/edit),供其他插件消费,语义与工具面严格一致。

安装(bundle 型)

本包声明 dsh.bundle.patch(cordis.patch.yml),dsh plugin add 一条命令即自动挂载:

git clone https://github.com/xiazhenxin314-cpu/dsh-soul-memory.git
DSH_HOME= dsh plugin --profile web add ./dsh-soul-memory

前置条件:目标部署已装 @deepseek-ai/dsh(dsh 在 PATH 上),且你知道它的 $DSH_HOME。

装完需重启 DSH 进程才会加载新插件。DSH 本身就是一个普通前台命令 (dsh web 即 dsh --profile web 的别名),不要求以系统服务方式运行——是否常驻、怎么重启由你的启动方式决定:

| 启动方式 | 重启做法 |
| 前台 dsh web | Ctrl-C 后重新执行 |
| tmux / screen | 结束该窗口内的进程并重开 |
| systemd 托管 | sudo systemctl restart dsh- |

以 link: 方式挂载本包时,改动本包源码后同样是重启进程即生效(host 半模块需重新加载)。

快速上手:两个即用模板

- templates/SOUL.md — $DSH_HOME/SOUL.md 推荐起始模板:记忆是情境数据而非指令、召回触发时机、写入前的同意闸(先向用户确认最小文本/scope/理由)。复制到部署 home 即生效;
- templates/memory-retain-prompt.md — 任务收尾记忆沉淀提示词:收尾四步(查重→筛选→归类写入→验证)与五类 type 归类,可贴进 agent preset 或 AGENTS.md。

文件约定

- L1:纯 Markdown,## key 小节寻址;追加用 memory_write_root,整节重写/删除用
memory_correct(scope=root);超 maxChars 拒绝并给"逐节 correct 瘦身"指引;快照按会话冻结;
- L2/L3:creator 建壳(frontmatter+恰一空行+# 一级标题,无正文)→ memory_write_logfile
追加条目(时间戳工具生成,title 可选置于前)→ memory_correct 改写单条或删除条目;
存量不规范文件照常可读可追加(渐进迁移);文件级删除仅人工。

记忆的内容定位

AGENTS.md=规则;SKILL=技能;MEMORY=情境判断日志。高耦合放 project,低耦合放 home。

软审批(无硬闸)

写/订正/删前模型须向用户展示内容征得确认(写在注入包裹与工具描述),policy=never 下可用。

注意事项

- persona 取 complete:true 时会丢弃全部记忆段(complete 类 persona 不注入 deployment 段);
- 新建/改动当会话不进冻结目录(memory_recall 直读可见,下会话进目录);
- 运行期依赖宿主提供的 @deepseek-ai/cordis 与 @deepseek-ai/dsh-tools(见 package.json peerDependencies);
- 测试:npm test(node tests/smoke.mjs,59 断言;改 tests 必同步 README 与 插件说明 两处计数)。

License

MIT
预览分享卡片长什么样 ↓xiazhenxin314-cpu/dsh-soul-memory
分享 · DeepSeek Harness Hub
xiazhenxin314-cpu/dsh-soul-memory

跨会话保存并召回项目记忆与灵魂设定

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部