DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Context Care — DSH Plugin for DeepSeek Harness
← Plugins
C

dsh-context-care

Context Care

An independent Cordis plugin for DeepSeek Harness that provides fatigue levels, arousal values, segmented color-coded numeric displays, and autonomous context compression

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:leolee9086/dsh-context-care#6c6893ee30a7b6ff3d1a0235759fb9f2a6c1f334
READMECompatibilityVersions

Compatibility and provenance

Context Care is published as dsh-context-care and currently resolves to version 0.6.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/24/2026

Versions

0.6.2stable
9/24/2026

Related plugins

Loading related plugins…

Latest
0.6.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Not declared
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/24/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and r

README

dsh-context-care

DeepSeek Harness 的上下文状态与自主压缩插件。 界面同时显示疲劳度和唤醒值的百分比、等级与颜色;模型可在任务边界主动请求历史压缩,保留续接笔记并继续工作。

参考 S-forge MAGI 的指标曲线和 Codex 的上下文生命周期设计,以独立 Cordis 插件接入,不修改 Harness、S-forge 或 Codex 源码。本文档以中文为主。

当前版本:v0.5.0,依赖 DSH 的预稳定接口。已在 Harness 提交 c291e7961a515f6d7af9304e7fd1d257929aef26 对应的本地构建上验证;不承诺兼容所有旧版或未来版本。

指标与行为

疲劳度采用 min(100, 100 × (上下文估算量 / 策略预算)^1.5);唤醒值采用 min(100, 100 × sqrt(保留历史估算量 / (模型容量 / 3)))。默认按 30、60、85 分段;界面显示 0–100% 数值(最多一位小数)和等级,模型正文仍只报告等级,不显示剩余 token 倒计时。疲劳度四段依次为绿、蓝、橙、红;唤醒值依次为橙、蓝、青绿、绿。未校准使用灰色。容量取最近记录请求的真实路由模型;尚无容量时显示“未校准”。疲劳度以完整请求压力为基础,唤醒值以保留消息量为基础,因此工具定义和系统提示不会被当成丰富的历史经验。

context_status 查询状态。context_rest 接收最多 4000 字符的续接笔记,排入持久化收件箱;当前工具批次完成后,在下一次请求准备边界执行一次压缩。笔记、近期历史、工具调用与结果配对均保留。它使用预设现有的 compaction provider,生成真实摘要,不清空记录或休眠,不结束任务。

正常自动压缩继续负责容量兜底;同一边界若自动维护已经改写历史,主动请求不再追加一次压缩。待选范围只有旧摘要及本插件状态,或新内容不足时不执行。这个保护属于主动压缩入口,不改变 DSH 原有自动压缩的重试策略。

输出循环中止

模型偶尔会退化成「卡带」:末尾一大段里同一行反复出现。v0.3.0 只在下一个请求边界提醒它, 而那时整屏往往已经刷完、也推给了前端。现在改为在生成过程中动手。

管线是「检测模式 → 执行操作」两段式:引擎(src/stream-watch.js)只维护视图与调度, 判定归模式、行为归操作,两边都不认识「循环」这个概念 —— 加一种检测方式就是加一个判定器, 不需要动管线。

line-repeat 模式在流式阶段命中时,先中止这一轮(已生成的部分由 agent-loop 落成 interrupted 消息,不会静默丢),随后由插件唤醒并把原因说清楚 —— 因为界面只显示一个 「已停止」,不显示是谁、为什么停的。同一会话连着掐断两次就不再自动续,停在那里等人。

阈值比提醒那条路更严:提醒是「重复 ≥15 次且占窗口 ≥20%」,掐断是「≥30 次且 ≥35%, 或同一行连续 ≥12 次」。掐断宁可漏也不误杀 —— 长清单、代码、表格都可能出现稀疏重复。

性能上做了针对性设计,因为 delta 粒度是 1–4 个字符、一次回复上千帧:文本按块累积、 不做整串拼接与切片;行窗口与行计数在遇到换行时增量维护;标记匹配用滑动窗口, 成本与已累积文本量无关;昂贵的模式按累计字节节流,不到量引擎根本不叫它。

agent/pre-step 的提醒路径保留为兜底。两条路共用文案;被中止时文案会明确说 「不是你自己停下来的」,否则模型会以为自己正常收尾了。

除循环之外,流式管线还带两个焦虑检测模式:time-anxiety 与 context-anxiety。 两者同源 —— 都是先盘算一个资源余量,再从「可能不够」推出「得省着用」: 前者盘算时间和调用次数,后者盘算上下文还剩多少、或者想抢在压缩之前做点什么。

两者都只认思考块(正文里讨论时间成本、上下文占用、压缩策略都是正常工作), 命中后只提醒、不掐断 —— 念头跑偏不毁坏这一轮,打断反而更糟。

