PTY · agent shell

Terminal

A real terminal in the workbench, and a stateful shell the agent can drive — with sandbox and permission prompts.

Eyeban is not a chat box with a fake command preview. The workbench has an integrated terminal. The agent’s Shell tool uses a persistent session (ConPTY on Windows, Unix PTY elsewhere) so cd, env, and long jobs survive across calls. Await waits on those jobs.

Why it sells

Agents that cannot run tests, formatters, or git stay at “suggested code.” A PTY shell is how the agent closes the loop on your machine.

Controls

Sandbox levels Off / Soft / Restricted apply. Ask / Allow safe / Allow all still gate the command. Plan and Ask modes will not let the agent mutate the product through the shell.

Limits

This is OS-level rlimits / job objects — not AppContainer or landlock. Treat Restricted as a seatbelt, not a multi-tenant jail.

Headless CLI can drive the same terminal and agent entry points from the desktop binary.

Eyeban · shop/checkout.py Balanced
41 def charge(order, wallet):
42     tax = order.subtotal * 0.09
43     total = order.subtotal + tax
44     if wallet.balance < total:
45         raise InsufficientFunds(total)
46     wallet.debit(total)
47     return Receipt(order.id, total)

Split regional tax from the hardcoded rate, and check coverage before debit.

Read 6 files · 2 searches · 1 test

charge still hard-codes 0.09. tax_for(region) exists. I will wire can_cover to the wallet.

12-line patch across two files. Review the diff.

main Agent Balanced You stay in review