Local relationship-memory workbench with a confirmation gate: every AI write — extracted memories and newly created contacts alike — lands in a pending queue until the user confirms it in the GUI; materials are archived verbatim with quote-level provenance checks on AI extraction, and confirmed memories aggregate into per-contact timelines, gift occasions and reciprocity views. Ships a native relationship agent preset for conversation capture; JSON storage by default with an optional SQLite backend, zero production dependencies.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:tynr426/dsh-relationship
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
一个 DeepSeek Harness(DSH)本地插件:帮你以最低成本沉淀、整理和取用人际关系记忆。
核心体验:
- 录入即说话——在 DSH 会话里随口说「记一下,小李女儿十月办婚礼」,AI 拆成结构化的待确认记忆实时上板。
- 确认式入库——AI 只提取和建议,所有 AI 写入都是
待确认状态;你逐条确认后才是长期记忆。 - 整理归 AI——归类、去重、冲突标记由 AI 完成,你只做确认和删改。
- 本地存储——数据保存在本机,不上传任何服务。
功能
- 联系人管理:关系类型、标签、生日(支持只记月日)。
- 待确认队列:AI 提取的候选记忆逐条确认 / 编辑 / 驳回,支持一键全部确认。
- 智能整理:记一笔弹窗切到「智能整理」可粘贴长文本/聊天记录,存档为素材后在 DSH 会话说「整理素材」,AI 拆成多条待确认记忆(保留原文溯源)。
- 联系人时间线:已确认记忆按人聚合,按类型筛选。
- 手动记一笔:不经过 AI 的直接录入(即录即确认)。
- relationship preset:绑定 DSH 原生会话的「关系记忆」AI 行为。
- 双存储后端:默认零依赖 JSON 文件存储;可选 rust 实现的 SQLite 后端(
npm run build:relstore编译,无二进制时自动回退 JSON)。
使用方式
作为 DSH 插件
安装 dsh-relationship 插件包后,GUI 侧边栏出现「关系记忆」入口;数据存于 ~/.dsh/dsh-relationship。DSH 会话中选择「关系记忆」preset(或经安装脚本安装)即可对话录入:
dsh plugin --profile web add tynr426/dsh-relationship # 从 GitHub 安装插件
scripts/install-relationship-preset.sh # 安装 preset 到 ~/.dsh/.agent-presets/relationship
独立运行
npm start # http://127.0.0.1:8901(数据存于 ./data)
独立模式下可浏览和手动录入;AI 对话录入请在 DSH 内使用。
AI 接入(面向 agent)
工作台所有业务操作都是 REST API;DSH 会话内推荐统一走工具入口:
curl -X POST http://127.0.0.1:8901/api/tools -H 'content-type: application/json' \
-d '{"name":"memory_add","args":{"contactId":"c_xxxx","type":"event","content":"女儿十月办婚礼"}}'
可用工具:contact_search / contact_add / contact_update / memory_add / memory_batch_add / memory_confirm / memory_reject / memory_update / memory_search / timeline_get。
纪律:AI 写入只产生待确认记忆;录入前先 contact_search 防止建重;生成祝福/礼物建议前先 memory_search。
开发
npm install # 安装测试依赖(@playwright/test)
npm run test:unit # 单元 + API 测试
npm run test:e2e # 需先 npx playwright install chromium
npm test
详见 AGENTS.md。
License
Links
More in this category
volcengine/OpenViking#examples/dsh-memory-plugin★ 38104
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
vectorize-io/hindsight#coding-agents★ 23965
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
agentscope-ai/ReMe#dsh★ 3489
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2626
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 871
Reads the session files twenty-two other coding agents on this machine already wrote — Claude Code, Codex, Cursor, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Cline, Zed and more — including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
adoresever/graph-memory★ 626
Traceable, searchable cross-session memory for DeepSeek Harness — conversation knowledge as typed graph nodes (TASK/SKILL/EVENT) and typed edges.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.