提醒文案走认知行为疗法(CBT)的路子,并署名 Seraph · 系统的心理医生模块。 这不是装饰:本插件就是 s-forge 的 seraph 在 DSH 的落地载体,判断的权威性来自来源。

  • 不反驳结论,拆掉前提。 旧文案讲后果(「省时间反而更费时间」),但焦虑的起点 不是不知道后果,是错误估计了余量;对一个以为自己快没资源的人讲成本收益, 等于没答他的问题。时间不是可观测的量,所以「够不够」本身没有答案, 由它推出来的结论也就不成立。结构对应 CBT 四步:条件式识别 → 证据检验 → 替代认知 → 行为指令。
  • 条件式开头对误报是安全的:模型没在盘算时假设不成立,剩下的话只是重申工作标准。
  • 上下文那条能给出真实数值(最近一次状态报告的 fatigue / wakefulness), 因为上下文占用是有客观测量的 —— 这是 CBT 的证据检验,比时间焦虑只能讲道理更强。 数值经 previousState 同步取得:流式路径挂在同步广播上,不能在那里 await 采样。
  • 词表按施动者筛选:只收把资源当威胁的表述,不收把资源当工具的表述。 「该压缩了」是健康行为(主动用工具),「趁还没压缩」才是歪曲(把工具当成要躲的事件)。

降档暂未启用:掐断后把接下来几轮的思考档位降下来(默认 high、维持 3 轮)的实现 已经在 src/index.js 里写好,但整段注释着 —— 需要先验证 agent/request waterfall 返回的 reasoningEffort 会不会被后面的解析覆盖,而且改档位会让请求头快照变化、缓存复用断一次。

缓存与模型体验

固定说明由 systemPrompt.context 生成可重放的 user 消息;动态状态通过 agent/pre-step 追加到最终消息队列末尾,角色为 user。不修改系统提示,不插入 system 角色状态,不改写既有消息。按整数百分比节流:任一指标跨过 1 个百分点的区间才追加采样提示(例如 52.1→52.8 不提示,52.8→53.0 提示);等级变化和主动压缩结果仍通知。数值放在消息来源元数据 contextCare 中,模型正文仍只有等级,既有消息不变。界面展示最近一次已通知采样的数值。首次挂载新增工具会改变一次工具定义;实际压缩会改变历史前缀,这两种必要变化不承诺保持原缓存。测试验证普通相邻请求的系统提示一致、既有消息前缀完全相等。

提示明确区分指标与事实:它们不证明记忆丢失、幻觉或能力下降,不构成任务时限;继续工作,在任务边界自主选择压缩。唤醒值低时按需查阅摘要和文件,不编造缺失事实,也不为提升指标填充消息。此设计减少上下文焦虑的诱因,不能保证某个模型绝不产生此类输出;尚未进行真实 DeepSeek 模型的对照效果评估。

UI 显示最近一次请求准备时的状态,与模型读取的同一条持久化消息对应。contextCareNumeric 投影支持会话重放;旧记录没有数值时显示“未校准”,不会根据等级反推百分比,下一次新版本采样后显示实值。它不是逐 token 更新的心理健康监测。

安装

使用 Release 发布包(推荐)

下载 v0.1.1 中的 dsh-context-care-0.1.1.tgz 已包含前端构建产物,可以直接安装到现有 Web profile:

dsh plugin --profile web add https://github.com/leolee9086/dsh-context-care/releases/download/v0.1.1/dsh-context-care-0.1.1.tgz

安装不拉取 DSH 本体或内部包,也不需要 DSH 源码目录。所有 DSH 能力都通过 Cordis 的 inject、ctx 服务及事件参数取得;运行环境需预先提供这些服务。本项目暂不发布到 npm registry。安装后只需一步挂载(profile patch 里的一行),所有会话自动生效。

  1. 在 Web profile 的 cordis.patch.yml 中加入主入口。默认文件位于 ${DSH_HOME}/profiles/web/cordis.patch.yml,未设置 DSH_HOME 时通常位于 ~/.dsh/profiles/web/cordis.patch.yml。已有 insert 时,把行合并到相应列表:
- insert:
    - id: context-care-display
      name: dsh-context-care
  1. 不需要改 preset。 主入口本身就对所有会话生效:工具在根作用域注册(按 DSH 的工具服务约定,根作用域注册进全局层,每个会话的视图都以它为基底),状态采样与压缩在 agent/pre-step 边界执行,唯一按会话的 compaction provider 在边界上用 agentPresets.serviceFor(agent, 'compaction') 现取;取不到时如实报告 no compaction provider is available,不影响其它功能。

    旧的会话内装法仍然可用且不冲突:如果某个 agent preset 的 compaction 隔离组里还留着下面这行,该会话就由 preset 里的实例负责,根入口检测到该 agent 作用域内已有注册后自动退让,不会重复通知或重复压缩。

    - id: context-care
      name: dsh-context-care/agent
      config:
        budgetRatio: 0.8
        wakefulnessRatio: 0.3333333333333333
        fatigueExponent: 1.5
        retainRatio: 0.16
        minFreshTokens: 1024
        maxNoteChars: 10000

完整组示例见 agent.example.cordis.yml,宿主补丁见 cordis.patch.yml。根入口与 /agent 入口是等价的两种装法:前者一次覆盖所有会话,后者只覆盖挂载它的那个 agent 作用域。

