DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@playform/hook-dsh-live-containers

Hook Dsh Live Containers

live-containers hook:一个 DeepSeek Harness 插件,可在系统提示词中保留动态且可修改的对话块。每个启用的块都是一个带标签的段落,并在每次请求时重新计算——典型示例是始终包含当前时间的时间块 c

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

npx -y @deepseek-ai/dsh plugin --profile web add @playform/hook-dsh-live-containers@0.2.1
README兼容性版本

兼容性与来源证明

Hook Dsh Live Containers 以 @playform/hook-dsh-live-containers 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.2.1stable
2026/10/28
0.2.0stable
2026/10/25
0.1.0stable
2026/10/25

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
238.8 kB
文件数
62
Surface
any
许可证
CC0-1.0
发布源
npm
GitHub
★ 2
周下载
294
安全扫描
✓ v0.2.1 扫描通过
最近提交
2026/11/4
查看源码 ↗项目主页 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Mnemondsh-mnemon面向 DeepSeek Harness 的可组合、基于视图的上下文。开箱即用的可插拔来源与策略、分层记忆和自我演进技能。Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。

README

@playform/hook-dsh-live-containers - dynamic, modifiable conversation blocks, live jobs, planted boards, failsafes and the suggester

Version 0.2.1 - UNPUBLISHED (the npm bootstrap tier 2-planned / 3-candidates).

Plan: SCHEME.md - LIVE-CONTAINERS-RESEARCH.md - IMPLEMENTATION-DESIGN.md.

The role

This DeepSeek Harness plugin keeps dynamic, modifiable conversation blocks in the system prompt: each enabled block is a labeled stanza recomputed at every request, and the canonical example is a time block that always holds the current time at ask-time while the rest of the conversation stays static.

The blocks ride the system-prompt/assemble waterfall as ONE appended section named live-containers (interpolate: false, so only the plugin's own substitution engine touches its {{token}} groups - the harness's unresolved-variable failure is never inherited), with each block inside a fixed frame so the model cannot mistake it for harness state:

--- LIVE CONTAINER <id> (recomputed each request; not harness state) ---
<rendered body>
--- END LIVE CONTAINER <id> ---

The substitution engine is token replace ONLY - no eval, no expressions.

An unknown token renders LITERALLY and logs render unknown <id> <token> - never a failure.

Per-block vars override the built-ins.

The wave-2 catalog kinds (the default block table ships 14 entries) are ACCEPTED in config from day one and render as skipped blocks - reason unknown kind - until the wave-2 render engine lands.

Counters (messages, turns, since last tool) come from the plugin's own agent/pre-step and tools/post-execute observers - exact token counts are NOT available to plugins, so the gauge variables are honest approximations.

