Siada CLI is a Ai Pair Programming Tool in terminal
Project description
Siada CLI
简体中文 | English
This repository contains Siada CLI, a command-line AI workflow tool that provides specialized intelligent agents for code development, debugging, and automation tasks.
Siada CLI is context-aware of your project, computing environment, and cross-session persistent memory, offering consistent, personalized, and continuously improving intelligent assistance across Terminal, Feishu (Lark), and Web interfaces.
Current latest version: v1.7.0
What Siada CLI Can Do
- Code Generation — Create new features, web interfaces, and refactor code with multi-language support
- Bug Fixing — Automatically identify, analyze, and fix code defects in large codebases
- Long-Horizon Task Execution — Tackle complex, multi-step development tasks through spec-driven execution and sub-agent orchestration, keeping goals on track across long task chains
- Self-Evolution — Persistent memory and scheduled proactive tasks keep the assistant continuously improving
- Host Management — Remote management and processing of your local machine and documents
- Multi-Entry Support — Use in Terminal (interactive/non-interactive), Feishu remote control, or Web UI
Installation & Update
System Requirements
| Requirement | Details |
|---|---|
| OS | macOS, Linux |
| GCC | 11+ |
| Package Manager | uv |
Install
Step 1: Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Step 2: Install Siada CLI
uv tool install --force --python python3.12 --compile --with pip siada-cli@latest
If siada-cli is not found on PATH after installation:
uv tool update-shell
Update
uv tool upgrade siada-cli
Uninstall
uv tool uninstall siada-cli
Developer Mode Installation
-
Prerequisites: Ensure you have Python 3.12+ and Poetry installed.
-
Clone and Install:
git clone https://github.com/liauto-siada/siada-cli.git cd siada-cli poetry install
-
Build UI (required before first run):
cd siada_cli_ui && npm ci && npm run build:all && cd ..
-
Run CLI:
# Method 1: Run with Poetry poetry run siada-cli # Method 2: Activate virtual environment (recommended) source $(poetry env info --path)/bin/activate siada-cli
Configuration
Quick Model Setup
On first launch, Siada CLI will guide you through an interactive setup — simply select your provider, choose a model, and enter your API key. No manual configuration needed to get started.
For advanced configuration (config file, environment variables, CLI flags), see the User Manual.
For custom external models (private deployments), see External Model Configuration.
Usage Modes
Interactive Mode (continuous conversation)
siada-cli
Non-Interactive Mode (script / CI integration)
siada-cli --no-interactive "Fix the null pointer exception in src/main.py"
Feishu Remote Control
Connect Siada CLI to your Feishu (Lark) workspace and send tasks remotely. See Remote Control Guide.
Key Features
Memory System
Cross-session persistent memory lets Siada remember your preferences, codebase context, and past decisions — making every interaction more accurate over time.
Checkpoint
Save and restore agent states at key decision points, giving you full control over long-running tasks.
Skills
Define reusable instruction sets and workflows as SKILL.md files that extend Siada's capabilities for your specific domain or team conventions. See Skills Documentation.
MCP Support
Connect to external tool servers via the Model Context Protocol (MCP) to extend Siada's toolset.
Daemon & Scheduled Tasks
Run Siada as a background daemon to execute proactive, scheduled automation tasks.
Instruction Context (Rules)
Place siada_rule.md or .siadarules/ files in your project or home directory to set persistent AI behavior rules without repeating yourself in every conversation.
Auto Compaction
Intelligently compress conversation history to stay within model context limits without losing critical context.
Documentation
| Document | Description |
|---|---|
| User Manual | Full usage guide, commands, and configuration |
| Skills System | Create and manage reusable AI skills |
| External Model Config | Configure private/custom model endpoints |
| Remote Control (Feishu) | Control Siada via Feishu messages |
| Compaction Configuration | Context compression strategy settings |
| Contributing Guide | How to contribute to this project |
Contributing
We welcome contributions to Siada CLI! Whether you want to fix bugs, add new features, improve documentation, or suggest enhancements, your contributions are greatly appreciated.
Please read our Contributing Guide before submitting:
- Project vision and development goals
- Directory structure and development guidelines
- Pull request guidelines and best practices
- Code organization principles
Acknowledgements
Siada CLI is built upon the foundation of numerous excellent open source projects. We extend our deepest respect and gratitude to their contributors.
Special thanks to:
- OpenAI Agents SDK — foundational agent framework
- LiteLLM — unified LLM provider interface
- OpenHands ACI — agent-computer interface tooling
- Gemini CLI — inspiration for terminal-native AI agent design
For a complete list of open source projects and licenses, see CREDITS.md.
License
Distributed under the Apache 2.0 License.
Disclaimers
See disclaimers.md.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file siada_cli-1.7.0.tar.gz.
File metadata
- Download URL: siada_cli-1.7.0.tar.gz
- Upload date:
- Size: 13.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1e9c11e36cf47c1de780a553b08075bf8977de41cfcb104d4de25199e192fbb
|
|
| MD5 |
0ea96dfb0de18d10650937540e266d52
|
|
| BLAKE2b-256 |
23454488eda0eac7acb927c34ac5ef04770b33326876006c8cf14ae2620d6d0d
|
Provenance
The following attestation bundles were made for siada_cli-1.7.0.tar.gz:
Publisher:
publish.yml on liauto-siada/siada-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
siada_cli-1.7.0.tar.gz -
Subject digest:
f1e9c11e36cf47c1de780a553b08075bf8977de41cfcb104d4de25199e192fbb - Sigstore transparency entry: 1270894975
- Sigstore integration time:
-
Permalink:
liauto-siada/siada-cli@df883407eeab38e19207033fb02d4043909ee62e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/liauto-siada
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@df883407eeab38e19207033fb02d4043909ee62e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file siada_cli-1.7.0-py3-none-any.whl.
File metadata
- Download URL: siada_cli-1.7.0-py3-none-any.whl
- Upload date:
- Size: 14.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
605d8de350877a58652f8454c8a527df7c5bde475e033e51ee521de76052a2c6
|
|
| MD5 |
7eef10124f60ff8e6ed95fc205e19c3c
|
|
| BLAKE2b-256 |
0f2b6900840362bfe6d84af6251feb1788123c0fc4936cee95847f0275574db7
|
Provenance
The following attestation bundles were made for siada_cli-1.7.0-py3-none-any.whl:
Publisher:
publish.yml on liauto-siada/siada-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
siada_cli-1.7.0-py3-none-any.whl -
Subject digest:
605d8de350877a58652f8454c8a527df7c5bde475e033e51ee521de76052a2c6 - Sigstore transparency entry: 1270894994
- Sigstore integration time:
-
Permalink:
liauto-siada/siada-cli@df883407eeab38e19207033fb02d4043909ee62e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/liauto-siada
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@df883407eeab38e19207033fb02d4043909ee62e -
Trigger Event:
workflow_dispatch
-
Statement type: