DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

dsh-memory-hub

Memory Hub

A local memory helper for AI characters: remembers, sends between clients, connects to your own AI, and offers optional payment. Everything stays on your own computer.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:shenmingsolar-01/dsh-memory-hub#8d303294e3476daf2a6ecd3067272c810961acbf
READMECompatibilityVersions

Compatibility and provenance

Memory Hub is published as dsh-memory-hub and currently resolves to version 1.1.10. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/26/2026

Versions

1.1.10stable
10/26/2026
Show 2 more versionsCollapse versions
0.6.0-beprerelease
10/26/2026
0.2.10-beprerelease
10/26/2026

Related plugins

Loading related plugins…

Latest
1.1.10
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/27/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Experimental Session Search@deepseek-ai/dsh-experimental-session-searchGive Agents tools to search and read earlier sessions from the current workspace.Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Contextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek Harness

README

dsh-memory-hub

版本:1.1.10.3

多端 AI 角色的本机记忆助手:记得住、能收发、能接自己的 AI、可选支付,数据只留在自己电脑上。

English

A local memory helper for AI characters: remembers, sends between clients, connects to your own AI, and offers optional payment. Everything stays on your own computer.

这个包不含任何个人数据、账号、路径或聊天记录。 安装后只会保存安装者自己客户端写进来的数据。

它做什么(中文)

  • 记忆:按角色和客户端分开记;写之前自动备份,删错能恢复。
  • 收发:任何可接端口的聊天软件都能接入;Slack、Discord、Telegram、飞书、企业微信、LINE、Matrix 自动适配;按地区和语言发送;离线先存、上线再收,离线记忆能并回。
  • AI:你的 AI 能直接读写记忆;插件自动找本机和常用云端模型;选定后提供本地接口;也能用说话加自己的 API。
  • 支付:用于 Token 余额充值;按所在国家显示货币和付款方式,也能手动换国家;只给付款入口,不碰支付密码。
  • 本机:自动选端口,数据只存自己电脑;能接多少端、存多少条看本机;启动时有 2 秒科技风开场。
  • 边界:不统计、不收集,收集前先问你;可随时停用,停用不影响 AI;文字跟随系统语言。

What it does (English)

  • Memory: keeps each character and client separate; backs up before writing, so a mistaken delete can be restored.
  • Messaging: any chat app that can connect to a port works; Slack, Discord, Telegram, Feishu, WeCom, LINE and Matrix are auto-adapted; messages follow region and language; offline messages wait and arrive later, and offline memory is merged back.
  • AI: your AI reads and writes memory directly; the plugin finds local and common cloud models, then exposes a local endpoint once you pick one; custom APIs can be added by talking.
  • Payment: for topping up token balance; shows the local currency and methods by country, and you can switch country manually; it only gives a payment entry and never touches payment passwords.
  • Local: picks a free port and keeps data on your computer; how many clients and records fit depends on your machine; a 2-second tech splash plays at startup.
  • Boundaries: no statistics and no collection without asking you first; can be disabled anytime without affecting the AI; text follows the system language.

功能分类 / Feature Index

点分类名直接跳到对应功能说明。Click a category to jump to its section.

分类 / Category中文English
记忆按角色和客户端分开记,写入前备份,删错能恢复Separate memory, backup and restore
收发任意可接端口的聊天软件互通,离线先存Any chat app with a port, offline queue
AI 接入读写记忆、识别模型、绑定后提供本地接口Memory tools, model detection and binding
支付按国家显示货币和方式,也能手动选Country-aware currency and methods
本机运行自动端口、数据目录、端数和容量Auto port, local data, capacity
边界不统计、可停用、跟随语言No stats, disable, language

它不做什么

  • 不自带聊天机器人、桌宠或聊天客户端;
  • 不包含模型、不调用任何外部 AI 服务;
  • 不会上传数据到云端;
  • 不会自动读取你的其他插件数据。

端数与容量不设固定上下限

  • 角色名、来源名支持任意 Unicode,插件不限制角色/来源数量;
  • 客户端能接多少端,取决于安装者自己的模型和软件端口,插件不设白名单;
  • 同一个插件实例可以被任意多个本地客户端调用;
  • 容量默认有软上限,但都可配置,0 表示不限制:
config:
  historyLimit: 1000   # 每个来源保留条数,0 = 不限
  snapshotLimit: 100   # 快照份数,0 = 不限
  inboxLimit: 200      # 收件箱条数,0 = 不限
  outboxLimit: 200     # 发件箱条数,0 = 不限

实际能存多少只受安装者本机磁盘限制。

隐私与同意

