loongsuite/dsh-plugin

Converts session, agent-loop, LLM, and tool lifecycle events into OpenTelemetry GenAI traces and metrics, exported over standard OTLP/HTTP to any compatible backend, with content capture off by default.

@loongsuite/dsh-plugin is a standalone observability plugin that observes DSH's native session, agent loop, LLM stream and tool lifecycle and converts them into OpenTelemetry GenAI traces and metrics, exported as standard OTLP/HTTP protobuf. One turn produces a single trace: ENTRY → AGENT → STEP with its own LLM span per real attempt (retries stay visible) and TOOL spans correlated by DSH call id; errors, aborts, incomplete streams and shutdown close live spans with error status. Subagent sessions create their own trace carrying parent-session attributes. Content capture is off by default; when enabled, ENTRY/AGENT messages carry only the turn's direct user input — synthetic context stays on the LLM span and prior-turn history is excluded. It also exports gen_ai.client.operation.duration and gen_ai.client.token.usage metrics. No dependency on any vendor backend.

Development & Runtime ★ 0 updated 2026-08-25
View on GitHub ↗

Install

dsh plugin --profile web add @loongsuite/dsh-plugin

npm @loongsuite/dsh-plugin 0.1.2 verified 2026-09-03 (repository field → github.com/loongsuite/dsh-plugin; README EN primary with 简体中文 edition). Install: dsh plugin --profile web add @loongsuite/dsh-plugin (or headless profile variant). Export over OTLP/HTTP to any OpenTelemetry-compatible backend — no LoongSuite Pilot or sidecar required.

Compatibility

DeepSeek Harness session/agent/llm/tool lifecycles; exports OpenTelemetry GenAI traces + metrics via OTLP/HTTP protobuf to any compatible backend (Langfuse, Jaeger, Grafana Tempo, etc.).

Details

Recent updates

0.1.2 current on npm (verified 2026-09-03); stable 0.1.x line.

FAQ

Do I need LoongSuite's own backend?
No — the plugin exports standard OTLP and works with any OpenTelemetry-compatible backend; the README demo shows self-hosted Langfuse.
Does it capture conversation content by default?
No — content capture is off by default; when enabled it is bounded to the turn's direct user input, never prior-turn history.
What telemetry shape does one turn produce?
One trace: ENTRY → AGENT → STEP, with one LLM span per real attempt and tool spans correlated by DSH call id.

Alternatives

linyp/dsh-plugin-langfuse · ZhenHuangLab/dsh-sync

More plugins in Development & Runtime

Browse more in Development & Runtime

Guides for Development & Runtime plugins