anqclaw is a personal AI assistant built in Rust. It currently supports Feishu, HTTP, and CLI entry points, with multi-LLM collaboration, tool calling, persistent memory, and managed runtime support for real-world tasks.
- Multiple LLM profiles: Anthropic, OpenAI-compatible, Ollama, and more
- Agentic loop with tool calling and streaming responses
- Multi-channel access: Feishu, HTTP API, and CLI
- Skills mainline: candidate skills are exposed as structured
<available_skills>, and the model readsSKILL.mdon demand - Built-in tools: shell, web, file, memory, pdf_read, image_info, and custom tools
- SQLite conversation history and long-term memory, with a source table plus FTS5 index mirror
- Managed Python tasks: can prepare a workspace
.venvand run scripts when needed when localuvis already installed - Default safety controls: supervised shell, file sandboxing, SSRF checks, and audit logging
Main flow:
Feishu/HTTP/CLI Channel -> Gateway -> AgentCore -> ToolRegistry/MemoryStore -> Channel
Core modules:
channel: Feishu, HTTP, and CLI input/outputgateway: routing, deduplication, rate limiting, and per-session serializationagent: context assembly, environment probing, and the agentic loopllm: provider abstraction and client implementationstool: tool registration and executionskill: multi-source skill scanning, candidate summaries, and hot reloadmemory: SQLite-backed history and long-term memoryaudit/metrics/scheduler: auditing, metrics, and background tasks
- Skill packages use the directory form:
skills/<name>/SKILL.md - Skill sources are merged in
bundled -> user(~/.anqclaw/skills) -> workspace(<workspace>/skills_dir)order, with later sources overriding earlier ones - The agent uses
descriptionas an automatic candidate-matching signal, then refines ranking withkeywords,trigger,extensions, recent file tokens, and workspace extensions before injecting readable locations through structured<available_skills> - When a skill is relevant, the primary path is for the model to read the corresponding
SKILL.mdthroughfile_read;activate_skillremains only as a compatibility or debugging path - In
servemode, skill directories are hot-reloaded and the triggering file paths are logged for auditability
Requirements:
- A matching release binary for your OS and CPU architecture
- A valid config file
- Read/write access for the app directory and data directory
- Network access to your LLM provider and channel integrations
Recommended path:
C:\anqclaw\anqclaw.exe
Optional: add C:\anqclaw\ to PATH.
With PATH:
anqclaw.exe onboard
anqclaw.exe config validate
anqclaw.exe serveWithout PATH:
C:\anqclaw\anqclaw.exe onboard
C:\anqclaw\anqclaw.exe config validate
C:\anqclaw\anqclaw.exe serveAs needed:
- Install Microsoft Visual C++ Redistributable
- Preinstall
uvif you enable managed Python package installation withinstall_scope = "venv"; anqclaw will not download it automatically - Install Python/pip yourself when your prompts or custom tools rely on a non-managed interpreter
- Install any external commands required by your prompts or custom tools
Recommended path:
/opt/anqclaw/anqclaw
Prepare:
chmod +x /opt/anqclaw/anqclaw
ln -sf /opt/anqclaw/anqclaw /usr/local/bin/anqclawWith PATH:
anqclaw onboard
anqclaw config validate
anqclaw serveWithout PATH:
/opt/anqclaw/anqclaw onboard
/opt/anqclaw/anqclaw config validate
/opt/anqclaw/anqclaw serveAs needed:
- Preinstall
uvif you enable managed Python package installation withinstall_scope = "venv"; anqclaw will not download it automatically - Install Python/pip yourself when your prompts or custom tools rely on a non-managed interpreter
- Install any external commands required by your prompts or custom tools
Recommended path:
/usr/local/anqclaw/anqclaw
Prepare:
chmod +x /usr/local/anqclaw/anqclaw
ln -sf /usr/local/anqclaw/anqclaw /usr/local/bin/anqclawWith PATH:
anqclaw onboard
anqclaw config validate
anqclaw serveWithout PATH:
/usr/local/anqclaw/anqclaw onboard
/usr/local/anqclaw/anqclaw config validate
/usr/local/anqclaw/anqclaw serveAs needed:
- If the first launch is blocked, run
xattr -d com.apple.quarantine /usr/local/anqclaw/anqclaw - Preinstall
uvif you enable managed Python package installation withinstall_scope = "venv"; anqclaw will not download it automatically - Install Python/pip yourself when your prompts or custom tools rely on a non-managed interpreter
- Install any external commands required by your prompts or custom tools
Use this section only if you are changing code or debugging locally.
Requirements:
rustup,rustc,cargo- Platform build tools
- Windows: Visual Studio Build Tools / MSVC
- Linux:
gccorclang
Common commands:
cd agent
cargo build
cargo run -- onboard
cargo run -- chat
cargo run -- serve
cargo run -- config validateRequirement: Rust toolchain installed.
Build:
cd agent
cargo build --releaseOutput:
- Windows:
agent/target/release/anqclaw.exe - Linux/macOS:
agent/target/release/anqclaw
- Local validation has passed with
cargo test --manifest-path agent/Cargo.toml - Local validation also includes
cargo clippy --all-targets --all-features -- -D warnings cargo auditis used as a local dependency check; some remaining advisories are currently inherited from upstream transitive dependencies- Recent regression coverage includes custom tools, trusted path handling, web SSRF, interrupted streams, Feishu token refresh, concurrent long-term memory writes, and the skills candidate-selection plus on-demand-read mainline
- Autonomous capability chain design: docs/autonomous-capability-chain-design.md
- Baseline architecture design: docs/2026-03-24-anqclaw-v1-design.md
- File extraction design: docs/2026-03-26-file-extraction-design.md