这个插件默认:

  • 没有遥测,不统计安装量、不发送使用数据;
  • 联网跟模型绑定:没绑定模型前只探测本机服务,不查云端、不更新目录;绑定后才访问该模型和公开目录;
  • 数据只写安装者本机的 ~/.dsh/memory-hub.json 及其派生文件;
  • 不读取安装者的其他插件、聊天或账号,除非模型通过工具显式写入;
  • Outbox 只会在安装者配置了通道、并且主动调用时,才把消息发到该通道。

任何未来的数据收集都必须:

  1. 在代码和文档中明确说明收集什么;
  2. 由安装者显式开启;
  3. 涉及终端用户的数据时,还要取得用户本人同意;
  4. 默认保持关闭。

查看当前状态:

GET /privacy

返回 telemetry: false、collectsData: false、consentRequired: true,以及是否已同意。

安装即用,停用无感

装好后无需额外配置:

  • 本机服务自动选择可用端口,端口写入 <DSH_HOME>/memory-hub.port;
  • memory_hub_* 工具默认注册,安装者自己的模型可直接调用;
  • 默认角色 default、来源 model,不写任何人的真实身份;
  • 不主动读取聊天,只有模型调用工具时才写入。

不想用时,二选一:

# 1. 总开关
- id: memory-hub
  config:
    enabled: false
# 2. 直接停用插件行
- id: memory-hub
  disabled: true

停用后:

  • 不启动 HTTP 服务;
  • 不注册任何工具;
  • 不读写记忆文件;
  • 不影响安装者自己的模型运行。

安装

dsh plugin --profile <你的 profile> add <这个包的路径或 npm 包名>

重启该 profile 后生效。

配置

在 profile 的 cordis.patch.yml 加一条同名覆盖:

- id: memory-hub
  config:
    host: 127.0.0.1
    port: 0   # 0 = 自动选端口
    snapshotLimit: 100
    file: ""   # 默认 ~/.dsh/memory-hub.json

HTTP API

所有请求/响应均为 JSON,已开启 CORS。

健康检查

GET /health

一键跨端(Inbox + Outbox)

POST /cross
{
  "character": "assistant",
  "from": "chat-app",
  "to": "chat-channel",
  "text": "我到家了"
}

先写入收件箱,再按 to 投递到已配置通道;适合「一端说一句,另一端也收到」。

读取

GET /memory
GET /memory?character=assistant
GET /memory/backups?character=assistant

写入

POST /memory
{
  "character": "assistant",
  "source": "mobile",
  "history": [
    { "role": "user", "text": "在吗" },
    { "role": "assistant", "text": "在的,你好" }
  ]
}

重复消息会自动去重,不会重复写入。

删除(只删指定来源)

POST /memory/delete
{ "character": "assistant", "source": "mobile", "text": "要删掉的那句" }

也可以用 "at": 时间戳 精确定位。

恢复

POST /memory/restore
{ "character": "assistant", "source": "mobile" }

不带 snapshotAt 时恢复最近一份快照;带 snapshotAt 可恢复指定快照。

跨端收件箱(Inbox)

任意一端把消息写进收件箱,其他端轮询取走。适合「手机端收到消息,让电脑端角色回复」这类跨端投递。

写入

POST /inbox
{
  "character": "assistant",
  "from": "chat-app",
  "text": "我到家了"
}

可选 deliverTo:写入后同时投递到已配置的通道。

一键跨端(Inbox + Outbox)

POST /cross
{
  "character": "assistant",
  "from": "chat-app",
  "to": "chat-channel",
  "target": "mobile",
  "text": "我到家了"
}

先写入收件箱,再按 to 投递到已配置通道;target 可选,指定只有哪一端能取到这条消息。

读取

GET /inbox?character=assistant&since=0&client=mobile
  • since 之后的新消息才会返回,避免重复;
  • client 只取发给该端或未指定端(广播)的消息;
  • 不带 client 时返回全部。

客户端可以轮询这个接口做本地通知;插件本身不直接发系统通知。

收件箱与 Outbox 默认都不含任何地址、账号或数据。

跨通道发送(Outbox)

插件本身不内置任何聊天通道。你可以在配置里声明自己的本机 HTTP 通道,然后调用 /outbox 把消息投递过去。

任何能接 HTTP 端口的聊天软件都能接入;常见软件不用自己拼报文:

type适用
slackSlack Incoming Webhook
discordDiscord Webhook
telegramTelegram Bot API
feishu / lark飞书群机器人
wecom企业微信机器人
lineLINE Messaging API
matrixMatrix 客户端 API
generic任意自定义 HTTP 接口,默认
channels:
  team-slack:
    type: slack
    url: https://hooks.slack.com/services/...
  chat-telegram:
    type: telegram
    url: https://api.telegram.org/bot<TOKEN>/sendMessage
    chatId: '123456'
  local-app:
    type: generic
    url: http://127.0.0.1:9000/message
    body:
      text: '{{text}}'

