starfishwrx/dsh-git-memory

基于Git的、可审阅的DeepSeek Harness长期上下文。

项目介绍Project Overview

DSH Git Memory 是面向 DeepSeek Harness 的 Git 化长期上下文插件,目标是让每次受控记忆写入对应一次可审查、可回滚的提交。当前为预 alpha 兼容验证版,仅注册动态上下文、提供 /memory status 与只读 memory_status,并记录聚合事件计数。适合验证 DSH 集成接缝或观察插件状态;注意它目前不存储用户记忆、不持久化会话内容,也未发布到 npm。

DSH Git Memory is a DeepSeek Harness plugin for Git-backed, reviewable long-term context, designed so each controlled memory transaction becomes a diffable, revertible commit. The pre-alpha compatibility spike currently registers dynamic context, provides /memory status and read-only memory_status, and records only aggregate event counts. Use it to validate DSH integration seams or inspect plugin status. It does not yet store user memory, persist transcripts, or publish to npm.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:starfishwrx/dsh-git-memory

starfishwrx/dsh-git-memory 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

DSH Git Memory

CI License: MIT

Git-backed, reviewable long-term context for DeepSeek Harness.

Status: compatibility spike / pre-alpha. The current release proves the DSH integration seams and deliberately does not store user memory yet.

Product direction

DSH Git Memory is being built around one trust invariant:

One controlled memory transaction equals one Git commit.

The intended product gives DeepSeek Harness useful context on day one, then accumulates source-backed memory during normal use. Accepted memory stays local, diffable, reviewable, and revertible.

What works today

  • Installable DSH bundle with a dsh.bundle manifest.
  • Stable dynamic context registered through ctx.systemPrompt.context().
  • Metadata-only observation of session/event.
  • A direct human command: /memory status.
  • A read-only model tool: memory_status.
  • Windows and Ubuntu CI.
  • No transcript persistence, no background model calls, and no memory writes.

The spike records only aggregate event counts and timestamps in process memory. It never retains message or tool-result content.

Quick start from source

Prerequisites:

  • Node.js 24 or newer.
  • pnpm 11.
  • DeepSeek Harness 0.1.0-rc.6.
git clone https://github.com/starfishwrx/dsh-git-memory.git
cd dsh-git-memory
pnpm install
pnpm verify
dsh plugin --profile web add .
dsh --profile web --dump-config

Start the Web profile, then run:

/memory status

The model can also call:

memory_status

This package has not been published to npm yet. GitHub dependency installs run the package's prepare build and therefore require explicit pnpm allowBuilds permission. Pin a commit when testing a source install.

Planned user experience

  1. /memory setup gathers basic profile, project, goal, preference, boundary, and consent information.
  2. A confirmed onboarding draft becomes an auditable baseline commit.
  3. Normal DSH sessions generate bounded, redacted memory candidates.
  4. Review mode lets the user approve, edit, or reject candidates.
  5. Conservative automation can be enabled only after an initial trust period.
  6. DSH receives a bounded dynamic context snapshot; detailed recall uses memory_search.

See the roadmap and architecture for the delivery plan.

Safety posture

  • Managed repositories will live under $DSH_HOME/git-memory, not inside a user's source repository.
  • Memory tools will not accept arbitrary filesystem destinations.
  • Sensitive values such as credentials, private keys, cookies, and tokens are hard-denied.
  • Raw session transcripts are not copied into the memory Git history.
  • Git remotes, pushing, and writes outside managed repositories are disabled by default.
  • Model-inferred observations can never silently become global user policy.

Read PRIVACY.md, THREAT_MODEL.md, and the target data model before contributing storage code.

Development

pnpm install
pnpm typecheck
pnpm test
pnpm build

pnpm verify runs the stable CI checks. Maintainers with DSH installed can set DSH_BIN to the absolute path of DSH's lib/bin.js and run pnpm smoke:dsh. The smoke script installs the built bundle into a disposable profile, boots DSH on an ephemeral port, checks the Web response, and cleans up.

The only module allowed to depend directly on unstable DSH APIs in future releases is the DSH adapter layer. The compatibility spike is intentionally small while that boundary is proven.

Compatibility

The current tested line is DeepSeek Harness 0.1.0-rc.6 on Node.js 24. DSH is evolving quickly, so plugin and Harness versions are deliberately pinned. See COMPATIBILITY.md.

Contributing

Issues and focused pull requests are welcome. Please read CONTRIBUTING.md. Never use real transcripts, credentials, personal paths, or private user context in fixtures.

License

MIT. See LICENSE.

上一个 Prev chat2skill 下一个 Next dsh-deepseek-usage