Complete user manual with detailed introduction to all ZAgent features
ZAgent is a desktop AI assistant application. Its purpose is to lower the barrier for users to use AI assistants and provide a powerful AI Agent application.

Main Features:
| Item | Minimum | Recommended |
|---|---|---|
| Operating System | Windows 10+ / Windows 11 / Mac OS / Linux coming soon | |
| Memory | 4 GB | 8 GB+ |
| Disk Space | 200 MB | 500 MB |
After downloading the installer, click to install. The program will be installed to the specified directory.
After first launch, you need to configure the following:
For detailed model configuration, see Section 6.
ZAgent uses a classic three-section layout: menu bar, workspace, and status bar. The workspace is divided into 2 parts. The right side is the chat window, and the left side is the function area, including embedded terminal, browser, editor, skills, and tasks.

The menu bar is at the top and contains the following menu items:
| Menu | Functions |
|---|---|
| File | Exit |
| Session | New, Load, Restore, Tree, Compress, Export, Info |
| Skill | Skill List, New Skill |
| Task | Task List, New Task |
| Settings | Select Model, New Model, Proxy, Feishu |
| Mode | Plan/Build, Theme, Language, Auto/Manual Compress, Feishu |
| Help | Shortcuts, Open Source License, About |
File Menu
Exit: Exit the applicationSession Menu
New: Create a new sessionLoad...: Load a saved sessionRestore Recent: Restore the most recent sessionBranch: Create a new session branch from current positionTree Structure: View session treeCompress: Manually compress contextExport HTML: Export session to HTMLSession Info: View current session informationSettings Menu
Select Model...: Select AI modelNew Model...: Add a new modelSet Proxy...: Configure proxyFeishu Settings...: Configure Feishu integrationMemory Management...: View and manage long-term memoriesMode Menu
Plan (Read-only): Plan mode, AI cannot execute operationsBuild (Full Access): Build mode, AI can execute various operationsDark Theme: Switch to dark themeLight Theme: Switch to light themeEnglish: Switch to English interface中文: Switch to Chinese interfaceAuto Compress: Enable auto context compressionManual Compress: Disable auto compressionFeishu Connect: Connect to FeishuFeishu Disconnect: Disconnect from FeishuHelp Menu
Shortcuts: Show shortcuts helpOpen Source License: Show open source licenseAbout: Show about informationThe chat tab is the default main interaction area, displaying conversation history: including user messages, assistant messages, tool calls, and tool call result messages.

Interface Elements:
Message Bubbles:
Input Box:
Message Operations:
The left workspace has multiple switchable tabs:
| Tab | Icon | Function |
|---|---|---|
| Skills | 🛠→/td> | Skill management and execution |
| Tasks | 📋 | Scheduled task management |
| Browser | 🌐 | Browser automation |
| Editor | 📝 | Code editor |
| Terminal | 💻 | Terminal emulator |
Skills Tab
Displays the list of loaded skills, including:
.zeta/skills/)~/.zeta/agent/skills/)Each skill displays:

Tasks Tab
Displays configured scheduled tasks:

Browser Tab
Integrated browser supporting web automation:

Editor Tab
Integrated code editor:

Terminal Tab
Integrated terminal with Windows Console support:

The status bar is at the bottom and displays current status:
[Ready] [Plan] [Model: deepseek-chat] [Context: 45%] [Idle]
Status Descriptions:
| Status | Meaning |
|---|---|
| Ready/Active/Error/Stopped | Current Agent status |
| Plan/Build | Current tool mode |
| Model name | Currently used AI model |
| Context | Context usage percentage |
| Idle/Outputting/Processing | Current operation status |
Click menu Mode →Dark Theme or Light Theme
Mode →LanguageEnglish or 中文
| Mode | Description | Permissions |
|---|---|---|
| Plan | Read-only mode | AI cannot execute any operations, only conversation |
| Build | Full access mode | AI can execute various operations |
Switch method: Click menu Mode →Select Plan (Read-only) or Build (Full Access)
Session is the core concept in ZAgent, used for managing conversation context.
Session Tree displays the historical structure of sessions:
Root
├── User msg 1 (Node 1)
├── Assistant msg 2 (Node 2)
→ └── Branch A
→ ├── User msg 3 (Node 3)
→ └── Assistant msg 4 (Node 4)
└── Current (Node 5)
Node Types:
| Icon | Type | Description |
|---|---|---|
| 👤 | User | User message |
| 🤖 | Assistant | Assistant message |
| 🔧 | Tool | Tool call |
| 📦 | Compaction | Compression point (context compression) |
| 📄 | Branch Summary | Branch summary |
Click Session →New
Note: Creating a new session will clear the current chat window but does not affect saved sessions.
Session →Export Session to HTML
Session →Load...Session →Restore RecentClick Session →Tree to open the session tree dialog:

