Skip to content
AstrBot
Main Navigation HomeBlogRoadmapHTTP API

English

简体中文

English

简体中文

Toggle dark mode

Intro & DeployMessaging PlatformsAI IntegrationUsageDevelopment
Sidebar Navigation

Introduction

What is AstrBot

Community

FAQ

Deployment

Package Manager

Desktop Client

One-click Launcher

Docker

Kubernetes

BT Panel

1Panel

Manual

Other Deployments

CasaOS

Compshare GPU

Community-provided Deployment

Support Us

Messaging Platforms

Quick Start

QQ Official Bot

Websockets

Webhook

OneBot v11

WeCom Application

WeCom AI Bot

WeChat Official Account

Personal WeChat

Lark

DingTalk

Telegram

LINE

Slack

Mattermost

Misskey

Discord

KOOK

Satori

Connect Satori

Using server-satori

Community-provided

Matrix

VoceChat

AI Integration

✨ Model Providers

NewAPI

AIHubMix

PPIO Cloud

SiliconFlow

TokenPony

302.AI

Ollama

LMStudio

⚙️ Agent Runners

Built-in Agent Runner

Dify

Coze

Alibaba Bailian

DeerFlow

Usage

WebUI

CLI Commands

Plugins

Built-in Commands

Tool Use

Anthropic Skills

Computer Use

SubAgent Orchestration

Proactive Tasks

MCP

Web Search

Knowledge Base

Custom Rules

Agent Runner

Unified Webhook Mode

Auto Context Compression

Agent Sandbox

Development

Plugin Development

🌠 Getting Started

Minimal Example

Listen to Message Events

Send Messages

Plugin Configuration

Plugin Pages

Plugin Internationalization

AI

Storage

HTML to Image

Session Control

Publish Plugin

Plugin Market Specification

Versions

2026-06-27

Platform Adapter Integration

AstrBot HTTP API

AstrBot Configuration File

Others

Diagnostics

Self-hosted HTML to Image

Open Source Summer

OSPP 2025

On this page

CLI Commands ​

The AstrBot CLI initializes instances, starts AstrBot, installs background services, reads logs, updates common config values, and manages plugins.

If you install AstrBot with uv:

bash
uv tool install astrbot --python 3.12

uv creates the astrbot executable and puts it on PATH. You can inspect the path with:

bash
which astrbot
powershell
where.exe astrbot

TIP

Run the commands below from the AstrBot working directory unless the command provides a --workdir option.

Quick Start ​

Initialize the directory once, then start AstrBot:

bash
astrbot init
astrbot run

astrbot init creates the data directories and configuration files required by AstrBot. After initialization, use astrbot run for later starts.

Top-Level Commands ​

CommandPurpose
astrbot initInitialize the current directory as an AstrBot working directory.
astrbot runStart AstrBot in the foreground.
astrbot serviceInstall and manage AstrBot as a background service.
astrbot configRead or update common config values.
astrbot passwordChange the WebUI login password interactively.
astrbot pluginCreate, install, update, remove, or search plugins.
astrbot helpShow CLI help.
astrbot --versionShow the AstrBot CLI version.

conf and plug are compatibility aliases and still work:

bash
astrbot conf get
astrbot plug list

Prefer config and plugin in new docs and scripts.

Start AstrBot ​

bash
astrbot run

Common options:

OptionPurpose
-p, --port <PORT>Set the WebUI port.
-r, --reloadEnable plugin auto-reload for plugin development.

Examples:

bash
astrbot run --port 6185
astrbot run --reload

Background Service ​

astrbot service installs AstrBot as a user-level background service for long-running deployments.

Each platform uses its native service manager:

PlatformService manager
Linuxsystemd --user
macOSLaunchAgent
WindowsTask Scheduler

Install ​

bash
astrbot service install --now

By default, this command uses the astrbot executable found on PATH and the current directory as the AstrBot working directory. --now starts or restarts the service after installation.

Common options:

OptionPurpose
--name <NAME>Service name. Default: astrbot.
--workdir <DIR>AstrBot working directory.
--executable <PATH>Path to the astrbot executable.
--forceOverwrite an existing service definition.
--nowStart or restart the service after installation.

