by ntygod
本地优先的个人 AI Agent 助手,支持记忆、自主任务、工具授权和工作流。
# Add to your Claude Code skills
git clone https://github.com/ntygod/ZhiWei见微知著,你的 AI 伙伴
ZhiWei 是一个自托管的 AI Agent 系统。它不只是聊天机器人——拥有四层认知记忆、自主任务执行、工作流引擎和插件市场。所有数据存储在本地,隐私完全掌控。
下载桌面客户端,安装即用 — 无需 Java、Docker 或任何开发环境:

| 层级 | 名称 | 作用 | |------|------|------| | L1 | 工作记忆 | 当前会话的临时上下文 | | L2 | 情景记忆 | 完整对话记录 + 注入来源 | | L3 | 语义记忆 | 知识实体 + 关系网络 + 重要性评分 | | L4 | 程序记忆 | 技能模板 + 用户偏好规则 |
记忆自动巩固:对话中提取的知识经过经验学习、对比分析和遗忘衰减,高频经验自动提升为可复用的技能模板。混合检索(向量 + FTS5 + 时序)确保最相关的记忆被召回。
No comments yet. Be the first to share your thoughts!
~/.zhiwei/,不上传云端以下截图展示最新版 UI。完整页面清单见项目结构。
对话 — SSE 流式输出 + 思考链展示 + 消息编辑重发

扩展市场 — 一键安装 Skill / Agent / 工作流 / 渠道插件

记忆管理 — 实体 / 关系 / 对话 / 模板 / 偏好 / 遗忘日志

模型路由 — 多服务商管理 + 启用切换 + 连接测试

工作流 — YAML 声明式定义 + DAG 可视化

渠道管理 — 飞书 / 钉钉 / 企微 / QQ 插件式接入

轨迹回放 — 每个 Agent 决策步骤可追溯、可回放

