npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-remember

v0.2.0

Published

Cross-session long-term memory for the DeepSeek Harness: a two-phase extraction/consolidation pipeline over a file-based memory workspace, recall injection, a citation feedback loop, lease-based job semantics, plus a settings page, a sidebar status panel

Readme

dsh-remember

ci npm license

English

DeepSeek Harness(dsh)的跨会话长期记忆插件。

它在你不使用的时候回顾最近的会话,把里面有价值的经验提炼成一套普通的 Markdown 文件;之后的每一次对话,模型都会带着这份记忆的摘要工作,需要细节时自己去 grep 原文。

没有向量库、没有外部服务,记忆就是 ~/.dsh-memory/ 下可以直接打开、搜索、用 git 管理的文件。

特性

  • 自动提取:空闲会话在后台被扫描、脱敏、提炼,全程无需干预
  • 自动整理:新经验被增量合并进记忆文件,过时、无人引用的内容自动淘汰
  • 自动召回:每次对话注入记忆摘要(可配置 token 上限),模型按需检索
  • 可读可控:侧栏状态面板、记忆浏览页、设置页,随时查看和暂停
  • 多语言:记忆可一键翻译,增量缓存,改一行只重翻一段
  • 可迁移:gzip bundle 导出 / 导入,按内容哈希去重合并

截图

侧栏底部的记忆入口,点开是状态面板。

记忆浏览页:概览(统计、最常引用、记录)、摘要、注册表。

安装

从 npm 安装:

dsh plugin --profile <name> add dsh-remember

从源码安装:

git clone https://github.com/Arborsm/dsh-remember.git
cd dsh-remember
pnpm install && pnpm build
dsh plugin --profile <name> add .

安装后重启 dsh web。开发期也可以不安装,直接从工作区加载(在 dsh checkout 根目录执行):

pnpm dsh web --patch <path/to>/dsh-remember/cordis.dev.yml

注意 --patch 要写在 --port 前面,否则 commander 报 unknown option '--patch'。

配置

所有字段都有默认值,装上即用。覆盖方式:cordis.yml 或 dev overlay 的 config: 块,字段定义见 src/config.ts。

常用项:

| 字段 | 默认 | 说明 | |---|---|---| | enabled | true | 总开关 | | generateMemories | true | 是否自动提取与整理 | | useMemories | true | 是否向对话注入记忆摘要 | | extractModel / consolidationModel | '' | provider/model,空 = 跟随默认模型 | | workspaceDir / dbPath | '' | 空 = ~/.dsh-memory/ 下 | | summaryTokenLimit | 2500 | 注入摘要的 token 上限 | | scanIntervalMinutes | 15 | 后台扫描间隔 | | minRolloutIdleHours | 1 | 会话静置多久才可提取 | | maxUnusedDays | 30 | 无人引用的记忆保留天数 |

完整字段(调度、重试、并发、整理器工具黑名单等)共 23 项,见 src/config.ts,均可在设置页图形化修改。

记忆文件

~/.dsh-memory/
├── memories/                  # git 工作区
│   ├── MEMORY.md              # 注册表:所有记忆的索引
│   ├── memory_summary.md      # 注入对话的摘要
│   ├── rollout_summaries/     # 每条记忆的来源证据
│   ├── skills/                # 沉淀下来的技能
│   └── …                      # 译文、临时笔记等
└── memories.sqlite            # 提取队列与作业状态

开发

pnpm build        # 构建(tsdown,宿主 + 浏览器两个 bundle)
pnpm typecheck    # tsc --noEmit
pnpm test         # node --test
pnpm shots        # 重新生成上面这些截图(夹具 + 无头 Chrome)

仓库结构、约定与调试方法见 AGENT.md。