striveh/dsh-llm-call-inspector0

dsh-llm-call-inspector

Session-scoped LLM request and response inspector for DeepSeek Harness Web

包名
dsh-llm-call-inspector
版本
0.1.1
许可证
MIT
最近更新
2026年8月21日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:striveh/dsh-llm-call-inspector

Configuration

The bundle defaults are:

FieldDefaultMeaning
captureBodiestrueCapture allowlisted request fields and ordered response chunks. false keeps call metadata but marks both bodies omitted.
maxCallsPerSession100Maximum retained calls in one session; oldest calls are evicted first.
maxSessions32Maximum retained session buckets; least-recently-used buckets are evicted.
maxRequestBytes524288UTF-8 JSON byte ceiling for one request snapshot.
maxResponseBytes1048576UTF-8 JSON byte ceiling for one response chunk array.
maxTotalBodyBytes67108864Global retained captured-JSON budget across all sessions; settled calls are evicted before running calls, then oldest creation order first.
pollIntervalMs750Interval advertised to the mounted browser view.

To override them, add a later row to $DSH_HOME/profiles/web/cordis.patch.yml. A DSH patch replaces the row's complete config, so this example restates every field:

- id: dsh-llm-call-inspector
  config:
    captureBodies: true
    maxCallsPerSession: 50
    maxSessions: 16
    maxRequestBytes: 262144
    maxResponseBytes: 524288
    maxTotalBodyBytes: 33554432
    pollIntervalMs: 1000

If a body exceeds its limit, the plugin drops the whole body and exposes an explicit size-limit omission with measured bytes. Non-JSON-compatible values and disabled capture also produce explicit omission states; metadata and chunk counts remain available.

Metadata-only mode

Set captureBodies: false when provider/model, status, timing, and chunk counts are sufficient:

- id: dsh-llm-call-inspector
  config:
    captureBodies: false
    maxCallsPerSession: 100
    maxSessions: 32
    maxRequestBytes: 524288
    maxResponseBytes: 1048576
    maxTotalBodyBytes: 67108864
    pollIntervalMs: 750

Changing this configuration reloads the plugin and discards its current in-memory records.