重新加载 profile(未启用配置热更新时需要重启 DSH),刷新现有 Web 页面。首次有效请求采样后会显示数值;没有模型容量信息时显示“未校准”。

从源码开发

插件可以在任意目录独立安装、测试和构建,无需同级 DSH checkout,也没有 link:../deepseek-harness 依赖。运行时第三方库只有 React 和 Zod;Cordis 核心仅作为默认测试环境的 registry 开发依赖,不随插件运行时载入。

git clone https://github.com/leolee9086/dsh-context-care.git
cd dsh-context-care
pnpm install --frozen-lockfile
pnpm test
pnpm run build
pnpm run check

pnpm test 是不依赖 DSH 安装的测试套件。需要验证真实宿主时,另行指定已构建的 Harness 路径运行外部集成测试:

$env:DSH_TEST_CHECKOUT = '/path/to/built/deepseek-harness'
pnpm run test:integration

这个命令的测试宿主显式加载 DSH 来注入服务;该测试文件不会进入发布包,插件自身从不查找或导入这个路径。未指定路径时测试明确报错,不静默跳过。源码开发后可使用 dsh plugin --profile web add link:/absolute/path/to/dsh-context-care,再按上面的步骤 1 挂载主入口即可。

注入接口

入口Cordis 注入服务用途
主入口sessionProjections、tools、systemPrompt、tokenMeter、llm(agentPresets、compaction 为可选读取)全局注册 context_status / context_rest、系统提示段与请求边界处理;compaction provider 按会话现取;一次挂载覆盖所有会话
/agentagents、tools、systemPrompt、tokenMeter、llm、compaction、sessionProjections工具、状态采样、请求边界监听与压缩
/activateagents、agentPresets、tools找到指定会话并在其 Cordis 作用域中挂载能力
客户端slots、locale插槽渲染与本地化;会话投影使用插槽传入的 useProjection

工具以标准 JSON Schema 和回调数据交给注入的 tools.register,配置使用 Standard Schema。插件只构造自身拥有的消息数据,消息入队、持久化、计量、模型路由和摘要执行由注入的宿主负责。package.json 中 dsh.client.inject 的包名用于客户端插件加载顺序,不是 npm 依赖或模块导入。

更新已运行的会话(可选)

常规安装不需要此入口。需要向一个已加载会话即时补充功能时,可在 profile patch 中临时添加:

- insert:
    - id: context-care-live
      name: dsh-context-care/activate
      config:
        sessionId: "替换为目标会话的实际 ID"

此入口只针对配置指定的会话。已有旧版工具时补充数值采样;没有工具时复用该会话的 compaction provider 安装工具;目标未加载时不操作。它不替换预设,重启后普通预设负责新挂载。移除该行会卸载临时贡献。正常分发不需要开发过程用于刷新 Node 模块缓存的 URL 查询参数。

配置

字段默认值含义
budgetRatio0.8疲劳度分母占模型窗口的比例;与预设压力阈值配合设置
wakefulnessRatio1/3唤醒值饱和时的保留信息量比例
fatigueExponent1.5疲劳度增长曲线指数
retainRatio0.16主动压缩保留的近期历史预算比例
minFreshTokens1024待压缩区间的新内容最低估算量
minNoteChars1000续接笔记 UTF-16 字符数下限(堵掉「随便写两句」)
maxNoteChars10000续接笔记 UTF-16 字符数上限

比例必须大于 0 且小于 1,保留比例小于预算比例;计数上限必须为正整数。配置错误在挂载时拒绝。

验证与来源

pnpm test 验证曲线、百分比节流、范围配对、参数拒绝、失败、取消、卸载、数值投影与中文 UI,并检查 manifest、锁文件和运行时代码不引入 DSH 包。pnpm run test:integration 使用明确指定的真实 DSH Loader YAML、agent loop、工具注册表、token meter 与 compaction provider,仅模拟 LLM;检查摘要事务、工具结果顺序、继续执行、提示快照、投影重放和请求前缀。pnpm run build 生成客户端构建产物。

S-forge 来源:kernel/nerv/magi/sages/token_counter.go 的 CalculateFatigue、CalculateWakefulness,sages/sage.go 的末尾 user 状态消息,prompts/core.go 与 coordinator/heartbeat_downtime.go 的深度休息策略。Codex 参考:codex-rs/core/src/session/token_budget.rs 与 compact_token_budget.rs 的上下文管理入口。详见 设计记录。

已知限制

计量是最近请求锚点加历史增减的估算,新模型路由和其他插件在后续阶段追加的大块内容可能暂时不反映在当前等级中。自动压缩仍是必要兜底。摘要质量取决于现有 provider;失败报告不声称压缩完成。插件不提供长期记忆存储,重要不可替代的信息仍应保存到文件。尚未用真实 DeepSeek 请求验证行为改善幅度。

赞赏

如果这个项目帮到了你,可以请我喝杯咖啡:

赞赏码

也欢迎通过 爱发电 支持。