📋 执行日志
🧠 Think 👁️ Vision 🔧 Tools

## 开始对话

选择一个模型，输入消息开始聊天

📖 正在查看历史记录（只读模式）
🖥️ 工作空间
等待 AI 执行命令...
等待工具调用...
~

### ⚙️ 设置

Ollama 服务地址
检测中...

⚠️ 连接失败，可能是 CORS 问题。请在启动 Ollama 时设置环境变量：

`OLLAMA_ORIGINS="*" ollama serve`
温度（Temperature）：0.7

低值更精确稳定，高值更有创意多样（0 = 确定性，2 = 最大随机）

Agent 最大轮数（maxTurns）
轮

Agent Loop 最大工具调用轮数。默认 85 轮，复杂任务可能需要更多轮次。

上下文长度（Context Length）

发送给模型的最大上下文窗口大小。默认 128K，越大可容纳更长对话但消耗更多显存/内存。

⏱️ 超时设置（Timeout）

调整各通信层超时时长。留空则使用默认值（HTTP:30s / 流式:300s / MCP:60s）。设为 0 可禁用超时。

🌐 HTTP 请求超时（秒）

web_search / web_fetch 等 HTTP 请求的超时

📡 流式调用超时（秒）

Ollama 单轮流式响应的最大等待时间

🔌 MCP 请求超时（秒）

MCP Server JSON-RPC 请求的超时（需重启 MCP 服务器生效）

运行中的模型

无运行中的模型

🖥️ 工作空间目录

工作空间用于存放 AI 执行命令时的工作文件。命令行默认在此目录执行。

🧠 Agent 记忆系统

记忆存储在工作空间 MEMORY.md 文件中。新对话时自动检索注入上下文，对话结束时 AI 自动提取保存（多层质量过滤，宁缺毋滥）。受路径保护，仅 `memory` 工具可读写。

📌 事实项目信息、身份背景
⚙️ 偏好语言风格、技术栈偏好
📏 规则编码规范、输出格式要求
🤖 子代理默认模型

子代理（spawn_task）使用的默认模型。留空则使用当前选中的模型。可为简单任务选择更快的模型。

🤖 子代理 & 看门狗参数
🔄 子代理最大轮次

spawn_task 子代理的最大工具调用轮次

⏱️ 子代理超时（秒）

子代理单次任务最大执行时间，0=禁用

🐕 看门狗超时（分钟）

Agent Loop 全局超时保护，超过后强制终止。0=禁用，默认30分钟

显存管理
数据管理

导出格式为 JSON，可备份后在其他设备导入恢复。

🔌 MCP 服务器

### 🕐 历史记录

### 📖 使用帮助

#### 🚀 快速开始

1. 确保 Ollama 已启动（默认 `http://127.0.0.1:11434`，可在设置中修改）
2. 顶部模型栏选择一个模型，右侧会显示模型能力徽章（🧠 Think / 👁️ Vision / 🔧 Tools）
3. 输入消息，按 `Enter` 发送，`Shift+Enter` 换行

#### 💬 聊天功能

- 流式回复 — 实时打字效果，随时点 ■ 停止
- Think 推理 — 下方 Think 按钮切换，让模型展示深度思考过程（需模型支持，如 Qwen3）
- 上下文长度手动控制 — 设置面板下拉选择（128K / 256K / 512K / 1M），默认 128K。模型栏显示当前配置值，下拉框中每个模型旁显示其自身的上下文长度
- Qwen3 兼容 — 自动保证 system 消息唯一且位于首位，避免 Qwen3 等模型 400 错误
- 多模态 — 上传图片或视频（≤10MB），模型需支持 Vision。图片自动压缩，视频 1fps 提取帧序列带时序标注
- 文件分析 — 支持 50+ 种文本/代码格式，单文件 ≤500KB，自动剥离注释并按上下文预算智能截断
- AI 回复顶部 — 每条 AI 回复上方展示 📋 系统提示词折叠卡片，可点击查看实际发送给模型的完整上下文

#### 🔧 Tool Calling（始终开启）

- 所有消息均通过 Agent Loop 自主调用本地工具，像一个本地 Agent，无普通聊天模式
- 40+1 个工具，分为 9 类：
  - 文件系统（16 个）：read_file / write_file / list_directory / search_files / create_directory / delete_file / move_file / copy_file / edit_file / get_file_info / tree / download_file / diff_files / replace_in_files / read_multiple_files / compress
  - 命令执行（1 个）：run_command（实时流式输出，支持自动/需确认/禁用三种模式，可配置超时）
  - 联网搜索（2 个）：web_search（支持 SearXNG 元搜索引擎 JSON API / 四引擎 HTML 解析，双模式可切换）/ web_fetch（反爬headers+UA自动切换+自动回退浏览器渲染）
  - Git（1 个）：git（17 个子操作，push/pull/clone 内置60-120s超时保护）
  - 浏览器控制（9 个）：browser_open / browser_screenshot / browser_evaluate / browser_extract / browser_click / browser_type / browser_scroll / browser_wait / browser_close
  - 记忆 & 会话（5 个）：memory（统一记忆管理，5 个 action）/ session_list / session_read / spawn_task / plan_track
  - 系统工具（6 个）：datetime / calculator / random / uuid / json_format / hash
