dsh-plugin
Standalone OpenTelemetry GenAI observability plugin for DeepSeek Harness
What it is
Standalone OpenTelemetry GenAI observability plugin for DeepSeek Harness
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add @loongsuite/dsh-plugin@0.1.3
DSH versions accepted
Undeclared
Author and traction
loongsuite · ★ 31 · Updated 2026-10-12
About this plugin
LoongSuite observability for DeepSeek Harness
English | 简体中文
@loongsuite/dsh-plugin is a standalone, open-source observability plugin for DeepSeek Harness (dsh). It observes DSH's native session, agent loop, LLM stream, and tool lifecycle, converts them into OpenTelemetry GenAI traces and metrics, and exports standard OTLP/HTTP protobuf to any compatible backend.
LoongSuite is an open-source observability collection ecosystem built on OpenTelemetry. This repository is its native DSH integration. The plugin does not depend on or require LoongSuite Pilot, a sidecar, a local JSONL tap, or any particular vendor's backend. Status: stable 0.1.x release. Install @loongsuite/dsh-plugin from npm or the DSH plugin market.
One DSH turn exported over OTLP into self-hosted Langfuse: four react steps, per-call latency and token counts, a failed web_search followed by bash fallbacks, and the ENTRY span's GenAI attributes. Content capture was enabled for this capture; it is off by default. Data model
One DSH turn produces a single trace with this shape:
Each real LLM attempt gets its own LLM span, so retries remain visible under the same step. Tool calls are correlated with their results by DSH call ID. Errors, aborts, incomplete streams, and plugin shutdown close live spans with an error status instead of leaving them open. Subagent sessions create their own trace and carry DSH parent-session and delegation attributes.
When content capture is enabled, ENTRY and AGENT input messages contain only the turn's direct source.kind=user input. Synthetic DSH context such as runtime snapshots, agent instructions, skill catalogs, goals, and coordinator relays remains visible on the LLM span, but prior-turn conversation history is excluded so every trace contains only its own turn context. Later LLM spans in a tool loop retain assistant tool calls and tool results produced earlier in the same turn. ENTRY and AGENT output messages contain only the final stop response; a turn that never reaches stop falls back to its last available assistant message.
The plugin also exports the standard gen_ai.client.operation.duration and gen_ai.client.token.usage metrics. It does not export OpenTelemetry logs; it can coexist with a separate DSH log exporter.
GenAI invocation construction and semantic attributes are powered by the @loongsuite/otel-util-genai SDK. Compatibility DSH release candidates older than 0.1.0-rc.6 are not supported. Each plugin release is tested against the latest published DSH version rather than treating successful bundle composition alone as full runtime compatibility. Install and run
If you have no OTLP backend yet, examples/quickstart starts a local Jaeger backend and gets you a trace in three commands.
Add the plugin to every DSH profile you want to observe:
Similar plugins
dsh-our-free-model
Our Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道…
next-ai-draw-io
Draw and edit draw.io diagrams by chatting with an AI. Web app, desktop app, and an MCP server for Claude Code, Cursor,…
MemOS
Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with…