haitang1/dsh-memory ↗★ 2

@dsh-external/dsh-memory

Codex-like persistent memory for DeepSeek Harness: auto-injected memory summary, raw memory tools, and per-session rollout summaries distilled into a bounded global memory file. 适合需要跨会话持久化记忆、自动注入记忆摘要及版本回滚功能的深度用户。

패키지
@dsh-external/dsh-memory
호환성
미검증
Harness peer 범위
^0.1.7-rc.1 || ^0.2.0-rc.1
Cordis peer 범위
^4.0.1
버전
0.5.0
라이선스
MIT
최근 업데이트
2026. 9. 30.

같은 패키지 이름의 다른 저장소

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:haitang1/dsh-memory

Configuration

KeyDefaultDescription
memoryDir$DSH_HOME/memoriesMemory directory (empty = default).
maxBytes16000Byte budget of the injected summary (and of the summary file itself).
injectTokens0Estimated-token cap for the injected summary; 0 leaves the byte budget in charge. CJK text counts about one token per character, Latin about a quarter.
consolidateMaxBytes40000Byte budget of the consolidation input sent to the merge model.
keepSummaryVersions20Previous summary versions retained for memory_rollback (0 disables history).
rawArchiveMaxBytes200000Active raw file byte budget; oldest entries move to archive/ beyond it.
autoSummarizetrueDistill finished turns into rollout summaries.
summarizeProvider / summarizeModelselected agent modelModel used for summarization.
summarizeDebounceMs300000Minimum interval between summarizations of the same session (0 disables the debounce).
consolidateEvery3Rollout summaries written before re-consolidating the global summary.
summaryMaxTokens1500Max output tokens for turn summarization.
consolidateMaxTokens8192Max output tokens for summary consolidation. Values below the floor a maxBytes-sized summary needs are lifted at runtime and reported in memory_stats.configAlerts.
llmRetries1Retries after a transient LLM failure.
maxActiveSummaries4Maximum concurrent turn summarizations before new jobs are dropped.
scopedMemoryfalseEnable per-workspace memory scopes.
captureSubagentstrueKeep a bounded excerpt (2000 chars) of each settled subagent's final answer as a rollout block. Capturing costs one file append — the periodic consolidation distills it, so no extra LLM call is made.
redactSecretstrueRedact credential-looking text from injected summaries.
readOnlyScopes[]Scope keys whose write tools are blocked (global, exact ws-*/project-* keys, or * for all).
embeddingBaseURL / embeddingApiKey / embeddingModelemptyOpenAI-compatible /embeddings endpoint for vector:true; empty uses local hashed vectors.
scopeMaxBytes2400Injected byte budget for the workspace summary when scopedMemory is enabled.
seedFromAgentsMdtrueSeed the first summary from $DSH_HOME/AGENTS.md.

The Web settings form (see below) edits every config field live; keys are likewise overridable through the loader row or the memory: section of settings.yaml. Settings resolve as schema defaults → composition base → user layer, and the user layer wins, so the form persists only the fields you changed and a field saved back at its default drops its user-layer entry instead of pinning the default. See Upgrade notes.