Amengclass / dsh-memory

목록에 있음

Persistent, model-editable memory/notes store for DeepSeek Harness. Adds memory_set/get/delete/search tools backed by ctx.storageDomain so facts survive across sessions (dsh-plugin).

main모델도구세션 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:Amengclass/dsh-memory

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 138979e동기화 2026. 8. 18.

dsh-memory

English | 中文

A persistent, model-editable memory/notes store for DeepSeek Harness. It gives the agent a first-class way to durably write, fetch, and search "facts it wants to remember" that survive across sessions — something conversation-history search, todo_write, settings, and static skill docs do not cover.

It is a community dsh-plugin: an installable Cordis bundle shipping as plain ESM JavaScript (index.js + index.d.ts), so it installs from a git host or npm with no build step.

Records live in one storage domain (dsh_memory) routed through the built-in ctx.storageDomain seam — not hand-rolled files — so they persist under the deployment's configured backend (json/sqlite) and emit domain/changed for live UIs.

Why it is not redundant

Existing capabilityDifference from dsh-memory
session_search / session_event_*Only read past conversation; cannot store durable facts
todo_writeTask-status tracking, not knowledge
settings / credentialsOperator config, not agent-mutable knowledge
skillsStatic docs; the model cannot write to them
goal / scheduleObjectives / reminders, not a knowledge store
MCP memory serverRequires an external server/account; this is a lightweight built-in

Tools

ToolPurpose
memory_setDurably upsert a fact/note under a stable key (with optional tags).
memory_getRead one entry by key, or list all when the key is omitted.
memory_deleteDelete an entry by key (idempotent).
memory_searchCase-insensitive substring search over key/value/tags, filterable by required tags.

Example

user:  From now on, don't touch public/ in this project.
model: memory_set key="project/convention" value="Do not modify public/" tags=["project","rule"]
      → [memory] saved "project/convention" (2 tags)

(next session)
user:  Continue on that project.
model: memory_get key="project/convention"  → "Do not modify public/" → works accordingly

Install

Install into a Harness profile. From a checkout:

dsh plugin --profile web add ./dsh-memory

or from this repository (no build step required — the package ships JavaScript):

dsh plugin --profile web add github:Amengclass/dsh-memory

The storage backend is provided by your deployment (web profiles mount @deepseek-ai/dsh-storage-json with backend: json by default). This plugin only declares a storage domain, so no backend changes are needed.

Configuration

Schemastery-validated config, overridable from your profile patch:

KeyDefaultMeaning
domainNamedsh_memoryName of the storage domain (must match /^[a-z][a-z0-9_]*$/).
maxItems1000Hard cap on stored entries.
maxKeyLength120Max key length; longer keys are rejected.
maxValueLength10000Max stored value length; longer values are rejected.
- insert:
    - id: dsh-memory
      config:
        maxItems: 500

Dependencies & license

  • Runtime peer dependencies (provided by the harness's own node_modules): @deepseek-ai/dsh-storage-domain, @deepseek-ai/dsh-tools, @deepseek-ai/schemastery, zod.
  • No runtime build toolchain; no Node addons.
  • MIT licensed — see LICENSE.

Contributing / topic

Published under the dsh-plugin GitHub topic. PRs and issues welcome.

저장소 정보

언어
JavaScript
라이선스
MIT
마지막 업데이트
2026. 8. 14. 오전 1:41

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.