- read_file 支持 binary模式读取/base64解码/字节分页/2000行默认+截断hint自动续读
- write_file 支持 base64写二进制文件/mode(overwrite+append)合并append_file功能/10MB
- edit_file 支持 use_regex 正则替换
- search_files 支持正则表达式搜索（use_regex=true）
- browser_screenshot 支持全页面截图+元素截图
- browser_extract 支持CSS选择器提取特定区域
- new browser_wait 等待元素出现或定时等待
- 所有写操作工具均支持三档开关：自动/需确认/禁用（浏览器工具始终自动执行）
- 危险命令（`rm -rf`、`mkfs`、反弹 shell 等）和系统路径（`/etc`、`~/.ssh` 等）被自动拦截
- 工具调用以可视化卡片展示状态（pending → running → success/error），在工作空间🔧工具页签中显示
- 默认最大 85 轮工具调用循环（设置面板可调），上下文使用率>80%时自动缩减到3轮
- 独立工具自动并行执行（16个只读工具加入并行白名单），有依赖关系的工具串行执行

#### 🧠 Agent 记忆系统

- 记忆存储在工作空间 MEMORY.md 文件，受严格路径保护，仅 `memory` 工具可读写
- 新对话时自动检索相关记忆注入 AI 上下文，让 AI "记住"你
- 对话结束时 AI 自动提取有价值的用户信息保存（多层质量过滤，宁缺毋滥）
- memory 工具（5 个 action）：search（关键词搜索）/ add（添加）/ replace（替换）/ remove（删除）/ read_all（读取全部）
- 点击顶部 🧠 按钮打开记忆面板：查看、添加、删除记忆条目
- 记忆容量上限 500 条，超限时自动清理低价值条目（规则类型受保护）
- 写入前自动安全扫描（prompt injection / 敏感信息 / 不可见字符检测）
- 应用启动时自动校验 MEMORY.md 格式，格式错误自动备份重建

#### 📋 Plan Mode（计划模式）

- 点击输入框上方 📋 按钮开启 Plan Mode（开关式）
- 开启后，AI 先生成执行计划（Markdown 渲染弹窗），用户批准后才开始执行
- 计划批准后自动初始化追踪器，每个步骤完成后调用 `plan_track` 工具标记进度
- 系统提示词自动注入当前进度状态，AI 始终知道还剩多少步未完成
- 多步骤任务防遗忘：自动检测用户请求中的动作动词，对比已完成步骤，注入提醒
- 关闭 Plan Mode 后恢复正常 Agent Loop 模式
- 仅 Plan 模式 下 plan_track 工具可见，避免污染普通模式的工具列表

#### 🛡️ 抗幻觉 & 稳定性

- 5 层防御体系：系统提示词加固 → 任务感知 → 中途幻觉检测（中英双语规则覆盖全部工具类别）→ 进度锚点 → 完成闸门（6 项检查，幻觉/注入 → 阻断，质量/效率 → 咨询）
- 完成闸门：对话结束前自动审查 AI 回复，检测工具幻觉和 prompt injection，阻断有问题的回复
- 中英双语检测规则：覆盖中英文模型输出，防止 AI 声称执行了未调用的工具
- 智能重试机制：永久错误（文件不存在/权限拒绝）立即返回，瞬态错误（网络/超时）指数退避最多重试 2 次
- 看门狗超时：设置面板可配置全局超时（默认 30 分钟），AI 卡死或无限循环时自动中止
- 流式总超时：可配置超时（默认 300s），Ollama 卡死不再永久阻塞
- 中止保护：所有状态处理器 + 重试循环均检查中止信号，点击 ■ 按钮立即生效
- 上下文硬上限：200 条消息强制压缩 + 120 条增量压缩，防止 OOM

#### 🤖 Agent Loop 增强

