DeepSHPlugins
dsh-discord-richpresence 项目预览
GITHUB / COMMUNITY PROJECT

dsh-discord-richpresence

工具与集成JavaScriptMIT

将模糊或丰富的 DSH 交互状态实时推送到本地 Discord 客户端作为 Rich Presence——不携带任何工作区内容,状态消息列表可自由编辑,并可在设置中切换丰富模式。

2 Stars0QwQ0 更新时间 2026-08-24
访问 GitHub 仓库
dsh-discord-richpresence 项目预览

项目介绍

中文

将模糊或丰富的 DSH 交互状态实时推送到本地 Discord 客户端作为 Rich Presence——不携带任何工作区内容,状态消息列表可自由编辑,并可在设置中切换丰富模式。

English

Push vague or rich, user-configurable DSH interaction states to the local Discord client as Rich Presence — real-time, content-free, with a user-editable status list and an optional rich-mode toggle in Settings.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
0QwQ0
仓库
0QwQ0/dsh-discord-richpresence
GitHub Stars
2
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-24
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

55/ 100
维护活跃
88
文档与实用信息
85
生态关注度
14
安装便捷信号
75
项目声明信号
100

近 18 天仍在更新;README 含完整安装与使用说明;关注度尚低(2)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add "https://github.com/0QwQ0/dsh-discord-richpresence/releases/latest/download/dsh-discord-richpresence-0.2.2.tgz"

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-discord-richpresence

English: README.en.md

一个 DeepSeek Harness 插件,将你与 dsh 的交互状态实时镜像到本地 Discord 客户端的 Rich Presence 上——而且只会推送模糊的、可自定义的状态文案。

这是一个宿主侧后台插件:无托盘图标、无界面、无窗口。安装后即注入到 dsh 的启动流程中,随 dsh 一起常驻运行。

它能做什么

插件监听运行中 dsh 的粗粒度活动信号:

dsh 信号状态示例(默认)
用户消息进入 agent 收件箱正在指挥大肥鱼干活 / 正在给大肥鱼喂 token
agent 正在运行(思考 / 流式输出)正在与大肥鱼一起 Brainstorming / 正在听大肥鱼讲解 Project
模型工具正在执行正在提交改动意见
创建了新会话 / 分支(分支对话)正在创建大肥鱼记忆切片
无活动大肥鱼待命

上面每一行都是插件配置(statuses)中可直接编辑的列表。插件只会把这些字符串原样发给 Discord。

丰富模式(可选)

默认情况下,插件只推送上面的模糊状态。在设置 → 通用设置 → Rich Presence 丰富状态里可以打开丰富模式。开启后,插件改为推送更智能、带实时数据的状态行:

实时数据状态示例
你刚发送了消息正在指导大肥鱼
agent 正在思考大肥鱼正在思考 6/195
总输入 tokens大肥鱼正在记笔记 38.7M
LLM 已思考时长大肥鱼已经思考了 30m46s

丰富模式的状态是智能随机地从当前实时数据中挑选的——并不绑定某个特定时刻——并且每个状态在 Discord 上至少展示 8 秒。

数据始终关联你当前正在交互的会话:插件会跟踪你最后一条真实输入(source.kind === 'user')所在的会话,思考步数、token 数、思考时长都只从那个会话采集——子代理、后台会话、其他工作区的数据不会被混入。当你切换会话继续交互时,推送的数据会自动跟着切换。该开关运行时持久化在 discord-richpresence 设置命名空间中,无需在 patch 里配置。

隐私

插件绝不读取你的工作区内容。 它不会查看会话标题、消息正文、文件路径、工具输入输出或任何其他内容,只响应粗粒度的生命周期信号(agent/inbox/inserted、agent/status、agent/pre-step、tools/pre-execute、session/created、workflow/start),然后推送配置好的状态字符串(或上面那些只填入标量数据的丰富模板——不含任何内容)。即使保持默认列表,Discord 上也只会出现"正在指挥大肥鱼干活"这样的模糊状态。

环境要求

  • 本机运行着 Discord 桌面客户端(Rich Presence 走本地 Discord IPC 端点——Windows 上是命名管道,macOS/Linux 上是 unix socket,或回环 TCP)。

Discord Application ID 已预置在插件中,无需任何配置——安装并重启后,状态就会自动出现在你的 Discord 个人资料上。

安装

仓库:<https://github.com/0QwQ0/dsh-discord-richpresence> 发布包:<https://github.com/0QwQ0/dsh-discord-richpresence/releases/latest/download/dsh-discord-richpresence-0.2.2.tgz>

在 dsh 检出目录 / profile 下执行:

