Skip to content

DSH Remote Console 0.8.0 — audit trail

Choose a tag to compare

@cccodder cccodder released this 28 Oct 03:44
21b960f

A cross-session audit trail: what the agent did on the remote host no longer disappears when the terminal closes.

Added

  • audit/audit.jsonl — cross-session audit trail. Records agent actions only: command text (same redaction rules as the session log), exit codes, approval outcomes (allowed / rejected / no approval service), transfer paths with byte counts and sha256, port forwards, and session start/end. No screen output and none of the text the user typed. Rotates at 8 MB, keeps 5 files, file mode 0600, directory 0700.
  • remote_audit_read(cursor, max_bytes?, tool?) — incremental read of the trail, filterable by tool; works without a live terminal.
  • remote_audit_export(local_path, format?) — export to jsonl or csv (fixed columns, 0600) for archiving, hand-off or before uninstalling.
  • DSH_RC_AUDIT=off stops writing the trail (reading and exporting existing records still works). remote_status reports the audit path and size; the sidebar panel shows an "audit/" hint.
  • tests/tools-sshd.test.mjs: real sshd + fake DSH services, executing the registered tool definitions end to end (remote_exec, upload/download with sha256, read/write round trip, forward start/list/stop) and asserting the audit trail is written without command output. Skips cleanly without ssh/sshd.

Changed

  • The two logs are now explicitly separate: logs/ is the on-the-spot replay with screen output (deleted when the PTY ends); audit/ is the trail that survives sessions and holds no screen content.
  • README (zh/en) tool table, data directory, security model and environment variables; SECURITY.md in both languages now state the split. Tool count 11 → 13.

Install / update