- 🎬 视频上传：支持上传 .mp4/.avi/.mov/.mkv/.webm 等视频（≤10MB），自动 1fps 提取帧序列（带时间戳），多模态模型原生理解视频时序关系
- 8 状态机：INIT→THINKING→PARSING→EXECUTING→OBSERVING→REFLECTING→COMPRESSING→TERMINATED，每个状态独立的中止检查和处理
- 智能上下文压缩：滑动窗口 + LLM结构化JSON摘要，120条触发增量压缩 + 200条硬上限强制压缩
- 流式总超时：可配置（默认300s），Ollama 假死不再永久阻塞
- HTTP/MCP 超时可配：设置面板可分别调整 HTTP（默认30s）和 MCP（默认60s）超时
- 智能工具调度：路径依赖检测自动串行化（write→read/create→write），只读工具并行执行
- 工具缓存 TTL：搜索5分钟/网页10分钟/文件30分钟/git 30秒，默认60秒过期，不再永久缓存
- Plan Mode 断点续传：中止后可恢复未完成的计划，进度自动保存
- Token 感知迭代预算：上下文使用率>80%时自动缩减剩余轮次到3轮
- 跨会话工具上下文：新对话自动注入上一轮已执行的工具调用及结果（role:tool 消息），AI 不会重复执行已完成的操作
- 旧工具结果智能截断：超过10轮后自动截断到2000字符，优先在JSON边界处截断

#### 🔌 MCP（Model Context Protocol）

- 支持连接外部 MCP Server，动态扩展工具能力
- 设置面板可添加/启用/禁用/删除 MCP 服务器
- MCP 工具以 `mcp_{server}__{tool}` 前缀注册，与内置工具统一调度
- 启动时自动连接已启用的 MCP 服务器

#### 🔍 SearXNG 元搜索引擎

- 点击顶部 🔍 按钮打开配置面板，可接入自部署的 SearXNG 实例
- JSON 模式：调用 SearXNG JSON API，聚合 70+ 引擎结果，结构化解析
- HTML 模式：获取原始搜索结果页面，交由 AI 自行分析提取信息
- 支持认证 Key（HTTP Header Authorization），保护私有实例
- 启用后替代内置四引擎方案；关闭即回退，无缝切换
- 所有参数（引擎、语言、安全搜索、时间范围等）均可独立配置

#### 📋 自定义文件（SOUL.md / AGENT.md / USER.md）

- 在工作空间目录创建以下文件即可自定义 AI 行为，修改后下一轮对话立即生效
- SOUL.md — AI 身份、性格、行为准则（永远不可被压缩，注入为最高优先级系统提示词）
- AGENT.md — 工具调用规则、链式调用模式、核心约束（仅从工作空间加载，有则注入，无则不注入）
- USER.md — 用户画像：技术栈、偏好、习惯等个人信息，AI 在对话中自动参考（仅工作空间，无内置默认）
- 可在 AI 回复顶部的 📋 系统提示词卡片中查看实际注入的完整上下文
- SOUL.md 删除工作空间文件可恢复内置默认版本；AGENT.md / USER.md 无内置版，工作空间不存在则不注入

#### 📊 Token 实时监控

- 点击顶部 📊 按钮打开 Token 监控仪表盘
- 全局统计 — 跨会话累计 Token 消耗，柱状图按会话展示趋势
- 当前会话 — 实时显示本轮对话的 Token 消耗，按轮次展示明细
- 每 2 秒自动刷新数据，支持输入/输出分色显示

#### 🖥️ 布局说明

- 左侧面板 — 执行日志，实时显示应用运行日志（连接、模型加载、工具调用等）
- 中间区域 — 聊天消息，顶部 Header + 模型栏，底部输入框
- 右侧面板 — 工作空间（常驻显示），包含 3 个页签：
  - 💻 命令行 Tab — 终端界面，实时流式输出，支持长时间运行（无超时），单一终端进程
  - 🔧 工具 Tab — 展示本轮对话的工具调用卡片，含状态统计（总数 ✅ 成功 ❌ 失败），AI 执行命令时自动切到此页签
  - 📁 文件 Tab — 浏览工作空间目录，点击文件预览内容（带行号），支持上级目录导航
- 工作空间目录可在设置中修改

#### 🕐 历史记录

- 所有会话自动保存到本地 SQLite
- 点击顶部 🕐 按钮查看、搜索、恢复历史会话
- 支持导出 JSON / `.metona` 加密备份

#### ⚡ 快捷键 & 命令

`Enter` | 发送消息
`Shift + Enter` | 换行
`Ctrl + N` | 新建会话
`Ctrl + M` | 记忆管理
`Esc` | 关闭弹窗

输入框命令（直接输入后发送）：

`/retry` | 重试上一轮回复
`/undo` | 撤销最后一条用户消息及回复
`/compress` | 用 AI 摘要压缩长对话上下文

### 🔧 工具面板（40 个 + 1 Plan 专属）

AI 始终可在对话中自主调用以下工具（Tool Calling 永久开启）。高风险操作需用户确认。

