$worker
shell
v0.3.5Unix shell + filesystem worker — exec with allowlist/denylist/timeout/output caps and background jobs; fs::ls|stat|mkdir|rm|chmod|mv|grep|sed|read|write with host jail, denylist, size caps, and sandbox-target forwarding
- macOS: arm64 · x64
- Linux: arm64 · armv7 · x64
skill doc
skills/read.md
Streaming a file's bytes through a channel
When to use
- A peer worker wants the bytes of a file without an inline copy in the trigger response.
- Streaming a large file into another channel (for example, uploading into a sandbox) without pinning a buffer in the orchestrator.
- Reading a binary that would not survive JSON encoding inline.
Notes
- Most LLM tool surfaces want bytes inlined into a tool result rather than a channel handle. For the harness web surface, the inline wrapper
harness::fs::read_inlinedrivesshell::fs::read, drains the channel, and returns the legacy{ content: [{ text }], details: { size, truncated, bytes_read } }envelope. Use the wrapper from the browser; reach forshell::fs::readdirectly only when you actually want the streaming channel. - When
cfg.fs.max_read_bytes > 0and the file's size exceeds it, the read is rejected before any bytes flow withS218 file size N exceeds max_read_bytes M. The default of0means no cap, which is unusual; operators typically pin a value. - Same jail and denylist rules as
shell::fs::ls.