隐私与运行边界 / Privacy and runtime boundaries

August 31, 2026 · View on GitHub

Data handled

The host reads the selected session's stored events to find first/latest text-bearing human messages, titles, timestamps, counts and the last recorded model route. It reads registered workspace paths and executes read-only Git commands for repository metadata. It does not read Git file contents.

The full selected user text is sent through ctx.llm.stream to the provider/model already recorded by DSH for the session. No tool execution is requested. The provider may be remote or local, depending on the user's DSH configuration. Installing this plugin does not imply offline processing or secret detection/redaction.

Storage and disclosure

  • No analytics, separate telemetry endpoint, additional credential store, or persistent summary cache is implemented by this plugin.
  • It does not call session append APIs or add auxiliary raw requests to chat events. Existing DSH session storage and provider/runtime logs are outside its control.
  • Its API returns generated summaries and metadata, including titles and Git paths/names, rather than dedicated raw-message fields. A model can quote or reproduce sensitive source text in a summary; summarization is not anonymization.
  • Summary promises/results are held in a bounded 200-entry memory cache. Original text is processed transiently for generation and is already present in DSH's original event storage.
  • Errors from summary generation are converted into generic UI states rather than logging the raw error or request in this plugin.

Cost and limits

Opening a session may trigger one or two auxiliary model requests. The first/latest fields share a request when they refer to the same message. Cache hits avoid repeated calls; eviction, process restart, new messages, or provider/model changes may cause more calls. Each request asks for at most 160 output tokens and carries a 20-second abort signal; actual cancellation and billing depend on DSH/provider behavior. Failed requests retry on later refreshes.

Local trust boundary

Both endpoints require a loopback socket connection; Git queries additionally require an exact registered workspace root after path canonicalization. This is not user authentication. Other local programs or a reverse proxy can share that network identity. Run DSH only for trusted local users and do not forward these routes to an untrusted network.

The plugin itself has no Git write actions, message-sending actions, or file-editing actions. The independently installed better-sidebar dependency has its own capabilities and policies; review its upstream documentation separately.