fly3366 / dsh-o11y-plugin

목록에 있음

Unified plugin-dimension observability (trace/log/metric) for deepseek-harness: registers global OTel providers + OTLP export, bridges dsh session telemetry, GenAI semconv ready

main모델세션 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:fly3366/dsh-o11y-plugin

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 36fcdbc동기화 2026. 8. 18.

dsh-o11y-plugin banner

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

ItemValue
DSH version@deepseek-ai/dsh 0.1.0-rc.6 (Cordis 4.0.1)
Last verified2026-08-15 (unit tests against @deepseek-ai/cordis 4.0.1)
Node^22.19 || >=24
Profilesheadless, 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

KeyDefaultDescription
enabledtruemaster switch
serviceName'' (→ OTEL_SERVICE_NAMEdsh-plugin)OTel resource service.name
endpoint'' (→ OTEL_EXPORTER_OTLP_ENDPOINThttp://localhost:4318)OTLP/HTTP endpoint
enableTraces / enableMetrics / enableLogstrueper-signal toggles
metricExportIntervalMs60000periodic metric export interval
bridgeSessionTelemetrytruebridge 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 endpoint and collector availability.
  • Roll back with dsh plugin --profile <p> remove dsh-o11y-plugin or set enabled=false.

Development

npm install
npm run typecheck
npm test
npm run build

Contributions welcome; keep the OTel SDK dependency family aligned with dsh's session-telemetry-otel for community compatibility.

License & security

MIT. Report vulnerabilities privately per SECURITY.md.

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨
보안 정책감지됨

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 15. 오후 4:52

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.