Plugin directory / Developer / dsh-o11y-plugin
dsh-o11y-plugin
Unverified fly3366
What it does
Unified plugin-dimension observability (trace/log/metric) for deepseek-harness: registers global OTel providers + OTLP export, bridges dsh session telemetry, GenAI semconv ready
Unverified — not yet verified
Unified plugin-dimension observability (trace/log/metric) for deepseek-harness: registers global OTel providers + OTLP export, bridges dsh session telemetry, GenAI semconv ready Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-o11y-plugin
Unified plugin-dimension observability (trace / log / metric) for
deepseek-harness (dsh).
Overview
dsh ships session-level OTel telemetry but exposes no metric or plugin-scoped
observability to plugins. dsh-o11y-plugin converges that gap: it registers
global OpenTelemetry providers so any plugin using the standard@opentelemetry/api exports traces, metrics, and logs through a single,
consistently configured pipeline, and it bridges dsh session telemetry into
OTel logs. It is intended for plugin authors who want standard,
community-compatible observability without implementing OTel per plugin.
Compatibility
| Item | Value |
|---|---|
| DSH version | @deepseek-ai/dsh 0.1.0-rc.6 (Cordis 4.0.1) |
| Last verified | 2026-08-15 (unit tests against @deepseek-ai/cordis 4.0.1) |
| Node | ^22.19 || >=24 |
| Profiles | headless, web |
Built on the official OpenTelemetry Node.js SDK, the same dependency family as
dsh's session-telemetry-otel.
Install / Uninstall
# install
dsh plugin --profile web add github:fly3366/dsh-o11y-plugin
# disable for one profile
dsh plugin --profile web remove dsh-o11y-plugin
# or disable at runtime via config: enabled=false
The plugin is stateless; removal requires no data cleanup.
Quick start
dsh plugin --profile headless add github:fly3366/dsh-o11y-plugin
# point exports at a collector (optional; silent without one)
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 dsh --profile headless "say hi"
Any plugin that calls trace.getTracer(...) / metrics.getMeter(...) /logs.getLogger(...) from @opentelemetry/api is then exported automatically.
deepjit is the reference consumer,
emitting pipeline counters and GenAI (gen_ai.*) LLM spans.
Configuration
| Key | Default | Description |
|---|---|---|
enabled |
true |
master switch |
serviceName |
'' (→ OTEL_SERVICE_NAME → dsh-plugin) |
OTel resource service.name |
endpoint |
'' (→ OTEL_EXPORTER_OTLP_ENDPOINT → http://localhost:4318) |
OTLP/HTTP endpoint |
enableTraces / enableMetrics / enableLogs |
true |
per-signal toggles |
metricExportIntervalMs |
60000 |
periodic metric export interval |
bridgeSessionTelemetry |
true |
bridge dsh session telemetry into OTel logs |
Sensitive: no credentials are read or stored; only the optional OTLP endpoint is
network-facing.
Permissions & data
- Files: none written; all telemetry is in-memory until exported.
- Network: OTLP/HTTP to the configured endpoint only; silent drop when no
collector is reachable. - Credentials: none.
- User data: session-telemetry records are observed in-memory (when
bridging) and forwarded as OTel logs; nothing is persisted by this plugin.
Troubleshooting
- No collector at the endpoint → batches are dropped silently (expected).
- Export errors → surface via OTel diag; verify
endpointand collector
availability. - Roll back with
dsh plugin --profile <p> remove dsh-o11y-pluginor setenabled=false.
Development
npm install
npm run typecheck
npm test
npm run build
Contributions welcome; keep the OTel SDK dependency family aligned with dsh'ssession-telemetry-otel for community compatibility.
License & security
MIT. Report vulnerabilities privately per SECURITY.md.
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-o11y-plugin for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:fly3366/dsh-o11y-plugin Headless (CLI) profile:
dsh plugin --profile headless add github:fly3366/dsh-o11y-plugin Test report
Not yet L3-verified — see failure note below if we already ran it.
Note: 验证: runtime-fail (0.1.0-rc.6) Browse all pending failures →
When to use it
Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.
Who it's for
Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.
For developers — extending it
The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.