Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aether-agent/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
aether-agent-cli
Binary package containing Aether's two runnable entrypoints:
aether-acp— Agent Client Protocol (ACP) server for editor/IDE integration (e.g. Zed)aether— Headless CLI for single-prompt usage
Table of Contents
- Quick Start
- Choosing a Model
- Editor Integration (ACP)
- MCP Configuration
- Slash Commands
- Settings
- Logs
Quick Start
Build
From the workspace root:
cargo build --release -p aether-agent-cliBinaries will be at target/release/aether-acp and target/release/aether.
Run the CLI
cargo run -p aether-agent-cli --bin aether -- -m anthropic:claude-sonnet-4-5-20250929 "Refactor auth module"Run the ACP server
cargo run -p aether-agent-cli --bin aether-acp -- --model anthropic:claude-sonnet-4-5-20250929 --mcp-config mcp.jsonChoosing a Model
Aether supports multiple LLM providers using a provider:model string format:
| Provider | Example | Env var required |
|---|---|---|
| Anthropic | anthropic:claude-sonnet-4-5-20250929 |
ANTHROPIC_API_KEY |
OpenRouter |
openrouter:moonshotai/kimi-k2-thinking |
OPENROUTER_API_KEY |
| ZAI | zai:GLM-4.6 |
ZAI_API_KEY |
| Ollama | ollama:llama3.2 |
None (local) |
| Llama.cpp | llamacpp |
None (local) |
Editor Integration (ACP)
Zed
Add to your Zed settings.json (Main Menu -> "Open Settings File"):
{
"agent_servers": {
"Aether Agent": {
"command": "/path/to/aether/target/release/aether-acp",
"args": [
"--model",
"zai:GLM-4.6",
"--mcp-config",
"/path/to/aether/mcp.json"
],
"env": {
"RUST_LOG": "debug",
"ZAI_API_KEY": "your-api-key-here"
}
}
}
}Then open the Agent Panel and select "New Aether Agent Thread".
Important: Update the paths and configuration:
command: Full path to your builtaether-acpbinary--mcp-config: Path to your MCP configuration file- Set the appropriate API key env var for your model provider
MCP Configuration
The mcp.json file configures MCP tool servers:
{
"servers": {
"coding": {
"type": "in-memory"
},
"skills": {
"type": "in-memory",
"args": ["--dir", "$HOME/.aether"]
}
}
}- coding — Filesystem tools (read, write, bash, etc.)
- skills — Slash commands and reusable skill prompts from
~/.aether/
Slash Commands
Create markdown files in ~/.aether/commands/ to define custom slash commands.
Example ~/.aether/commands/plan.md:
---
description: Create a detailed implementation spec for a task
---
You are an expert software architect. Create a comprehensive technical specification.
# Task
$ARGUMENTSParameter syntax:
$ARGUMENTS— Full argument string (e.g.,/plan add user auth-> "add user auth")$1,$2,$3— Positional arguments
Settings
Project-level agent configuration is centralized in .aether/settings.json in your project root. This file defines agents (modes and sub-agents), prompts, and MCP server configuration.
Agents (Modes and Sub-agents)
Define agents with specific model, prompts, and tool configurations:
{
"prompts": [".aether/SYSTEM.md", "AGENTS.md"],
"mcpServers": [".aether/mcp.json"],
"agents": [
{
"name": "planner",
"description": "Planner optimized for decomposition and sequencing",
"model": "anthropic:claude-sonnet-4-5",
"reasoningEffort": "high",
"userInvocable": true,
"agentInvocable": true,
"prompts": [".aether/prompts/planner.md"],
"mcpServers": [".aether/mcp/planner.json"]
},
{
"name": "researcher",
"description": "Read-only research agent",
"model": "anthropic:claude-sonnet-4-5",
"userInvocable": false,
"agentInvocable": true,
"prompts": [".aether/prompts/researcher.md"],
"tools": {
"allow": ["coding__grep", "coding__read_file", "coding__glob"],
"deny": []
}
},
{
"name": "coder",
"description": "Fast coding agent",
"model": "deepseek:deepseek-chat",
"userInvocable": true,
"agentInvocable": false,
"prompts": [".aether/prompts/coder.md"]
}
]
}userInvocable: true— Agent appears as a mode option in ACP clients (e.g., Wisp's Shift+Tab)agentInvocable: true— Agent can be spawned as a sub-agentprompts— Explicit prompt file references (supports glob patterns)mcpServers— Path to MCP configuration file (optional, overrides top-levelmcpServers)tools— Filter which MCP tools the agent can use (optional). Supportsallow(allowlist) anddeny(blocklist) with trailing*wildcards. If both are set,allowis applied first, thendenyremoves from the result. Omit or leave empty to allow all tools.- Top-level
promptsare inherited by all agents - Top-level
mcpServersis the default MCP config for all agents
Logs
Logs are written to --log-dir (default: /tmp/aether-acp-logs/). Control verbosity with the RUST_LOG environment variable.