v0.1.0-beta.2
Pre-releaseFirst release under the current name. The package is @loongsuite/dsh-plugin and the repository is loongsuite/dsh-plugin; 0.1.0-beta.1 shipped under the previous names and is deprecated.
Install
dsh plugin --profile web add @loongsuite/dsh-plugin
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
dsh --profile webThe latest and beta npm tags both point at this version.
What it does
Observes DeepSeek Harness's native session, agent-loop, LLM stream, and tool lifecycle, and builds one OpenTelemetry GenAI trace per turn:
ENTRY → AGENT → STEP → LLM / TOOL
Each real LLM attempt is its own span, so retries stay visible under the same step; tool calls are correlated with their results by DSH call ID; subagent sessions get their own trace carrying parent-session and delegation attributes. Errors, aborts, incomplete streams, and plugin shutdown close open spans with an error status. gen_ai.client.operation.duration and gen_ai.client.token.usage metrics are exported alongside the traces.
Everything leaves over standard OTLP/HTTP protobuf, so it lands in Jaeger, Grafana Tempo, SigNoz, Langfuse, or any OTLP-compatible backend. No sidecar and no extra collector process are required, and the plugin does not claim the harness sessionTelemetry seam — it can run next to the official OTLP-logs backend.
Defaults worth knowing
- Prompts, responses, tool definitions, arguments, and results are not captured. Enable them explicitly with
captureContent, or withOTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=SPAN_ONLY. An explicitcaptureContent: falsealways overrides the process environment. - The plugin owns private tracer and meter providers and never registers a global OpenTelemetry provider.
- Collection and export failures are isolated: they may warn, but never change model or tool behavior.
Verified against
| Component | Supported | Verified |
|---|---|---|
| DeepSeek Harness | >=0.1.0-rc.6 <0.2.0 |
0.1.0-rc.6, Web and headless profiles |
| Node.js | >=22.19.0 |
22.19, 24.19, 25.9 |
Changes since 0.1.0-beta.1
- Package renamed to
@loongsuite/dsh-plugin; the bundle patch row, docs, and instrumentation scope name follow. - Repository renamed to
loongsuite/dsh-plugin, withrepository,homepage, andbugsURLs updated so registry tooling resolves the package correctly. - Added the
dsh-pluginnpm keyword.
Configuration reference, privacy details, and the development guide are in the README.