AI 聊天 — 用户手册 | YoBench
如何在 YoBench 中使用「AI Chat」模块:OpenAI/Claude/YandexGPT/本地 LLM 提供商、流式输出、system prompt、RAG、工具调用。
「AI 聊天」模块的用途
模块是 YoBench 中与 AI 对话的统一入口。可接入 OpenAI、Anthropic Claude、YandexGPT 或任何 OpenAI 兼容的本地 LLM(LM Studio、Ollama、vLLM、llama.cpp)。可同时进行多个会话,为每个会话绑定 RAG 上下文,并在显式权限控制下让模型使用一整套生产级工具 —— 浏览器、终端、文件系统、Web 搜索,以及 Word / Excel / PowerPoint / PDF 文档生成。
您将获得:
- 基于 Agent 的 AI 内核 —— 助手以 agent 形式运行,所有敏感动作通过显式权限对话框确认,统一的执行时间线,结构化的聊天日志支持过滤与导出。
- 生产级工具集 —— 生成与编辑 Word、Excel、PowerPoint 与 PDF 文档,提取图片;驱动跨平台加固终端与文件系统(路径分类、符号链接解析、SSRF 防护)。
- 可插拔的 Web 搜索 —— Brave、DuckDuckGo 或 Tavily 作为搜索后端,可按工作区切换。
- 统一语音体验 —— 一个麦克风按钮加两个开关。按句流式 TTS、自动语种识别(en/ru/de/fr/pt/es)、自动重启麦克风以实现免手对话。
- 取消是一等公民 —— 时间线和日志中将「Cancelled by user」(用户取消)与错误明确区分,长时运行的工具会被妥善清理。
- Vision 图像支持 —— 工具返回的图像(截图、提取的图片)会在下一轮自动出现在助手视野中。
- 多个并行会话 —— 每个都有独立的提供商、模型、system prompt、RAG 上下文。
- 流式响应 —— 令牌按 chunk 实时返回,而非一次性返回。
- RAG 上下文 —— 基于您的文档进行混合检索(向量 + BM25)的回答。
- 日志 —— 每个事件(LLM 请求、流式输出、工具执行)单独记录,API 密钥自动遮蔽。
- 上下文压缩 —— 旧历史自动汇总为
context_summary,以避免触达 token 上限。
支持的提供商
代码中实现:
- OpenAI —— 官方 API,通过
OpenAIAdapter。 - Anthropic Claude —— 通过
ClaudeAdapter。 - YandexGPT —— 通过
YandexGPTAdapter。 - OpenAI 兼容的本地 LLM —— LM Studio、Ollama、vLLM、llama.cpp;通过
OpenAIAdapter路由。
提供商参数:
- API key —— 密钥。
- API URL —— 基础 URL(可选,默认使用提供商默认值)。
- 模型 —— 模型标识。
- Temperature —— 创造性(0–2,默认 0.7)。
- Max tokens —— 输出 token 上限(默认 4096)。
- Frequency penalty —— 重复惩罚(0–2,默认 0)。本地 LLM 推荐 0.3–0.5。
- Presence penalty —— 新主题惩罚(0–2,默认 0)。
- 代理 —— 出站请求可选代理。
会话参数
创建会话(chat_conversations)时:
- Title —— 显示名称;可由首条消息自动生成。
- Provider —— 使用哪个 AI 提供商。
- System prompt —— 给模型的指令。
- Temperature —— 覆盖全局值。
- Tools enabled —— 是否启用工具调用。
- Max auto-iterations —— 允许的工具→结果迭代次数(默认 3)。
- Web search provider —— Web 搜索的独立提供商。
- Context —— 来自 上下文管理器 的 RAG 上下文。
消息保存在 chat_messages 中(role: user / assistant / system、content)。
Tool use
启用 Tools enabled 后,模型以 agent 形式运行,可调用 ToolRegistry 中注册的工具。代码中提供:
browser—— 操作navigate、click、fill、type、key、screenshot、wait_for_selector、wait_for_navigation、wait_for_url_change、evaluate、get_content、close。基于 headless Chromium。terminal—— 在跨平台加固 shell 中执行命令。file system—— 读 / 写 / 列出,带路径分类(project / system / user)与符号链接解析。web—— 通过可插拔的搜索适配器(Brave、DuckDuckGo、Tavily)进行 Web 操作,并支持 fetch。documents—— 生成与编辑 Word(DOCX)、Excel(XLSX)、PowerPoint(PPTX)与 PDF;从文档中提取图片。
流程:模型选择 tool__action → ExecutionEngine 执行 → 结果回到上下文 → 可继续迭代(最多 max_auto_iterations 次)。
权限
敏感动作会先弹出 显式权限对话框:
- 写入项目范围之外的文件系统。
- 看起来具有破坏性的终端命令。
- 出站访问非允许列表中的域名。
您可选择 Allow once(允许一次)、Allow for this conversation(此会话内允许)或 Deny(拒绝)。拒绝会作为干净的 cancelled 结果记录 —— agent 不会重试,时间线会保留这一决定。
取消
取消是一等公民,而非错误:
- 随时停止运行 → scope key 被取消,长时工具(浏览器、终端)被妥善销毁。
- 时间线中
cancelled与error明确区分,并附带原因字符串(「Cancelled by user」、「Permission denied」等)。 - 日志保留部分状态,便于您从中断处继续。
Vision 与图像类工具结果
返回图像的工具(browser__screenshot、documents__extract_images)会发出 图像类工具结果。下一轮中助手会同时看到这些图像与文本,因此具备视觉能力的模型可以直接对截图与提取的图片进行推理,无需您手动重新附加。
语音
语音体验已统一 —— 一个麦克风按钮 加两个开关:朗读回复 与 自动对话模式:
- 按句流式 TTS —— 模型回复在第一句准备好时即开始朗读,而非等到全部生成完成。
- 自动语种识别 —— en / ru / de / fr / pt / es,无需手动选择。
- 自动重启麦克风 —— 自动对话模式下,助手讲完话后麦克风会重新开启,实现免手持续对话。
- 默认离线 —— 语音转写使用 Whisper,文本朗读使用 Piper,不依赖外部服务,除非您显式接入。
RAG 上下文
在会话设置中可选择 上下文管理器 中的上下文。首次提问时,模块检索相关 chunks 并注入到 system prompt。之后轮次不再重复检索 —— 上下文已存在。
每个会话也可以切换 检索模式:
- 快速 (默认) —— 混合检索(向量 + 关键词)可在不到一秒内返回结果。
- 精确 —— 在混合检索之后追加一个 reranker 步骤。略慢,但在长查询或表述模糊的查询上明显更好。
全局设置
在 设置 → AI 聊天:
chatDefaultProviderId—— 新会话默认提供商。chatDefaultContextId—— 默认 RAG 上下文。chatDefaultSystemPrompt—— 默认 system prompt。chatDefaultTemperature—— 默认 temperature(0.7)。chatDefaultToolsEnabled—— 默认开启工具调用(默认 on)。chatDefaultMaxAutoIterations—— 自动迭代上限(默认 3)。chatDefaultWebSearchProviderId—— Web 搜索提供商。chatDefaultMaxTokens—— 输出 token 上限(默认 4096)。chatDefaultFrequencyPenalty/chatDefaultPresencePenalty—— 惩罚(默认 0)。
使用流程
1. 接入提供商
在 设置 → 提供商 添加提供商:类型、API key、模型,可选 base URL 与代理。
2. 创建会话
- 在左侧菜单打开 AI 聊天。
- 点击 新建会话。
- 选择提供商(或使用默认)。
- 可选地设置 system prompt、temperature、RAG 上下文。
3. 发送消息
输入请求 → 答复以流式形式到达。可按会话开关 Tools enabled。
4. 附加图片与上下文
- 图片 —— 拖入输入框;base64 进入请求(提供商需支持 vision)。
- RAG 上下文 —— 在会话设置中选择。
5. 控制工具调用
在会话设置中调整 Max auto-iterations。模型可链式调用 browser__navigate → terminal__run 等。在 日志 中查看详情。
6. 查看日志
日志 标签展示事件流:LLM 请求、流式输出、工具执行、错误。可按 level、category 过滤。机密信息(API keys、Bearer tokens)自动遮蔽。
7. 管理会话
- 重命名 —— 首条消息自动命名,可手动修改。
- 删除 —— 删除会话及其消息。
- 停止生成 ——
chat:stop-generation中断当前流。
下一步
帮助与反馈
希望支持 Gemini、Mistral 或更多工具?通过反馈表单联系我们。