starfishwrx
dsh-git-memory
Git-backed, reviewable long-term context for DeepSeek Harness.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
DSH Git Memory
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.bundlemanifest. - 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
/memory setupgathers basic profile, project, goal, preference, boundary, and consent information.- A confirmed onboarding draft becomes an auditable baseline commit.
- Normal DSH sessions generate bounded, redacted memory candidates.
- Review mode lets the user approve, edit, or reject candidates.
- Conservative automation can be enabled only after an initial trust period.
- 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.