eteced/memoplus4dsh ↗★ 1

memoplus4dsh

将分散笔记记忆统一为知识图谱并提供检索注入与记忆工具 适合希望持久化会话事实并按相关性自动注入上下文的用户。

包名
memoplus4dsh
兼容性
待验证
Cordis 依赖范围
*
版本
0.1.0
许可证
NOASSERTION
最近更新
2026年9月13日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

Configuration

Set under the plugin's config: in the profile's cordis.patch.yml:

KeyDefaultMeaning
extractionturn_endturn_end extracts facts after every completed turn; off disables extraction
injectiontrueInject top-k relevant memories at the first step of each turn
injectTopK8Max memories injected per turn
injectMaxChars2000Character cap for the injected memory block
injectMaxQueryChars4000Skip retrieval+injection for longer user messages (document dumps, not queries)
toolstrueRegister memory_search / memory_remember / memory_visualize / memory_status tools
progressBridgetrueBridge goal/todo/schedule/plan progress events into the memory graph (M8)
stateDeduptrueRetrieval keeps only the newest bridge state event per entity+family; history stays in the graph
embeddingtrueLocal ONNX embeddings; failure degrades to keyword-only retrieval
embeddingModelmultilingualmultilingual = distiluse-base-multilingual-cased-v2 (512-dim, ~135MB first-download, 50+ languages incl. Chinese); english = all-MiniLM-L6-v2 (384-dim, ~23MB). Switching re-embeds stored vectors lazily
embeddingBackendautoauto = harrier sidecar (microsoft/harrier-oss-v1-0.6b, 1024-dim, multilingual, ~10ms/text CPU) when its python env has sentence-transformers, else ONNX encoder; onnx / harrier to force. Query-side uses the model's trained instruction prompt
embedPython(nerPython or python3)Python executable for the harrier embedding sidecar
hfBaseUrlhttps://huggingface.coMirror base URL for the embedding model download
queryExpansiontrueLLM query expansion during retrieval + verbatim-quote query distillation for injection (1024-token/30s bounded calls, results cached on disk per query)
entityMergeLlmtrueLLM-adjudicated entity merge at extraction (embedding candidates + one bounded call per turn; only explicit sure merges)
supersedeLlmtrueLLM-adjudicated supersede detection (relation cardinality; older values marked supersededBy, history kept; re-mention guard + mark propagation)
nerAssisttrueNER candidate hints for extraction (detector chain: PyTorch sidecar → ONNX package → off)
nerPythonpython3Python executable for the NER sidecar (needs torch gliner stanza in that env; models auto-download on first use)

The plugin resolves python3 from the dsh process PATH — when dsh is launched from your shell it inherits that environment, so an interpreter that already has the packages works with zero configuration. If yours does not, scripts/setup-python.sh creates a dedicated venv (sentence-transformers + torch/gliner/stanza) and prints the exact nerPython / embedPython lines to paste into cordis.patch.yml. | dataDir | /memoplus4dsh | Plugin data directory (journal, snapshots, model cache, expansion cache) | | extractionProvider / extractionModel | session's own route | Override the model route used for extraction/expansion calls | | extractionMaxTokens | 8192 | Output cap for extraction calls (reasoning models need the headroom) | | extractionCallTimeoutMs | 120000 | Per-call timeout; a stalled endpoint fails fast into the retry queue | | extractionMaxRetries | 2 | Retries after the first attempt; the turn is then skipped and logged | | snapshotThreshold | 1000 | Journal ops between snapshot compactions |

Extraction consumes your configured model's API quota — set extraction: off to opt out.