DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Adhd Mode — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
A

dsh-adhd-mode

Adhd Mode

适合注意力缺陷多动障碍用户的 DeepSeek Harness 输出风格:系统提示词钩子、实时开关和设置页面。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:letterk/dsh-adhd-mode#9f9013f5d178b443e06d2ccbcb4aa924d459ab5a
README兼容性版本

兼容性与来源证明

Adhd Mode 以 dsh-adhd-mode 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/11

版本

0.2.1stable
2026/10/11
0.1.0stable
2026/10/8

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/11
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio 及其精选幻灯片模板,作为原生 DeepSeek Harness 对话视图。

README

dsh-adhd-mode

ADHD-friendly output style for DeepSeek Harness. It puts a ruleset in the system prompt that makes replies easier to act on: the next action first, numbered steps, state restated each turn, no preamble. You can switch it on and off while a session is running.

A port of ayghri/i-have-adhd (MIT). The ruleset in skills/adhd-mode/rules.md is upstream's text with one paragraph replaced: upstream is turned off when the reader says a phrase, and this bundle has no phrase to say (what changed).

中文说明

What this replaces

Upstream is a set of glue scripts, one per runtime. On Claude Code it registers a SessionStart hook that pastes the ruleset into the session, and keeps an "always on" flag file at ~/.claude/.i-have-adhd-always. DSH has no session-start hook, so all three pieces live in one bundle here:

PieceUpstreamHere
hookSessionStart hookan agent.ctx-scoped systemPrompt.section() with a dynamic text
switchflag file under ~/.claude/a .volatile() config field, live and persisted
pagenonea settings page and an icon+label trigger in the composer tool row

Changes from upstream

One paragraph of the ruleset is not upstream's: ## Persistence. Upstream turns the mode off when the reader says "stop adhd mode", and its SessionStart hook re-pastes the ruleset whenever a session starts, resumes or compacts. Neither can happen here — the Host half matches no text — so that paragraph now says the switch lives outside the conversation and that nothing said in the conversation changes the mode. Everything else in skills/adhd-mode/rules.md is upstream's text, frontmatter included; the disable-model-invocation flag is inert because this bundle never registers the file as a skill.

Upstream's ruleset moves slowly (the project is mostly per-runtime glue), so there is no sync workflow: this copy is a fork, edited by hand.

Install

dsh plugin --profile web add github:letterk/dsh-adhd-mode

That is the whole install. dsh plugin forwards the rest of the line to pnpm inside the profile, and the next boot promotes any new dependency that declares dsh.bundle to a profile layer on its own — there is no second step. Restart the profile afterwards.

Other specs pnpm accepts:

dsh plugin --profile web add file:/path/to/dsh-adhd-mode
dsh plugin --profile web remove dsh-adhd-mode

The name dsh-adhd-mode is free on npm, but this project is not published there, so install by repository spec.

Installing from a working tree you intend to edit takes one extra step: see live-edit install.

Use

Two places, both in the Web UI:

WhereWhat
the ADHD button in the composer tool rowclick to flip
Settings → ADHD output modethe switch on the page

The change lands on the next model step and is written to the profile's config, so it survives a restart. There is no command, no tool and nothing to type — the UI is the only control, and the only place to look when the mode is not doing what you expected.

The switch is profile-wide, not per session. DSH's PromptSection takes no session key, so there is nowhere to store whether the mode was on in one particular session.

What is scoped is the injection. The section is registered on the agent's own context rather than the plugin's, so the ruleset reaches the agent the reader is talking to and stops there. A delegated child — anything spawned with a delegation depth, which includes Agent Teams teammates — joins its parent's preset and assembles with its own persona and tool set, never with this section. A session forked from another is a top-level agent the reader opened on purpose, so it does get the section.

Config

KeyDefaultMeaning
enabledfalsevolatile; the switch the UI writes
order15position of the section in the system prompt

Files

index.js                        host half: the system-prompt hook
client.js                       client half: composer trigger and settings page
cordis.patch.yml                loader row that inserts the plugin
skills/adhd-mode/rules.md       the ruleset, from upstream
locale/{en,zh}.json             bundle title and description
icon.svg                        bundle icon
test/host.mjs                   host self-test
test/client.mjs                 client self-test, stub React
test/loader-hooks.mjs           points the schemastery import at the stub in a bare checkout
test/schemastery-stub.mjs       minimal stand-in for @deepseek-ai/schemastery
scripts/release.mjs             version bump, changelog freeze, tag; CI uses verify/notes

Versions

Semantic versioning. The compatibility surface is small — the loader row id and the settings namespace, the two strings a profile stores — so the rules are about what an existing install would have to do:

BumpWhen
MAJORan install has to be redone: the loader row id or the settings namespace changes, a config field disappears, or the bundle needs a newer DSH
MINORthe reader gets something new, or the injection changes: a new seat, a new config field, a new language, a different prompt section
PATCHa fix nobody has to react to: ruleset wording, docs, tests, internal refactors

package.json holds the version, CHANGELOG.md records what is in it, and [Unreleased] accumulates until it is frozen. Cutting a release is one command:

npm run release -- patch    # or minor / major

That bumps the version, turns the [Unreleased] entries into a dated section, runs the tests, commits, and pushes the tag. .github/workflows/release.yml then publishes the GitHub release from that section. CI refuses a tag that disagrees with package.json, and a doctor job refuses a version that no changelog section explains.

The plugin market reads the version out of package.json, so the number here is what a listing shows. This project is not published to npm, so nothing depends on the number for resolution — but the tag is the only immutable pointer to "the code a reader had".

Development

npm test

test/host.mjs loads index.js against a fake Cordis context and checks that exactly one section registers per top-level agent, that a delegated child gets none while a fork still gets one, that the ruleset appears only while the switch is on, and that the Host half exposes no command, tool or phrase matching. test/client.mjs loads client.js against stub browser globals and a stub React, then renders both seats in zh and en.

Neither test needs DSH, a browser, or npm install.

The host test uses the real @deepseek-ai/schemastery when it resolves, and test/schemastery-stub.mjs when it does not — which is the case in CI, a fresh clone, and any checkout without the profile's packages linked in. Take the stub path on purpose with:

DSH_ADHD_MODE_STUB=1 npm test

Live-edit install

file: installs a copy, so the profile keeps the revision it was installed from. To have the profile read your working tree directly, link it instead:

dsh plugin --profile web add link:/path/to/dsh-adhd-mode

A linked bundle is imported from its own directory, so its bare imports resolve there and not in the profile. Give the checkout a node_modules that reaches the harness packages:

cd /path/to/dsh-adhd-mode
mkdir -p node_modules
ln -sfn ~/.dsh/profiles/web/node_modules/@deepseek-ai node_modules/@deepseek-ai

Without it the row installs and then fails to import: Cannot find package '@deepseek-ai/schemastery'. The link is in .gitignore, so a fresh clone has to repeat this once.

client.js is not hot-reloaded in every setup; reload the Web UI page after editing it.

Live inspection, from a session inside the harness:

cordis_inspect_query host/Config  listConfigs  {"entry":"include:adhd-mode"}
cordis_inspect_query client/Slots listSubTree {"root":"settings.section"}

License

MIT. skills/adhd-mode/rules.md and the design it encodes come from ayghri/i-have-adhd by Ayoub Ghriss. Everything else is this project.