If astrbot is not on PATH, pass the executable explicitly:

bash
astrbot service install --workdir /path/to/astrbot-root --executable /path/to/astrbot --now

Manage ​

bash
astrbot service start
astrbot service stop
astrbot service restart
astrbot service uninstall

These commands support --name <NAME> for non-default service names:

bash
astrbot service restart --name astrbot-test

To remove a service without an interactive confirmation:

bash
astrbot service uninstall --force

Status ​

bash
astrbot service status

The status output includes:

  • Overall health.
  • Current platform and service manager.
  • Whether the service is installed, enabled, and running.
  • AstrBot working directory.
  • Dashboard port.
  • WebUI URL and accessibility.

Common options:

OptionPurpose
--name <NAME>Service name. Default: astrbot.
--workdir <DIR>AstrBot working directory used to read the port config.
--timeout <SECONDS>WebUI health probe timeout. Default: 2 seconds.

Example:

bash
astrbot service status --timeout 5

Logs ​

The CLI exposes two kinds of logs:

TypeCommandNotes
Service logsastrbot service logsReads console output captured by the service manager.
Application log fileastrbot service logs --source appReads data/logs/astrbot.log; file logging must be enabled first.

Service Logs ​

bash
astrbot service logs
astrbot service logs -n 100
astrbot service logs -f

Common options:

OptionPurpose
--name <NAME>Service name.
-n, --lines <N>Show the latest N lines. Default: 200.
-f, --followFollow log output.
--include-stderrAlso show stderr logs on macOS and Windows.

On macOS and Windows, astrbot service logs shows stdout logs by default, which are the .out.log files. Add --include-stderr when you also need error output.

Application Log File ​

data/logs/astrbot.log is not written by default. Enable application file logging first, then restart AstrBot:

bash
astrbot service logs enable
astrbot service restart
astrbot service logs --source app

Inspect the application log file configuration:

bash
astrbot service logs status

Disable the application log file:

bash
astrbot service logs disable
astrbot service restart

Use a custom application log path:

bash
astrbot service logs enable --path logs/astrbot.log

Relative paths are resolved from the AstrBot data directory.

Config ​

astrbot config reads and updates common config values.

bash
astrbot config get
astrbot config get dashboard.port
astrbot config set dashboard.port 6185

Supported keys:

KeyDescription
timezoneTime zone, for example Asia/Shanghai.
log_levelLog level: DEBUG, INFO, WARNING, ERROR, or CRITICAL.
dashboard.portWebUI port.
dashboard.usernameWebUI username.
dashboard.passwordWebUI password.
callback_api_baseCallback API base URL. Must start with http:// or https://.

Changing the dashboard password writes the current password hashes automatically:

bash
astrbot config set dashboard.password "new-password"

You can also use the dedicated interactive password command:

bash
astrbot password
astrbot password --username admin

Plugins ​

astrbot plugin manages plugins under data/plugins.

CommandPurpose
astrbot plugin listList installed plugins.
astrbot plugin list --allAlso show uninstalled plugins.
astrbot plugin search <QUERY>Search plugins.
astrbot plugin install <NAME>Install a plugin.
astrbot plugin update [NAME]Update one plugin, or all updatable plugins if no name is given.
astrbot plugin remove <NAME>Remove an installed plugin.
astrbot plugin new <NAME>Create a new plugin from the template.

Use a GitHub proxy when installing or updating plugins:

bash
astrbot plugin install example-plugin --proxy https://gh-proxy.example.com/
astrbot plugin update --proxy https://gh-proxy.example.com/

Creating a new plugin asks for the author, description, version, and repository URL:

bash
astrbot plugin new my-plugin

Help ​

Show general CLI help:

bash
astrbot help

Show help for a specific command:

bash
astrbot help service
astrbot service --help
astrbot service logs --help

Show the version:

bash
astrbot --version
Edit this page on GitHub

Last updated:

Pager
PreviousWebUI
NextPlugins

Deployed on Rainyun Logo