GET /channels 可以查看已配置通道和可用适配器。

配置示例(你自己的 profile,不在本包内)

- id: memory-hub
  config:
    channels:
      team-chat:
        url: https://channel.example.invalid/hook
        body:
          who: your-character
          action: message
          text: '{{text}}'

{{text}}、{{character}}、{{channel}}、{{locale}} 会被替换。

发送

POST /outbox
{
  "channel": "team-chat",
  "character": "assistant",
  "text": "晚上好,记得吃饭"
}

插件会用配置里的 url、method、headers、body 发起请求,并返回目标的状态码和响应片段。

查看最近投递

GET /outbox

返回最近 50 条投递记录(成功/失败都会记录)。

默认 channels: {},不带任何地址、账号或 ID。

离线来源并回

断线时可以先写入独立来源(例如 offline),恢复后合并回正常来源:

POST /memory/flush
{
  "character": "assistant",
  "from": "offline",
  "to": "default"
}

返回 { "ok": true, "added": N };合并会去重,成功后清空 from 来源,并保留快照。

也可以在配置里声明启动时自动并回:

- id: memory-hub
  config:
    flush:
      - character: assistant
        from: offline
        to: default

默认 flush: [],不会自动处理任何来源,也不含任何外部数据。

支付配置(Token 余额充值,可选)

支付用于给 AI 服务的 Token 余额充值。插件只保存支付入口配置,不处理支付凭证。

支付方式、货币和付款界面跟随安装者所在国家/地区自动切换,GET /payment 会返回:

  • region.country:识别到的地区;
  • region.currency:当地货币;
  • region.methods:当地常用支付方式;
  • region.locale:付款界面语言。

支持 CN、HK、TW、US、CA、GB、EU、JP、KR、SG、AU、IN、AE、BR;也可以用 payment.region 强制指定,或用 payment.regions 覆盖货币和方式。

创建支付意图时会把 amount、currency、method、region 带进支付地址,付款界面可按地区渲染。

- id: memory-hub
  config:
    payment:
      enabled: true
      provider: auto
      checkoutUrl: https://your-provider.example/top_up
      currency: ''   # 留空则使用地区货币
      presets: [10, 20, 50, 100, 300, 500]

默认 enabled: false、checkoutUrl: '',不含任何商户号或账号。

读取配置

GET /payment

创建支付意图

POST /payment/intent
{ "amount": 50, "target": "mobile" }

返回金额、币种、支付方式和带金额参数的支付地址;只记录本地意图,不发起扣款。

查看意图

GET /payment/intents

选择地区与支付方式

GET /payment/regions
POST /payment/region
{ "region": "US", "method": "card" }
  • 不选时自动跟随系统地区;
  • 选了以后写入安装者本机设置,重启仍保留;
  • 传 "region": "AUTO" 可恢复自动;
  • 支付意图也可以临时指定:
{ "amount": 20, "region": "JP", "method": "paypay" }

如果该方法在当地不可用,会返回 400,不会生成错误入口。

模型自动写入(Tools)

安装者自己的模型可以直接调用这些工具,把数据写进安装者本机的记忆中枢:

  • memory_hub_write:写入一条或一批消息;
  • memory_hub_read:读取指定角色/来源的最近记忆;
  • memory_hub_delete:删除某来源的一条记录;
  • memory_hub_flush:把离线来源并回正常来源;
  • memory_hub_payment_intent:按配置生成支付意图。

配置:

- id: memory-hub
  config:
    tools: true
    defaultCharacter: default
    defaultSource: model

默认 tools: true,但角色和来源都是通用名,不含任何人的数据;模型写入的内容只存在安装者自己的 ~/.dsh/memory-hub.json。

模型适配(通用)

记忆工具本身不依赖某一家模型。联网只发生在绑定模型之后:没绑定时只探测本机服务,不查云端、不更新目录;绑定后才访问该模型和公开目录。rnrn插件会探测本机常见的 AI 服务:

  • Ollama:127.0.0.1:11434
  • LM Studio:127.0.0.1:1234
  • vLLM / 其他 OpenAI 兼容服务:127.0.0.1:8000、8080、5000

同时识别主流云端厂商,只有安装者自己配置了对应 Key 时才查询,否则只返回模型目录:

  • OpenAI、Anthropic Claude、Google Gemini、DeepSeek
  • OpenRouter、Groq、Mistral、xAI Grok
  • 通义千问、智谱 GLM、月之暗面 Kimi、硅基流动、MiniMax

