astrion-website/content/en/10-cli.md

1.8 KiB

CLI (In Development)

⚠️ The CLI is currently in a development state under rewrite; functionality and stability are defined by the Web client. This article only describes its current form, and the behaviors listed may change later.


1. What It Is

A conversation client in the terminal: a TUI built with React 19 + Ink 6 + TypeScript that lets you talk to Astrion without opening a browser.

Key point: the CLI is not a standalone agent runtime—it connects to the Astrion Web service running locally on your machine (default 127.0.0.1:8091). All conversations, tool execution, and permission control go through the backend; the CLI is just a lighter interactive interface.

2. Startup

npm --prefix cli install   # install dependencies on first use
npm run cli                # start; automatically connects to the local 8091 service

On startup it clears the screen, connects to the local service, creates a new session, and pins the input area to the bottom. If the current directory is not inside any authorized workspace, it first asks whether to add it as a workspace.

3. Current Capabilities and Limits

  • Basic conversation, streaming output, tool call display;
  • / command system (in design; see the repo's docs/cli_slash_commands_spec.md);
  • Thinking content is collapsed by default, showing only "thinking / thinking done";
  • Multimodality, Quick Dock, version control, and other Web-side capabilities are not yet aligned in the CLI—use the Web client when you need the full feature set.

4. For Developers

npm run cli:typecheck   # type checking
npm run cli:build       # build (artifacts provide the agents / agents-cli commands)

The CLI code lives in cli/src/ (App.tsx, components.tsx, eventMapper.ts, api.ts); contributions welcome.