dsh-loopx-plugin
loopx-project/loopxLoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
dsh 会话因 web 重启或上游瞬时故障(限流、5xx、余额/配额错误)中断时,自动注入「继续」让本轮接着跑,不需要手动点、不会丢上下文;带死循环守卫,重试没反应就把会话交回给你。
Auto-injects "continue" after a Web restart or upstream failure —— when a turn is left mid-flight, the plugin picks it up for you; no manual click.
中文 · English
os.homedir() + node:path, path separators auto-adapt).dsh plugin --profile web add dsh-autoresume
After installing, restart dsh web. The plugin will scan and inject within the boot grace window (default 30 minutes, configurable via bootGraceMs).
Requires DSH client packages >=0.1.5-rc.2. Depends on @deepseek-ai/dsh-agent (reuses the DSH runtime copy, zero version drift).
You can also install directly from GitHub:
dsh plugin --profile web add github:shengyvself/dsh-autoresume
After installing, just use DSH normally — the plugin works in the background. Typical scenarios:
The plugin never acts on its own; it only judges and injects on web restart or liveWatch poll.
| Use case | DSH version | Plugin version |
|---|---|---|
| Recommended | 0.1.5-rc.2+ (currently maintained) | 0.0.21 |
| Minimum compatible | 0.1.5-rc.2+ | 0.0.21 |
Installing the plugin does not upgrade the host DSH. The peerDependencies declare a minimum client-package version of >=0.1.5-rc.2; verified working on 0.1.5-rc.2.
| Key | Default | Description |
|---|---|---|
targetSessionId | full scan | When set, only serve that session (compatibility mode) |
bootGraceMs | 30000 (30 min) | Grace window after web boot for judging |
initialDelayMs | 3000 | Initial check delay |
pollIntervalMs | 5000 | Poll interval when session not ready |
promptText | 继续(自动) | Injected message body |
liveWatch | true | Keep polling after boot to catch mid-run failures |
maxResumeAttempts | 2 | Max consecutive auto-continue attempts for transient failures |
skipWhenInputPending | true | Queue guard: skip injection if inbox has someone else's pending message |
ctx.sessionPersistence); never writes user files.source.kind=plugin, form=notice), never disguised as user messages.ctx.agents.get() / agent.followup(), there are no outbound requests.@deepseek-ai/dsh-agent is declared in peerDependencies (provided by the host DSH).
⚠️ Known issue: package.json's dependencies also lists @deepseek-ai/dsh-agent: 0.1.1-rc.2 —— this violates the persona §三.1.3 rule (official @deepseek-ai/* packages go only to peerDependencies). The current install path is a manual symlink reusing the DSH runtime copy, avoiding version drift. Will be cleaned up in the next release.
Full changelog: CHANGELOG.md. Key milestones:
inspect() removed → open/read/close; AgentSetup callback signature change)getAgent())npm run build
npm test
Apache License 2.0 © shengyvself