GET /models 会返回厂商、协议、地址和可用模型列表。厂商目录每天最多刷新一次,新增软件和模型会写入本机缓存,不用等插件升级;POST /models/refresh 可手动刷新。

也可以手动登记:

models:
  - name: local-ollama
    baseUrl: http://127.0.0.1:11434
    protocol: ollama
  - name: my-openai-compatible
    baseUrl: http://127.0.0.1:9000
    apiKeyEnv: MY_MODEL_KEY
    protocol: openai

接口:

GET /models
POST /models/probe
{ "baseUrl": "http://127.0.0.1:11434" }

只探测模型列表,不发送记忆内容、不上传数据。

没有开放 API 的桌面 AI 软件无法直接适配,需要它的客户端主动调用本插件的 HTTP 接口或模型工具。

对话配置(无设置按键)

没有设置页面,也没有按钮。安装者直接和自己的 AI 说话:

把默认角色改成 role-a
默认来源用 client-x
模型地址是 https://model.example.invalid/v1
支付地址换成 https://pay.example.invalid/checkout,档位 10,20,50

也可以添加自己的 API:

接口名称=my-api
接口地址=https://api.example.invalid/v1
接口密钥环境变量=MY_API_KEY
接口模型=my-model
绑定接口=是

接口密钥环境变量 只保存变量名,不保存密钥本身;密钥放在安装者自己的环境变量里。

模型调用 memory_hub_configure,从原话里识别键值并写入:

<DSH_HOME>/memory-hub-settings.json

规则:

  • 支持任意语言;
  • 同一个键再次配置会覆盖旧值,不追加;
  • 没识别到的内容不会写;
  • 不读取聊天,不自动弹窗,不影响 AI 软件主界面。

绑定模型与转发

安装者选定自己的 AI 软件或模型后,插件提供本地 OpenAI 兼容地址:

POST /bind
{ "providerId": "auto", "model": "可选模型名" }

也可以指定厂商或自定义地址:

{ "providerId": "ollama", "model": "qwen3" }
{ "baseUrl": "http://127.0.0.1:9000/v1", "model": "local-model", "force": true }

绑定后:

GET /bind
GET /v1/models
POST /v1/chat/completions

/v1/chat/completions 会把请求转发到绑定端点,只支持 OpenAI 兼容或 Ollama 协议;Anthropic、Gemini 原生协议需要各自客户端。

模型工具 memory_hub_bind 也能让 AI 用对话完成绑定。

语言适配

插件文字跟随安装者系统语言或请求的 Accept-Language,支持:

zh en es fr de ja ko pt ru ar
  • 提示、错误、付款界面元数据会本地化;
  • 对话配置支持这些语言的常见说法,例如 rol、source、paiement、支払い;
  • 内部字段名和已有数据不改,切换语言不会让配置失效;
  • 想固定语言可设 language: zh,默认 auto。
GET /locale

启动画面

插件加载后显示约 2 秒科技风开场:

  • 上方:简约鲸鱼绕地球;
  • 中间:世界通 / WORLD LINK,中上英下;
  • 下方:致力于全球 AI 通信 / Dedicated to global AI communication,中上英下。

Windows 下用 Edge 无边框窗口自动打开,2 秒后自动关闭。其他系统可以直接访问:

GET /splash

不需要开场时设:

splash: false

数据格式

{
  "version": 2,
  "characters": {
    "assistant": {
      "sources": {
        "app": { "history": [], "updatedAt": 0 },
        "pc": { "history": [], "updatedAt": 0 },
        "mobile": { "history": [], "updatedAt": 0 }
      },
      "snapshots": []
    }
  }
}

接入建议

插件只认端口,不认品牌,也没有内置任何私有聊天软件的数据。

  • 任何能发 HTTP 请求的公共聊天软件都可以接入,消息写入时用软件名作 source,例如 slack、telegram、line;
  • 常见软件直接用内置适配器:Slack、Discord、Telegram、飞书、企业微信、LINE、Matrix;
  • 客户端回复前读取最近 N 条,作为跨端共同记忆;
  • 离线端重新上线时先拉 /inbox,再继续写入;
  • 不同地区发送时带 {{locale}},由各自软件按当地语言展示。

公共 Webhook、Bot API、Matrix 客户端 API 都只需要安装者自己的地址和 Token,不依赖任何作者的私有服务。

已知限制

  • 只做本机 HTTP 存储,多设备同步需要你自己加隧道或中转;
  • 快照是整份来源的副本,不做逐条版本树;
  • 没有鉴权,默认只监听本机;如果要监听局域网,请自行加防火墙/反代和鉴权。

License

MIT