feat: 升级至 v0.3.4 — 接入 Xiaomi MiMo Provider + 文档全量校准

新增 MiMo (小米) LLM Provider 适配器,支持 mimo-v2.5-pro 和 mimo-v2.5 两个文本模型,复用 OpenAI 兼容 SSE 流式解析,支持 Thinking 模式和 Function Calling。同步校准全量 docs 文档与 README 使其与实际代码一致。

主要变更:
- 新增 mimo.adapter.ts 适配器(SSE + thinking.type + max_completion_tokens)
- 修复 thinking 逻辑 bug:禁用思考时未传 temperature/top_p
- 补全 sse-stream.ts 的 MiMo 缓存字段映射(prompt_tokens_details.cached_tokens)
- 补全 sse-stream.ts 的 finish_reason 映射(repetition_truncation)
- 注册 MiMo 适配器到 adapters/index.ts、main.ts 工厂
- handlers.ts 添加 mimo.contextWindow 热重载触发
- database.service.ts seed 添加 mimo 默认配置
- SettingsModal/OnboardingWizard/Header 添加 MiMo Provider UI
- constants.ts PROVIDER_LABELS 添加 mimo
- .env.example 添加 MIMO_API_KEY/MIMO_BASE_URL
- 反向修改 4 个 docs HTML 设计文档(工具数量/版本日期/适配器列表/数据库表)
- 反向修改 Agent网络工具通用设计-v2.md 附录 B 文件索引
- 完全重写 README.md(v0.3.4、27 工具、4 适配器、9 表)
This commit is contained in:
thzxx
2026-07-15 22:28:09 +08:00
parent 4554177db0
commit 656c6b7af1
22 changed files with 1677 additions and 115 deletions
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MetonaAI-Desktop 架构与交互设计文档 | v1.0</title>
<title>MetonaAI-Desktop 架构与交互设计文档 | v1.1</title>
<style>
:root {
--bg: #0f1117;
@@ -141,7 +141,7 @@
<a href="#workspace">&#x1F4C1; 工作空间</a>
<a href="#db-config">&#x1F4BE; 数据库配置</a>
<div class="sidebar-section">9 个基础工具</div>
<div class="sidebar-section">27 个内置工具</div>
<a href="#tools-overview">&#x1F4CA; 工具总表</a>
<a href="#tool-filesystem">&#x1F4C4; 文件系统工具</a>
<a href="#tool-web">&#x1F310; 网络搜索与抓取</a>
@@ -165,14 +165,14 @@
<div class="hero">
<h1>MetonaAI-Desktop 架构与交互设计</h1>
<p>基于「生产级通用 AI Agent 桌面应用构建指南」+「Metona 内部 IR 标准」,定义完整的系统架构、9 个基础工具、4 个用户级磁盘文件、工作空间机制、数据库配置规范及全链路可追踪日志体系。</p>
<p>基于「生产级通用 AI Agent 桌面应用构建指南」+「Metona 内部 IR 标准」,定义完整的系统架构、27 个内置工具、4 个用户级磁盘文件、工作空间机制、数据库配置规范及全链路可追踪日志体系。</p>
<div class="hero-meta">
<span><span class="dot dot-cyan"></span> 版本: <strong>v1.0.0</strong></span>
<span><span class="dot dot-cyan"></span> 版本: <strong>v1.1.0</strong></span>
<span><span class="dot dot-green"></span> 技术栈: <strong>React + Material UI (MUI) + Electron + SQLite</strong></span>
<span><span class="dot dot-amber"></span> 日期: <strong>2026-06-26</strong></span>
<span><span class="dot dot-amber"></span> 日期: <strong>2026-07-15</strong></span>
</div>
<div class="note-box" style="margin-top:16px">
<strong>&#x1F4CB; 文档层级:</strong>本文档是 <strong>工作空间、9 个基础工具、4 个磁盘文件、数据库配置的权威定义</strong>,与《构建指南》第三、五、六章对应。冲突时以本文档为准。
<strong>&#x1F4CB; 文档层级:</strong>本文档是 <strong>工作空间、27 个内置工具、4 个磁盘文件、数据库配置的权威定义</strong>,与《构建指南》第三、五、六章对应。冲突时以本文档为准。
</div>
</div>
@@ -184,7 +184,7 @@
<p class="desc">
MetonaAI-Desktop 是一个运行在用户本地桌面上的通用 AI Agent 应用。它以<strong>工作空间(Workspace</strong>为基本组织单元,
通过 <strong>4 个 Markdown 磁盘文件</strong> 定义 Agent 的灵魂、行为、记忆和用户画像,
提供 <strong>9 个基础工具</strong> 赋予 Agent 操作文件系统、网络、记忆和命令行的能力。
提供 <strong>27 个内置工具</strong> 赋予 Agent 操作文件系统、网络、记忆和命令行的能力。
全链路操作<strong>透明可追踪</strong>,所有决策过程、工具调用、LLM 推理记录在本地 SQLite 日志中。
</p>
@@ -203,11 +203,11 @@
<span class="hl-box">│ └────┬──────────────────────────────────────────────┘ │</span>
<span class="hl-box">│ │ │</span>
<span class="hl-box">│ ┌────▼──────────────────────────────────────────────┐ │</span>
<span class="hl-box">│ │ 9 Base Tools (统一 IR) │ │</span>
<span class="hl-box">│ │ read_file | write_file | list_dir | search_files │ │</span>
<span class="hl-box">│ │ web_search | web_extract │ │</span>
<span class="hl-box">│ │ memory_store | memory_search │ │</span>
<span class="hl-box">│ │ run_command │ │</span>
<span class="hl-box">│ │ 27 Base Tools (统一 IR) │ │</span>
<span class="hl-box">│ │ filesystem(5) | editor | code_search | diff │ │</span>
<span class="hl-box">│ │ web_search | web_fetch | web_browser | http │ │</span>
<span class="hl-box">│ │ memory(2) | run_command | delegate_task │ │</span>
<span class="hl-box">│ │ git(4) | dev_tools(3) | task_mgr | todo | think │ │</span>
<span class="hl-box">│ └────┬──────────────────────────────────────────────┘ │</span>
<span class="hl-box">│ │ │</span>
<span class="hl-box">│ ┌────▼──────────────────────────────────────────────┐ │</span>
@@ -388,9 +388,9 @@
<hr class="section-divider">
<!-- ====== 9 个基础工具 ====== -->
<!-- ====== 27 个内置工具 ====== -->
<section class="api-section" id="tools-overview">
<h2>&#x1F4CA; 9 个基础工具 — 总表</h2>
<h2>&#x1F4CA; 27 个内置工具 — 总表</h2>
<p class="desc">所有工具使用 <strong>Metona IR 的 MetonaToolDef / MetonaToolCall / MetonaToolResult</strong> 结构。内置在 Tool Registry 中,Adaper 为 LLM 生成 JSON Schema 格式的描述。</p>
<table class="spec">
@@ -400,16 +400,17 @@
<tr><td class="f-name">3</td><td class="f-name">list_directory</td><td class="f-type">filesystem</td><td class="f-risk risk-safe">SAFE</td><td></td><td>列出目录内容</td></tr>
<tr><td class="f-name">4</td><td class="f-name">search_files</td><td class="f-type">filesystem</td><td class="f-risk risk-safe">SAFE</td><td></td><td>按模式搜索文件(名称/内容)</td></tr>
<tr><td class="f-name">5</td><td class="f-name">web_search</td><td class="f-type">network</td><td class="f-risk risk-medium">LOW</td><td></td><td>网络搜索,返回结果列表</td></tr>
<tr><td class="f-name">6</td><td class="f-name">web_extract</td><td class="f-type">network</td><td class="f-risk risk-medium">LOW</td><td></td><td>抓取网页内容转 Markdown</td></tr>
<tr><td class="f-name">6</td><td class="f-name">web_fetch</td><td class="f-type">network</td><td class="f-risk risk-medium">LOW</td><td></td><td>抓取网页内容转 Markdown</td></tr>
<tr><td class="f-name">7</td><td class="f-name">memory_store</td><td class="f-type">database</td><td class="f-risk risk-medium">MEDIUM</td><td></td><td>存储一条记忆到 SQLite</td></tr>
<tr><td class="f-name">8</td><td class="f-name">memory_search</td><td class="f-type">database</td><td class="f-risk risk-safe">SAFE</td><td></td><td>检索记忆(关键词匹配)</td></tr>
<tr><td class="f-name">9</td><td class="f-name">run_command</td><td class="f-type">code_execution</td><td class="f-risk risk-high">HIGH</td><td></td><td>执行 Shell 命令,沙箱限制</td></tr>
<tr><td colspan="6" style="padding:14px;color:var(--text-dim);font-size:13px;">完整 27 个工具列表详见 README.md「内置工具」章节。新增工具涵盖:file_editor、code_search、diff_viewer、web_browser、http_request、git_status/git_diff/git_log/git_commit、lint_code、run_tests、project_info、delegate_task、task_manager、todo_write、think、view_image。</td></tr>
</table>
</section>
<!-- --- 文件系统工具 --- -->
<section class="api-section" id="tool-filesystem">
<h2>&#x1F4C4; 类别一:文件系统工具(4个)</h2>
<h2>&#x1F4C4; 类别一:文件系统工具(5个)</h2>
<h3>1. read_file</h3>
<p class="desc">读取文件完整内容。支持行偏移和行数限制,自动检测二进制文件。文件超过 100K 字符时返回截断提示。</p>
@@ -453,7 +454,7 @@
<!-- --- 网络工具 --- -->
<section class="api-section" id="tool-web">
<h2>&#x1F310; 类别二:网络搜索与抓取(2个)</h2>
<h2>&#x1F310; 类别二:网络搜索与抓取(2个)(另有 18 个工具见 README.md</h2>
<h3>5. web_search</h3>
<p class="desc">执行网络搜索,返回标题、摘要和 URL。支持搜索运算符(site:、filetype: 等)。</p>
@@ -463,8 +464,8 @@
<tr><td class="f-name">limit</td><td class="f-type">number</td><td class="f-opt">可选</td><td>结果数(默认 5,最大 100</td></tr>
</table>
<h3>6. web_extract</h3>
<p class="desc">抓取网页内容并转换为 Markdown。支持 HTML 页面和 PDF 链接。超过 5000 字符自动摘要。</p>
<h3>6. web_fetch</h3>
<p class="desc">抓取网页内容,三阶段回退(HTTP + 反爬 + 浏览器渲染),10MB 限制</p>
<table class="spec">
<tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr>
<tr><td class="f-name">urls</td><td class="f-type">string[]</td><td class="f-req">必填</td><td>待抓取的 URL 列表(最多 5 个)</td></tr>
@@ -473,7 +474,7 @@
<!-- --- 记忆工具 --- -->
<section class="api-section" id="tool-memory">
<h2>&#x1F9E0; 类别三:记忆工具(2个)</h2>
<h2>&#x1F9E0; 类别三:记忆工具(2个)(另有 18 个工具见 README.md</h2>
<h3>7. memory_store</h3>
<p class="desc">将一条内容存入持久记忆。写入 SQLite,支持关键词检索。Agent 可在对话中保存重要信息。</p>
@@ -499,7 +500,7 @@
<!-- --- 命令工具 --- -->
<section class="api-section" id="tool-command">
<h2>&#x2692;&#xFE0F; 类别四:命令工具(1个)</h2>
<h2>&#x2692;&#xFE0F; 类别四:命令工具(1个)(另有 18 个工具见 README.md</h2>
<h3>9. run_command</h3>
<p class="desc">在沙箱环境中执行 Shell 命令。命令在工作空间目录下运行,有超时限制和输出截断。高危命令需用户确认。</p>
@@ -962,7 +963,7 @@
<div style="text-align:center; padding: 40px 0 20px; color: var(--text-dim); font-size: 13px; border-top: 1px solid var(--border);">
<p>&#x1F3D7;&#xFE0F; MetonaAI-Desktop 架构与交互设计文档</p>
<p>基于: <strong style="color:var(--accent)">生产级通用 AI Agent 构建指南</strong> + <strong style="color:var(--accent)">Metona 内部 IR 标准</strong></p>
<p style="margin-top:6px;">版本 <strong style="color:var(--accent)">v1.1.0</strong> · 2026-06-26</p>
<p style="margin-top:6px;">版本 <strong style="color:var(--accent)">v1.1.0</strong> · 2026-07-15</p>
</div>
<!-- Back to Top Button -->