Skip to content

Datus CLI Commands

Setup Commands

Datus is configured entirely from inside the REPL. After installation, launch datus and use slash commands:

Command Purpose
/model Pick an LLM provider, capture credentials, persist to ~/.datus/conf/agent.yml
/datasource Add / edit / delete / switch datasources (DuckDB, SQLite, Snowflake, MySQL, PostgreSQL, StarRocks, …); writes to ~/.datus/conf/agent.yml under services.datasources
/init Generate an AGENTS.md for the current project (scans the directory, optionally probes a datasource, calls the active LLM)

The resulting ~/.datus/conf/agent.yml looks like:

agent:
  providers:
    openai:
      api_key: ${OPENAI_API_KEY}
  services:
    datasources:
      my_duckdb:
        type: duckdb
        uri: ./data.duckdb
        default: true
    semantic_layer: {}
    bi_platforms: {}
    schedulers: {}
  project_root: ~/.datus/workspace

datus-agent service add | list | delete provide a non-interactive surface for the same datasource CRUD operations (handy in scripts or CI).


Service Management

datus-agent service list

Show all configured datasources, semantic adapters, BI platforms, and schedulers.

datus-agent service list

datus-agent service add

Interactively add a new datasource. Equivalent to running /datasource inside the REPL and choosing Add.

datus-agent service add

datus-agent service delete

Interactively remove a datasource.

datus-agent service delete

Database Selection

--datasource flag

datus-agent subcommands require specifying which datasource to use. Interactive datus-cli can auto-select a datasource when the configuration is unambiguous.

datus-cli --datasource my_duckdb
datus-agent run --datasource my_duckdb --task "show tables" --task_db_name demo
datus-agent check-db --datasource my_duckdb
datus-agent bootstrap-kb --datasource my_duckdb --components metadata

Interactive CLI auto-selection: If --datasource is not specified for datus-cli: - If a database has default: true in config, it's auto-selected - If only one database is configured, it's auto-selected - Otherwise, a list of available databases is shown

The old database-selection flag is no longer accepted by the current CLI; use --datasource.