NightPainters/DSH-Ling0

dsh-ling

器灵 · 跑在你自己电脑上的记忆与人格助手插件:三层记忆、从历史里长出来的人格档案、定型锁与自由生长

包名
dsh-ling
版本
1.0.1
许可证
Apache-2.0
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:NightPainters/DSH-Ling

dsh-ling · 器灵

她不是每次都要重新认识你的 AI。

把你散落在各处的历史对话请进门,让她长出一个属于她自己的人格档案 —— 记忆全在本地,人格可手术、可回滚,语气可以自己生长。

一个跑在你自己电脑上的DeepSeek Harness(DSH)插件。不是云服务,不是记忆 API:它是给"你和她"用的东西。

界面

记忆中心人格中心
记忆中心 —— 统计、实时时间锚、三条接入通道与导入记录人格中心 —— 契约字段(名字/称呼/自述)与「她已自由生长中」状态条
手敲承诺句解锁深夜对话
改动契约要手术 —— 亲手敲出当初写下的承诺句(输入框禁粘贴)时间的重量 —— 每次开口前她知道现在是几点、距上次多久

她是什么

能力说明
🧠三层记忆L0 人格档案(自称/对你的称呼/底线/惯例/语气/世界观,每次对话恒定注入)→ L1 开场记忆(从历史里按相关度挑选的概述,有预算,永不塞全文)→ L2 运行期记忆(会话内滚动)
📥把历史请进来三条通道:网页端聊天记录库增量扫描 / 本机 DSH 会话扫描 / ChatGPT·通用 JSON·JSONL 导出文件导入;每次导入留一笔账
📖让她读一遍长会话逐条深摘要、短会话以原文片段参与,后台串行,进度可见
🌱诞生仪式从读过的记忆里按"生活与情感优先"加权抽样 → 合成自述 + 名字候选 + 语气建议 + 相处观察全部是草稿,你逐条人审后才落盘
🔒人格定型锁契约类(名字、称呼、底线、世界观)定型后修改需亲手敲一遍承诺句(禁粘贴),并进变更记录可回滚;自性类(语气、风格、自述、惯例)锁定下自由生长
时间的重量每次开口前她都知道:[现在] 2026-09-11 周五 23:47 · 深夜距上次对话:3 天前(称呼跟随你的设定);命中纪念日会先说一句专属问候
🎭工作 / 生活双模式同一份人格档案,两种关系:工作模式是同事(正式称呼、简洁、知识优先),生活模式是伴侣(昵称、活泼、情感优先)
🔁成长回路你对某条回复点踩 → 反馈队列 → 提炼成"惯例"建议 → 采纳后进入她的人格档案;"让她读记忆、归纳语气"一键成长

快速开始

前置:Node ≥ 22.5(用到内置 node:sqlite)· 已安装 DeepSeek Harness 并至少启动过一次。

# 0) 取得代码
git clone https://github.com/NightPainters/dsh-ling

# 1) 装进 DSH 的 profile(把  换成你 clone 下来的实际路径)
cd ~/.dsh/profiles/web
pnpm add file:/dsh-ling      # 或 npm install file:/dsh-ling

# 2) 让插件被加载:在 profile 的 cordis.patch.yml 追加
#    - insert:
#        - id: dsh-ling
#          name: 'dsh-ling'

# 3) 重启宿主(host),然后浏览器 Ctrl+Shift+R 硬刷

自检安装是否成功:

node tools/check-install.mjs          # 只读自检:入口是否直连仓库、patch 是否启用、数据目录是否就绪
node tools/check-install.mjs --fix    # 若入口变成"复制副本"(DSH 升级/回退常见)则备份并重挂链接
node tools/check-publish.mjs          # 上传/发布前跑一次:揪出记忆库、设置、密钥、绝对路径等不该公开的东西

跑测试(不需要宿主,全部离线):

npm test        # 13 套:人格组装 / 冻结门 / 记忆库 / L1 选择 / 导出合并 / 文件导入 / 导入记录 / 深摘要 / 诞生仪式 / 语气 / 时间锚 / 捕获差分

数据放在哪

内容位置
设置(人格档案)$DSH_HOME/cache/dsh-ling/settings.json(DSH_HOME 默认 ~/.dsh)
记忆库$DSH_HOME/cache/dsh-ling/memory.db(SQLite,开启 WAL)

可覆盖的环境变量:DSH_HOME(数据根)、DSH_LING_DSWEB_DB(网页端聊天记录库默认路径,UI 里也能填)。


隐私

  • 记忆库、人格档案、导入的历史全部保存在你自己机器上(SQLite 文件),插件不上传任何数据到第三方;
  • 模型调用走你自己的 DSH 配置与密钥;
  • 导入的是你自己的对话记录 —— 请不要把他人数据导进来。

边界与诚实声明

  1. 她不是意识,也不是 AGI。她是"记忆 + 规则 + 模型"的合成产物。她能记住,是因为你给了她材料。不做这个宣称,是这个项目的底线。
  2. 她记住的是被读过、被概括过的部分,不是全部历史。概述会丢细节、也可能出错 —— 所以记忆可审计、可回滚是设计的一部分,不是补丁。
  3. 模型能力的上限就是她的上限。记忆层不会让一个笨模型变聪明,它只是让她不再每次从零开始
  4. 她不会主动找你(当前版本)。她只在你开口时出现。
  5. 不宣称首创。记忆分层、历史导入、时间注入、反馈改语气这些方向都有先行者(见下);本项目的贡献在治理方式 —— 把人格当一份可以签字、可以回滚、可以被历史养大的契约。

致谢(站在谁的肩膀上)

设计过程中受这些公开项目与讨论的启发,在此致谢(仅致谢思路,不含其代码):

  • Letta / MemGPT — 持久人格记忆块、可设为只读、后台记忆智能体
  • SillyTavern — 本地角色卡 / 世界书 / 时间与日期宏
  • LangMem — 用反馈轨迹改写提示词
  • MyChatArchive — 多来源聊天导出 → 本地库 + 摘要管线
  • AI Migrator — "记忆搬家"的人审闭环
  • Claude / ChatGPT 的记忆功能、Sonorus("距上次交谈多久"注入)等

文档

文件内容
CHANGELOG.md版本更新记录(当前 1.0.1)
DESIGN.md架构与设计决策(三层记忆、冻结门、注入面、存储结构)
ACCESS-DESIGN.md历史接入蓝图:三条通道、会话契约格式、导入流水线

许可证

Apache License 2.0 · 版权与归属见 NOTICE

Apache-2.0 第 3 条包含明确的专利授权专利反制终止条款:你可以自由使用、修改、分发(含商用),但若你以本作品发起专利诉讼,授权即自动终止。