DSH Hub

Yuuyuko-uu/dsh-speak-up

dsh-speak-up

UIDesktop130 GitHub stars· updated 2026-10-26

dsh-speak-up is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-speak-up

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-speak-up DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-speak-up.svg)](https://dshhub.dev/plugins/dsh-speak-up)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Yuuyuko-uu/dsh-speak-up, cleaned of badges and images.

dsh-speak-up(主动搭话)· 让它自己先开口

给 DSH 里某个会话装一颗「会自己起话头」的心:没人在跟它说话的时候,它也有可能先开口。

定时器到点
  └─ 掷一次本地骰子(Math.random,一个 token 都不花)
       ├─ 没掷中 → 什么都不做,只留一条记录
       └─ 掷中   → 往「目标会话」送一句话 → agent.followup(message)
                    → DSH 自己开一轮:它的人格、历史、工具、记忆全都照旧

一句话:只有掷中之后的那一步才花模型,掷骰子本身是纯本地随机。


适配哪个 DSH 版本(不用操心)

这个插件跟着 DSH 一起更新:作者这边跑的就是最新版的 DSH,最新版插件永远是给最新版 DSH 写的。

所以看到「不适配 / 不支持」之类的提示,基本都是装到了旧版本 —— 升级到最新版、重启一次 DSH 就好。 真遇到新版对不上(比如 DSH 刚升级、插件还没跟上),提个 issue,作者会跟着改。

当前实测对照:插件 0.2.4 ↔ DSH 0.2.1-rc.3(2026-10-26)

装

一、在 DSH 里装(推荐)

打开 设置 → 插件 → 安装,把这一行填进去:

github:Yuuyuko-uu/dsh-speak-up

或者命令行(--profile 照你平时那个写;桌面端一般是 desktop、网页端是 web):

dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-speak-up

装完重启一次 DSH,然后去 设置 → 主动搭话 看一眼在不在。

⭐ 最省事的一条:把仓库链接贴给你自己的 DSH,说「帮我装这个插件」。

二、手动装(没有 dsh 命令、或者装不动的时候)

  1. 把这个文件夹放到 profile 能找到的地方: %USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-speak-up\
  2. 在 profile 的 package.json 里,把 dsh-speak-up 加进 dsh.profile.bundles 数组;
  3. cordis.patch.yml 里那一行会把它插进 loader(id: speak-up);
  4. 重启 DSH。

⚠️ 改 package.json 一定要存成 UTF-8 无 BOM。存成带 BOM 的话,DSH 下次启动会直接起不来, 报 Unexpected token '' … is not valid JSON(看着像插件坏了,其实只是开头多了三个看不见的字节)。 检查是哪个文件(不同装法位置不一样,别猜 —— 真正的 profile 目录里同时有 cordis.yml、cordis.patch.yml、package.json):

Get-ChildItem C:\,D:\,E:\ -Directory -Filter profiles -Recurse -Depth 4 -ErrorAction SilentlyContinue |
  ForEach-Object {
    Get-ChildItem $_.FullName -Directory -ErrorAction SilentlyContinue | ForEach-Object {
      $p = Join-Path $_.FullName 'package.json'
      if ((Test-Path (Join-Path $_.FullName 'cordis.patch.yml')) -and (Test-Path $p)) {
        $b = [System.IO.File]::ReadAllBytes($p)
        $bom = ($b.Length -ge 3 -and $b[0] -eq 0xEF -and $b[1] -eq 0xBB -and $b[2] -eq 0xBF)
        "{0}   BOM={1}" -f $p, $bom
      }
    }
  }

BOM=True 的那一行就是要修的(标准安装在 C:\Users\<你>\.dsh\profiles\<档名>\package.json)。 去掉 BOM(路径换成上面那一行):

$p = "把上面 BOM=True 那一行的路径粘到这里"
[System.IO.File]::WriteAllText($p, [System.IO.File]::ReadAllText($p), (New-Object System.Text.UTF8Encoding($false)))

让 AI 帮你改时,别让它用 Set-Content -Encoding UTF8 或 Out-File -Encoding utf8 —— Windows 自带的这两个默认带 BOM。

三、开发时(想改代码、改完就想看到)

上面那个 node_modules\dsh-speak-up 做成指向你这个文件夹的目录联接(junction / 符号链接), 或者 pnpm add link:<这个文件夹的绝对路径> —— 这样改的就是装的那一份。

⚠ 本仓库自己不装、不改任何 DSH 配置、不重启任何东西:上面三步都由装的人自己做。 ⚠ 改完插件代码,只重启 DSH 才一定生效(关掉插件再打开、重装都不一定重新读代码)。

更新到最新版

最省事:把这个仓库的地址丢给你自己的 DSH,说「帮我更新这个插件」。装完重启一次 DSH。

也可以点 设置 → 主动搭话 最上面的「检查更新」 —— 有新版会提示,还能一键复制更新命令。

命令行(--profile 照你平时那个写,桌面端一般 desktop、网页端 web):

dsh plugin --profile desktop remove dsh-speak-up
dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-speak-up

⚠️ 必须先卸再装:直接装可能拿到缓存里的旧副本,装完还是老的。 ⚠️ 装完重启一次 DSH才会用新代码。

我的设置会不会丢?

不会。 设置存在 DSH 家目录(%USERPROFILE%\.dsh\)里,不在插件代码里;卸载只删代码:

.dsh\speak-up-config.json

所以卸载 → 重装,设置、搭话记录 都还在。

三件小事提醒:

  • 别用「重装 DSH」来更新插件 —— 那是两件事,重装可能动到 profile。
  • 新版本新加的设置项会用默认值(以前没这一项),想要自己的值就再填一次。
  • 设置项改名或换单位时,旧值会按规则自动换算,不用你管。

怎么用

设置页(设置 → 主动搭话)里从上到下:

…

Related plugins