{"id":49321239,"url":"https://github.com/ntygod/zhiwei","last_synced_at":"2026-04-26T18:01:08.360Z","repository":{"id":341126157,"uuid":"1168375739","full_name":"ntygod/ZhiWei","owner":"ntygod","description":"本地优先的个人 AI Agent 助手，支持记忆、自主任务、工具授权和工作流。","archived":false,"fork":false,"pushed_at":"2026-04-21T02:19:11.000Z","size":19350,"stargazers_count":163,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2026-04-21T04:30:33.794Z","etag":null,"topics":["ai-agent","local-first","personal-assistant","spring-boot","sqlite","vue","workflow"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntygod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-27T10:10:57.000Z","updated_at":"2026-04-21T02:19:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ntygod/ZhiWei","commit_stats":null,"previous_names":["ntygod/lifepilot","ntygod/zhiwei"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ntygod/ZhiWei","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntygod%2FZhiWei","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntygod%2FZhiWei/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntygod%2FZhiWei/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntygod%2FZhiWei/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntygod","download_url":"https://codeload.github.com/ntygod/ZhiWei/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntygod%2FZhiWei/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32307015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T17:23:19.671Z","status":"ssl_error","status_checked_at":"2026-04-26T17:23:19.195Z","response_time":129,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","local-first","personal-assistant","spring-boot","sqlite","vue","workflow"],"created_at":"2026-04-26T18:01:07.376Z","updated_at":"2026-04-26T18:01:08.293Z","avatar_url":"https://github.com/ntygod.png","language":"Java","readme":"# ZhiWei（知微）\n\n\u003e 见微知著，你的 AI 伙伴\n\n[![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows\u0026logoColor=white)](https://github.com/ntygod/ZhiWei/releases)\n[![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker\u0026logoColor=white)](#方式二docker-compose)\n[![CI](https://github.com/ntygod/ZhiWei/actions/workflows/ci.yml/badge.svg)](https://github.com/ntygod/ZhiWei/actions/workflows/ci.yml)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nZhiWei 是一个自托管的 AI Agent 系统。它不只是聊天机器人——拥有四层认知记忆、自主任务执行、工作流引擎和插件市场。所有数据存储在本地，隐私完全掌控。\n\n**下载桌面客户端，安装即用** — 无需 Java、Docker 或任何开发环境：\n\n\u003e [**Windows 安装包下载 (.msi)**](https://github.com/ntygod/ZhiWei/releases)\n\n![ZhiWei 对话界面](docs/images/chat-conversation.png)\n\n## ✨ 核心特性\n\n### 越用越懂你 — 四层认知记忆\n\n| 层级 | 名称 | 作用 |\n|------|------|------|\n| L1 | 工作记忆 | 当前会话的临时上下文 |\n| L2 | 情景记忆 | 完整对话记录 + 注入来源 |\n| L3 | 语义记忆 | 知识实体 + 关系网络 + 重要性评分 |\n| L4 | 程序记忆 | 技能模板 + 用户偏好规则 |\n\n记忆自动巩固：对话中提取的知识经过经验学习、对比分析和遗忘衰减，高频经验自动提升为可复用的技能模板。混合检索（向量 + FTS5 + 时序）确保最相关的记忆被召回。\n\n### 不只是聊天 — Agent 引擎\n\n- **ReAct 循环**：思考 → 工具调用 → 观察 → 回答，完全可追溯\n- **33 个内置技能**：记忆管理 / 定时任务 / 浏览器自动化 / 代码沙箱 / 数据分析 / 知识检索\n- **挂起与恢复**：等待用户确认、工作流完成、定时唤醒、外部数据就绪时自动挂起，条件满足后恢复\n- **Skill 自扩展**：运行时检测能力缺口，自动生成新技能\n\n### 用你想用的模型 — 多 LLM 智能路由\n\n- 生成 / 向量 / 精排 / 多模态四路独立路由\n- Web UI 管理模型服务，支持启用切换和连接测试\n- 熔断器 + 指数退避故障转移 + 语义缓存\n\n### 扩展你想要的能力\n\n- **知识库**：PDF / Word / Markdown 解析 → 分块 → 混合检索 → 可选 Reranker 精排\n- **MCP 协议**：一键接入 MCP 工具生态\n- **工作流引擎**：YAML 声明式定义 + cron / event / manual 触发\n- **多 Agent 协作**：Markdown 定义 Agent 蓝图，spawn_workers 并行派发\n- **扩展市场**：Skill / Agent / 工作流 / 渠道插件一键安装\n\n### 多渠道触达\n\n- **Web UI**：Vue 3 SPA，SSE 流式对话 + 实时通知\n- **桌面端**：Tauri 2.x 跨平台客户端（Windows / macOS / Linux），内嵌 JRE\n- **企业 IM**：飞书 / 钉钉 / 企微 / QQ 机器人，插件式加载\n\n### 安全与可观测\n\n- **权限**：工具调用分级授权（会话 / 工作区 / 任务 / 长期），高风险操作需确认\n- **护栏**：内容安全 + 敏感数据脱敏 + 代码沙箱（Process / Docker 双模式）\n- **可观测**：完整轨迹追踪 + 决策回放 + Agentic Evals 评估框架\n- **Gateway**：6 层中间件管道（认证 → 限流 → 安全 → 路由 → 执行 → 审计）\n\n### 本地优先，隐私掌控\n\n- 所有数据存储在 `~/.zhiwei/`，不上传云端\n- SQLite（WAL 模式）+ sqlite-vec 向量扩展，零外部服务依赖\n- 单 JAR 部署，开箱即用\n\n## 📸 界面预览\n\n\u003e 以下截图展示最新版 UI。完整页面清单见[项目结构](#-项目结构)。\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**对话** — SSE 流式输出 + 思考链展示 + 消息编辑重发\n\n![对话界面](docs/images/chat-conversation.png)\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**扩展市场** — 一键安装 Skill / Agent / 工作流 / 渠道插件\n\n![扩展市场](docs/images/marketplace.png)\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n**记忆管理** — 实体 / 关系 / 对话 / 模板 / 偏好 / 遗忘日志\n\n![记忆管理](docs/images/memory-management.png)\n\u003c/td\u003e\n\u003ctd\u003e\n\n**模型路由** — 多服务商管理 + 启用切换 + 连接测试\n\n![模型路由](docs/images/model-services.png)\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n**工作流** — YAML 声明式定义 + DAG 可视化\n\n![工作流管理](docs/images/workflow.png)\n\u003c/td\u003e\n\u003ctd\u003e\n\n**渠道管理** — 飞书 / 钉钉 / 企微 / QQ 插件式接入\n\n![渠道管理](docs/images/channels.png)\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\n\n**轨迹回放** — 每个 Agent 决策步骤可追溯、可回放\n\n![轨迹回放](docs/images/trace-replay.png)\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- \n📌 截图更新指引：\n1. 用浏览器 1280×800 窗口大小截图，保持一致比例\n2. 替换 docs/images/ 下对应文件名即可\n3. 新增截图文件：marketplace.png, model-services.png, channels.png\n4. 可选补充：agent-detail.png, knowledge-base.png, mcp-servers.png\n--\u003e\n\n## 🚀 快速开始\n\n### 方式一：桌面客户端（推荐）\n\n从 [Releases](https://github.com/ntygod/ZhiWei/releases) 下载对应平台安装包，双击安装即可。\n\n- 内嵌 JRE，**无需安装 Java、Docker 或任何开发环境**\n- 首次启动进入设置向导，引导配置 LLM 服务商\n- 后端进程自动管理，系统托盘常驻\n\n从 [Releases](https://github.com/ntygod/ZhiWei/releases) 下载 `.msi` 安装包，双击安装即可。\n\n### 方式二：Docker Compose\n\n适合服务器部署或已有 Docker 环境的用户：\n\n```bash\ngit clone https://github.com/ntygod/ZhiWei.git \u0026\u0026 cd ZhiWei\ncp .env.example .env   # 编辑 .env，填入 LLM API Key\ndocker compose up -d   # 访问 http://localhost\n```\n\n### 方式三：源码构建\n\n前置条件：Java 22+、Node.js 18+\n\n```bash\ngit clone https://github.com/ntygod/ZhiWei.git \u0026\u0026 cd ZhiWei\nmvn clean package -DskipTests    # 构建后端\ncd zhiwei-web \u0026\u0026 npm install     # 安装前端依赖\n\n# 启动（两个终端）\nmvn spring-boot:run              # 后端 :8080\nnpm run dev                      # 前端 :5173\n```\n\n### 首次使用\n\n1. 进入「设置 → 模型与路由」，配置至少一个 LLM 服务商（支持 DeepSeek / OpenAI / 通义千问 / Ollama 等）\n2. 回到对话页面，开始与 ZhiWei 交互\n\n\u003e 模型配置通过 Web UI 管理，无需手动编辑配置文件。\n\n## 📋 配置说明\n\n### 环境变量\n\n敏感信息通过环境变量注入，不要硬编码在配置文件中：\n\n```bash\n# LLM 服务商 API Key（至少配置一个）\nexport DEEPSEEK_API_KEY=your-key\nexport OPENAI_API_KEY=your-key\nexport QWEN_API_KEY=your-key\n\n# 可选\nexport SEARCH_API_KEY=your-key\nexport RERANKER_API_KEY=your-key\n```\n\n### 自定义端口\n\n```bash\n# 后端端口（默认 8080）\nexport ZHIWEI_PORT=9090\n\n# Docker 部署时前端端口（默认 80）\nexport ZHIWEI_WEB_PORT=3000\n```\n\n### Docker 部署配置\n\nDocker Compose 使用 `.env` 文件管理环境变量，参考 `.env.example` 模板。\n\n后端 JVM 参数可通过 `JAVA_OPTS` 环境变量覆盖（默认 `-Xmx512m -Xms256m -XX:+UseG1GC`）。\n\n## 🛠️ 技术栈\n\n| 层级 | 技术 | 版本 | 说明 |\n|------|------|------|------|\n| 语言 | Java | 22 | Record / Sealed / Pattern Matching / Virtual Thread |\n| 框架 | Spring Boot | 3.5.12 | Web、自动配置、Actuator |\n| AI 集成 | Spring AI | 1.1.3 | Advisor 模式、MCP 支持、结构化输出 |\n| 构建 | Maven | 3.9.x | 依赖管理 |\n| 数据库 | SQLite (xerial) | 3.49+ | WAL 模式、FTS5 全文索引 |\n| 向量存储 | sqlite-vec | 0.1.x | SQLite 原生向量扩展 |\n| 数据库迁移 | Flyway | 10.x | 版本化 Schema 管理 |\n| 前端 | Vue 3 + Vite | 3.5 / 6.x | TypeScript SPA |\n| 状态管理 | Pinia | 3.x | Vue 3 状态管理 |\n| UI 组件 | Reka UI + Tailwind CSS | 2.x / 4.x | 无头组件 + 原子化 CSS |\n| 图表 | ECharts + vue-echarts | 6.x / 8.x | 数据可视化 |\n| 浏览器自动化 | Playwright | 1.58 | 可选依赖，运行时检测 |\n| 多媒体 | JavaCV + FFmpeg | 1.5.13 / 6.1.1 | 视频帧提取 / 音轨分离 |\n| 文档与内容解析 | PDFBox + POI + Tika + Jsoup | 3.0.7 / 5.3.0 / 3.3.0 / 1.22.1 | PDF / Word / MIME / HTML 解析 |\n| 测试 | JUnit 5 + jqwik | 5.11+ / 1.9.2 | 单元测试 + 属性测试 |\n| 桌面端 | Tauri | 2.x | Rust 驱动的跨平台桌面壳，内嵌 JRE 管理 |\n| 前端测试 | Vitest + fast-check | 3.x / 4.x | 前端单元测试 + 属性测试 |\n\n## 📁 项目结构\n\n```\nZhiWei/\n├── .github/                         # GitHub Actions（CI / 桌面端构建）、Issue/PR 模板、Dependabot\n├── src/main/java/com/lifepilot/     # 按领域拆分的后端模块\n│   ├── a2a/             # A2A 协议（Agent-to-Agent 互操作）\n│   ├── agent/           # Agent 引擎（ReactAgentLoop / ContextAssembler / 挂起恢复）\n│   ├── config/          # 全局配置\n│   ├── conversation/    # 对话管理\n│   ├── datastore/       # 通用数据存储（Schema-Free JSON / 全文搜索 / 时序聚合）\n│   ├── eval/            # Agentic Evals 评估框架\n│   ├── interaction/     # 交互层（Web API / CLI / Gateway 中间件）\n│   ├── knowledge/       # 知识库管理（文档解析 / 分块 / 检索 / Reranker）\n│   ├── llm/             # LLM 基础设施（CircuitBreaker / SemanticCache / Provider 适配）\n│   ├── generation/      # 生成路由（GenerationRouter）\n│   ├── embedding/       # 向量嵌入路由（EmbeddingRouter）\n│   ├── rerank/          # 重排序路由（RerankRouter）\n│   ├── modelservice/    # 模型服务注册（ModelServiceRegistry）\n│   ├── marketplace/     # 扩展市场（Extension Marketplace）\n│   ├── mcp/             # MCP 协议（McpServerRegistry / McpServerDiscovery）\n│   ├── media/           # 多模态处理（图片 / 音频 / 视频）\n│   ├── memory/          # 四层记忆系统（Working / Episodic / Semantic / Procedural / 经验学习）\n│   ├── meta/            # 元能力（文件工具 / 浏览器工具 / 基础设施工具 / 交互工具）\n│   ├── multiagent/      # 多 Agent 协作（spawn_workers / AgentExecutor）\n│   ├── notification/    # 统一通知系统（直接投递 / 历史 / SSE）\n│   ├── observability/   # 可观测性（TraceRecorder / GuardrailEngine / DataRedactor）\n│   ├── permission/      # 工具授权（作用域匹配 / 预授权 / 授权记录）\n│   ├── prompt/          # Prompt 模板管理\n│   ├── sandbox/         # 代码执行沙箱（Process / Docker 双模式）\n│   ├── scheduler/       # 定时任务（ScheduledTaskService / TaskScheduler）\n│   ├── skill/           # Skill 系统（注册 / 验证 / 激活 / 生成 / SkillToToolBridge）\n│   ├── tool/            # 工具系统（ToolContract / DynamicToolRegistry / ToolBridge）\n│   └── workflow/        # 工作流引擎（DAG 调度 / 表达式）\n├── src/main/resources/\n│   ├── application.yml          # 主配置\n│   ├── application-docker.yml   # Docker 环境配置\n│   ├── db/migration/            # Flyway 迁移脚本\n│   ├── builtin-workflows/       # 内置工作流\n│   ├── prompts/                 # Prompt 模板\n│   ├── skills/                  # 内置 Skill 定义\n│   └── eval-scenarios/          # 评估场景定义\n├── zhiwei-web/                  # 前端项目（Vue 3 + Vite + Pinia）\n│   ├── src/views/               # 30+ 页面视图\n│   ├── src/components/          # Vue 组件\n│   ├── src/stores/              # Pinia 状态管理\n│   ├── src/composables/         # 组合式函数\n│   ├── src/api/                 # 前端 API 客户端\n│   └── src-tauri/               # Tauri 2.x 桌面端（Rust）\n│       ├── src/                 # Rust 源码（JavaManager / HealthCheck / Tray / Commands）\n│       ├── capabilities/        # Tauri 权限声明\n│       ├── icons/               # 各平台应用图标\n│       └── tauri.conf.json      # Tauri 配置\n├── docker-compose.yml           # Docker Compose 编排\n├── Dockerfile                   # 后端 Docker 构建（多阶段）\n├── scripts/                     # 构建脚本（桌面端打包 / jlink 模块列表）\n├── start.sh / start.bat         # 一键启动脚本\n├── .env.example                 # 环境变量模板\n├── CONTRIBUTING.md              # 贡献指南\n├── CODE_OF_CONDUCT.md           # 社区行为准则\n├── SUPPORT.md                   # 提问与支持说明\n├── SECURITY.md                  # 安全策略\n├── ARCHITECTURE-DIAGRAMS.md     # 架构可视化（14 节 Mermaid 图）\n└── docs/                        # 项目文档\n    ├── ARCHITECTURE.md          # 架构总览\n    ├── FEATURES.md              # 特性总览\n    ├── README.md                # 文档目录说明\n    ├── API_ENDPOINTS.md         # API 端点文档\n    ├── API_STANDARD.md          # API 设计规范\n    ├── architecture/            # 各模块架构设计文档\n    ├── features/                # 各模块特性设计文档\n    └── guides/                  # 使用指南\n```\n\n## ⚠️ 已知限制\n\n- 需要配置至少一个 LLM 服务商（DeepSeek / OpenAI / Anthropic / Ollama 等）才能使用对话功能\n- 单用户设计，不支持多用户账户和权限隔离\n- SQLite 存储，适合个人使用场景，不支持集群部署\n- Playwright 浏览器自动化为可选依赖，需用户自行安装 driver-bundle\n- 详细限制说明请参阅 [已知限制文档](docs/KNOWN-LIMITATIONS.md)\n\n## 🗺️ 后续计划\n\n### 短期目标\n\n- [ ] 性能优化：缓存机制优化，缩短首字响应时间（TTFT）\n- [ ] 移动端适配\n- [x] ~~桌面客户端：Tauri 2.x 跨平台桌面端（已完成）~~\n\n### 中期目标\n\n- [ ] Agentic GraphRAG：用图检索 Skill 替代 SQL CTE 穷举遍历\n- [ ] Idle-Driven 记忆巩固：空闲事件驱动替代定时触发\n- [ ] 多语言支持\n\n### 长期目标\n\n- [ ] GraalVM native image：探索原生编译，消除 Java 运行时依赖\n- [ ] 插件市场完善：支持社区共享\n- [ ] 语音交互：TTS / STT 集成\n\n## 🧪 开发指南\n\n### 本地开发\n\n```bash\n# 克隆项目\ngit clone https://github.com/ntygod/ZhiWei.git\ncd ZhiWei\n\n# 后端（Maven 自动下载依赖）\nmvn clean install -DskipTests\n\n# 前端\ncd zhiwei-web\nnpm install\n\n# 启动后端开发服务器\nmvn spring-boot:run\n\n# 启动前端开发服务器（新终端）\ncd zhiwei-web\nnpm run dev\n```\n\n### 运行测试\n\n```bash\n# 后端测试\nmvn test\n\n# 前端测试\ncd zhiwei-web\nnpm run test:run\n```\n\n### 构建发布\n\n```bash\n# 构建后端 JAR（产出 target/zhiwei.jar）\nmvn clean package -DskipTests\n\n# 构建前端（产出 zhiwei-web/dist/）\ncd zhiwei-web\nnpm run build\n\n# 构建桌面安装包（需要 Rust 工具链）\nscripts/build-desktop.sh     # Linux / macOS\nscripts\\build-desktop.bat    # Windows\n```\n\n### 编码规范\n\n- Java 22 特性优先：Record、Sealed Interface、Pattern Matching、Virtual Thread\n- 中文注释、中文日志、中文测试方法名\n- 提交消息格式：`\u003ctype\u003e(\u003cscope\u003e): \u003c中文描述\u003e`\n- 数据载体优先使用 `record`，类型层次使用 `sealed interface`\n- 业务可调参数通过 `@ConfigurationProperties` 外部化，禁止硬编码\n- 提交前运行 `mvn clean test` 确保测试通过\n\n## 🌱 开源协作\n\n- 贡献流程请看 [CONTRIBUTING.md](CONTRIBUTING.md)\n- 行为准则请看 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n- 使用问题与反馈入口请看 [SUPPORT.md](SUPPORT.md)\n- 安全问题请通过 [SECURITY.md](SECURITY.md) 指定方式反馈\n- 第一次维护开源仓库可参考 [GitHub 仓库维护指南](docs/guides/github-maintainer-guide.md)\n- 日常 `git` / `gh` 命令与 PR 流程可参考 [Git 与 GitHub CLI 速查表](docs/guides/git-gh-guide.md)\n- 日常版本发布可参考 [Release 发布指南](docs/guides/release-guide.md)\n- 仓库已补齐 GitHub Actions、Issue/PR 模板和 Dependabot，适合作为个人开源项目的基础骨架继续维护\n\n## 🤝 贡献指南\n\n1. Fork 本仓库\n2. 创建分支（推荐 `feature/{name}` 或 `bugfix/{name}`）\n3. 提交更改（提交格式：`\u003ctype\u003e(\u003cscope\u003e): 中文描述`）\n4. 推送分支并发起 Pull Request\n5. 按模板补齐验证步骤、截图和影响说明\n\n## ❓ FAQ\n\n### ZhiWei 是什么？\n\nZhiWei（知微）是一个本地运行的 AI Agent 助手，具备自主任务执行能力，可以帮助你管理知识、提供自动化工作流能力。\n\n### 需要付费吗？\n\nZhiWei 本身免费开源，但需要自备 LLM API Key（如 DeepSeek、OpenAI 等）。也可以使用 Ollama 运行本地模型，完全免费。\n\n### 数据存储在哪里？\n\n所有数据存储在本地 SQLite 数据库（`~/.zhiwei/`），不上传云端，保护隐私。\n\n### 支持哪些 LLM？\n\n支持 DeepSeek、OpenAI、Anthropic Claude、通义千问、Ollama（本地）等多种 LLM Provider。通过 ModelServiceRegistry 数据库管理，Web UI 可视化配置。\n\n### 如何自定义 Skill？\n\n在 `~/.zhiwei/skills/` 目录下创建 Markdown 文件即可定义自定义 Skill，支持热加载。Skill 定义使用 YAML Frontmatter + Markdown 格式。\n\n## 🔧 故障排查\n\n### 启动失败，提示数据库错误\n\n1. 检查 `~/.zhiwei/` 目录是否有读写权限\n2. 删除数据库文件重新启动：`rm -rf ~/.zhiwei/*.db`\n\n### LLM 调用失败\n\n1. 检查 API Key 是否正确配置\n2. 确认网络可以访问 LLM 服务商\n3. 查看日志中的具体错误信息\n4. 检查 CircuitBreaker 是否已熔断（日志中搜索「熔断器触发」）\n\n### 工具调用超时\n\n1. 检查 `application.yml` 中的超时配置\n2. 对于复杂工具调用，可适当增加超时时间\n\n### 前端页面空白\n\n1. 检查前端是否正确构建：`cd zhiwei-web \u0026\u0026 npm run build`\n2. 检查浏览器控制台是否有 JavaScript 错误\n3. 确认后端服务正常运行在 8080 端口\n\n## 📄 许可证\n\n本项目采用 [MIT License](LICENSE) 许可证。\n\n## 🙏 致谢\n\n- [Spring AI](https://spring.io/projects/spring-ai) — AI 原生集成框架\n- [MCP](https://modelcontextprotocol.io/) — Model Context Protocol 标准\n- [A2A](https://google.github.io/A2A/) — Agent-to-Agent 协议\n\n---\n\nZhiWei（知微）— 见微知著，你的 AI 伙伴\n\n本地运行 · 隐私优先 · 越用越懂你\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntygod%2Fzhiwei","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntygod%2Fzhiwei","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntygod%2Fzhiwei/lists"}