JohnXu22786/headless-json
Structured, machine-readable CI output for DSH headless runs: a transaction-level JSON report, an append-only NDJSON event stream, a JUnit XML report, semantic exit codes and an artifact manifest — with a privacy layer for truncation, masking and path relativisation.
dsh-headless-json turns any DSH session into a first-class CI artifact. Where the built-in headless mode prints the final assistant text and exits 0/1, this profile bundle produces a transaction-level JSON report (session metadata, every structured event, outcome and statistics), an append-only NDJSON event stream you can tail while the run is live, a JUnit XML report for GitLab CI / Jenkins / Azure DevOps, semantic exit codes that distinguish success, failure, timeout, blocking and abort/interruption, an artifact manifest of file paths referenced in the conversation, and a privacy layer for truncation, argument hiding, secret masking and path relativisation. It subscribes to the DSH session event firehose (session/created, session/event, session/flush, session/disposed) and derives one structured event per turn/step/tool call. It exposes three dsh tools plus a standalone CLI for offline rendering and exit-code plumbing.
Install
dsh plugin --profile headless add github:JohnXu22786/headless-jsonCopied verbatim from the README's Installation & integration section. The bundle is a dsh profile bundle — an npm package whose manifest declares its patch — adding output_status, output_events and set_options tools plus a standalone dsh-headless-json render|exit CLI.
Compatibility
A profile bundle for DSH's headless mode; the README documents a Limitations & compatibility section. Adds a privacy layer configurable at mount time and at runtime via set_options (tool-output truncation, argument hiding, secret masking, cwd-relative paths).
Details
- Repo: JohnXu22786/headless-json
- Category: Coding & Development
- Stars: 1
- Version: GitHub repo JohnXu22786/headless-json (install is a github: spec to the repo itself). Everything is deterministic: the same session log and options produce identical bytes.
Alternatives
jsoncode/dsh-jenkins · omdsh-dev/dsh-tool-json · bujue600-arch/dsh-testgen