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

识海 Tian-yu-SKY/deep-soul

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

为对话人格保存长期记忆并按隐私边界检索回忆

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
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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 提供的插件机制。
预览分享卡片长什么样 ↓Tian-yu-SKY/deep-soul
分享 · DeepSeek Harness Hub
Tian-yu-SKY/deep-soul

为对话人格保存长期记忆并按隐私边界检索回忆

回到顶部