CLI Commands

CommandDescriptionKey Flags
xbot onboardInitialize global config and workspace--workspace
xbot chat <msg>One-shot agent conversation--model, --workspace, --global
xbot replInteractive TUI mode--model, --workspace, --global
xbot runStart backend agent service--model, --workspace
xbot configInteractive configuration--provider, --channel
xbot channelsManage channelslist, status, login, setup
xbot skillsManage skillslist, init <name>
xbot statusShow runtime status--model
xbot sessionsList active sessions
xbot jobsList cron jobs
xbot print-configDump current config JSON

Global Flags

FlagDescriptionDefault
--config <path>Config file path~/.xbot/config.json
--workspace <path>Set workspace directoryCurrent directory
--globalUse global workspace~/.xbot/workspace
--model <name>Override default modelConfig value

REPL Built-in Commands

CommandDescription
/helpShow available commands
/new / /clearStart new session
/memorize <text>Store permanent memory entry
/statusView runtime status
/stopStop currently running task
/model <name>Switch model at runtime
/initInitialize project context

Channel Commands

These commands work in channel messages (with or without / prefix):

CommandDescription
stopStop current task
clear / newStart new session
memorize <text>Store memory
statusView status
helpShow help

Environment Variables

VariableDescriptionDefault
XBOT_CONFIGConfig file path~/.xbot/config.json
XBOT_WORKSPACEDefault workspace path~/.xbot/workspace
XBOT_LOG_LEVELLog levelinfo
OPENAI_API_KEYOpenAI API key (alternative to config)
ANTHROPIC_API_KEYAnthropic API key
XBOT_INSTALL_BASE_URLOverride artifact download URL for npm

Agent Configuration

PathTypeDefaultDescription
agents.defaults.workspacestring~/.xbot/workspaceGlobal workspace path
agents.defaults.modelstringopenai/gpt-4.1-miniDefault LLM model
agents.defaults.providerstringautoProvider (auto for auto-detect)
agents.defaults.maxTokensnumber16384Max completion tokens
agents.defaults.contextWindowTokensnumber65536Context window size
agents.defaults.temperaturenumber?nullSampling temperature
agents.defaults.maxToolIterationsnumber0Tool loop limit (0 = unlimited)
agents.defaults.maxConcurrentToolsnumber5Parallel tool execution
agents.defaults.maxConcurrentRequestsnumber3Global request concurrency
agents.defaults.memoryMaxBytesnumber32768Memory file size cap
agents.subagents.modelstring?Subagent model (inherits if empty)
agents.subagents.providerstring?autoSubagent provider
agents.subagents.apiBasestring?Subagent API base URL

Provider Configuration

PathTypeDescription
providers.{name}.apiKeystringAPI key
providers.{name}.apiBasestring?Custom API base URL
providers.{name}.extraHeadersobject?Extra HTTP headers
providers.{name}.reasoningEffortstring?Reasoning effort level

Tools Configuration

PathTypeDefaultDescription
tools.exec.enablebooltrueEnable shell execution
tools.exec.timeoutnumber120Shell timeout seconds
tools.exec.pathAppendstring?Append to PATH
tools.web.proxystring?HTTP proxy
tools.web.search.providerstringduckduckgoSearch engine
tools.web.search.maxResultsnumber10Max search results
tools.restrictToWorkspaceboolfalseSandbox file ops to workspace
tools.mcpServers.{name}.enabledboolEnable MCP server
tools.mcpServers.{name}.typestringstdioTransport type
tools.mcpServers.{name}.commandstringExecutable command
tools.mcpServers.{name}.argsstring[]Command arguments
tools.mcpServers.{name}.envobject?Environment variables
tools.mcpServers.{name}.enabledToolsstring[]["*"]Enabled tool names
tools.mcpServers.{name}.toolTimeoutnumber30Tool timeout seconds

Gateway Configuration

PathTypeDefaultDescription
gateway.hoststring0.0.0.0Listen host
gateway.portnumber18790Listen port
gateway.heartbeat.enabledbooltrueEnable heartbeat
gateway.heartbeat.intervalSnumber1800Heartbeat interval seconds
gateway.admin.enabledbooltrueEnable admin UI
gateway.admin.pathstring/adminAdmin path
gateway.metrics.enabledbooltrueEnable Prometheus metrics
gateway.metrics.pathstring/metricsMetrics path

Gateway Endpoints

MethodPathDescription
GET/healthzHealth check (200 = running)
GET/readyzReadiness (200 = accepting requests)
GET/statusRuntime status JSON
GET/metricsPrometheus-format metrics
GET/adminWeb admin UI

Admin API

MethodPathDescription
GET/api/admin/overviewSystem overview (CPU, memory, uptime)
GET/api/admin/sessionsList all active sessions
GET/api/admin/cronList cron jobs
GET/api/admin/configCurrent runtime config
POST/api/admin/heartbeat/triggerManually trigger heartbeat
POST/api/admin/channels/{name}/{action}Channel management (start/stop/restart)
POST/api/admin/stopStop current task for a session