Files
deepseek-harness/packages/ssh/sandbox-ssh
Turtle e7def469e1 feat(i18n): key translation pairing records by heading section (#5036)
* feat(i18n): key translation pairing records by heading section

Replace the whole-file blob hashes in *.i18n.yaml with one entry per
heading section that still holds language-specific content, keyed by the
English heading-slug path. Blocks identical across the pair (generated
table rows, code blocks, shared regions) stay out of the hash, so edits to
different sections and identical regenerations merge with Git's default
text merge, including on GitHub.

Remove the dsh-translation-pairing merge driver, its resolver command and
installer wiring; gen-translation-brief recovers last-confirmed text from
commit history. Migrate all active records, archive the superseded Agent
Note, and record the replayed conflict reduction in the new one.

* test(i18n): refresh translation prompt snapshot for the terminology note

* feat(i18n): exclude only code blocks and generated regions from pairing records

Replace byte-equality masking with an explicit rule: a record hash skips
fenced code blocks and BEGIN/END GENERATED regions, the two kinds of
content the pairing gate already requires to be identical on both sides.

Move generated data into regions written into both pages:
gen-config-catalog renders both languages and the record with per-package
regions labelled by code identifiers; gen-module-graph keeps its table in a
region; gen-doc-graphs splices the event matrix regions into the Chinese
page. Add a generic region splice beside the region grammar.
2026-09-23 22:32:06 +08:00
..
2026-09-23 20:47:45 +08:00

description, kind
description kind
Remote file-effect confinement for compositions using SSH filesystem and subprocess providers. package-reference

@deepseek-ai/dsh-sandbox-ssh

English | 中文

Summary

dsh-sandbox-ssh supplies ctx.sandbox for processes launched by the SSH subprocess provider. The remote host selects its installed local sandbox backend and applies each call’s policy there. Bash and Node receive the same backend’s enforcement level, denial signatures and runner-failure classification.

Table of Contents


Use this package

Mount this provider with the shared SSH connection, SSH filesystem and SSH subprocess providers. It has no package-specific configuration. Await confine(argv, policy, signal) to resolve each policy and command through the running remote helper.

Pass a complete read-only or workspace-write policy. The workspace is interpreted and canonicalized on the remote host. Consumers bypass confine() for danger-full-access; the connection does not invent an additional local/remote policy flag.


Understand the implementation

Implementation internals — click to expand

The running helper canonicalizes the policy root and asks its loaded sandbox provider for the enforcing argv, enforcement level and runner-failure evidence. The SSH subprocess provider executes that returned argv directly and owns fd 7 transport and managed process lifetime. Cancellation or an unavailable backend rejects before the caller receives a command to launch.


Further Exploration


Model Experience

Indirectly, through existing sandbox consumers, which report mode, denial and enforcement and own approval presentation and model arguments.

KV Cache effect

This provider contributes no request-prefix content. Its consumers own model-visible tools and results.

Known Limitations and Deferred Work

  • File-effect modes do not restrict network access or process visibility. A remote partial backend remains partial.
  • The SSH host and installed helper are trusted infrastructure. Digest checks and file-effect confinement do not establish a hostile-host security boundary.

Dev Note

Working context for maintainers — click to expand

No invariant companion is published. Wire validation and the owning filesystem, subprocess and sandbox providers enforce the observable obligations; this adapter adds no independently observed state relation.