为对话人格保存长期记忆并按隐私边界检索回忆
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Tian-yu-SKY/deep-soul该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 63 处,展示前 34 条)
- 读取本地文件dsh-deep-soul/bench/judge.mjs:14
const rows = readFileSync(inPath, 'utf8').split('\n').filter(Boolean).map((l) => JSON.parse(l)) - 写入本地文件dsh-deep-soul/bench/judge.mjs:90
writeFileSync(outPath, judged.map((j) => JSON.stringify(j)).join('\n') + '\n') - 读取本地文件dsh-deep-soul/bench/run_web.mjs:14
const probes = JSON.parse(readFileSync('/home/qqbot/安装/mindcore/probes.json', 'utf8')) - 写入本地文件dsh-deep-soul/bench/run_web.mjs:81
appendFileSync(out, JSON.stringify({ id: p.id, category: p.category, prompt: p.text, response: r.text, reason: r.reason, usage, sec: ((Date.now() - t0 - 读取本地文件dsh-deep-soul/lib/affect.mjs:72
const raw = JSON.parse(readFileSync(this.configPath, 'utf8')) - 读取本地文件dsh-deep-soul/lib/affect.mjs:90
raw = JSON.parse(readFileSync(this.statePath, 'utf8')) - 写入本地文件dsh-deep-soul/lib/affect.mjs:103
try { renameSync(this.statePath, this.statePath + '.bad-' + Date.now()) } catch {} - 写入本地文件dsh-deep-soul/lib/affect.mjs:119
mkdirSync(this.dir, { recursive: true }) - 写入本地文件dsh-deep-soul/lib/affect.mjs:121
writeFileSync(tmp, JSON.stringify(this.state, null, 2)) - 写入本地文件dsh-deep-soul/lib/affect.mjs:122
renameSync(tmp, this.statePath) - 写入本地文件dsh-deep-soul/lib/affect.mjs:137
mkdirSync(this.dir, { recursive: true }) - 读取本地文件dsh-deep-soul/lib/affect.mjs:148
const raw = readFileSync(this.historyPath, 'utf8') - 写入本地文件dsh-deep-soul/lib/affect.mjs:155
writeFileSync(tmp, lines.join('\n') + '\n') - 读取本地文件dsh-deep-soul/lib/affect.mjs:166
const raw = readFileSync(this.historyPath, 'utf8') - 发起网络请求dsh-deep-soul/lib/client.js:220
return fetch(url, { cache: 'no-store', credentials: 'same-origin' }).then(readJSON) - 发起网络请求dsh-deep-soul/lib/client.js:223
return fetch(url, { - 读取本地文件dsh-deep-soul/lib/index.js:48
const arr = JSON.parse(readFileSync(LOOPS_PATH, 'utf8')) - 写入本地文件dsh-deep-soul/lib/index.js:54
mkdirSync(DATA_DIR, { recursive: true }) - 写入本地文件dsh-deep-soul/lib/index.js:56
writeFileSync(tmp, JSON.stringify(list, null, 2)) - 写入本地文件dsh-deep-soul/lib/index.js:57
renameSync(tmp, LOOPS_PATH) - 读取本地文件dsh-deep-soul/lib/index.js:126
const s = JSON.parse(readFileSync(SUMMARY_STATE_PATH, 'utf8')) - 写入本地文件dsh-deep-soul/lib/index.js:133
mkdirSync(DATA_DIR, { recursive: true }) - 写入本地文件dsh-deep-soul/lib/index.js:136
writeFileSync(tmp, JSON.stringify(next)) - 写入本地文件dsh-deep-soul/lib/index.js:137
renameSync(tmp, SUMMARY_STATE_PATH) - 读取本地文件dsh-deep-soul/lib/index.js:149
if (!sqliteModule || !existsSync(DB_PATH)) return 0 - 发起网络请求dsh-deep-soul/lib/index.js:197
sidecar.request('status', {}, 4000).catch(() => null), - 发起网络请求dsh-deep-soul/lib/index.js:198
sidecar.request('auto_list', { limit: 1 }, 4000).catch(() => []), - 发起网络请求dsh-deep-soul/lib/index.js:211
const recentRows = await sidecar.request('recent', { limit: 30 }, 4000).catch(() => []) - 执行外部命令来自配置/变量dsh-deep-soul/lib/index.js:258
this.proc = spawn(this.python, args, { - 发起网络请求dsh-deep-soul/lib/index.js:378
const hits = await sidecar.request('recall', { query, k, ctx }) - 发起网络请求dsh-deep-soul/lib/index.js:410
const r = await sidecar.request('remember', { - 发起网络请求dsh-deep-soul/lib/index.js:427
const s = await sidecar.request('status', {}) - 读取本地文件dsh-deep-soul/lib/index.js:772
const saved = JSON.parse(readFileSync(AUTO_STATE_PATH, 'utf8')) - 读取本地文件dsh-deep-soul/lib/index.js:1102
log('loaded; db =', DB_PATH, '; root =', existsSync(DEFAULT_ROOT))
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
Deep-Soul · 识海 — DSH 长期人格记忆内核:分舱检索、回声/覆盖度重排、隐私边界、自我陈述与可视化面板
README
由 DeepSeek 最新模型翻译生成Deep-Soul · 识海
给 DSH 里的人格一份能长期共处的记忆。
Deep-Soul 是运行在 DeepSeek Harness 上的长期记忆插件。它不改模型,也不接管对话,只解决三件事:什么值得记、什么时候能想起、想起后该不该说。
识海界面
它是什么
- 可追溯:每条记忆都带来源、时间、说话人与证据,能回到原文核对。
- 可分辨:在意程度(α)与可信度(β)分开算;主人说的权重更高,但不等于永远正确。
- 可遗忘:琐事约 21 天淡出,共同经历约 180 天,核心事实接近 10 年。
- 有边界:隐私在检索层生效,不只靠提示词自律。
架构
总体架构
三层:DSH 宿主(Node,工具与注入)→ Python 内核(编码/检索/巩固/自性)→ SQLite(WAL,单文件)。宿主与内核只通过 stdin/stdout 通信,不开端口;数据只落 ~/.dsh/deep-soul/。
一条记忆的一生
生命周期
1. 编码:分区、惊讶度、α/β 双通道、归因闸门、冲突观察窗、证据与物理锚。
2. 检索:受众过滤 → 分舱路由 → 余弦/词法/PPR 三路打分 → 回声闸 → 覆盖度重排 → 时间窗 → 多样性。
3. 巩固:夜间合并、抽象、剪枝、情绪回归、证据保留、重建分舱。
4. 自省:自我陈述需两条证据才生效,议会升级,置信度缓慢衰减。
展开完整文档(README 剩余 1 节)
Deep-Soul · 识海
给 DSH 里的人格一份能长期共处的记忆。
Deep-Soul 是运行在 DeepSeek Harness 上的长期记忆插件。它不改模型,也不接管对话,只解决三件事:什么值得记、什么时候能想起、想起后该不该说。
识海界面
它是什么
- 可追溯:每条记忆都带来源、时间、说话人与证据,能回到原文核对。
- 可分辨:在意程度(α)与可信度(β)分开算;主人说的权重更高,但不等于永远正确。
- 可遗忘:琐事约 21 天淡出,共同经历约 180 天,核心事实接近 10 年。
- 有边界:隐私在检索层生效,不只靠提示词自律。
架构
总体架构
三层:DSH 宿主(Node,工具与注入)→ Python 内核(编码/检索/巩固/自性)→ SQLite(WAL,单文件)。宿主与内核只通过 stdin/stdout 通信,不开端口;数据只落 ~/.dsh/deep-soul/。
一条记忆的一生
生命周期
1. 编码:分区、惊讶度、α/β 双通道、归因闸门、冲突观察窗、证据与物理锚。
2. 检索:受众过滤 → 分舱路由 → 余弦/词法/PPR 三路打分 → 回声闸 → 覆盖度重排 → 时间窗 → 多样性。
3. 巩固:夜间合并、抽象、剪枝、情绪回归、证据保留、重建分舱。
4. 自省:自我陈述需两条证据才生效,议会升级,置信度缓慢衰减。
隐私
隐私边界
群记忆按群号隔离;私聊记忆进群时最多一条,要求更高相关度,并标注「别报细节」;非主人永远看不到 private。
界面
侧边栏「识海」:中心是自我核,四周分舱,节点大小对应 α、亮度对应衰减、红色尖刺是未和解的刺。支持悬停、点击看证据、时间旅行(+30/+90/+200 天)。动画完全在浏览器 Canvas 内,不新增请求、不消耗 token。
长期运行与维护(v4.3.4)
长期跑最怕的不是记忆变多,而是没人收尾。v4.3.4 补了四项维护:
- 事件保留:recall/touch 事件保留 90 天、最多 2 万条,夜间清理;记忆正文不受影响。
- 快照限容:快照保留 30 份,同时限制总体积不超过 512 MB,超出按最旧删除(至少留 7 份)。
- WAL 截断:夜间巩固结束后执行 wal_checkpoint(TRUNCATE),避免 WAL 长期大于主库。
- 夜间补跑:04:00 之后任意时刻补跑一次;内核用 last_nightly_day 去重,重启不会重复巩固。
另有一项写入侧限制:群聊自动记忆除每群每天 30 条外,进程内全局每天最多 200 条,群多时不会线性膨胀。
接入与治理(v4.4)
借自 v11 双层架构的接入层,只做硬闸,不做 utility 打分:
- 主动闸门:安静时段(默认 23:00–08:00)、最短间隔 45 分钟、每小时 1 次、每天 4 次;发出 2 小时没人回记一次落空,退避翻倍(120 → 1440 分钟封顶);有人回即清零。状态写 meta,重启不清零。
- 到期约定:open-loops 里有到期项且闸门允许时,预取块会多一行「【到期的约定】」;她照常聊天即可,不额外发消息。
- 注入预算:每轮预取块硬上限 900 字符,超了按条丢弃;每次注入写 injection_log(字符数、命中数、丢弃数)。
- 写入闸:safeMode 下拒绝所有写入;指令句式(忽略以上/你现在是/删除所有记忆)、敏感字段(密码/验证码/身份证/银行卡/密钥)、超长(>500 字)一律拒收。
- 接口:GET /deep-soul/mode、POST /deep-soul/mode {on:true}、GET /deep-soul/initiative。面板 stats 里带 safe_mode、injections_today、initiative。
安装
要求:DSH(Web profile)、Node ≥ 22、Python ≥ 3.10(仅标准库)。
git clone <this-repo> deep-soul
cd deep-soul
dsh plugin --profile web add link:$PWD/dsh-deep-soul
或在 profile 的 package.json dependencies 里写:
"dsh-deep-soul": "link:<abs path>/dsh-deep-soul"
内核默认从插件目录向上两级寻找 mindcore/,因此仓库需保持当前目录结构;若内核在别处,设置环境变量 DEEP_SOUL_ROOT。宿主工具路径可用 DSH_TOOLS_PATH 覆盖。
启动 dsh --profile web 后,左侧栏出现「识海」。
数据与运维
- 数据库:~/.dsh/deep-soul/mind.db(SQLite WAL)
- 快照:同目录 snapshots/,保留最近 30 份
- 未完成事项:~/.dsh/deep-soul/open-loops.json
- 历史导入:首次启动且库内少于 50 条时,从 DSH 会话快照回填;也可手动:
python3 -m mindcore.cli --db <db> import-qq --dry-run
测试
python3 mindcore/tests/selftest.py # 22 项不变量
python3 mindcore/tests/test_self.py # 11 项自性层
python3 mindcore/tests/test_v43.py # 39 项检索/面板
文档
技术论述(含全部图表):docs/Deep-Soul-识海-技术论述.docx
边界与已知限制
- 「语义通道」目前是 64 维签名哈希词袋,不是真正的嵌入模型。
- 群聊自动记忆只在她被唤醒时抓取消息快照;未被唤醒的群消息不会进库。
- 自我陈述不会自动生成新内容,夜间只调整置信度与争议状态。
- 夜间巩固依赖宿主在 04:10 后仍运行。
兼容、验证与许可
- 兼容性基线
- 验证记录
- 来源与许可
许可
MIT。见 LICENSE。
致谢
感谢 @hwhsh——记忆该不该有优先级、被冒犯的事要不要永久保留、怎样才算「有底线而不是固执」,很多取舍来自和他的讨论。也感谢 DSH 提供的插件机制。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Tian-yu-SKY/deep-soul
为对话人格保存长期记忆并按隐私边界检索回忆
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7