sandbase-harness
sandbaseai
Local-first, self-hosted AI agent runtime and MCP bridge with sandboxed sessions, memory, credentials, audit/replay, and a local Console.
PROJECT TOPICS
PROJECT README
Lifecycle diagnostics for DeepSeek Harness (DSH): see what each plugin owns, spot unhealthy Fiber states, and verify Cordis-managed cleanup without reading raw runtime output.
中文说明 · DeepSeek Harness · Report an issue
This is an independent community plugin built specifically for DSH. It follows DSH's plugin-first architecture and observes the existing Cordis lifecycle instead of modifying the agent loop.
DSH treats registrations as Effects so they can be disposed with their owning plugin. That lifecycle is powerful, but it is difficult to inspect when a plugin fails to load, remains pending, unloads slowly, or appears to leave resources behind.
Lifecycle Inspector turns that internal state into an operator-friendly dashboard and concise diagnostic commands. It helps plugin users answer three practical questions:
lifecycle_inspect tool alongside /lifecycle commands.Requirements: DSH Web profile and Node.js ^22.19.0 || >=24.0.0.
dsh plugin --profile web add github:Rex16200513/dsh-lifecycle-inspector
Restart the DSH Web process after installation, then open Settings → Plugins → Lifecycle.
/lifecycle list
/lifecycle list --verbose
/lifecycle inspect lifecycle-inspector
/lifecycle inspect <plugin-id> --verbose
/lifecycle list gives a short health summary. inspect accepts a loader path, configured entry ID, full package name, or package name without the dsh- prefix. Add --verbose only when exact Effect labels are useful.
Agents can call the read-only lifecycle_inspect tool with an optional plugin argument. The tool observes runtime state and does not unload or mutate plugins.
The included DSH patch installs the plugin with these defaults:
- insert:
- id: lifecycle-inspector
name: dsh-lifecycle-inspector
config:
slowTeardownMs: 2000
historyLimit: 100
slowTeardownMs controls when an observed teardown is reported as slow.historyLimit limits retained in-memory Fiber transitions.A cleared Effect tree means Cordis completed every disposer registered in that tree. It does not prove that the plugin created no process, timer, socket, watcher, or other resource outside Cordis Effects. Lifecycle Inspector states this limit in both its human reports and model-tool description so a clean result is not mistaken for a complete external-resource audit.
External resource probes are a natural future extension, but they should remain separate providers: the core inspector stays read-only and reports authoritative Cordis state.
Lifecycle Inspector is intentionally a plugin, not a change to DSH's agent loop. It uses DSH and Cordis extension points for commands, tools, Web UI, HTTP reporting, localization, lifecycle events, and cleanup. This keeps the feature installable, removable, and independently evolvable while demonstrating the same Effect ownership rules it helps users inspect.
Bug reports and focused feature proposals are welcome in GitHub Issues. When reporting a lifecycle problem, include the affected DSH version, plugin ID, observed phase, and whether the resource was registered through ctx.effect() or ctx.on().
MIT License.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: observability、developer-tools、diagnostics。