Manual
Every slash command in amber comes from one JSON tree (completions.json). Nothing is hardcoded, nothing is special-cased: the drawer, Tab completion, and the ? help pages are all derived from the same tree. Press / to open the drawer, type? at any depth for the full help page.
Model & Provider
| Command | What it does |
|---|---|
| /set model | Switch the active AI model at runtime |
| /get model | Show the active model name |
| /get model list | List all models the server offers |
| /get model context | Show the active model's context window size |
| /set provider | Switch the active LLM provider |
| /get provider | Show provider name and API base URL |
| /get provider list | List available providers |
| /provider list | List all saved API providers |
| /provider add | Add a new provider (settings form) |
| /provider edit | Edit a provider's configuration |
| /provider delete | Delete a saved provider |
| /provider test | Probe the provider's API endpoint |
Sessions & Jobs
| Command | What it does |
|---|---|
| /session list | Browse saved sessions |
| /session save | Save the conversation as a named session |
| /session load | Load a session by ID |
| /session delete | Delete a saved session |
| /session rename | Rename a saved session |
| /job list | List running and finished background jobs |
| /job start | Start a background job with a shell command |
| /job read | Read a job's output (all, or since last read) |
| /job kill | Stop a running job by ID |
| /save | Save the current conversation |
| /compress | Force compression of conversation history |
Policy & Permissions
| Command | What it does |
|---|---|
| /get policy mode | Agent access mode (read / write / yolo) |
| /set policy mode | Set the agent access mode |
| /get policy approval | Master switch for permission gating |
| /set policy approval | Toggle permission gating |
| /get policy timeout | Approval dialog timeout in seconds |
| /set policy timeout | Set the approval dialog timeout |
| /get policy rule | Show a tool's permission rule |
| /set policy rule | Set or clear a tool's permission rule |
Files & System
| Command | What it does |
|---|---|
| /files ls | List directory contents with sizes and mtimes |
| /files tree | Directory tree, recursive, max depth 4 |
| /files open | View file content inline (first 4 KiB) |
| /files find | Find files by glob pattern |
| /system exec | Execute a shell command, capture output |
| /system mkdir | Create a directory (including parents) |
| /system delete | Delete a file or empty directory |
| /system rmdir | Recursively delete a directory tree |
| /system mv | Move or rename a file or directory |
| /system cp | Copy a file or directory (recursive) |
| /system info | File metadata: type, size, permissions |
| /system ps | List running processes (top 20 by memory) |
| /system kill | Send SIGTERM to a process by PID |
| /system df | Disk usage for a path |
| /system uptime | Uptime and load averages |
| /system uname | Kernel, architecture, hostname |
MCP & Plugins
| Command | What it does |
|---|---|
| /mcp list | List configured MCP servers and connection state |
| /mcp show | Details for one MCP server |
| /mcp connect | Connect to a server, register its tools |
| /mcp disconnect | Disconnect and unregister its tools |
| /mcp refresh | Reconnect all enabled MCP servers |
| /mcp prompts | List prompt templates exposed by a server |
| /mcp enable / disable | Enable or disable a configured server |
| /mcp trust | Mark a server as trusted |
| /get plugin list | List installed plugins and their state |
| /get plugin info <id> | Show one plugin's runtime state and manifest |
| /set plugin install / uninstall | Install or remove a plugin archive |
| /set plugin on / off <id> | Load or unload a plugin |
| /get plugin settings / /set plugin settings | Read or change a plugin setting |
Skills, Learning & Engine
| Command | What it does |
|---|---|
| /get skills show | List loaded skills |
| /set skills create / delete | Create or delete a skill package |
| /set skills install / uninstall | Install or remove a skill pack (tar.gz, path or URL) |
| /set skills refresh | Reload the skill catalog from disk |
| /set skills interop | Toggle .claude/skills interop |
| /get learn | Show learned skills and memories |
| /set think | Thinking / reasoning display mode |
| /get think | Show the current display mode |
| /set reasoning effort | Reasoning effort: off / low / medium / high |
| /get reasoning | Show reasoning effort |
| /get compression threshold | Context utilisation threshold for compression |
| /set compression threshold | Set the compression trigger threshold |
| /get compression min_turns | Minimum turns before compression activates |
| /set compression min_turns | Set the minimum turns |
| /set subagent parallel | Sub-agents concurrent (on) or serial (off) |
| /set subagent max | Maximum concurrent sub-agents |
| /set display markdown | Toggle markdown rendering of responses |
| /set detection loop / duplicate | Tool-loop and duplicate call detection |
flowchart TB
ctx["sealed Context, read-only"] --> gate{"compression gate"}
gate -->|compressed| rebuild["context rebuilt<br/>clear + push"]
gate -->|kept| copy
rebuild --> copy["prompt copy<br/>the Context itself is never mutated"]
copy --> head["head blocks<br/>inserted right after the system prompt"]
copy --> tail["tail blocks<br/>appended after the conversation"]
head --> order["within each: ascending prompt_priority<br/>ties keep insertion order"]
tail --> order
order --> sources["sources: retrieved memories · skill metadata<br/>session brief · plugin PromptBlockCapability"]
sources --> omit["a block that renders empty is omitted"]
sources --> isolated["a plugin block that throws<br/>cannot break the turn"]flowchart TD
cycle["compression cycle"] --> response["CompressionResponse<br/>segments · memory_ops · skill_ops"]
response --> apply["apply_compression_result"]
apply --> mem["apply_memory_ops<br/>upsert, evidence starts at promote_threshold"]
apply --> skills["apply_skill_ops<br/>upsert or deprecate, with a trigger phrase"]
mem --> store
skills --> store["JsonMemoryStore"]
store --> dedup["dedup by content hash<br/>a repeat upsert just bumps evidence"]
store --> recall["MemoryRetriever builds the system-prompt suffix<br/>recall is injected into the prompt copy"]Windows
| Command | What it does |
|---|---|
| /new | Open a new chat window |
| /close | Close the current window |
| /stop | Stop the agent's current work |
| /window list | List all open windows |
| /window rename | Rename the current window |
| Alt+1 .. Alt+9 | Switch windows, BitchX style |
| /quit | Leave (alias: /q) |
Configuration
Project settings live in amber.conf in the workspace root. Provider credentials live outside the project, per provider file:
# amber.conf (project-local, only data paths) system_prompt=prompts/system.md tools_prompt=prompts/tools.md git_prompt=prompts/git.md # ~/.config/amber/providers/<name>.conf api_base=http://localhost:8080/v1 model=Qwopus-27B-Fusion
Amber keeps its own files in four places, following the XDG base directories: global config in ~/.config/amber (providers, skills, MCP servers), shareable project config in<project>/.amber (created only when you add something), private per-project state in~/.local/state/amber/projects/<project> (sessions, settings, logs, experience, policy) and the model cache in~/.cache/amber. Running amber from your home directory therefore leaves no project directory behind, and a deleted checkout does not take your conversation history with it./get config paths prints the resolved layout for this machine, and the bundled amber-config skill teaches the agent the same table.
Environment variables
AMBER_WORKSPACE- override the workspace root (defaults to the working directory)AMBER_MODEL- override the default modelAMBER_PROVIDER- override the default providerAMBER_STREAM- set 0 to disable SSE streamingAMBER_APPROVAL- approval mode overrideXDG_CONFIG_HOME,XDG_STATE_HOME,XDG_CACHE_HOME- move the config, state and cache roots