liuqingman/dsh-somni ↗★ 0

dsh-somni

Sleep-consolidated memory for DeepSeek Harness: resident identity + intentions, action-time associative recall, episodic / semantic / prospective memory, and dream-time consolidation via a Python sidecar. 适合需要长期记忆和情境关联的用户,通过Python端侧实现记忆整合。

Package
dsh-somni
Compatibility
Unverified
Harness peer range
^0.2.0-rc.1
Cordis peer range
^4.0.4
Version
0.1.0
License
MIT
Last updated
Sep 30, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:liuqingman/dsh-somni

Configuration

KeyDefaultMeaning
dataDir/somnimemory/, skills/, models/ live here
pythonpython3Interpreter for the sidecar
capture.enabled / maxMessageCharstrue / 4000Write session-logs; per-message cap
inject.identity / intentions / disciplinetrueResident prompt sections (orders 100 / 130 / 1200)
assoc.enabled / preStep / postExecutetrueAssociative hints on the latest message / after tool calls
assoc.threshold / gap / maxItems0.52 / 0.04 / 2Confidence gate
tools.enabledtrueRegister the memory tools (+ dream_now)
dream.enabledtrueScheduled consolidation
dream.idleMs / maxIntervalMs / minPendingLogs15 min / 6 h / 1Start after this much quiet, or at least this often while idle
dream.llmhosthost = harness model via ctx.llm; openai = sidecar calls an OpenAI-compatible API (dream.openai.{baseUrl,apiKeyEnv,model})
dream.maxIterations60ReAct step cap per dream
embed.providerlocallocal (ONNX) · http (OpenAI-compatible /embeddings, embed.baseUrl) · off
logLevelinfoSidecar log level (forwarded to the harness logger)

Dreams are preemptible: if any agent starts a turn mid-dream the sidecar is told to stop, so the user never waits on consolidation. The dream_now tool forces one from the conversation.