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:
@@ -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">📁 工作空间</a>
|
||||
<a href="#db-config">💾 数据库配置</a>
|
||||
|
||||
<div class="sidebar-section">9 个基础工具</div>
|
||||
<div class="sidebar-section">27 个内置工具</div>
|
||||
<a href="#tools-overview">📊 工具总表</a>
|
||||
<a href="#tool-filesystem">📄 文件系统工具</a>
|
||||
<a href="#tool-web">🌐 网络搜索与抓取</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>📋 文档层级:</strong>本文档是 <strong>工作空间、9 个基础工具、4 个磁盘文件、数据库配置的权威定义</strong>,与《构建指南》第三、五、六章对应。冲突时以本文档为准。
|
||||
<strong>📋 文档层级:</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>📊 9 个基础工具 — 总表</h2>
|
||||
<h2>📊 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>📄 类别一:文件系统工具(4个)</h2>
|
||||
<h2>📄 类别一:文件系统工具(5个)</h2>
|
||||
|
||||
<h3>1. read_file</h3>
|
||||
<p class="desc">读取文件完整内容。支持行偏移和行数限制,自动检测二进制文件。文件超过 100K 字符时返回截断提示。</p>
|
||||
@@ -453,7 +454,7 @@
|
||||
|
||||
<!-- --- 网络工具 --- -->
|
||||
<section class="api-section" id="tool-web">
|
||||
<h2>🌐 类别二:网络搜索与抓取(2个)</h2>
|
||||
<h2>🌐 类别二:网络搜索与抓取(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>🧠 类别三:记忆工具(2个)</h2>
|
||||
<h2>🧠 类别三:记忆工具(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>⚒️ 类别四:命令工具(1个)</h2>
|
||||
<h2>⚒️ 类别四:命令工具(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>🏗️ 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 -->
|
||||
|
||||
Reference in New Issue
Block a user