Make it your environment.
Starlark extensions and built-in virtual binaries bring useful operations into the shell. The MCP server gives agents an interface to the toolset.
Explore adssh ↗The shell & the tools around it
Programmable when you need power. Policy-aware when the work needs boundaries. Meet adssh, the execution shell in the Service Automation Hub.
Brand: SAH / Development binary: adssh
$ opensah tools
sahlink built process I/O capture
sahconnect built SSH + SystemAPI client
sahapi built local API service
sahcore not_built unassigned
adssh external execution shell
$ sahconnect api GET /api/v1/fleet
$ sahlink run -- /bin/echo hello
hello01 / The execution shell
Starlark extensions and built-in virtual binaries bring useful operations into the shell. The MCP server gives agents an interface to the toolset.
Explore adssh ↗Policy evaluation, approval workflows, and audit evidence make the authority behind a command explicit.
Understand the boundary ↗Use the adssh binary directly, launch it through sahconnect, or capture a process you start with sahlink.
Start locally ↗02 / A focused toolbox
The SAH utilities are useful on their own. They do a small, explicit job and fit alongside the shell.
export SYSTEMAPI_URL=https://systemapi.example
# Set SYSTEMAPI_API_KEY through your secret manager.
sahconnect api GET /api/v1/fleetCalls your configured SystemAPI with the key in a request header.
sahlink run -- /bin/echo helloStarts and records this process. It does not attach to an existing process or capture unrelated sockets.
opensah tools
opensah readyChecks the suite’s local binaries. A missing adssh is reported separately; sahcore has no binary.
03 / For machines, too
The initial sah/1 stdio interface accepts a single JSON frame. It is opt-in through ADSSH_SAH. The hello message does not execute commands.
Execution requires a loaded policy that allows the command. A supplied lease ID does not grant authority, and the cross-product lease handoff is not yet wired.
printf '%s\n' '{"v":1,"id":"hello-1","type":"hello"}' | \
ADSSH_SAH=1 adssh sahBuild from source, read the policy model, and make the tools part of your workflow.