dsh plugin --profile web add https://github.com/0QwQ0/dsh-discord-richpresence/releases/latest/download/dsh-discord-richpresence-0.2.2.tgz

如果包已在本地磁盘上(例如本仓库):

dsh plugin --profile web add link:/absolute/path/to/dsh-discord-richpresence

配置

所有配置都位于 bundle patch(cordis.patch.yml)的 config 下:

config:
  clientId: '1540732930127691807'         # 已预置,通常无需修改
  details: 'DeepSeek Harness'             # 可选:第二行文字
  largeImage: ''                          # 可选:Discord 大图资产 key
  statuses:                               # 可编辑的状态列表,按阶段分组
    userInput:
      - 正在指挥大肥鱼干活
      - 正在给大肥鱼喂 token
    agentWorking:
      - 正在与大肥鱼一起 Brainstorming
      - 正在听大肥鱼讲解 Project
    tools:
      - 正在提交改动意见
    forking:
      - 正在创建大肥鱼记忆切片
    idle:
      - 大肥鱼待命
  randomize: false                        # true 时随机选取,否则轮流
  minIntervalMs: 5000                     # 两次推送之间的最小间隔
  reconnectMs: 15000                      # Discord 断线重连的轮询间隔
  • statuses — 每个阶段都是一个列表;插件按顺序轮流选取(randomize: true 时随机)。可以自由增删、改写。
  • Discord 反映状态变化可能有几秒延迟;minIntervalMs 用于限制推送频率。
  • 丰富模式开关不属于 patch——它在设置 → 通用设置中,运行时持久化。

卸载

dsh plugin --profile web remove dsh-discord-richpresence

卸载能恢复到安装前的状态吗?

基本可以,但有一处已知残留:

项目卸载后的状态
dsh.profile.bundles 条目✅ 自动移除
dependencies(package.json)✅ 自动移除
宿主插件(事件监听、Discord RPC)✅ 停止(重启 dsh 后完全退出)
浏览器设置开关(client bundle)✅ 移除(刷新页面后消失)
node_modules 中的链接⚠️ 可能残留一个空 junction(pnpm link 安装时的物理文件,不影响运行,可手动删除)
settings.yaml 中的 discord-richpresence: 段⚠️ 残留(settings 服务只注销命名空间注册,不删除用户设置文档)

唯一需要手动处理的是 settings.yaml。如果希望彻底恢复安装前的状态,编辑 $DSH_HOME/settings.yaml,删除这段:

discord-richpresence:
  richMode: true

删除后该设置不会再影响任何东西(插件已卸载,没有消费者读取它);留着也无害——重装插件时会重新读取。

升级(老版本 → 新版本)

插件同包名覆盖安装即可升级,不需要先卸载:

从 Release tarball 安装的升级

dsh plugin --profile web add https://github.com/0QwQ0/dsh-discord-richpresence/releases/latest/download/dsh-discord-richpresence-0.2.2.tgz

dsh 会用新 tarball 覆盖旧包并保持 dsh.profile.bundles 条目不变。

从 link(源码目录)安装的升级

你本机是 link: 方式安装(指向插件源码目录):

dsh plugin --profile web add link:/absolute/path/to/dsh-discord-richpresence

升级源码后重启 dsh 即可生效(link 指向同一目录,代码即最新版)。

升级后需要做什么

  1. 重启 dsh(host 插件在启动时加载)。
  2. 刷新浏览器页面(client bundle 缓存在浏览器,/plugins/dsh-discord-richpresence/client.js 会重新拉取,新版设置开关才会出现)。
  3. 设置保留:settings.yaml 中的 discord-richpresence: richMode: <true/false> 会跨版本保留——升级前开启的丰富模式,升级后依然是开启的,无需重新配置。

升级遇到问题?

如果升级后开关不回弹但状态异常,或想回到干净状态,可先完整卸载(含手动清理 settings.yaml 残留),再重新安装最新版。

工作原理

  • lib/discord-rpc.js — 零依赖的 Discord Rich Presence 客户端,基于本地 IPC 帧协议(用 client_id 握手,然后发送 SET_ACTIVITY 帧;含 ping/pong 保活与自动重连)。
  • lib/index.js — Cordis 宿主插件。注册粗粒度宿主事件的全局监听器,映射到配置好的状态列表(或丰富模式模板),再通过 RPC 客户端推送。丰富模式读取 discord-richpresence 设置命名空间;插件纤维卸载时会清理所有定时器并关闭 socket。
  • lib/client.js — 浏览器半部。注册设置 → 通用设置里的切换行,写入 discord-richpresence 设置命名空间的 richMode 字段。

许可证

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目