Application · Coding assistant · terminal v0.7.1 · web v0.6.1

AbstractCode

An agentic coding assistant that runs durably on your AbstractGateway, with two clients you can use interchangeably: a terminal application written in Rust and a browser application. The agent works on the gateway, so you can start a task in the terminal, close your laptop, and pick the same session up in the browser. The installer puts the terminal client on your PATH, and the gateway console's Apps page installs and updates both; see Install.

# Terminal client: the installer puts it on your PATH
abstractcode login --token <admin token>   # once
abstractcode
# or, on the gateway's computer, without handling a token:
abstractgateway apps tui-command code

# Web client (also on the console's Apps page)
npx @abstractframework/code \
  --gateway-url http://127.0.0.1:8080

One agent on the gateway, two clients

Both clients are thin. They start runs, stream the run ledger (the record of every step) live, show workflow and tool activity as it happens, answer tool approvals and agent questions, and steer a run while it is in flight. They talk to the gateway over HTTP and server-sent events (SSE) and send the same durable commands, so a run waiting for your approval in one client can be approved from the other.

Terminal client v0.7.1

A Rust application built on AbstractTUI, the framework’s terminal UI toolkit: live reasoning cycles and tool cards, a multiline composer, approval modals, slash commands and 26 themes. The one-line installer builds it into ~/.local/bin, next to abstractgateway (--no-code-cli skips it), and the console’s Apps page installs and updates it in the same folder. Or install it with cargo install abstractcode (Rust 1.87+) or download a prebuilt binary from the GitHub releases. macOS and Linux are the verified platforms.

Rustcrates.ioabstractcode

Web client v0.6.1

A browser application (TypeScript, React) published as @abstractframework/code. The gateway (0.7.0 or later) can install, start and serve it at /apps/code/ on its own address, or you can run it on its own with npx on 127.0.0.1:3002.

Browsernpm/apps/code/

Runs live on the gateway

Runs, history, approvals and workspace files stay on AbstractGateway. Quit or close a client and the run keeps going; reopen it and prior turns replay from their ledgers, a live run reattaches and pending approvals come back.

DurableHTTP + SSEPre-alpha
The AbstractCode web client at /apps/code/: the sidebar with New conversation, an Automations section listing three demo automations and the conversations; a start screen with four starter cards; the Workspace panel with Files, Activity and Artifacts tabs
The browser client: automations in the sidebar, the conversation workspace on the right.

What you can do

Everything below works in both clients unless it names one.

Durable runs

Pause, cancel, resume and reattach to a session that keeps running while the client is closed. In the terminal, /pause parks the run on the gateway and /resume continues it.

Approval-gated tools

Tools stop and wait for you by default; approve or deny from either client. In the terminal, /permissions read|write|all sets the auto-approval level and per-tool pins override it. all is never the default.

Steering

Type while the agent works: your guidance is folded into its next reasoning cycle without restarting the run.

Workflows

Run the gateway's default agent workflow, resolved by the gateway at every new turn, or pick a named agent bundle: /workflow or --workflow <bundle[:flow]|default> in the terminal, the workflow selector in the web toolbar.

Live activity and streamed replies

Reasoning cycles, tool cards that update in place, token counts and context metering, streamed from the run ledger. With a gateway that supports live replies, you can watch the answer as the model writes it (/stream, or Settings → Stream replies).

Workspace files

Browse and preview the files a run works on, with their absolute path on the gateway host: /files in the terminal, the Files tab in the browser.

Automations

Run a workflow on a schedule, then pause, run now, revise, archive, answer its approvals, browse its folder and discuss any run as a new conversation. The same automations appear in AbstractAssistant and AbstractObserver. About automations.

Review mode

Before a tool-call-free answer is accepted as final, a verifier re-reads the transcript and can ask for more work. It is on by default in the terminal (/review, --no-review).

Goals and entities (terminal)

/goal <text> starts a self-verifying run that cycles until its own checks pass or its budget runs out (it needs an abstractcode.goal.v1 workflow on the gateway). @name opens a visit with a summoned entity; /entities lists them.

The two clients

AbstractCode web conversation: "Summarise the attached release notes in three bullets." and the agent's three bullets, with token, tool and time chips; the Files tab shows the conversation workspace
The web client 0.6.1: a conversation with an attached file, the Files tab open.
AbstractCode terminal conversation: the question "How long should I steep green tea?", the cycle line, the reply, then "done · 1 llm calls" and the status bar
The terminal client 0.7.1: one conversation turn, then the status bar.

