Docs

Commands

Host helper commands, Facio CLI commands, and runtime slash commands.

Facio has three command layers. They solve different jobs and should not be confused.

LayerWhere it runsUse it for
Quickstart helperHost install directory, ./facio ...Docker Compose lifecycle: status, logs, update, scale, up, down.
Facio CLIInside a Python/installed Facio environmentLocal init, gateway, chat, channel login, provider OAuth.
Slash commandsPlacet, Telegram, Discord, Slack, CLI chatRuntime control of the active agent.

Quickstart helper

The quickstart writes a host-side ./facio helper into the install directory. It wraps Docker Compose and includes the base compose file, optional override file, and generated scale file.

CommandMeaning
./facio statusShow Docker Compose service status.
./facio logs [service...]Follow logs, for example ./facio logs facio-1.
./facio restart [service...]Restart one service or the whole stack.
./facio updatePull latest images and recreate services without changing replica count.
./facio scale NRun N Facio agents with stable hostnames facio-1, facio-2, and so on.
./facio render [N]Regenerate docker-compose.scale.yml only.
./facio configPrint the merged Compose config.
./facio upStart the stack idempotently.
./facio downStop the stack.

Scaling writes docker-compose.scale.yml. Agent #1 keeps the base service; additional agents extend it and override only hostname, visible Placet name, and management URL.

Facio CLI

The Python CLI is mostly for local development, embedding, and direct runtime testing. The Docker quickstart remains the recommended way to run Facio as an operator-facing service.

CommandUse it for
facio onboardCreate or refresh config.json, optionally with --wizard, --workspace, or --config.
facio agentSend a direct message to the agent with --message, --session, --workspace, and --logs.
facio serveStart only the OpenAI-compatible HTTP API surface.
facio gatewayStart the full gateway with channels, management API, cron, MCP, and Placet registration.
facio statusInspect config, workspace, selected model, and provider credential status.
facio providerRun provider OAuth commands such as provider login.

Runtime slash commands

Slash commands are channel-visible runtime controls. Placet syncs structured command metadata; Telegram and Discord expose command menus where supported.

CommandPurpose
/newStart a new conversation.
/stopStop the current task.
/restartRestart the bot.
/statusShow runtime status.
/history [n]Show recent conversation messages.
/checkRun a system diagnostic for tools, providers, MCP, and security.
/settingsManage model and provider settings, primarily in Placet.
/settings advancedAdjust temperature, limits, retries, concurrency, and related tuning.
/settings keysManage API keys and credentials from the operator UI.
/credentials list/add/rm/expose/unexposeManage the credential store and shell exposure whitelist.
/continueResume a turn that hit the iteration limit.
/abortDiscard a pending resume state.
/audit tail/run/statsInspect audit records.
/goal text/status/pause/resume/clearManage a persistent multi-turn goal.
/subgoal or /checklistShow or edit the active goal checklist.
/heartbeat status/pause/resume/clearManage heartbeat runtime state.
/learn instructionTeach Facio a durable instruction.
/reflectTrigger Reflection memory consolidation.
/reflection-log [sha]Show the latest Reflection change.
/reflection-restore [sha]Restore Reflection memory to an earlier version.
/guardManage guardrail topics and guardrail state.
/policy, /allow, /denyManage tool-call approval policy rules.
/improveManage self-improvement runs: status, review, diff, approve, reject, rollback.
/helpShow available commands.

Provider OAuth commands

OAuth-backed providers are not configured with API keys. The CLI exposes provider login flows for providers such as OpenAI Codex and GitHub Copilot:

facio provider login openai-codex
facio provider login github-copilot

In Placet, OAuth flows can also be relayed through the operator UI where supported.

Management command endpoints

External operator tooling can call a small set of management command endpoints:

EndpointAction
POST /api/v1/commands/stopStop the current task.
POST /api/v1/commands/restartRestart the runtime.
POST /api/v1/commands/newStart a new conversation.
POST /api/v1/commands/reflectTrigger Reflection.
GET /api/v1/commands/statusRead runtime status.

These require the management bearer token.

On this page