DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-contradictions-indicator

Contradictions Indicator

针对 DSH 对话的并行矛盾分析:显示带评论的 0–100 连贯性评分徽章,支持手动触发,并默认启用自动分析(可编辑间隔,可按对话或全局关闭)。复用对话的完整前缀,以保持提供商 KV 缓存处于热状态。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:iimaguest/dsh-contradictions-indicator#f9aff3c6f82180047403675a2249b99b9d7ce166
README兼容性版本

兼容性与来源证明

Contradictions Indicator 以 dsh-contradictions-indicator 发布,当前版本为 1.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

1.4.0stable
2026/9/16
1.3.4stable
2026/9/9
1.3.3stable
2026/9/9
查看其余 5 个版本收起版本
1.2.1stable
2026/9/4
1.2.0stable
2026/8/30
1.1.0stable
2026/8/30
1.0.1stable
2026/8/30
1.0.0stable
2026/8/30

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Mnemondsh-mnemon面向 DeepSeek Harness 的可组合三层记忆控制平面:持久化运行时上下文、可搜索的项目文档、可插拔的长期记忆、受保护的策略、WebUI 和无头工具。Memory@furongjun1999/dsh-memory灵枢(Lingshu·líng shū)DeepSeek Harness 插件:完整大脑——长期记忆/知识飞轮/自我认知/递归反思接入 DSH,对话自动沉淀进 md_cg 认知图(md 文档)Rewind Plugindsh-rewind-plugin同窗口内对话回退并恢复工作区文件Meow Memorymeow-memoryDeepSeek Harness 的跨会话项目记忆:七层 SQLite 记忆、首轮快照注入、每条消息的关键词命中、memory_remember/search/project 工具、带 reflection-fold UI 的自动反思,以及由空闲触发的梦境整合

README

Contradictions Indicator

A DeepSeek Harness plugin that scores the live conversation for internal contradictions and shows a 0–100 coherence badge in the session header.

0 means the conversation is riddled with contradictions. 100 means it is consistent. Click the badge for commentary, a manual Analyze Now button, and per-session controls.

Install, update, and remove

Use the web profile:

dsh plugin --profile web add https://github.com/iimaguest/dsh-contradictions-indicator
dsh plugin --profile web update dsh-contradictions-indicator
dsh plugin --profile web remove dsh-contradictions-indicator

dsh plugin --profile web forwards to pnpm in that profile directory (add / update / remove). After add or update, restart dsh web so the host and client halves load. The badge appears in the conversation header utilities. Global defaults live under Settings → Plugins → Contradictions.

Requires DSH web with the settings and conversation UI packages that this plugin injects. Tested against dsh 0.1.1-rc.2 and 0.1.2-rc.1.

What it does

  • Watches main conversation llm/stream calls (skips compaction, session-title, and its own analysis calls).
  • On demand, or on a turn interval, fires a parallel model call that reuses the conversation's provider, model, system prompt, tools, session id, and messages, then appends one analysis user message so the provider KV cache stays warm. Every other request field the session declared — reasoning effort, temperature, stop sequences, and the output budget — is forwarded verbatim too, so the request body is the main call plus exactly one message and no adapter default is substituted anywhere. The only field deliberately replaced is the abort signal. Nothing is ever removed from the request to steer the model's answer: dropping the tool list would invalidate the whole context cache.
  • Parses SCORE: <n> and ANALYSIS: <text> from that response.
  • Shows a colored header badge (green ≥80, yellow ≥50, red <50) and an overlay with the commentary.
  • Auto-analysis is on by default for new conversations (default interval 25 turns, editable 1–500). Turn it off globally in Settings → Plugins → Contradictions, or per conversation in the panel.
  • Optional system-reminder steer using {{score}} and {{commentary}}. While a turn is running it is pushed into the conversation as a user message the moment the analysis finishes (agent.steer() on the live agent, landing at the next step boundary). An idle conversation is never woken just to carry a notice — the text stays pending and is handed over at that conversation's next step. If no live agent can be resolved (registry absent, session closed, inbox rejection), the same agent/pre-step fallback applies. Off entirely if you uncheck it.
  • A response that ignores the required SCORE:/ANALYSIS: format, or that arrives as a bare tool call with no text at all, is retried once before the run is reported as failed. The retry re-sends the identical cached prefix, so it costs almost nothing — and the tool list is never dropped from the request, because removing it would invalidate the provider's context cache.
  • The badge, panel, and settings tab are localized (English / 简体中文) through the shell's locale service, so Settings → Language applies to this plugin too, and every surface color/radius/shadow comes from the shell's --dsw-* theme tokens, so Settings → Appearance themes it like host UI.

Settings: two planes, strictly separated

Global defaults (autoEnabled, interval, steer, both prompt texts) live in Settings → Plugins → Contradictions and persist via DSH settings (with a file fallback at ~/.dsh/contradictions-indicator.json). Each conversation snapshots those defaults once, at creation; after that the conversation's panel owns its own copy. Editing settings therefore affects only conversations started afterwards — it never reaches into a live one — and adjusting one conversation never writes back to the defaults (the old persist flag on /contradictions/auto is ignored and gone).

HTTP endpoints (local DSH web server)

The host half registers four exact paths on the DSH web server. They are meant for this plugin's client UI on the same origin:

MethodPathPurpose
GET/contradictions/state?sessionId=Current score, commentary, and session flags
POST/contradictions/auto?sessionId=Update auto-analysis, interval, steer, prompts
GET/POST/contradictions/defaultsRead or write global defaults
POST/contradictions/trigger?sessionId=Run analysis now

These routes are not covered by DSH's /api browser-trust fence, so the plugin applies its own same-origin check (Sec-Fetch-Site / Origin vs Host) and rejects cross-site requests before touching session state. All four also reject bodies over 1 MB and cap persisted prompt text length.

Peer packages after a local clone

If you link: this directory into a profile, Node resolves imports from the real path and will not see the profile's @deepseek-ai packages. Re-run after a fresh clone (node_modules/ is gitignored):

./link-peer-deps.sh

Only dsh-settings and schemastery are linked — those are the only bare imports this plugin's host half actually executes in Node. cordis is a type-only import (used solely by lib/types/index.d.ts) and react is resolved through the DSH browser module table, not Node's node_modules, so neither needs linking here.

All four peerDependencies are marked optional in package.json. That is the correct install contract for a DSH host plugin — it tells pnpm these packages are provided by the profile, not duplicated by this package — but it does not mean the plugin runs without them. lib/index.js hard-imports @deepseek-ai/dsh-settings and @deepseek-ai/schemastery and will fail to load if the profile does not provide them.

The settings import is a namespace import on purpose, and the section is installed through a small shim: dsh-settings ≤ 0.1.0-rc.8 exports installSettingsSection(ns, …) with a validated namespace, while 0.1.1+ exposes the same hook as settings.installSection(owner, ns, …) with a plain namespace string. A named import of the old symbol fails at module-link time on the newer line, which would take the whole host half down with it.

Run the host-side regression tests with:

npm test

The ./client export (lib/client.js) is a DSH window.__ModuleLoader__ lazy-load factory, not a standard ESM/CJS module. It only runs inside the DSH browser runtime; import … from 'dsh-contradictions-indicator/client' will not work outside of it.

Layout

  • lib/index.js — host plugin (Cordis apply)
  • lib/client.js — web client (badge, overlay, settings tab)
  • cordis.patch.yml — bundle insert for dsh plugin add
  • test/ — host-side delivery-timing regression tests (npm test)
  • plugin/ — working copy of the same host/client sources

License

Apache License 2.0. See LICENSE.