⚙️ 全局工具执行模式
统一管理所有工具的执行模式，不区分工具
📄read_file自动
读取文件(文本/binary/base64)，2000行默认，截断自动提示续读
✏️write_file需确认
写入/追加文件，支持base64二进制，最大10MB
📁list_directory自动
列出目录内容(2000条上限)，支持递归/偏移分页/扩展名过滤
🔍search_files自动
按文件名或内容搜索，支持正则表达式
📂create_directory需确认
创建目录，自动创建父级
🗑️delete_file需确认
删除文件或目录，返回被删文件数和总大小
📦move_file需确认
移动或重命名文件/目录
📋copy_file需确认
复制文件或目录到新位置
🌐web_fetch自动
抓取网页内容，反爬headers+UA切换+自动回退浏览器渲染
✂️edit_file需确认
查找替换(支持正则use_regex)，全部或单次替换
💻run_command需确认
执行 shell 命令，支持超时配置
ℹ️get_file_info自动
获取文件/目录详细信息：大小、日期、权限
🌳tree自动
以树形结构展示目录内容
⬇️download_file需确认
从 URL 下载文件到本地
🔀diff_files自动
对比两个文件，显示差异
🔄replace_in_files需确认
按 glob 模式批量查找替换多个文件
📚read_multiple_files自动
并行读取最多50个文件，每文件10KB
🔖git自动
Git 全操作（17个子命令：status/log/diff/add/commit/push等）
🗜️compress需确认
创建或解压 zip/tar.gz 归档
🔍web_search自动
SearXNG JSON API / 四引擎并行，默认30条
🧠memory自动
统一记忆管理（5 action）：search 关键词搜索 / add 添加 / replace 子串替换 / remove 子串删除 / read_all 读取全部。MEMORY.md 受路径保护
📋session_list自动
列出历史会话，支持按标题搜索
📖session_read自动
读取历史会话消息内容
🤖spawn_task自动
生成子代理独立执行任务，完成后回传结果
🌐browser_open自动
打开URL，支持等待特定CSS元素出现(SPA页面)
📸browser_screenshot自动
截图(视口/全页面/指定元素)，返回base64 PNG
⚡browser_evaluate自动
在浏览器页面中执行 JavaScript
📰browser_extract自动
提取页面文本+链接，支持CSS选择器指定区域
👆browser_click自动
点击元素，支持等待出现+自动滚动到视图
⌨️browser_type自动
输入文本，支持追加模式(不先清空)+自动提交表单
↕️browser_scroll自动
滚动页面(上/下/顶/底)或滚动到指定元素
⏳browser_wait自动
等待指定元素出现或固定时间延迟
❌browser_close自动
关闭 Agent 浏览器并释放资源
🕐datetime自动
获取系统精确时间（ISO/Unix/日期/时间/完整）
🔢calculator自动
安全数学计算（+ - * / ** % ()，递归下降解析器）
🎲random自动
随机数/随机选择（整数/浮点/抽取/字符串）
🆔uuid自动
生成 UUID v4 唯一标识符（批量最多20个）
📋json_format自动
JSON 格式化 + 语法验证 + 键排序
🔐hash自动
哈希计算（MD5/SHA1/SHA256/SHA384/SHA512）
📋plan_track需确认
Plan 模式专属：追踪执行进度，标记/查看步骤完成状态
计划确认：

### 📊 Token 实时监控

🎯 上下文窗口使用率
📈 Token 消耗趋势 — 全局
📋 明细（按时间倒序）

轮次 | 角色 | 输入 | 输出 | 合计 | 耗时 | 时间
--- | --- | --- | --- | --- | --- | ---

### ⚠️ 确认操作

AI 请求执行一个需要确认的操作。

### 🔍 SearXNG 元搜索引擎

⚪ 未启用

启用后，联网搜索将使用 SearXNG 元搜索引擎（隐私保护、70+ 引擎聚合），替代内置的四引擎 HTML 解析方案。

SearXNG API 地址

SearXNG 实例的根地址，无需带 /search 路径

搜索引擎

逗号分隔的引擎列表。常用: google, bing, duckduckgo, wikipedia, brave, qwant, startpage

语言
安全搜索
时间范围
单次结果数

HTML 模式下此选项不生效，返回整页文本

返回格式
自动抓取条数
抓取类型
🔑 认证

Bearer: API Token · Basic: 账号:密码（自动 Base64 编码）。需配合 Nginx 反向代理验证

💡 提示：SearXNG 是开源元搜索引擎，不追踪用户、不记录隐私。 需要自行部署或使用公共实例。API 端点格式：`{{URL}}/search?q={{query}}&format=json`