ZhikunCode
Self-hosted AI coding assistant — deploy once, control everything from your browser with multi-agent collaboration and native support for Chinese LLMs.
Evidence shows unified authorization gateway, 8-layer Bash security checks, sensitive path interception, dangerous command blocking, environment variable whitelist, OSS publishing requires explicit instruction and high-risk confirmation, MCP services default off, but lacks deep verification of specific permission granularity and execution details. Deductions: data flow transparency insufficient, not detailing all data flows and storage locations; rollback mechanism only mentions Artifact declare→seal→hash verification, no operation-level rollback; source attribution only mentions OSS credentials not containing maintainer, not clarifying third-party code sources.
Evidence shows CI tests, runtime verification framework, state CAS management, session snapshots, but no test results or coverage. Deductions: failure messages not detailed on error handling and user prompts; dependency availability not verified, only lists dependency names.
Evidence shows support for multiple scenarios (education, programming, office, life, entertainment, games), multiple models and deployment methods, but capability boundaries and trigger precision not explicit. Deductions: trigger precision not detailed on command parsing and intent recognition; environment fit not covering all OS and browsers.
Evidence shows README, install notes, examples, FAQ, MIT license, but lacks version number, changelog, known limitations, and clear maintenance responsibility. Deductions: naming stability not verified, version number missing; maintenance responsibility not explicit, only contact email provided.
Evidence shows SWE-bench evaluation, case comparisons, performance data, but no actual user feedback or cost analysis. Deductions: output usability not detailed on artifact formats and integration; marginal value not quantified; cost-benefit not analyzed.
Evidence shows SWE-bench report, case evidence, CI verification, but no third-party independent verification. Deductions: cross-source corroboration insufficient, mainly relying on own reports; fact-inference separation unclear, some promotional language not explicitly marked.
- Publisher identity unverified; treat promotional claims with caution.
- Static review cannot verify actual effectiveness of security mechanisms; dynamic testing needed.
- Dependency security scans have continue-on-error, may ignore vulnerabilities.
- Version number missing, cannot confirm update path and stability.
What does this agent do, and when should you use it?
ZhikunCode is a MIT-licensed, self-hosted AI coding assistant built on a three-tier architecture (Java 21 Spring Boot backend, React 18 frontend, FastAPI Python service). It offers a full-featured Web UI and a CLI tool (aica), enabling browser-based permission approvals, plan negotiation, and task control—including from mobile and tablet. Key features include three multi-agent collaboration modes (Team/Swarm/SubAgent), an 8-layer command sandbox, a unified tool authorization gateway, a three-tier memory system, a Markdown-driven skill system, a Java SPI plugin system, MCP client/server support, and a cascade of context compression levels. It natively supports domestic Chinese models (Qwen, DeepSeek, Moonshot, Zhipu GLM, MiniMax) and can connect to any OpenAI-compatible provider. Optional one-click Docker deployment keeps data locally, and the official SWE-bench Lite benchmark shows a 56.0% (168/300) resolve rate.
ZhikunCode executes whole tasks described in natural language, such as coding, reviewing, fixing, testing, and even visualizations, via the Web UI or CLI. Users submit prompts through the browser or via aica command (e.g., aica "refactor this function"). The backend (Java) uses the QueryEngine to coordinate an agent loop, calling LLM APIs (e.g., Alibaba DashScope, DeepSeek) and running tools such as file reads/writes, Bash commands, Git operations, web search, and MCP tools. Each tool invocation goes through the ToolExecutionGateway and undergoes an 8-layer security check. In multi-agent mode, it coordinates sub-agents to work on project files; subagents can produce patches or deliverables. The AI can also generate diagrams, create skills/plugins, and persist memories (personal, project, team) to improve future responses. An LLM API key is a prerequisite.
- Teams that want a collaborative AI coding assistant on their own server, accessible from any member's browser including phones, without client installs.
- A developer using the
aicaCLI to pipe code for review or generation in a local or CI environment:cat src/main.py | aica "review this code". - Developers needing multi-agent collaboration (Team/Swarm/SubAgent) to parallelize large refactors or delegate isolated subtasks.
- Users whose primary LLM providers are Chinese (Qwen/DeepSeek/Kimi/GLM/MiniMax) and want direct, low-latency connection without VPN.
- Security-conscious teams that want self-hosting to keep data on their own hardware, protected by the sandbox and per-tool authorization.
- Coders who want a copilot that can analyze multimodal images and capture rich web page snapshots via /snap.
What are this agent's strengths and limitations?
- True browser-first experience including mobile/tablet via web UI, no desktop app needed.
- Native support for Chinese model providers (Qwen/DeepSeek/Kimi/GLM/MiniMax) without any proxy.
- Built-in multi-agent collaboration (Team/Swarm/Sub) plus a 3-tier memory, skill and plugin system.
- 8-layer sandbox, unified auth gateway, protected paths (.env/.git), and granular permission mode.
- Self-hosted with Docker, data stays on your machine; evidence includes 1258+ backend tests, 207 frontend tests, and documented case studies.
- Local install requires JDK 21, Node 22+, and Python 3.11-3.12 (3.13+ explicitly unsupported).
- No direct first-party OpenAI/Anthropic endpoints; must route via a third-party aggregator (ZenMux) and network access.
- Feature-rich but may require reading docs; some features (browser automation, plugin sandbox) have a learning curve.
- Docker image build is heavy; first build takes 15-30 minutes and needs 4GB+ RAM.
- Optional OSS auto-upload is off by default; without Alibaba Cloud configured, no artifact publishing is available.
How do you install or deploy this agent?
Two main ways. (1) Docker (recommended): clone the repo, copy .env.example to .env, fill in an LLM API key (e.g., LLM_PROVIDER_DASHSCOPE_API_KEY=sk-...), then run docker compose up -d and access http://localhost:8080. First build takes 15-30 minutes; requires Docker 20.10+, Compose V2, and ~4GB+ memory. (2) Local development: requires JDK 21, Node.js 22+, Python 3.11~3.12 (3.13+ not supported). Clone, set .env, run ./stop.sh and ./start.sh to launch backend (:8080), Python service (:8000), and frontend (:5173). Optionally enable a managed Python service inside the container and configure OSS for artifact publishing.
How do you use this agent?
After deployment, open http://localhost:8080 in your browser, select a trusted workspace directory, and type a task, e.g., 'write a TODO REST API in Elixir including migrations and smoke tests and run it'. You can switch to the Development Workbench to see conversation/tool history, approve/deny permission pop-ups, and monitor multi-agent runs. For CLI, install the Python package and use aica "..." with optional pipe-in: cat file | aica "prompt". Use -f json for structured output, --permission-mode for auth. Typical slash commands: /commit, /test, /fix, /review. Models are switchable in the Web UI via LLM_PROVIDER_* config. Tasks are tracked in-browser, and permissions expire after an adjustable deadline (default 300s). Context compaction/resume is automatic.
How does this agent compare with similar options?
Comparable to Aider, Cline, Cursor, Claude Code, and Copilot. Distinguishing strengths are the full browser operation, Docker self-hosting, native Chinese LLM support, and multi-agent capabilities. Trade-offs include a more complex security model and no first-party Anthropic/OpenAI API endpoints. SWE-bench results are public.
FAQ
How is my API key stored?
.env and never committed. Data stays on your server unless you explicitly enable OSS publishing for a specific artifact.