The wave-2 half extends the same plugin with:

  • the live tool-call transform (CAN-1: with detach.mode set, a command-runner call detaches into a ctx.jobs background job and the model immediately receives a SUCCESSFUL tool result [live] <job-id> running: <cmd-head> - output pending; proceed reasoning., the completion report arriving as a live-containers-completion dynamic-context user-role snapshot batched per turn)
  • planted boards (CAN-2: live_plant + [live-report] pickup + the parent-turn lease with the [stale] self-declaration)
  • the CAN-4 failsafe engine (silent, ledger-first, the per-turn meta-budget)
  • the CAN-5 suggester (a detached one-shot subagent suggests a CONFIGURED block, accepted/dismissed with one-word live_container_set verbs; privacy redact by default - suggesterPrivacy: "verbatim" forwards the user's request text and the config flag IS the consent surface)

The wave-3 monitors put files (halted processes) into operational mode: for watchlist matches the plugin runs the file's check set between turns and renders one band per file in the live section - honest to the byte, additive information, never a gate.

The plugin ships DISABLED - the IDLE-forever posture: the bundle entry declares enabled: false only, it never appears in the profile's bundles, and it enables only by an explicit ACTIVATE (you edit the profile and restart).

A cold mount logs disabled (enabled=false) and every listener no-ops to a passthrough.

The surfaces

KindNameWhat
sectionsystem-prompt/assemble - live-containersthe ONE appended section, fixed frame per block, built-in kinds time, counter, manifest, gauge, note, template
listenertools/post-execute (CAN-1 transform)detaches matching command calls into ctx.jobs background jobs, marker reply + [stale]-style live frames
listeneragent/pre-step + tools/post-executethe counter observers (messages, turns, since last tool)
listenerdynamic context live-containers-completionthe batched completion report snapshot
toollive_plantopens a planted board (plantType: "monitors" aggregates member monitors)
toollive_container_setthe verbs: accept/dismiss a suggestion, prune a stalled member
toollive_monitor / live_monitor_checkenroll/inspect a monitor; on-demand check
configSCHEME.mdthe full Schemastery schema (see the table below)

Ship posture: DISABLED by default (enabled: false); the wave-2 knobs are volatile cells and the wave-3 SEVEREXT/COMPREHENSIVE knobs are accepted and inert.

The configuration

FieldTypeDefaultMeaning
logbooleantruevolatile - the shared factory log switch
logFilestring~/.dsh/playform/hook-dsh-live-containers.logvolatile - the ledger file
enabledbooleanfalsevolatile - the IDLE-forever switch
sectionNamestringlive-containersvolatile - the appended section's name
refreshunionrequestvolatile - request | ttl; ttl is the KV-cache-friendly cadence
ttlCallsnumber8volatile - assemblies the section text is held for
separatorstring---volatile - the frame separator
sectionBudgetBytesnumber4096volatile - over budget the OLDEST frames collapse to one-line summaries
blocksarrayDEFAULT_BLOCKSvolatile - { id, kind, template, enabled, vars, trigger, ttlCalls, scope }
detachobjectmode offvolatile - CAN-1: mode, markers, latency/dedup/liveTimeout knobs
plantobjectstallMs 45000, leaseTurns 3, ...volatile - CAN-2: board budgets, the lease, stallAction
failsafesunionoffvolatile - off disables the CAN-4 engine entirely; the transform keeps working
hangBudgetMsnumber120000volatile - the hang guard budget
hangActionunionwarn-onlyvolatile - kill only at

The ledger

One log per module: ~/.dsh/playform/hook-dsh-live-containers.log (config logFile); the durable file lines are the [ISO] message forms with the hook-dsh-live-containers: prefix.

disabled (enabled=false)
activated (bundle 0.2.1, blocks=<n>, refresh=<policy>)
monitors enabled (<n> watchlist entries)
block rendered <id> (<len> bytes)
block skipped <id> (<reason>)
section rebuilt (ttl <n>)
section rebuilt (tools/change)
render failed <id> -> skipped
render unknown <id> <token>
failsafe section-collapse <n>
transform failed <tool> -> inline
capacity full <owner> -> inline
start failed <tool> -> inline
escalation -> inline <tool>
await marker -> inline <tool>
await marker ignored (tool not detachable) <tool>
dedup <tool> -> <job-id>
marker failed <job-id> -> inline
detached <tool> -> <job-id>
owner gone <job-id>
completion rendered <len> bytes
completion skipped <job-id> (<reason>)
completion truncated <job-id> (<kept> bytes)
withdrawn <job-id> (completed)
set <key>
set unknown <verb> <input>
plant opened <id> (expect <n>)
member enrolled <id> <agentId>
report <id> <agentId> (<n> bytes)
member stalled <id> <agentId>
member dropped <id> <agentId> (<reason>)
board closed <id> (<n>/<expect> in <n>s)
overflow <id> <agentId>
lease expired <id> <agentId> (after <n> turns)
failsafe hang <job-id> (<n>s no output)
failsafe admission inline <tool>
failsafe retry-loop <cmd>
failsafe meta-budget (<turn>)
failsafe stall <id> <agentId>
failsafe drift (<reason>)
suggested <sid> <templateId> (fit <fit>)
suggestion skipped (<reason>)
suggestion parse failed
suggestion dismissed <sid>
suggestion accepted <sid> (<templateId>)
suggestion clamped <sid> <field>
suggestion expired <sid>
accept failed <sid> (expired)
monitor retired <path>
monitor off <glob>
monitor check unknown <setId>
monitor recovered <path> (<n> checks)

Durable activation proof: disabled (enabled=false) on a cold mount, else the activated line with the bundle version, the block count and the refresh policy.

Skip lines log only when the reason changes - the ledger stays quiet on steady state.

The build and the tests

  • Build: pnpm --config.verify-deps-before-run=false --dir Classic/packages/hook-dsh-live-containers run prepublishOnly
  • Smokes: node Classic/packages/hook-dsh-live-containers/Target/Test/<Folder>/Test.js
    • Wiring-And-Defaults - 42 checks
    • Recompute-And-Ttl - 17 checks
    • Render-And-Frames - 23 checks
    • Volatile-And-Failsafes - 23 checks
    • Jobs-And-Detach - 27 checks
    • Boards-And-Plants - 17 checks
    • Failsafes-Engine - 10 checks
    • Suggester-And-Set - 21 checks
    • Monitors-Engine - 22 checks
    • Monitors-Tools - 11 checks
    • Monitors-Band - 22 checks
    • Monitors-Jobs - 25 checks
    • Monitors-Persist - 13 checks
    • Monitors-Boards - 7 checks

The plan

SCHEME.md - LIVE-CONTAINERS-RESEARCH.md (sections 3-5) - IMPLEMENTATION-DESIGN.md (phase 1).

"kill"
failsafesPerTurnnumber5volatile - the per-turn meta-budget
suggesterunionoffvolatile - section | plant, the CAN-5 suggester
suggesterPrivacyunionredactvolatile - verbatim forwards the request text
suggestGateMinCharsnumber40volatile - the qualifying-message gate
maxSuggestionsPerHournumber6volatile - the rate cap
maxPromptBytesnumber4000volatile - the forwarded-request cap
suggestTimeoutMsnumber8000volatile - the suggester deadline
autoPlantbooleanfalsevolatile - instantiate accepted suggestions as dormant blocks
suggesterRouteobjectprovider/model/reasoningEffortvolatile - the suggester's LLM route
completionCapBytesnumber4096volatile - the completion snapshot cap
monitorsunionoffvolatile - the wave-3 monitor engine
watchlistarray[]volatile - { glob, checks } enrollment rules (default: no scan, no watch-all)
checksetsdictDEFAULT_CHECK_SETSvolatile - the named check sets
monitorobjectdebounceMs 1500, bandCapBytes 2048, ...volatile - the monitor budgets