Connect a client to your gateway

You need a reachable AbstractGateway and a gateway user token. The one-line installer sets up a local gateway at http://127.0.0.1:8080 and already puts abstractcode on your PATH; the console's Apps page installs Code (the browser app and, where a ready-made download exists, the terminal app), opens it signed in, and offers Open in Terminal.

# already on PATH after the one-line install; otherwise:
cargo install abstractcode                # or a prebuilt binary from GitHub releases

# sign in once (the installer's summary prints this line with your token)
abstractcode login --token <admin token>
# or, on the gateway's computer (SSH included), a one-time line valid 2 minutes:
abstractgateway apps tui-command code
# another gateway:
abstractcode login --gateway-url https://gateway.example.com --token <token>
abstractcode doctor                          # reachability, auth, catalog
abstractcode                                 # launch the app
abstractcode --resume                        # reopen the last session
abstractcode --workflow default             # the gateway's default agent workflow
  • Started without a valid sign-in, abstractcode says so and prints both ways to sign in instead of opening. The installer never saves the token for you; the admin token is in <data dir>/auth/bootstrap-admin-token.
  • login checks the credentials against the gateway before saving them in ~/.abstractcode/gateway.json. Without --gateway-url or a saved login, the client uses the gateway installed on this computer (~/.abstractframework/gateway.json), else http://127.0.0.1:8080. --provider and --model only override the gateway's route.
# From the gateway console: Apps > Code > Open  (http://127.0.0.1:8080/apps/code/)

# Or on its own (Node.js 18+), on http://127.0.0.1:3002
npx @abstractframework/code --gateway-url http://127.0.0.1:8080
npx @abstractframework/code --port 3010   # another port; without --gateway-url it uses the local gateway
  • Sign in with your gateway user and token: the web server exchanges the token for a gateway browser session and keeps only app-scoped session cookies. The server listens on 127.0.0.1 by default; to reach it from another machine, expose or tunnel the gateway's own address and use /apps/code/.
# One-shot run that prints transcript events as they arrive
abstractcode exec "Summarize the workspace layout" --permissions read

# Stream the reply to stdout while the model writes it
abstractcode exec "List the TODO comments in src/" --stream on
  • Exit codes: 0 completed answer, 1 failure, 2 usage or configuration error, 124 timeout, 130 cancelled. Without a raised --permissions level, mutating tools are denied with an explanation the model sees, and agent questions get a "no interactive user" answer so unattended runs never stall.

Slash commands you will use first

Type a task and press Enter. /help lists every command; ? shows the keys.

CommandWhat it does
/workflowPick the agent: Gateway default first, then every published workflow implementing abstractcode.agent.v1.
/modelPick provider and model, then reasoning effort and multi-token prediction.
/permissions read|write|allAuto-approve proven read-only tools, then workspace file writes, then everything. Sticky per session.
/filesBrowse the run's workspace on the gateway host and preview text, Markdown, JSON or images.
/goal <text>Start a self-verifying goal loop; /goal shows status, /goal stop cancels it.
@name, /entitiesTalk with a summoned entity hosted by the gateway; Alt+E cycles focus between the agent and open visits.
/automationsList the gateway's automations and open one: its runs, waits, folder and controls.
/schedule [task]Create an automation that runs the current workflow, in four steps: task, when, context, tools.
/queue <text>, /sessions, /exportQueue the next task, reopen a recent session, write the conversation to Markdown or JSONL.

Keys in an open automation

KeyAction
pPause or resume
gRun now: "Run it once now, without waiting for the schedule; the next scheduled run keeps its time." Works while paused and does not count toward a run limit
xStop the current run
eRevise title, interval and context
a, then aArchive (stops it and hides it; history stays readable)
dDiscuss a run as a new conversation
wBrowse the automation's folder
y / nApprove or deny a waiting tool call
hShow archived automations (in the list)

Code in the browser

Workflow selector

Choose Gateway default (the agent workflow your gateway's admin set as default), a published coding agent or, with Show all workflows, any registered workflow. Agent tasks use the composer; structured workflows use Inputs.

Automations sidebar

The Automations section lists state, what runs now, the next run and attention. + creates one with the toolbar's workflow; each automation has its own page with its controls, its runs and its Automation folder. Discuss opens a run as a conversation.

Files, replies, About

The Files tab shows the conversation's workspace on the gateway with previews, Settings → Stream replies shows replies as they are written, and About lists the app's and the gateway's versions. Questions and approvals appear in the conversation.