Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心

dsh-community-fixes

One install for the community's verified DeepSeek Harness fixes: a bundle that mounts every guard and patch in a single profile line, plus a read-only projection-cache footprint report.

robin1987china @robin1987china ⬇ 1 ★ 0 main

安装

dsh plugin --profile web add github:robin1987china/dsh-community-fixes
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

One install for the community's verified DeepSeek Harness fixes: a bundle that mounts every guard and patch in a single profile line, plus a read-only projection-cache footprint report.

该插件未提供要点说明,请参考仓库 README。

  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/robin1987china/dsh-community-fixes
许可证MIT
主要语言main
下载量1
GitHub 星标0
最近推送2026-09-14
收录日期2026-09-19
分类安全与权限

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-community-fixes

**One install for the community's verified DeepSeek Harness fixes.**

This is a *bundle*, not a plugin: it ships one patch layer that mounts every
verified fix into whatever dsh profile lists it. Adding one package name to
`dsh.profile.bundles` replaces installing and mounting each fix by hand.

> 中文说明见 [README.zh.md](./README.zh.md)。
>
> Full **symptom → root cause (with `file:line`) → workaround** reference:
> [dsh-troubleshooting](https://github.com/Robin1987China/dsh-troubleshooting).

## What it mounts

| Fix | Symptom it closes | Standalone package |
| --- | --- | --- |
| **Connection RPC** | A plugin's `connection.rpc.handle()` channel answers HTTP 405 to browser callers because `register()` reads `owner.webServer` on a context that never injected it. | `dsh-connection-rpc-fix` |
| **Preset guard** | After an upgrade, New Session does nothing: a stale `agent-presets.default` id, or a user preset still naming a plugin config field a release renamed (`persona` `text` → `prefix` in 0.1.5-rc.1). | `dsh-preset-guard` |
| **Fork inbox guard** | A forked session starts holding the prompts its parent had queued but not yet delivered, and runs them as its first turn. | `dsh-plugin-fork-inbox-guard` |
| **Projection-cache report** | The projection cache stores each session's first user message *whole* in its `titleInput` row while the fallback title reads the first 40 bytes, and it never reaps a record whose session log is gone. This row reports the reclaimable bytes at start and writes nothing. | `dsh-session-check` (row `dsh-session-check/diag`) |

Each fix is a no-op when nothing is wrong, so leaving them mounted is safe. The
projection-cache row is **read-only on purpose**: reclaiming is an offline
operation (`dsh-projcache apply`) because the store is an in-memory table while a
process is running, so a boot-time sweeper would race the live one.

## Install

```sh
dsh plugin --profile  add dsh-community-fixes
```

Then add the bundle to that profile's `dsh.profile.bundles`
(`~/.dsh/profiles//package.json`):

```json
"dsh": {
  "profile": {
    "bundles": [
      "@deepseek-ai/dsh-base",
      "@deepseek-ai/dsh-web-app",
      "dsh-community-fixes"
    ]
  }
}
```

That is the whole install — two edits for every fix, instead of two per fix.

## Turning one fix off

Your profile's own patch layer is applied **after** every bundle layer, so any
row this bundle inserts can be disabled there
(`~/.dsh/profiles//cordis.patch.yml`):

```yaml
- id: fork-inbox-guard
  disabled: true
```

Row ids: `preset-guard`, `fork-inbox-guard`, `projcache-diag` (inserted), and
`connection` (patched).

## The projection-cache report

One line at start, and only when there is something worth saying (default
threshold 1 MiB):

```text
projection cache: 8.0 MB reclaimable — 2 of 2 records store a titleInput text (largest 8388608 chars,
8.0 MB total), while the fallback title reads only the first 4096 bytes. Reclaim offline with:
npx -y -p dsh-session-check dsh-projcache survey  (then `apply`)
```

Nothing is written. To actually reclaim, stop the harness and run:

```sh
npx -y -p dsh-session-check dsh-projcache survey   # report only
npx -y -p dsh-session-check dsh-projcache apply    # reap + clamp, with backups
```

The line goes to **stderr as well as `ctx.logger`**, because the shipped
composition has no console log exporter: Cordis's default `LoggerService` only
installs an in-memory ring buffer, and a measured `logger.warn` from this row
produced no output at all in a `dsh web` run.

## What is *not* included

Two parts of this work are not profile plugins, so they add no mount friction
and are deliberately not bundled here:

- **`dsh-node-compat`** — a launcher for Node runtimes where `@deepseek-ai/dsh`'s
  `import.meta.main` entry guard silently no-ops and the CLI exits 0 with no
  output. Run `npx dsh-node-compat web`.
- **`dsh-session-check`** — a CLI that validates session logs the way the official
  validator does, and now also ships `dsh-projcache` for offline
  projection-cache maintenance. Only its read-only diagnostic row is mounted
  here; the reclaim itself stays a command you run deliberately.

## Design note

A bundle cannot nest another bundle, so the connection patch is inlined here and
kept byte-identical to the standalone `dsh-connection-rpc-fix`. The two guard
packages are ordinary dependencies, so their modules resolve from this bundle's
own install.

Verified end to end: a profile whose `bundles` names only this package boots
clean, shows the inserted rows in `--dump-config`, and both guards actually
fire — see [`docs/verification.md`](./docs/verification.md).

## License

MIT

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。