feat: add MCP/skill tool protocol, tasks/tools pages, chat UX overhaul

Tools page: skill & MCP server management with [[skill:]]/[[mcp:]] protocol (up to 3 rounds). New Tasks and Tools pages. Chat: session snapshots, empty-session reuse, per-message model_id, unified JSON prediction suggestions. Settings: upload size limit, prediction options, model enable/disable. Schema additions with ensure_column migrations. Add FEATURES/ARCHITECTURE docs.
This commit is contained in:
xianrenge
2026-08-16 19:50:41 +08:00
parent bd3f648ccd
commit 10ecf526ec
33 changed files with 6241 additions and 390 deletions
+7 -3
View File
@@ -4,11 +4,14 @@
## 当前功能
- **模型管理**:启动时自动扫描模型目录(可手动重新扫描),支持导入本地 GGUF、添加 OpenAI 兼容在线 API 模型;本地模型可一键「部署」后台加载,部署成功后对话页可直接选用
- **模型管理**:启动时自动扫描模型目录(可手动重新扫描),支持导入本地 GGUF、添加 OpenAI 兼容在线 API 模型(需「启用」后才会出现在对话页可选列表);本地模型可一键「部署」后台加载并查看进度
- **模型广场**:搜索 Hugging Face / ModelScope 上的 GGUF 模型,按量化版本一键下载(ModelScope 文件自动附带 SHA256 校验),下载进度实时显示
- **聊天**:流式输出、Markdown/代码高亮、采样参数调节、多会话管理;本地模型与在线 API 模型统一入口
- **聊天**:流式输出、Markdown/代码高亮、采样参数调节、多会话管理;右侧栏「可选大模型服务」只列出有部署状态的大模型(运行中/启动中/出错,彩色状态点)与已启用的在线 API 模型,模型名不显示 `.gguf` 后缀;每条回答下方显示所用模型名;回答完成后自动预测用户可能说的话(可点击填入输入框,条数与开关可在设置调整);切换选项卡后保持会话与大模型等状态
- **对话细节**:空会话复用(已有无消息的新建对话时不再新建)、回答重新生成/版本历史/编辑重提、思考过程展示、会话置顶收藏与导入导出
- **本地 API 服务**OpenAI 兼容端点(/v1/models、/v1/chat/completions、/v1/embeddings),仅本机监听,可选 API Key
完整功能清单见 [docs/FEATURES.md](./docs/FEATURES.md),代码组织与数据流见 [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)。
## 技术栈
- 桌面壳:Tauri 2Rust+ WebView2
@@ -27,7 +30,7 @@ crates/download 分片断点续传下载器
crates/api OpenAI 兼容本地 API 服务(axum
ui/ React 前端
scripts/ 构建/下载脚本
docs/ 产品与技术方案
docs/ 产品与技术方案、功能记录(FEATURES.md)、代码架构(ARCHITECTURE.md
```
## 环境要求(Windows
@@ -80,6 +83,7 @@ cargo build --release -p xianren-desktop --features custom-protocol
| `scripts/build-llama.ps1` | 从源码编译 llama.cpp(需要 CMake,可选 CUDA/Vulkan |
| `scripts/download-test-model.ps1` | 下载迷你 GGUF 测试模型(支持 HF 镜像/ModelScope |
| `scripts/generate-icons.ps1` | 重新生成应用图标 |
| `scripts/test_mcp_server.py` | 本地 MCP 测试服务器(Streamable HTTP,提供时间/回声工具,用于验证工具页与对话工具调用) |
## 引擎与模型目录