🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

关系记忆 tynr426/dsh-relationship

DeepSeek Harness
tynr42636 天前有提交已提供中文文档扫描:含敏感能力

随口记录人际往来,确认后沉淀为可查的关系时间线

29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tynr426/dsh-relationship
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · chat
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
L4 · 真实安装等级说明 →
数据截至 2026/10/06·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 36 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 28 处,展示前 27 条)
  • 发起网络请求
    lib/index.js:112
    const upstream = http.request({ host: '127.0.0.1', port: state.port, path: targetPath + url.search, method: req.method, headers }, (uRes) => {
  • 发起网络请求
    public/app.js:236
    const res = await fetch(path.replace(/^ +/, ''), {
  • 发起网络请求
    public/app.js:283
    const res = await fetch(`/api/${endpoint}`, {
  • 写入剪贴板
    public/app.js:342
    await navigator.clipboard.writeText(prompt);
  • 写入剪贴板
    public/app.js:484
    await navigator.clipboard.writeText(prompt);
  • 写入剪贴板
    public/app.js:693
    await navigator.clipboard.writeText(text);
  • 写入剪贴板
    public/app.js:1900
    await navigator.clipboard.writeText(opt.command);
  • 发起网络请求
    public/app.js:2190
    const response = await fetch(`api/data/backups/${encodeURIComponent(id)}/download`);
  • 写入剪贴板
    public/app.js:2478
    navigator.clipboard.writeText(url)
  • 写入剪贴板
    public/app.js:2674
    try { await navigator.clipboard.writeText(url); toast('商品链接已复制,可粘贴到浏览器打开'); }
  • 发起网络请求
    server/ai-channel.js:149
    const connRes = await fetch(`${base}/api/v1/acp/connect`, {
  • 发起网络请求
    server/ai-channel.js:157
    const res = await fetch(`${base}/api/v1/acp`, {
  • 执行外部命令来自配置/变量
    server/data-safety.js:106
    const result = spawnSync(binary, args, { encoding: 'utf8', timeout: 60_000, maxBuffer: 1024 * 1024 });
  • 发起网络请求
    server/index.js:18
    const req = http.get({ host: '127.0.0.1', port, path: '/api/info', timeout: timeoutMs }, (res) => {
  • 发起网络请求
    server/mcp-stdio.js:23
    const req = http.request({
  • 写入本地文件
    server/relstore-bridge.js:58
    if ((statSync(file).mode & 0o111) === 0) chmodSync(file, 0o755);
  • 读取本地文件
    server/relstore-bridge.js:58
    if ((statSync(file).mode & 0o111) === 0) chmodSync(file, 0o755);
  • 执行外部命令固定命令
    server/relstore-bridge.js:65
    spawnSync('xattr', ['-d', 'com.apple.quarantine', file], { stdio: 'ignore', timeout: 3000 });
  • 读取本地文件
    server/relstore-bridge.js:74
    const hit = candidates().find((file) => existsSync(file));
  • 读取本地文件
    server/relstore-bridge.js:92
    return existsSync(bundledBin());
  • 执行外部命令来自配置/变量
    server/relstore-bridge.js:112
    const result = spawnSync(bin(), [...args, '--json', '--db', relstoreDbPath()], {
  • 执行外部命令来自配置/变量
    server/relstore-bridge.js:189
    execFile(executable, [...args, '--json', '--db', relstoreDbPath()], {
  • 读取本地文件
    server/store-facade.js:32
    size = existsSync(dbPath) ? statSync(dbPath).size : 0;
  • 读取本地文件
    server/store-facade.js:32
    size = existsSync(dbPath) ? statSync(dbPath).size : 0;
  • 发起网络请求
    server/wb-worker.js:236
    const connRes = await fetch(`${base}/api/v1/acp/connect`, {
  • 发起网络请求
    server/wb-worker.js:244
    const res = await fetch(`${base}/api/v1/acp`, {
  • 执行外部命令来自配置/变量
    server/wb-worker.js:339
    const child = spawn(ELECTRON, [CODEBUDDY, '--serve', '--session-id', sid,
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 记录人际往来
  • 确认后沉淀时间线
  • 素材溯源归档

本地优先的关系记忆工作台,面向 DeepSeek Harness:AI 写入全部经过确认门,素材溯源归档,记忆聚合出时间线、时机、回礼视图,零生产依赖

README

由 DeepSeek 最新模型翻译生成
dsh-relationship 关系记忆工作台 一个 DeepSeek Harness(DSH)本地插件:帮你以最低成本沉淀、整理和取用人际关系记忆。 核心体验: 1. 录入即说话——在 DSH 会话里随口说「记一下,小李女儿十月办婚礼」,AI 拆成结构化的待确认记忆实时上板。 2. 确认式入库——AI 只提取和建议,所有 AI 写入都是 待确认 状态;你逐条确认后才是长期记忆。 3. 整理归 AI——归类、去重、冲突标记由 AI 完成,你只做确认和删改。 4. 本地存储——数据保存在本机,不上传任何服务。 功能 - 联系人管理:关系类型、标签、生日(支持只记月日)。 - 待确认队列:AI 提取的候选记忆逐条确认 / 编辑 / 驳回,支持一键全部确认。 - 智能整理:记一笔弹窗切到「智能整理」可粘贴长文本/聊天记录,存档为素材后在 DSH 会话说「整理素材」,AI 拆成多条待确认记忆(保留原文溯源)。 - 联系人时间线:已确认记忆按人聚合,按类型筛选。 - 京东找同款(礼赠计划):关键词/热销榜搜京东商品,选中即生成官方 CPS 推广链接关联计划——不购买、不标已送;桌面端可复制链接或展示二维码,手机扫码直达京东下单(佣金归本链接),计划卡与首页时机提醒卡常驻「扫码买」入口。 - 手动记一笔:不经过 AI 的直接录入(即录即确认)。
展开完整文档(README 剩余 1 节)
dsh-relationship 关系记忆工作台

一个 DeepSeek Harness(DSH)本地插件:帮你以最低成本沉淀、整理和取用人际关系记忆。

核心体验:

1. 录入即说话——在 DSH 会话里随口说「记一下,小李女儿十月办婚礼」,AI 拆成结构化的待确认记忆实时上板。
2. 确认式入库——AI 只提取和建议,所有 AI 写入都是 待确认 状态;你逐条确认后才是长期记忆。
3. 整理归 AI——归类、去重、冲突标记由 AI 完成,你只做确认和删改。
4. 本地存储——数据保存在本机,不上传任何服务。

功能

- 联系人管理:关系类型、标签、生日(支持只记月日)。
- 待确认队列:AI 提取的候选记忆逐条确认 / 编辑 / 驳回,支持一键全部确认。
- 智能整理:记一笔弹窗切到「智能整理」可粘贴长文本/聊天记录,存档为素材后在 DSH 会话说「整理素材」,AI 拆成多条待确认记忆(保留原文溯源)。
- 联系人时间线:已确认记忆按人聚合,按类型筛选。
- 京东找同款(礼赠计划):关键词/热销榜搜京东商品,选中即生成官方 CPS 推广链接关联计划——不购买、不标已送;桌面端可复制链接或展示二维码,手机扫码直达京东下单(佣金归本链接),计划卡与首页时机提醒卡常驻「扫码买」入口。
- 手动记一笔:不经过 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 scripts/backup-dsh.sh # dsh 升级前备份 ~/.dsh 整树(Session 日志/preset/数据库)

独立运行

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_reject / memory_update / memory_search / timeline_get(确认入库没有 AI 工具,只能在工作台待确认队列点击确认)。

纪律: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

Apache-2.0
预览分享卡片长什么样 ↓tynr426/dsh-relationship
分享 · DeepSeek Harness Hub
tynr426/dsh-relationship

随口记录人际往来,确认后沉淀为可查的关系时间线

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部