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.
安装
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。
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 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)及插件作者均无隶属或背书关系。