DeepSeek Harness 插件

dsh-claude-mem

A DeepSeek Harness plugin that integrates claude-mem: query, context injection, manual save, and session lifecycle over a local claude-mem worker's HTTP API(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Bleed00/dsh-claude-mem
最近更新
2026年8月14日
分类
记忆
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Bleed00/dsh-claude-mem
插件名:dsh-claude-mem
作者:Bleed00

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-claude-mem

A DeepSeek Harness plugin that integrates claude-mem: query persisted cross-session memory, inject per-project context at session start, save manual memories, and drive session summarization — all through a local claude-mem worker's HTTP API.

![npm](https://www.npmjs.com/package/@bleed00/dsh-claude-mem) ![npm downloads](https://www.npmjs.com/package/@bleed00/dsh-claude-mem) ![GitHub](https://github.com/Bleed00/dsh-claude-mem) ![CI](https://github.com/Bleed00/dsh-claude-mem/actions/workflows/ci.yml) ![License](LICENSE) ![TypeScript](https://www.typescriptlang.org/) ![Node.js](https://nodejs.org/) ![DeepSeek Harness](https://github.com/deepseek-ai) ![dsh-plugin](https://github.com/topics/dsh-plugin)

It registers the model-facing tools mem_search, mem_timeline, mem_get_observations, mem_save, and mem_context, the mem-search skill, and the lifecycle hooks (agent/session-start context injection, optional tools/post-execute ingestion, optional agent/turn-stopping summarization). It is a single self-contained package with no monorepo-only dependencies.

Install

One-liner with npx (no global install — npx fetches the dsh launcher and dsh plugin forwards add to pnpm in the target profile):

npx -y @deepseek-ai/dsh plugin --profile demo add @bleed00/dsh-claude-mem

If you already have dsh on PATH, the same command without npx:

dsh plugin --profile demo add @bleed00/dsh-claude-mem

npm (recommended — ships prebuilt lib/, no build permission needed):

npx -y @deepseek-ai/dsh plugin --profile demo add @bleed00/dsh-claude-mem

GitHub (sources; runs a prepare build on first install):

npx -y @deepseek-ai/dsh plugin --profile demo add github:Bleed00/dsh-claude-mem

A GitHub install fetches sources, not build output, so pnpm runs this package's prepare script to build from src/. pnpm ≥10 refuses to run a git dependency's prepare until it is allowlisted; the first add fails and points at the fix — copy the exact package key pnpm printed into the profile's pnpm-workspace.yaml:

allowBuilds:
  '@bleed00/dsh-claude-mem': true

then re-run the add. Treat that allowance as permission to run this package's code at install time; pin a commit for reproducible installs:

dsh plugin --profile demo add github:Bleed00/dsh-claude-mem#<sha>

Local checkout:

dsh plugin --profile demo add ./dsh-claude-mem

Requirements

  • A DeepSeek Harness installation with dsh on PATH.
  • The claude-mem worker already running on its default port (http://127.0.0.1:37700). Override with the baseUrl config or the DSH_MEM_BASE_URL environment variable.

Config

FieldDefaultDescription
baseUrlhttp://127.0.0.1:<37700 + uid % 100>Worker base URL.
timeoutMs30000Per-request timeout (ms).
dedupetrueCollapse duplicate observations in query results (content fingerprint, never identity).
platformSourceunsetOptional platform filter; omitted = search all memory.
projectunsetProject name; defaults to the session cwd basename.
injectContexttrueInject session-start context.
ingestfalseSave observed tool results as memories.
summarizefalseSummarize sessions on turn stop.
toolFilter.namesread, write, edit, bashTools observed when ingest is true.

Platform scoping is a signal, never a restriction: default requests are unfiltered, and platformSource only adds an opt-in filter.

Duplicate handling

The worker can persist the same observation many times (a boilerplate "session initiated" record, or a re-run tool result) — identical content, different id. With dedupe: true (the default), query results collapse those copies: an observation's content fingerprint is built from title + subtitle + text + narrative + facts (normalized), so two entries that merely share a generated title but differ in narrative are kept. The first copy (lowest id) is retained. Structured results (mem_get_observations) are deduplicated by fingerprint; rendered index/text results are deduplicated by exact rendered row. Set dedupe: false to see the raw, unfiltered results.

Example override in the profile's cordis.patch.yml

- id: claude-mem
  config:
    baseUrl: http://127.0.0.1:37700
    platformSource: dsh
    ingest: true
    summarize: true

Tools

ToolPurpose
mem_searchSearch memory; returns an index (ids, titles, types).
mem_timelineGet context around one observation.
mem_get_observationsFetch full details for ids.
mem_saveSave one manual memory.
mem_contextRender the worker's session-start context text.

The mem-search skill teaches the model the search → filter → fetch workflow that keeps token usage low.

Development

pnpm install
pnpm run build   # tsc + tsdown → lib/index.js
pnpm test

The package targets Node ≥ 20.12, TypeScript 6.0, and is authored against the @deepseek-ai/* framework packages (cordis, schemastery, dsh-tools, dsh-llm, dsh-skill, dsh-agent).

License

[Apache-2.0](LICENSE) © Bleed00