Function Descriptions:
| Function | Description |
|---|---|
| Navigate | Jump to historical node to continue conversation |
| Fork Here | Create new branch from selected node |
| New Session | Create a completely new blank session |
Navigate Two Modes:
Example:
Currently at node 5, choose to jump to node 2:
Method 1: Menu Branch
Click Session →Branch: Create new branch from current position
Method 2: Session Tree Branch
In the session tree, select any historical node, click Fork Here
Differences:
| Operation | Branch Point |
|---|---|
| Menu Fork | Branch from current position |
| Tree Fork Here | Branch from selected historical node |
Auto Compress: Automatically triggered when context usage exceeds threshold (default 80%)
Manual Compress:
Session →CompressCompression will:
ZAgent supports models compatible with OpenAI Completion and Anthropic Messages interfaces. For example, mainstream domestic models supported by Alibaba's Bailian Cloud Coding Plan can be used. DeepSeek, MiniMax, Kimi, and GLM related models can all be used.
Settings →New Model...
Required Fields:
| Field | Description | Example |
|---|---|---|
| Provider | Model provider | deepseek, openai |
| Model ID | Model identifier | deepseek-chat |
| Display Name | Friendly name | DeepSeek Chat |
| API Key or Env Variable | Environment variable name for API key, or paste the API key directly | DEEPSEEK_API_KEY |
| Base URL | API endpoint | https://api.deepseek.com |
| API Type | API protocol type | deepseek |
| Context Window | Context token count | 128000 |
| Max Tokens | Max tokens per response | 8192 |
Optional Fields:
Settings →Select Model...
After model selection, the status bar shows current model information:
[Model: deepseek-chat] [Context: 45%]
API keys need to be set in system environment variables or application configuration:
| Model | Environment Variable | How to Get |
|---|---|---|
| DeepSeek | DEEPSEEK_API_KEY | DeepSeek Open Platform |
| OpenAI | OPENAI_API_KEY | OpenAI Platform |
| Anthropic | ANTHROPIC_API_KEY | Anthropic Console |
| Qwen | DASHSCOPE_API_KEY | Alibaba Cloud DashScope |
If you need a proxy to access external APIs:
Settings →Set Proxy...
| Field | Description |
|---|---|
| Enable Proxy | Turn proxy on/off |
| Proxy Type | http, https, socks5 |
| Host | Proxy server address |
| Port | Proxy server port |
| Username | Authentication username (optional) |
| Password | Authentication password (optional) |
Skill is the tool extension system of ZAgent. Each skill defines a set of available tools and capabilities.
Skill File Structure:
---
name: Skill Name
description: Skill description
read_when:
- Condition 1
- Condition 2
metadata: {}
allowed-tools: ToolName(tools:*)
auto_inject: true/false
---
# Skill Content
## Instructions...
Skills are stored in two locations:
| Location | Path | Description |
|---|---|---|
| Project Skills | .zeta/skills/ |
Project-level skills |
| User Skills | ~/.zeta/agent/skills/ |
User-level skills |
Skills tab in the right panel
Each skill displays:
Skills tabNew Skill
| Field | Description |
|---|---|
| Skill Name | Unique identifier for the skill |
| Description | Detailed description of the skill |
| Read Conditions | When to load this skill |
| Allowed Tools | Tools the skill can use |
Manual Execution:
Execute button
Auto Trigger:
When auto_inject: true and the skill is added to the skills array in settings.json, the skill will be automatically injected into the system prompt and available when related use cases are detected.
ZAgent comes with several pre-built skills:
| Skill | Description |
|---|---|
| Agent Browser | Browser automation for web page interaction, data extraction, and form submission |
| Ask LLM So Bored | Creative conversations and brainstorming for relaxation |
| Competitive Landscape | Market competition analysis and competitive intelligence |
| News Update | Gather and summarize latest news on specified topics |
| QQMail Manager | QQ Mail operations including reading, organizing, and drafting |
| Wiki Ingest Article | Ingest articles and documents into the Wiki knowledge base |
| Wiki Maintenance | Maintain and organize the Wiki knowledge base structure |
Agent Browser Skill Example
Used for browser automation, see documentation for detailed commands:
# Install
npm install -g agent-browser
agent-browser install
# Basic Usage
agent-browser open <url> # Open page
agent-browser snapshot -i # Get interactive elements
agent-browser click @e1 # Click element
agent-browser fill @e2 "text" # Fill form
agent-browser close # Close browser
Task is an automated operation that executes on a schedule and can:
Tasks tab in the right panelNew Task
Required Fields:
| Field | Description |
|---|---|
| Task Name | Unique identifier for the task |
| Cron Expression | Execution time schedule |
| Operation Type | Run Skill or Send Message |
| Skill Name | Skill to execute |
| Skill Parameters | Skill parameters (JSON) |
Operation Types:
| Type | Description |
|---|---|
| Run Skill | Execute the specified skill |
| Send Message | Send message to main session |
Common Templates:
| Expression | Meaning |
|---|---|
* * * * * |
Every minute |
0 * * * * |
Every hour |
0 0 * * * |
Daily at 0:00 |
0 9 * * * |
Daily at 9:00 |
0 9 * * 1 |
Every Monday at 9:00 |
0 0 1 * * |
First day of month at 0:00 |
Quick Template Buttons:
| Operation | Description |
|---|---|
| Execute Now | Execute task immediately (skip schedule) |
| Edit | Modify task configuration |
| Delete | Delete task |
| Enable/Disable | Toggle task status |
Task list displays:
Feishu integration allows:
Step 1: Create Feishu App
Step 2: Get Credentials
Get the app's:
Step 3: Configure App
Settings →Feishu Settings...
| Field | Description |
|---|---|
| Enable Feishu | Turn Feishu integration on/off |
| Domain | Feishu (feishu.cn) or Lark (international version) |
| App ID | Feishu app ID |
| App Secret | Feishu app secret |
Step 4: Add Bot
Add bot to Feishu group chat:
Connection Status:
Status bar shows Feishu connection status:
| Status | Description |
|---|---|
| Feishu Connected | Connection successful |
| Feishu Disconnected | Not connected or connection lost |
Message Flow:
Feishu Message →App →User Message →AI Processing →App →Feishu Reply
Toggle Feishu:
Feishu messages enter the message queue and are processed in order:
Q: Application fails to start
A: Check the following:
Q: Model cannot connect
A:
Q: Skills cannot load
A:
Q: Feishu cannot connect
A:
If you need to reset all configurations:
%USERPROFILE%\.zagent\ZAgent has a built-in Roam-style, Markdown-backed personal Wiki knowledge base. It stores your notes as local Markdown files, indexes pages and blocks in SQLite, and lets both you and the AI Agent read, search, organize, review, and maintain your knowledge.
Core Features:
~/.zagent/wiki, so the data remains portable and inspectable.~/.zagent/wiki/.index/wiki.db.[[page]] links, stable ^b-... block anchors, ((b-...)) block references, backlinks, graph view, and selected-reference navigation.On first launch, ZAgent checks whether the Wiki root exists. If it does not exist, the app creates the required directory structure and initializes the SQLite database schema automatically.
~/.zagent/
└── wiki/ # Wiki root directory
├── pages/ # General pages
├── concepts/ # Concept pages extracted or maintained by users/AI
├── sources/ # Source material pages
├── daily/ # Daily notes
├── raw/ # Raw imported files and extracted Markdown
└── .index/
└── wiki.db # SQLite index and workflow metadata
Wiki uses Markdown with Roam-style page links, stable block anchors, block references, properties, and provenance metadata:
# Page Title
This is the main content.
## A Stable Block ^b-abc1234
Reference this block from another page: ((b-abc1234))
Link to another page: [[concepts/attention]]
Properties:
source_doc:: sources/attention-paper.md
source_locator:: page 3
confidence:: 0.82
Create Note:
Wiki tab in the left panelpages/project-notes.md. If no directory is provided, the page is created under pages/.Search Knowledge:
Import File:
raw/ and creates or updates a Markdown pageAI Organize:
AI OrganizeSmart Import to create a persistent ingest workflow for a source documentSmart Maintenance to create a persistent maintenance workflow for anchors, duplicate IDs, broken links, and structure repairsAI can access and maintain the knowledge base through the wiki tool:
source_doc, source_locator, model_id, agent_session_id, confidence, and verification statusZAgent has a Rust-implemented high-speed code analysis engine that can parse code structure at millisecond level, allowing AI to understand your code in seconds.
Performance Advantages:
| Analysis Type | Description | Supported Languages |
|---|---|---|
| File Structure | Directory tree, file list | All |
| Function Definition | Function name, parameters, location | Rust, TypeScript, Go, etc. |
| Class Structure | Class name, methods, inheritance | Object-oriented languages |
| Call Relationship | Callers, callees | All |
| Import Relationship | import/export analysis | All |
| Statistics | Code line count, language distribution | All |
AI automatically analyzes code base through code analyzer tool:
{
"action": "analyze", // analyze, structure, definitions, calls, imports, stats
"path": "/path/to/code", // Code path to analyze
"languages": ["rust", "typescript"], // Filter languages
"max_functions": 200,
"max_calls": 500
}
Structure Analysis:
src/
├── main.rs
├── lib.rs
└── components/
├── ChatTab.tsx
└── BrowserTab.tsx
Function Definitions:
src-tauri/src/commands/shell.rs:21
shell_execute(input: ShellInput) -> Result
src-tauri/src/commands/wiki.rs:9
wiki_read(path: String) -> WikiContent
Call Relationships:
agent_loop →run_loop →execute_tool
→get_steering
→create_skip_message
ZAgent has powerful long-term memory capabilities, able to remember your preferences, habits, and important information, making every conversation build on understanding.
Core Features:
| Type | Description | Lifespan |
|---|---|---|
| Short-term Memory | Current session context | During session |
| Long-term Memory | Persisted important information | Permanent |
| Project Memory | Project-specific context | During project |
View Memory:
Settings → Memory Management...Manage Memory:
Conversation →AI identifies important info →Write to long-term memory
→
New conversation →Retrieve related memories →Integrate into context
The system triggers memory-related events:
| Event | Trigger Condition | Description |
|---|---|---|
| MemoryFlushRequest | Context exceeds threshold | Request to flush memory |
| MemorySaved | Memory saved successfully | Confirm save complete |
| CompactComplete | Context compression complete | Show saved tokens |
ZAgent supports light and dark theme modes.
Switch Method:
Mode →Dark ThemeMode →Light Theme
ZAgent supports Chinese and English interface switching.
Switch Method:
Mode →LanguageEnglish or 中文Supported Languages:
| Language | Code | Status |
|---|---|---|
| Chinese | zh | Fully supported |
| English | en | Fully supported |
Controls context auto-compression behavior.
Mode Options:
| Mode | Description |
|---|---|
| Auto Compress | Automatically compress when context reaches threshold |
| Manual Compress | Requires manual trigger for compression |
Switch Method:
Mode →Auto CompressMode →Manual CompressControls Feishu integration connection status.
Connect/Disconnect:
Mode →Feishu ConnectMode →Feishu DisconnectAll settings are automatically saved:
Configuration File Location:
%USERPROFILE%\.zagent\settings.json
ZAgent is built on top of many excellent open-source projects. We believe in transparency and giving credit where it's due. The application includes a built-in Open Source Licenses dialog that lists all packages used.
Key Libraries:
To view the complete list of open-source licenses:
Help → Open Source Licenses| Category | Key Packages | License |
|---|---|---|
| Frontend Framework | React, React DOM | MIT |
| Build Tool | Vite | MIT |
| Styling | Tailwind CSS | MIT |
| Editor | Monaco Editor | MIT |
| Icons | Lucide React | ISC |
| Markdown | Marked, Highlight.js, DOMPurify | MIT / BSD-3-Clause / Apache-2.0 |
| State Management | Zustand | MIT |
| Desktop Framework | Tauri | MIT / Apache-2.0 |
| Rust Runtime | Tokio | MIT |
| Rust Serialization | Serde | MIT / Apache-2.0 |