从 Releases 下载对应平台安装包,双击安装即可。
从 Releases 下载 .msi 安装包,双击安装即可。
适合服务器部署或已有 Docker 环境的用户:
git clone https://github.com/ntygod/ZhiWei.git && cd ZhiWei
cp .env.example .env # 编辑 .env,填入 LLM API Key
docker compose up -d # 访问 http://localhost
前置条件:Java 22+、Node.js 18+
git clone https://github.com/ntygod/ZhiWei.git && cd ZhiWei
mvn clean package -DskipTests # 构建后端
cd zhiwei-web && npm install # 安装前端依赖
# 启动(两个终端)
mvn spring-boot:run # 后端 :8080
npm run dev # 前端 :5173
模型配置通过 Web UI 管理,无需手动编辑配置文件。
敏感信息通过环境变量注入,不要硬编码在配置文件中:
# LLM 服务商 API Key(至少配置一个)
export DEEPSEEK_API_KEY=your-key
export OPENAI_API_KEY=your-key
export QWEN_API_KEY=your-key
# 可选
export SEARCH_API_KEY=your-key
export RERANKER_API_KEY=your-key
# 后端端口(默认 8080)
export ZHIWEI_PORT=9090
# Docker 部署时前端端口(默认 80)
export ZHIWEI_WEB_PORT=3000
Docker Compose 使用 .env 文件管理环境变量,参考 .env.example 模板。
后端 JVM 参数可通过 JAVA_OPTS 环境变量覆盖(默认 -Xmx512m -Xms256m -XX:+UseG1GC)。
| 层级 | 技术 | 版本 | 说明 | |------|------|------|------| | 语言 | Java | 22 | Record / Sealed / Pattern Matching / Virtual Thread | | 框架 | Spring Boot | 3.5.12 | Web、自动配置、Actuator | | AI 集成 | Spring AI | 1.1.3 | Advisor 模式、MCP 支持、结构化输出 | | 构建 | Maven | 3.9.x | 依赖管理 | | 数据库 | SQLite (xerial) | 3.49+ | WAL 模式、FTS5 全文索引 | | 向量存储 | sqlite-vec | 0.1.x | SQLite 原生向量扩展 | | 数据库迁移 | Flyway | 10.x | 版本化 Schema 管理 | | 前端 | Vue 3 + Vite | 3.5 / 6.x | TypeScript SPA | | 状态管理 | Pinia | 3.x | Vue 3 状态管理 | | UI 组件 | Reka UI + Tailwind CSS | 2.x / 4.x | 无头组件 + 原子化 CSS | | 图表 | ECharts + vue-echarts | 6.x / 8.x | 数据可视化 | | 浏览器自动化 | Playwright | 1.58 | 可选依赖,运行时检测 | | 多媒体 | JavaCV + FFmpeg | 1.5.13 / 6.1.1 | 视频帧提取 / 音轨分离 | | 文档与内容解析 | PDFBox + POI + Tika + Jsoup | 3.0.7 / 5.3.0 / 3.3.0 / 1.22.1 | PDF / Word / MIME / HTML 解析 | | 测试 | JUnit 5 + jqwik | 5.11+ / 1.9.2 | 单元测试 + 属性测试 | | 桌面端 | Tauri | 2.x | Rust 驱动的跨平台桌面壳,内嵌 JRE 管理 | | 前端测试 | Vitest + fast-check | 3.x / 4.x | 前端单元测试 + 属性测试 |
ZhiWei/
├── .github/ # GitHub Actions(CI / 桌面端构建)、Issue/PR 模板、Dependabot
├── src/main/java/com/lifepilot/ # 按领域拆分的后端模块
│ ├── a2a/ # A2A 协议(Agent-to-Agent 互操作)
│ ├── agent/ # Agent 引擎(ReactAgentLoop / ContextAssembler / 挂起恢复)
│ ├── config/ # 全局配置
│ ├── conversation/ # 对话管理
│ ├── datastore/ # 通用数据存储(Schema-Free JSON / 全文搜索 / 时序聚合)
│ ├── eval/ # Agentic Evals 评估框架
│ ├── interaction/ # 交互层(Web API / CLI / Gateway 中间件)
│ ├── knowledge/ # 知识库管理(文档解析 / 分块 / 检索 / Reranker)
│ ├── llm/ # LLM 基础设施(CircuitBreaker / SemanticCache / Provider 适配)
│ ├── generation/ # 生成路由(GenerationRouter)
│ ├── embedding/ # 向量嵌入路由(EmbeddingRouter)
│ ├── rerank/ # 重排序路由(RerankRouter)
│ ├── modelservice/ # 模型服务注册(ModelServiceRegistry)
│ ├── marketplace/ # 扩展市场(Extension Marketplace)
│ ├── mcp/ # MCP 协议(McpServerRegistry / McpServerDiscovery)
│ ├── media/ # 多模态处理(图片 / 音频 / 视频)
│ ├── memory/ # 四层记忆系统(Working / Episodic / Semantic / Procedural / 经验学习)
│ ├── meta/ # 元能力(文件工具 / 浏览器工具 / 基础设施工具 / 交互工具)
│ ├── multiagent/ # 多 Agent 协作(spawn_workers / AgentExecutor)
│ ├── notification/ # 统一通知系统(直接投递 / 历史 / SSE)
│ ├── observability/ # 可观测性(TraceRecorder / GuardrailEngine / DataRedactor)
│ ├── permission/ # 工具授权(作用域匹配 / 预授权 / 授权记录)
│ ├── prompt/ # Prompt 模板管理
│ ├── sandbox/ # 代码执行沙箱(Process / Docker 双模式)
│ ├── scheduler/ # 定时任务(ScheduledTaskService / TaskScheduler)
│ ├── skill/ # Skill 系统(注册 / 验证 / 激活 / 生成 / SkillToToolBridge)
│ ├── tool/ # 工具系统(ToolContract / DynamicToolRegistry / ToolBridge)
│ └── workflow/ # 工作流引擎(DAG 调度 / 表达式)
├── src/main/resources/
│ ├── application.yml # 主配置
│ ├── application-docker.yml # Docker 环境配置
│ ├── db/migration/ # Flyway 迁移脚本
│ ├── builtin-workflows/ # 内置工作流
│ ├── prompts/ # Prompt 模板
│ ├── skills/ # 内置 Skill 定义
│ └── eval-scenarios/ # 评估场景定义
├── zhiwei-web/ # 前端项目(Vue 3 + Vite + Pinia)
│ ├── src/views/ # 30+ 页面视图
│ ├── src/components/ # Vue 组件
│ ├── src/stores/ # Pinia 状态管理
│ ├── src/composables/ # 组合式函数
│ ├── src/api/ # 前端 API 客户端
│ └── src-tauri/ # Tauri 2.x 桌面端(Rust)
│ ├── src/ # Rust 源码(JavaManager / HealthCheck / Tray / Commands)
│ ├── capabilities/ # Tauri 权限声明
│ ├── icons/ # 各平台应用图标
│ └── tauri.conf.json # Tauri 配置
├── docker-compose.yml # Docker Compose 编排
├── Dockerfile # 后端 Docker 构建(多阶段)
├── scripts/ # 构建脚本(桌面端打包 / jlink 模块列表)
├── start.sh / start.bat # 一键启动脚本
├── .env.example # 环境变量模板
├── CONTRIBUTING.md # 贡献指南
├── CODE_OF_CONDUCT.md # 社区行为准则
├── SUPPORT.md # 提问与支持说明
├── SECURITY.md # 安全策略
├── ARCHITECTURE-DIAGRAMS.md # 架构可视化(14 节 Mermaid 图)
└── docs/ # 项目文档
├── ARCHITECTURE.md # 架构总览
├── FEATURES.md # 特性总览
├── README.md # 文档目录说明
├── API_ENDPOINTS.md # API 端点文档
├── API_STANDARD.md # API 设计规范
├── architecture/ # 各模块架构设计文档
├── features/ # 各模块特性设计文档
└── guides/ # 使用指南
# 克隆项目
git clone https://github.com/ntygod/ZhiWei.git
cd ZhiWei
# 后端(Maven 自动下载依赖)
mvn clean install -DskipTests
# 前端
cd zhiwei-web
npm install
# 启动后端开发服务器
mvn spring-boot:run
# 启动前端开发服务器(新终端)
cd zhiwei-web
npm run dev
# 后端测试
mvn test
# 前端测试
cd zhiwei-web
npm run test:run
# 构建后端 JAR(产出 target/zhiwei.jar)
mvn clean package -DskipTests
# 构建前端(产出 zhiwei-web/dist/)
cd zhiwei-web
npm run buil