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

长期工作记忆 IThinkItsaName/dsh-lore

DeepSeek Harnessv0.9.4
IThinkItsaName8 天前有提交已提供中文文档扫描:含敏感能力

给 AI 的长期工作记忆。…

32.9/100
综合分
4
GitHub 星标
389
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-lore
npm 源 · dsh-lore 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v0.9.5,当前版本为 v0.9.4
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-lore @ 0.9.4
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 02:57:55

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 82 处,展示前 21 条)
  • 读取本地文件
    lib/index.js:96
    target = readFileSync(marker, 'utf8').trim()
  • 写入本地文件
    lib/index.js:113
    appendFileSync(target, `${new Date().toISOString()} ${event} ${detail ?? ''}\n`)
  • 读取本地文件
    lib/index.js:614
    entries = readdirSync(skillsRoot, { withFileTypes: true })
  • 读取本地文件
    lib/index.js:627
    if (!existsSync(bundleFile)) continue
  • 读取本地文件
    lib/index.js:742
    const raw = readFileSync(file, 'utf8')
  • 读取本地文件
    lib/index.js:910
    if (!existsSync(root)) return false
  • 读取本地文件
    lib/index.js:911
    const entries = readdirSync(root).filter((name) => name !== MEMORY_MOVED_MARKER)
  • 写入本地文件
    lib/index.js:921
    mkdirSync(to, { recursive: true })
  • 写入本地文件
    lib/index.js:927
    else writeFileSync(dst, readFileSync(src))
  • 写入本地文件
    lib/index.js:948
    mkdirSync(target, { recursive: true })
  • 写入本地文件
    lib/index.js:961
    writeFileSync(join(target, MEMORY_MOVED_MARKER), `migrated from: ${source}\n`)
  • 写入本地文件
    lib/index.js:1040
    mkdirSync(dirname(path), { recursive: true })
  • 删除本地文件
    lib/index.js:1048
    if (existsSync(tmp)) unlinkSync(tmp)
  • 删除本地文件
    lib/index.js:1858
    unlinkSync(item.path)
  • 删除本地文件
    lib/index.js:1874
    unlinkSync(item.path)
  • 删除本地文件
    lib/index.js:1877
    if (existsSync(tmp)) unlinkSync(tmp)
  • 删除本地文件
    lib/index.js:2082
    try { unlinkSync(tmp) } catch { }
  • 执行外部命令来自配置/变量
    lib/index.js:2183
    const result = spawnSync(python, args, {
  • 删除本地文件
    lib/index.js:2201
    try { unlinkSync(path) } catch { }
  • 读取本地文件
    skills/client-require-whitelist/selftest.mjs:31
    const okOff = offenders(readFileSync(join(here, 'fixtures', 'ok.js'), 'utf8'))
  • 读取本地文件
    skills/client-require-whitelist/selftest.mjs:32
    const badOff = offenders(readFileSync(join(here, 'fixtures', 'bad.js'), 'utf8'))
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

面向智能体的长期项目工作日志系统(软件、研究、写作、设计、运维):过程日志 + 索引台账 + 经验教训,配一个仅用标准库的 Python 工具箱。

README

由 DeepSeek 最新模型翻译生成
dsh-lore 给 AI 的长期工作记忆。 把项目里发生过什么、为什么这么做、留下了什么可复用经验,做成一套可读、可查、可校验的文档体系;换会话、换智能体,甚至接手的智能体没有这个技能,也能看懂并继续。 一句话:过程留证据,索引管导航,经验可复用。 它解决什么问题 一个需要长期维护的项目,最怕的不是代码丢,而是上下文丢: - 三个月后没人记得某个决定为什么这么定; - 换一个会话/智能体,接手者要从头翻聊天记录; - 踩过的坑换个智能体再踩一遍; - 记录越写越多,最后没人找得到「现在做到哪了」。 dsh-lore 把这些问题收进一个容器: | 层 | 位置 | 职责 | | 技能层 | work_log/ | 过程记录 + 索引台账 + 经验手册 + journal.py 工具箱(纯 Python 标准库,不需要 DSH) | | 记忆层 | 所有工作区之外(默认 ~/dsh-lore-memory) | 跨工作区的事实:来源分档、索引、收敛、信箱 | | 插件层 | DSH profile | 技能注册、记忆注入、worklog_memory 工具、配置卡片 | 三层可以只用一层;不限编程——软件、研究、写作、运营都能用。
展开完整文档(README 剩余 1 节)
dsh-lore

给 AI 的长期工作记忆。 把项目里发生过什么、为什么这么做、留下了什么可复用经验,做成一套可读、可查、可校验的文档体系;换会话、换智能体,甚至接手的智能体没有这个技能,也能看懂并继续。

一句话:过程留证据,索引管导航,经验可复用。

它解决什么问题

一个需要长期维护的项目,最怕的不是代码丢,而是上下文丢:

- 三个月后没人记得某个决定为什么这么定;
- 换一个会话/智能体,接手者要从头翻聊天记录;
- 踩过的坑换个智能体再踩一遍;
- 记录越写越多,最后没人找得到「现在做到哪了」。

dsh-lore 把这些问题收进一个容器:

| 层 | 位置 | 职责 |
| 技能层 | work_log/ | 过程记录 + 索引台账 + 经验手册 + journal.py 工具箱(纯 Python 标准库,不需要 DSH) |
| 记忆层 | 所有工作区之外(默认 ~/dsh-lore-memory) | 跨工作区的事实:来源分档、索引、收敛、信箱 |
| 插件层 | DSH profile | 技能注册、记忆注入、worklog_memory 工具、配置卡片 |

三层可以只用一层;不限编程——软件、研究、写作、运营都能用。

技能层已独立成库(2026-10-19):project-work-log 有自己的仓库与发布节奏;本包保留一份 vendored 副本(skills/project-work-log/)供插件运行时使用,由 tools/sync-skill.mjs --check 守漂移。pi / 其它 Agent Skills 场景请去独立仓库(publish/project-work-log/,尚未发布),不要从本包拿技能层。

它不是什么:不是变更日志(工作区整理、取证、环境变动都记,变更集 只是可选字段);不是任务管理器(待办只是滚动清单);不是插件专属(技能层可以独立跑)。
为什么做、七条不变量与已知缺口,见 docs/why.md。

快速开始

DSH 里

装插件:注册技能、注入记忆、提供 worklog_memory 与设置卡片,并登记进 profile 的 bundles
dsh plugin --profile <profile> add dsh-lore@v0.9.5

卸插件:依赖、bundles 条目、node_modules 一起清掉
dsh plugin --profile <profile> remove dsh-lore

桌面端用户在插件页装/卸:Electron 托管的 profile 会拒绝命令行操作(profile "desktop" is managed exclusively by the Electron application)。
另外不要用 dsh plugin … install <本地目录>:pnpm 会为本地目录建 junction,卸载时删不掉,下一次换装报 ERR_PNPM_EPERM。详见 PUBLISHING.md §7。

然后在项目里让智能体「建工作日志 / 留个记录」,或手动跑:

ROOT=. # 项目根;下面命令都接受 [ROOT] 或 --root

python <skill>/scripts/journal.py new --title "标题" --insert
python <skill>/scripts/journal.py brief # 一屏:状态 + 待办 + 近期记录
python <skill>/scripts/journal.py check --strict --lint # 结构 + 内容,两道门禁

<skill> 是安装后的技能目录(例如 ~/.dsh/skills/project-work-log)。
不知道装到哪时,先看 ~/.dsh/skills/ 或工作区的 .dsh/skills/。

DSH 桌面版自带 Python 运行时:把 python … 换成 node <skill>/scripts/journal.mjs …,启动器会自动找运行时,不必另装 Python。

只拿技能层(pi / 任意 Agent Skills)

技能层已拆到独立仓库 project-work-log(本工作区 publish/project-work-log/, 尚未发布):pi 安装、skill-only/ 无脚本变体、路径与变异门禁都在那边。
本包不再提供 pi 安装入口,也不再声明 pi 包元数据;DSH 用户装本插件即可(技能已随包带上)。

自带技能的 DSH 包必须打开 skill-filesystem;本包已在 cordis.patch.yml 里处理。

日常怎么用

| 你想做的事 | 用什么 |
| 接手一个项目,先看坐标 | journal.py brief |
| 看最近几篇各自做到哪 | journal.py snapshot --entries 12 |
| 找旧结论 | journal.py search "关键词" → show <篇号> |
| 开一篇新记录 | journal.py new --title "…" --insert |
| 收尾:改状态 / 勾待办 / 抽经验 | status --set、todo、lesson add |
| 归档一阶段 / 索引瘦身 | archive、index compact |
| 把教训带到别的项目 | memory publish → memory collect(DSH 里也可用 worklog_memory) |
| 定期整理 | journal.py check --strict --lint;每月看一次 _inbox.md 与 lessons/ |

DSH 插件还提供:

- worklog_memory 工具:检索全局记忆、收发信箱、列会话。它只处理工作区之外的那一层; work_log/ 台账仍然用 journal.py 和普通文件工具,插件不替代它们。
- 记忆注入:经验层资源提示常驻(英文,与系统提示其余部分一致;含「该记就记」的写入提示);记忆索引进可缓存前缀;未读信箱只在有内容时尾注入。
- 配置卡片:技能开关、记忆开关与目录、诊断日志等;每个字段的归属与生效时机见 SETTINGS.md。

仓库结构

skills/project-work-log/ # vendored 技能副本(源在独立仓库 project-work-log) skills/client-require-whitelist/ # 随包技能:客户端 require 白名单检查(默认关着) lib/index.js # 宿主半边:技能 provider、记忆注入、worklog_memory、状态端点 lib/client.js # 浏览器半边:本 bundle 那一页的配置卡片 cordis.patch.yml # DSH bundle 补丁(启用 skill-filesystem、插入本包行) tools/sync-skill.mjs # 从独立技能仓库同步 vendored 副本(--check 门禁) tests/ # 17 支插件门禁(注册表契约、清单、技能同步、设置、客户端运行时…)
docs/ # 设计权威(why / worklog / settings / memory / goals) SETTINGS.md · RELEASING.md · PUBLISHING.md · CHANGELOG.md

独立性与设计边界

- 技能层不知道 DSH 存在。 它可以在没有 DSH 的环境单独跑;插件只是把它带进 DSH 的适配器。
- 写给模型看的工具只有一个 worklog_memory。 台账操作留在 CLI/文件层;这样没有插件的智能体仍然能读记录,插件不会变成「没有它就打不开台账」的第二套系统。
- 规则只有一个定义处。 写入、索引、lint 都在 journal.py;插件不重写格式,只做薄包装(例如 send 起 journal.py inbox put)。
- reliability-guidelines 已拆为独立技能(2026-10-18,0.9.3 起)。本包不再随包提供它,也不再提供 guidelinesEnabled / guidelinesLanguage / guidelinesDir 三个设置。
- 技能层已独立成库(2026-10-19):skill-only/ 无脚本变体、pi 安装面、路径/变异门禁都在 project-work-log 仓库;本包只保留 vendored 副本,不再维护这些内容。

完整的分层与依赖方向见 docs/plugin-spec.md。

验证

npm test # 技能层自测(vendored 副本:journal.py 全部命令 + 非编程场景 + 数据安全)
npm run test:plugin # 17 支插件门禁(含技能副本与独立仓库的同步检查)
npm run audit # 发版前审计(注册表 / 清单 / ESM / 安装面)
npm run sync:skill:check # 只查 vendored 副本是否与独立技能仓库一致

仓库门禁全绿不等于你的项目记录合格:项目自己的容器还要跑 journal.py check --strict --lint。门禁的判据、已知误报与渐进原则见 references/commands.md。

文档

- 设计权威:docs/ · 为什么做:docs/why.md
- 记录约定:references/conventions.md
- 命令与门禁:references/commands.md
- 全局记忆:docs/memory-spec.md
- 设置:SETTINGS.md · 发版:RELEASING.md
- 版本变化:CHANGELOG.md

版本与状态

本仓库(<https://github.com/IThinkItsaName/dsh-lore>)当前版本是 0.9.5(package.json);安装示例钉的是当前版本。发版与推送步骤见 RELEASING.md。

本仓库的约定、文档与脚本由 DeepSeek Flash 系列模型整理生成(未经人工逐条校验),使用时请自行甄别。曾用名 dsh-worklog(2026-09-30 改名);环境变量仍是 DSH_WORKLOG_*,技能名 project-work-log、工具名 worklog_memory 未变。

MIT,见 LICENSE。
预览分享卡片长什么样 ↓IThinkItsaName/dsh-lore
分享 · DeepSeek Harness Hub
IThinkItsaName/dsh-lore

给 AI 的长期工作记忆。…

回到顶部