[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mistralai--mistral-vibe":3,"tool-mistralai--mistral-vibe":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":76,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":23,"env_os":98,"env_gpu":99,"env_ram":99,"env_deps":100,"category_tags":106,"github_topics":78,"view_count":107,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":108,"updated_at":109,"faqs":110,"releases":141},1198,"mistralai\u002Fmistral-vibe","mistral-vibe","Minimal CLI coding agent by Mistral","Mistral Vibe 是一款基于 Mistral 模型的命令行代码助手，它通过自然语言与用户交互，帮助开发者更高效地探索、修改和管理代码项目。它解决了开发者在代码编辑、文件操作和任务管理中重复性高、效率低的问题，尤其适合需要频繁处理代码的开发者和研究人员。Mistral Vibe 提供了丰富的工具集，如文件读写、代码搜索、版本控制和任务分发，同时支持交互式提问和自定义技能扩展。其独特的项目感知能力能自动分析代码结构和 Git 状态，提升 AI 对代码的理解。Mistral Vibe 采用现代库构建，具备良好的命令补全和终端体验，是提升开发效率的实用工具。","# Mistral Vibe\n\n[![PyPI Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmistral-vibe)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmistral-vibe)\n[![Python Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12%2B-blue)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-3120\u002F)\n[![CI Status](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmistralai\u002Fmistral-vibe)](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002FLICENSE)\n\n```\n██████████████████░░\n██████████████████░░\n████  ██████  ████░░\n████    ██    ████░░\n████          ████░░\n████  ██  ██  ████░░\n██      ██      ██░░\n██████████████████░░\n██████████████████░░\n```\n\n**Mistral's open-source CLI coding assistant.**\n\nMistral Vibe is a command-line coding assistant powered by Mistral's models. It provides a conversational interface to your codebase, allowing you to use natural language to explore, modify, and interact with your projects through a powerful set of tools.\n\n> [!WARNING]\n> Mistral Vibe works on Windows, but we officially support and target UNIX environments.\n\n### One-line install (recommended)\n\n**Linux and macOS**\n\n```bash\ncurl -LsSf https:\u002F\u002Fmistral.ai\u002Fvibe\u002Finstall.sh | bash\n```\n\n**Windows**\n\nFirst, install uv\n\n```bash\npowershell -ExecutionPolicy ByPass -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"\n```\n\nThen, use uv command below.\n\n### Using uv\n\n```bash\nuv tool install mistral-vibe\n```\n\n### Using pip\n\n```bash\npip install mistral-vibe\n```\n\n## Table of Contents\n\n- [Features](#features)\n  - [Built-in Agents](#built-in-agents)\n  - [Subagents and Task Delegation](#subagents-and-task-delegation)\n  - [Interactive User Questions](#interactive-user-questions)\n- [Terminal Requirements](#terminal-requirements)\n- [Quick Start](#quick-start)\n- [Usage](#usage)\n  - [Interactive Mode](#interactive-mode)\n  - [Trust Folder System](#trust-folder-system)\n  - [Programmatic Mode](#programmatic-mode)\n- [Voice Mode](#voice-mode)\n- [Slash Commands](#slash-commands)\n  - [Built-in Slash Commands](#built-in-slash-commands)\n  - [Custom Slash Commands via Skills](#custom-slash-commands-via-skills)\n- [Skills System](#skills-system)\n  - [Creating Skills](#creating-skills)\n  - [Skill Discovery](#skill-discovery)\n  - [Managing Skills](#managing-skills)\n- [Configuration](#configuration)\n  - [Configuration File Location](#configuration-file-location)\n  - [API Key Configuration](#api-key-configuration)\n  - [Custom System Prompts](#custom-system-prompts)\n  - [Custom Agent Configurations](#custom-agent-configurations)\n  - [Tool Management](#tool-management)\n  - [MCP Server Configuration](#mcp-server-configuration)\n  - [Session Management](#session-management)\n  - [Update Settings](#update-settings)\n  - [Custom Vibe Home Directory](#custom-vibe-home-directory)\n- [Editors\u002FIDEs](#editorsides)\n- [Resources](#resources)\n- [Data collection & usage](#data-collection--usage)\n- [License](#license)\n\n## Features\n\n- **Interactive Chat**: A conversational AI agent that understands your requests and breaks down complex tasks.\n- **Powerful Toolset**: A suite of tools for file manipulation, code searching, version control, and command execution, right from the chat prompt.\n  - Read, write, and patch files (`read_file`, `write_file`, `search_replace`).\n  - Execute shell commands in a stateful terminal (`bash`).\n  - Recursively search code with `grep` (with `ripgrep` support).\n  - Manage a `todo` list to track the agent's work.\n  - Ask interactive questions to gather user input (`ask_user_question`).\n  - Delegate tasks to subagents for parallel work (`task`).\n- **Project-Aware Context**: Vibe automatically scans your project's file structure and Git status to provide relevant context to the agent, improving its understanding of your codebase.\n- **Advanced CLI Experience**: Built with modern libraries for a smooth and efficient workflow.\n  - Autocompletion for slash commands (`\u002F`) and file paths (`@`).\n  - Persistent command history.\n  - Beautiful Themes.\n- **Highly Configurable**: Customize models, providers, tool permissions, and UI preferences through a simple `config.toml` file.\n- **Safety First**: Features tool execution approval.\n- **Multiple Built-in Agents**: Choose from different agent profiles tailored for specific workflows.\n\n### Built-in Agents\n\nVibe comes with several built-in agent profiles, each designed for different use cases:\n\n- **`default`**: Standard agent that requires approval for tool executions. Best for general use.\n- **`plan`**: Read-only agent for exploration and planning. Auto-approves safe tools like `grep` and `read_file`.\n- **`accept-edits`**: Auto-approves file edits only (`write_file`, `search_replace`). Useful for code refactoring.\n- **`auto-approve`**: Auto-approves all tool executions. Use with caution.\n\nUse the `--agent` flag to select a different agent:\n\n```bash\nvibe --agent plan\n```\n\n### Subagents and Task Delegation\n\nVibe supports subagents for delegating tasks. Subagents run independently and can perform specialized work without user interaction, preventing the context from being overloaded.\n\nThe `task` tool allows the agent to delegate work to subagents:\n\n```\n> Can you explore the codebase structure while I work on something else?\n\n🤖 I'll use the task tool to delegate this to the explore subagent.\n\n> task(task=\"Analyze the project structure and architecture\", agent=\"explore\")\n```\n\nCreate custom subagents by adding `agent_type = \"subagent\"` to your agent configuration. Vibe comes with a built-in subagent called `explore`, a read-only subagent for codebase exploration used internally for delegation.\n\n### Interactive User Questions\n\nThe `ask_user_question` tool allows the agent to ask you clarifying questions during its work. This enables more interactive and collaborative workflows.\n\n```\n> Can you help me refactor this function?\n\n🤖 I need to understand your requirements better before proceeding.\n\n> ask_user_question(questions=[{\n    \"question\": \"What's the main goal of this refactoring?\",\n    \"options\": [\n        {\"label\": \"Performance\", \"description\": \"Make it run faster\"},\n        {\"label\": \"Readability\", \"description\": \"Make it easier to understand\"},\n        {\"label\": \"Maintainability\", \"description\": \"Make it easier to modify\"}\n    ]\n}])\n```\n\nThe agent can ask multiple questions at once, displayed as tabs. Each question supports 2-4 options plus an automatic \"Other\" option for free text responses.\n\n## Terminal Requirements\n\nVibe's interactive interface requires a modern terminal emulator. Recommended terminal emulators include:\n\n- **WezTerm** (cross-platform)\n- **Alacritty** (cross-platform)\n- **Ghostty** (Linux and macOS)\n- **Kitty** (Linux and macOS)\n\nMost modern terminals should work, but older or minimal terminal emulators may have display issues.\n\n## Quick Start\n\n1. Navigate to your project's root directory:\n\n   ```bash\n   cd \u002Fpath\u002Fto\u002Fyour\u002Fproject\n   ```\n\n2. Run Vibe:\n\n   ```bash\n   vibe\n   ```\n\n3. If this is your first time running Vibe, it will:\n   - Create a default configuration file at `~\u002F.vibe\u002Fconfig.toml`\n   - Prompt you to enter your API key if it's not already configured\n   - Save your API key to `~\u002F.vibe\u002F.env` for future use\n\n   Alternatively, you can configure your API key separately using `vibe --setup`.\n\n4. Start interacting with the agent!\n\n   ```\n   > Can you find all instances of the word \"TODO\" in the project?\n\n   🤖 The user wants to find all instances of \"TODO\". The `grep` tool is perfect for this. I will use it to search the current directory.\n\n   > grep(pattern=\"TODO\", path=\".\")\n\n   ... (grep tool output) ...\n\n   🤖 I found the following \"TODO\" comments in your project.\n   ```\n\n## Usage\n\n### Interactive Mode\n\nSimply run `vibe` to enter the interactive chat loop.\n\n- **Multi-line Input**: Press `Ctrl+J` or `Shift+Enter` for select terminals to insert a newline.\n- **File Paths**: Reference files in your prompt using the `@` symbol for smart autocompletion (e.g., `> Read the file @src\u002Fagent.py`).\n- **Shell Commands**: Prefix any command with `!` to execute it directly in your shell, bypassing the agent (e.g., `> !ls -l`).\n- **External Editor**: Press `Ctrl+G` to edit your current input in an external editor.\n- **Tool Output Toggle**: Press `Ctrl+O` to toggle the tool output view.\n- **Todo View Toggle**: Press `Ctrl+T` to toggle the todo list view.\n- **Auto-Approve Toggle**: Press `Shift+Tab` to toggle auto-approve mode on\u002Foff.\n\nYou can start Vibe with a prompt using the following command:\n\n```bash\nvibe \"Refactor the main function in cli\u002Fmain.py to be more modular.\"\n```\n\n**Note**: The `--auto-approve` flag automatically approves all tool executions without prompting. In interactive mode, you can also toggle auto-approve on\u002Foff using `Shift+Tab`.\n\n### Trust Folder System\n\nVibe includes a trust folder system to ensure you only run the agent in directories you trust. When you first run Vibe in a new directory which contains a `.vibe` subfolder, it may ask you to confirm whether you trust the folder.\n\nTrusted folders are remembered for future sessions. You can manage trusted folders through its configuration file `~\u002F.vibe\u002Ftrusted_folders.toml`.\n\nThis safety feature helps prevent accidental execution in sensitive directories.\n\n### Programmatic Mode\n\nYou can run Vibe non-interactively by piping input or using the `--prompt` flag. This is useful for scripting.\n\n```bash\nvibe --prompt \"Refactor the main function in cli\u002Fmain.py to be more modular.\"\n```\n\nBy default, it uses `auto-approve` mode.\n\n#### Programmatic Mode Options\n\nWhen using `--prompt`, you can specify additional options:\n\n- **`--max-turns N`**: Limit the maximum number of assistant turns. The session will stop after N turns.\n- **`--max-price DOLLARS`**: Set a maximum cost limit in dollars. The session will be interrupted if the cost exceeds this limit.\n- **`--enabled-tools TOOL`**: Enable specific tools. In programmatic mode, this disables all other tools. Can be specified multiple times. Supports exact names, glob patterns (e.g., `bash*`), or regex with `re:` prefix (e.g., `re:^serena_.*$`).\n- **`--output FORMAT`**: Set the output format. Options:\n  - `text` (default): Human-readable text output\n  - `json`: All messages as JSON at the end\n  - `streaming`: Newline-delimited JSON per message\n\nExample:\n\n```bash\nvibe --prompt \"Analyze the codebase\" --max-turns 5 --max-price 1.0 --output json\n```\n\n## Voice Mode\n\n> [!WARNING]\n> Voice mode is experimental and may change in future releases.\n\nVoice mode allows you to dictate input using your microphone instead of typing.\n\n### Activating Voice Mode\n\nToggle voice mode on or off with the `\u002Fvoice` slash command:\n\n```\n> \u002Fvoice\n```\n\n### Recording Shortcuts\n\n| Shortcut | Action           |\n| -------- | ---------------- |\n| `Ctrl+R` | Start recording  |\n| Any key  | Stop recording   |\n| `Escape` | Cancel recording |\n| `Ctrl+C` | Cancel recording |\n\n## Slash Commands\n\nUse slash commands for meta-actions and configuration changes during a session.\n\n### Built-in Slash Commands\n\nVibe provides several built-in slash commands. Use slash commands by typing them in the input box:\n\n```\n> \u002Fhelp\n```\n\n### Custom Slash Commands via Skills\n\nYou can define your own slash commands through the skills system. Skills are reusable components that extend Vibe's functionality.\n\nTo create a custom slash command:\n\n1. Create a skill directory with a `SKILL.md` file\n2. Set `user-invocable = true` in the skill metadata\n3. Define the command logic in your skill\n\nExample skill metadata:\n\n```markdown\n---\nname: my-skill\ndescription: My custom skill with slash commands\nuser-invocable: true\n---\n```\n\nCustom slash commands appear in the autocompletion menu alongside built-in commands.\n\n## Skills System\n\nVibe's skills system allows you to extend functionality through reusable components. Skills can add new tools, slash commands, and specialized behaviors.\n\nVibe follows the [Agent Skills specification](https:\u002F\u002Fagentskills.io\u002Fspecification) for skill format and structure.\n\n### Creating Skills\n\nSkills are defined in directories with a `SKILL.md` file containing metadata in YAML frontmatter. For example, `~\u002F.vibe\u002Fskills\u002Fcode-review\u002FSKILL.md`:\n\n```markdown\n---\nname: code-review\ndescription: Perform automated code reviews\nlicense: MIT\ncompatibility: Python 3.12+\nuser-invocable: true\nallowed-tools:\n  - read_file\n  - grep\n  - ask_user_question\n---\n\n# Code Review Skill\n\nThis skill helps analyze code quality and suggest improvements.\n```\n\n### Skill Discovery\n\nVibe discovers skills from multiple locations:\n\n1. **Custom paths**: Configured in `config.toml` via `skill_paths`\n2. **Standard Agent Skills path** (project root, trusted folders only): `.agents\u002Fskills\u002F` — [Agent Skills](https:\u002F\u002Fagentskills.io) standard\n3. **Local project skills** (project root, trusted folders only): `.vibe\u002Fskills\u002F` in your project\n4. **Global skills directory**: `~\u002F.vibe\u002Fskills\u002F`\n\n```toml\nskill_paths = [\"\u002Fpath\u002Fto\u002Fcustom\u002Fskills\"]\n```\n\n### Managing Skills\n\nEnable or disable skills using patterns in your configuration:\n\n```toml\n# Enable specific skills\nenabled_skills = [\"code-review\", \"test-*\"]\n\n# Disable specific skills\ndisabled_skills = [\"experimental-*\"]\n```\n\nSkills support the same pattern matching as tools (exact names, glob patterns, and regex).\n\n## Configuration\n\n### Configuration File Location\n\nVibe is configured via a `config.toml` file. It looks for this file first in `.\u002F.vibe\u002Fconfig.toml` and then falls back to `~\u002F.vibe\u002Fconfig.toml`.\n\n### API Key Configuration\n\nTo use Vibe, you'll need a Mistral API key. You can obtain one by signing up at [https:\u002F\u002Fconsole.mistral.ai](https:\u002F\u002Fconsole.mistral.ai).\n\nYou can configure your API key using `vibe --setup`, or through one of the methods below.\n\nVibe supports multiple ways to configure your API keys:\n\n1. **Interactive Setup (Recommended for first-time users)**: When you run Vibe for the first time or if your API key is missing, Vibe will prompt you to enter it. The key will be securely saved to `~\u002F.vibe\u002F.env` for future sessions.\n\n2. **Environment Variables**: Set your API key as an environment variable:\n\n   ```bash\n   export MISTRAL_API_KEY=\"your_mistral_api_key\"\n   ```\n\n3. **`.env` File**: Create a `.env` file in `~\u002F.vibe\u002F` and add your API keys:\n\n   ```bash\n   MISTRAL_API_KEY=your_mistral_api_key\n   ```\n\n   Vibe automatically loads API keys from `~\u002F.vibe\u002F.env` on startup. Environment variables take precedence over the `.env` file if both are set.\n\n**Note**: The `.env` file is specifically for API keys and other provider credentials. General Vibe configuration should be done in `config.toml`.\n\n### Custom System Prompts\n\nYou can create custom system prompts to replace the default one (`prompts\u002Fcli.md`). Create a markdown file in the `~\u002F.vibe\u002Fprompts\u002F` directory with your custom prompt content.\n\nTo use a custom system prompt, set the `system_prompt_id` in your configuration to match the filename (without the `.md` extension):\n\n```toml\n# Use a custom system prompt\nsystem_prompt_id = \"my_custom_prompt\"\n```\n\nThis will load the prompt from `~\u002F.vibe\u002Fprompts\u002Fmy_custom_prompt.md`.\n\n### Custom Agent Configurations\n\nYou can create custom agent configurations for specific use cases (e.g., red-teaming, specialized tasks) by adding agent-specific TOML files in the `~\u002F.vibe\u002Fagents\u002F` directory.\n\nTo use a custom agent, run Vibe with the `--agent` flag:\n\n```bash\nvibe --agent my_custom_agent\n```\n\nVibe will look for a file named `my_custom_agent.toml` in the agents directory and apply its configuration.\n\nExample custom agent configuration (`~\u002F.vibe\u002Fagents\u002Fredteam.toml`):\n\n```toml\n# Custom agent configuration for red-teaming\nactive_model = \"devstral-2\"\nsystem_prompt_id = \"redteam\"\n\n# Disable some tools for this agent\ndisabled_tools = [\"search_replace\", \"write_file\"]\n\n# Override tool permissions for this agent\n[tools.bash]\npermission = \"always\"\n\n[tools.read_file]\npermission = \"always\"\n```\n\nNote: This implies that you have set up a redteam prompt named `~\u002F.vibe\u002Fprompts\u002Fredteam.md`.\n\n### Tool Management\n\n#### Enable\u002FDisable Tools with Patterns\n\nYou can control which tools are active using `enabled_tools` and `disabled_tools`.\nThese fields support exact names, glob patterns, and regular expressions.\n\nExamples:\n\n```toml\n# Only enable tools that start with \"serena_\" (glob)\nenabled_tools = [\"serena_*\"]\n\n# Regex (prefix with re:) — matches full tool name (case-insensitive)\nenabled_tools = [\"re:^serena_.*$\"]\n\n# Disable a group with glob; everything else stays enabled\ndisabled_tools = [\"mcp_*\", \"grep\"]\n```\n\nNotes:\n\n- MCP tool names use underscores, e.g., `serena_list` not `serena.list`.\n- Regex patterns are matched against the full tool name using fullmatch.\n\n### MCP Server Configuration\n\nYou can configure MCP (Model Context Protocol) servers to extend Vibe's capabilities. Add MCP server configurations under the `mcp_servers` section:\n\n```toml\n# Example MCP server configurations\n[[mcp_servers]]\nname = \"my_http_server\"\ntransport = \"http\"\nurl = \"http:\u002F\u002Flocalhost:8000\"\nheaders = { \"Authorization\" = \"Bearer my_token\" }\napi_key_env = \"MY_API_KEY_ENV_VAR\"\napi_key_header = \"Authorization\"\napi_key_format = \"Bearer {token}\"\n\n[[mcp_servers]]\nname = \"my_streamable_server\"\ntransport = \"streamable-http\"\nurl = \"http:\u002F\u002Flocalhost:8001\"\nheaders = { \"X-API-Key\" = \"my_api_key\" }\n\n[[mcp_servers]]\nname = \"fetch_server\"\ntransport = \"stdio\"\ncommand = \"uvx\"\nargs = [\"mcp-server-fetch\"]\nenv = { \"DEBUG\" = \"1\", \"LOG_LEVEL\" = \"info\" }\n```\n\nSupported transports:\n\n- `http`: Standard HTTP transport\n- `streamable-http`: HTTP transport with streaming support\n- `stdio`: Standard input\u002Foutput transport (for local processes)\n\nKey fields:\n\n- `name`: A short alias for the server (used in tool names)\n- `transport`: The transport type\n- `url`: Base URL for HTTP transports\n- `headers`: Additional HTTP headers\n- `api_key_env`: Environment variable containing the API key\n- `command`: Command to run for stdio transport\n- `args`: Additional arguments for stdio transport\n- `startup_timeout_sec`: Timeout in seconds for the server to start and initialize (default 10s)\n- `tool_timeout_sec`: Timeout in seconds for tool execution (default 60s)\n- `env`: Environment variables to set for the MCP server of transport type stdio\n\nMCP tools are named using the pattern `{server_name}_{tool_name}` and can be configured with permissions like built-in tools:\n\n```toml\n# Configure permissions for specific MCP tools\n[tools.fetch_server_get]\npermission = \"always\"\n\n[tools.my_http_server_query]\npermission = \"ask\"\n```\n\nMCP server configurations support additional features:\n\n- **Environment variables**: Set environment variables for MCP servers\n- **Custom timeouts**: Configure startup and tool execution timeouts\n\nExample with environment variables and timeouts:\n\n```toml\n[[mcp_servers]]\nname = \"my_server\"\ntransport = \"http\"\nurl = \"http:\u002F\u002Flocalhost:8000\"\nenv = { \"DEBUG\" = \"1\", \"LOG_LEVEL\" = \"info\" }\nstartup_timeout_sec = 15\ntool_timeout_sec = 120\n```\n\n### Session Management\n\n#### Session Continuation and Resumption\n\nVibe supports continuing from previous sessions:\n\n- **`--continue`** or **`-c`**: Continue from the most recent saved session\n- **`--resume SESSION_ID`**: Resume a specific session by ID (supports partial matching)\n\n```bash\n# Continue from last session\nvibe --continue\n\n# Resume specific session\nvibe --resume abc123\n```\n\nSession logging must be enabled in your configuration for these features to work.\n\n#### Working Directory Control\n\nUse the `--workdir` option to specify a working directory:\n\n```bash\nvibe --workdir \u002Fpath\u002Fto\u002Fproject\n```\n\nThis is useful when you want to run Vibe from a different location than your current directory.\n\n### Update Settings\n\n#### Auto-Update\n\nVibe includes an automatic update feature that keeps your installation current. This is enabled by default.\n\nTo disable auto-updates, add this to your `config.toml`:\n\n```toml\nenable_auto_update = false\n```\n\n### Notification Settings\n\nVibe can notify you when the agent needs your attention (awaiting approval, asking a question, or task complete). This is useful when you switch to another window while the agent works.\n\nTo disable notifications:\n\n```toml\nenable_notifications = false\n```\n\n### Custom Vibe Home Directory\n\nBy default, Vibe stores its configuration in `~\u002F.vibe\u002F`. You can override this by setting the `VIBE_HOME` environment variable:\n\n```bash\nexport VIBE_HOME=\"\u002Fpath\u002Fto\u002Fcustom\u002Fvibe\u002Fhome\"\n```\n\nThis affects where Vibe looks for:\n\n- `config.toml` - Main configuration\n- `.env` - API keys\n- `agents\u002F` - Custom agent configurations\n- `prompts\u002F` - Custom system prompts\n- `tools\u002F` - Custom tools\n- `logs\u002F` - Session logs\n\n## Editors\u002FIDEs\n\nMistral Vibe can be used in text editors and IDEs that support [Agent Client Protocol](https:\u002F\u002Fagentclientprotocol.com\u002Foverview\u002Fclients). See the [ACP Setup documentation](docs\u002Facp-setup.md) for setup instructions for various editors and IDEs.\n\n## Resources\n\n- [CHANGELOG](CHANGELOG.md) - See what's new in each version\n- [CONTRIBUTING](CONTRIBUTING.md) - Guidelines for feature requests, feedback and bug reports\n\n## Data collection & usage\n\nUse of Vibe is subject to our [Privacy Policy](https:\u002F\u002Flegal.mistral.ai\u002Fterms\u002Fprivacy-policy) and may include the collection and processing of data related to your use of the service, such as usage data, to operate, maintain, and improve Vibe. You can disable telemetry in your `config.toml` by setting `enable_telemetry = false`.\n\n## License\n\nCopyright 2025 Mistral AI\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the [LICENSE](LICENSE) file for the full license text.\n","# Mistral Vibe\n\n[![PyPI 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmistral-vibe)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmistral-vibe)\n[![Python 版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12%2B-blue)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-3120\u002F)\n[![CI 状态](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Factions\u002Fworkflows\u002Fci.yml)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmistralai\u002Fmistral-vibe)](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002FLICENSE)\n\n```\n██████████████████░░\n██████████████████░░\n████  ██████  ████░░\n████    ██    ████░░\n████          ████░░\n████  ██  ██  ████░░\n██      ██      ██░░\n██████████████████░░\n██████████████████░░\n```\n\n**Mistral 的开源命令行编码助手。**\n\nMistral Vibe 是一款由 Mistral 模型驱动的命令行编码助手。它为您的代码库提供了一个对话式界面，使您能够使用自然语言通过一套强大的工具来探索、修改和与您的项目进行交互。\n\n> [!WARNING]\n> Mistral Vibe 在 Windows 上可以运行，但我们官方支持并主要针对 UNIX 环境。\n\n### 一行安装（推荐）\n\n**Linux 和 macOS**\n\n```bash\ncurl -LsSf https:\u002F\u002Fmistral.ai\u002Fvibe\u002Finstall.sh | bash\n```\n\n**Windows**\n\n首先，安装 uv\n\n```bash\npowershell -ExecutionPolicy ByPass -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"\n```\n\n然后，使用以下 uv 命令。\n\n### 使用 uv\n\n```bash\nuv tool install mistral-vibe\n```\n\n### 使用 pip\n\n```bash\npip install mistral-vibe\n```\n\n## 目录\n\n- [功能](#features)\n  - [内置代理](#built-in-agents)\n  - [子代理与任务委派](#subagents-and-task-delegation)\n  - [交互式用户提问](#interactive-user-questions)\n- [终端要求](#terminal-requirements)\n- [快速入门](#quick-start)\n- [使用方法](#usage)\n  - [交互模式](#interactive-mode)\n  - [信任文件夹系统](#trust-folder-system)\n  - [程序化模式](#programmatic-mode)\n- [语音模式](#voice-mode)\n- [斜杠命令](#slash-commands)\n  - [内置斜杠命令](#built-in-slash-commands)\n  - [通过技能自定义斜杠命令](#custom-slash-commands-via-skills)\n- [技能系统](#skills-system)\n  - [创建技能](#creating-skills)\n  - [技能发现](#skill-discovery)\n  - [管理技能](#managing-skills)\n- [配置](#configuration)\n  - [配置文件位置](#configuration-file-location)\n  - [API 密钥配置](#api-key-configuration)\n  - [自定义系统提示](#custom-system-prompts)\n  - [自定义代理配置](#custom-agent-configurations)\n  - [工具管理](#tool-management)\n  - [MCP 服务器配置](#mcp-server-configuration)\n  - [会话管理](#session-management)\n  - [更新设置](#update-settings)\n  - [自定义 Vibe 主目录](#custom-vibe-home-directory)\n- [编辑器\u002FIDE](#editorsides)\n- [资源](#resources)\n- [数据收集与使用](#data-collection--usage)\n- [许可证](#license)\n\n## 功能\n\n- **交互式聊天**：一个能够理解您的请求并分解复杂任务的对话式 AI 代理。\n- **强大的工具集**：一套用于文件操作、代码搜索、版本控制和命令执行的工具，直接从聊天提示中即可使用。\n  - 读取、写入和修补文件（`read_file`、`write_file`、`search_replace`）。\n  - 在有状态的终端中执行 shell 命令（`bash`）。\n  - 使用 `grep` 递归搜索代码（支持 `ripgrep`）。\n  - 管理 `todo` 列表以跟踪代理的工作。\n  - 提出交互式问题以收集用户输入（`ask_user_question`）。\n  - 将任务委派给子代理以并行处理（`task`）。\n- **项目感知上下文**：Vibe 会自动扫描您的项目文件结构和 Git 状态，为代理提供相关上下文，从而更好地理解您的代码库。\n- **先进的 CLI 体验**：基于现代库构建，提供流畅高效的工作流程。\n  - 对斜杠命令（`\u002F`）和文件路径（`@`）的自动补全。\n  - 持久化的命令历史。\n  - 美丽的主题。\n- **高度可配置**：通过简单的 `config.toml` 文件自定义模型、提供商、工具权限和 UI 偏好。\n- **安全第一**：具备工具执行审批功能。\n- **多种内置代理**：您可以选择适合特定工作流的不同代理配置文件。\n\n### 内置代理\n\nVibe 配备了多个内置代理配置文件，每个都专为不同的用例设计：\n\n- **`default`**：标准代理，需要批准才能执行工具。最适合一般用途。\n- **`plan`**：只读代理，用于探索和规划。会自动批准 `grep` 和 `read_file` 等安全工具。\n- **`accept-edits`**：仅自动批准文件编辑（`write_file`、`search_replace`）。适用于代码重构。\n- **`auto-approve`**：自动批准所有工具执行。请谨慎使用。\n\n使用 `--agent` 标志选择不同的代理：\n\n```bash\nvibe --agent plan\n```\n\n### 子代理与任务委派\n\nVibe 支持子代理来进行任务委派。子代理独立运行，可以在无需用户干预的情况下完成专业工作，从而避免上下文过载。\n\n`task` 工具允许代理将工作委派给子代理：\n\n```\n> 你能在我在做其他事情的时候帮我探索一下代码库结构吗？\n\n🤖 我会使用 task 工具把这个任务委派给 explore 子代理。\n\n> task(task=\"分析项目结构和架构\", agent=\"explore\")\n```\n\n您可以通过在代理配置中添加 `agent_type = \"subagent\"` 来创建自定义子代理。Vibe 自带一个名为 `explore` 的内置子代理，这是一个只读子代理，用于代码库探索，内部用于任务委派。\n\n### 交互式用户提问\n\n`ask_user_question` 工具允许代理在工作过程中向您提出澄清问题。这使得工作流程更具互动性和协作性。\n\n```\n> 你能帮我重构这个函数吗？\n\n🤖 在继续之前，我需要更好地了解你的需求。\n\n> ask_user_question(questions=[{\n    \"question\": \"这次重构的主要目标是什么？\",\n    \"options\": [\n        {\"label\": \"性能\", \"description\": \"让它运行得更快\"},\n        {\"label\": \"可读性\", \"description\": \"让它更容易理解\"},\n        {\"label\": \"可维护性\", \"description\": \"让它更容易修改\"}\n    ]\n}])\n```\n\n代理可以一次提出多个问题，并以标签页的形式显示。每个问题支持 2-4 个选项，以及一个用于自由文本回答的“其他”选项。\n\n## 终端要求\n\nVibe 的交互式界面需要一个现代终端模拟器。推荐的终端模拟器包括：\n\n- **WezTerm**（跨平台）\n- **Alacritty**（跨平台）\n- **Ghostty**（Linux 和 macOS）\n- **Kitty**（Linux 和 macOS）\n\n大多数现代终端应该都能正常工作，但较旧或极简的终端模拟器可能会出现显示问题。\n\n## 快速入门\n\n1. 导航到你的项目根目录：\n\n   ```bash\n   cd \u002Fpath\u002Fto\u002Fyour\u002Fproject\n   ```\n\n2. 运行 Vibe：\n\n   ```bash\n   vibe\n   ```\n\n3. 如果这是你首次运行 Vibe，它会：\n   - 在 `~\u002F.vibe\u002Fconfig.toml` 创建一个默认配置文件\n   - 如果尚未配置 API 密钥，则提示你输入 API 密钥\n   - 将你的 API 密钥保存到 `~\u002F.vibe\u002F.env` 以便日后使用\n\n   或者，你也可以使用 `vibe --setup` 单独配置 API 密钥。\n\n4. 开始与代理交互吧！\n\n   ```\n   > 你能找到项目中所有“TODO”这个词的实例吗？\n\n   🤖 用户想找到所有“TODO”的实例。`grep` 工具非常适合完成这项任务。我将使用它来搜索当前目录。\n\n   > grep(pattern=\"TODO\", path=\".\")\n\n   ... (grep 工具的输出) ...\n\n   🤖 我在你的项目中找到了以下“TODO”注释。\n   ```\n\n## 使用方法\n\n### 交互模式\n\n只需运行 `vibe` 即可进入交互式聊天循环。\n\n- **多行输入**：按 `Ctrl+J` 或 `Shift+Enter` 可以在部分终端中插入换行符。\n- **文件路径**：在提示中使用 `@` 符号引用文件，以实现智能自动补全（例如：`> 阅读文件 @src\u002Fagent.py`）。\n- **Shell 命令**：在任何命令前加上 `!`，即可直接在 Shell 中执行该命令，绕过代理（例如：`> !ls -l`）。\n- **外部编辑器**：按 `Ctrl+G` 可以在外部编辑器中编辑当前输入。\n- **工具输出切换**：按 `Ctrl+O` 可以切换工具输出视图。\n- **待办事项列表切换**：按 `Ctrl+T` 可以切换待办事项列表视图。\n- **自动批准切换**：按 `Shift+Tab` 可以开启或关闭自动批准模式。\n\n你可以通过以下命令启动带有初始提示的 Vibe：\n\n```bash\nvibe \"将 cli\u002Fmain.py 中的主函数重构得更加模块化。\"\n```\n\n**注意**：`--auto-approve` 标志会自动批准所有工具执行，无需提示。在交互模式下，你也可以使用 `Shift+Tab` 来切换自动批准的开启或关闭状态。\n\n### 受信文件夹系统\n\nVibe 包含一个受信文件夹系统，以确保你只在信任的目录中运行代理。当你首次在一个包含 `.vibe` 子文件夹的新目录中运行 Vibe 时，它可能会要求你确认是否信任该文件夹。\n\n受信文件夹会在后续会话中被记住。你可以通过其配置文件 `~\u002F.vibe\u002Ftrusted_folders.toml` 管理受信文件夹。\n\n此安全功能有助于防止在敏感目录中意外执行。\n\n### 编程模式\n\n你可以通过管道输入或使用 `--prompt` 标志以非交互方式运行 Vibe。这对于编写脚本非常有用。\n\n```bash\nvibe --prompt \"将 cli\u002Fmain.py 中的主函数重构得更加模块化。\"\n```\n\n默认情况下，它会使用自动批准模式。\n\n#### 编程模式选项\n\n使用 `--prompt` 时，你可以指定额外的选项：\n\n- **`--max-turns N`**：限制助手的最大回合数。会话将在 N 回合后停止。\n- **`--max-price DOLLARS`**：设置以美元计价的最大成本限制。如果成本超过此限额，会话将被中断。\n- **`--enabled-tools TOOL`**：启用特定工具。在编程模式下，这会禁用所有其他工具。可以多次指定。支持精确名称、通配符模式（如 `bash*`）或带有 `re:` 前缀的正则表达式（如 `re:^serena_.*$`）。\n- **`--output FORMAT`**：设置输出格式。选项如下：\n  - `text`（默认）：人类可读的文本输出\n  - `json`：在最后以 JSON 格式输出所有消息\n  - `streaming`：每条消息以换行符分隔的 JSON 格式输出\n\n示例：\n\n```bash\nvibe --prompt \"分析代码库\" --max-turns 5 --max-price 1.0 --output json\n```\n\n## 语音模式\n\n> [!警告]\n> 语音模式目前处于实验阶段，未来版本可能会发生变化。\n\n语音模式允许你使用麦克风口述输入，而不是手动键入。\n\n### 激活语音模式\n\n通过 `\u002Fvoice` 斜杠命令可以开启或关闭语音模式：\n\n```\n> \u002Fvoice\n```\n\n### 录音快捷键\n\n| 快捷键 | 动作           |\n| -------- | ---------------- |\n| `Ctrl+R` | 开始录音  |\n| 任意键  | 停止录音   |\n| `Escape` | 取消录音 |\n| `Ctrl+C` | 取消录音 |\n\n## 斜杠命令\n\n在会话期间，可以使用斜杠命令进行元操作和配置更改。\n\n### 内置斜杠命令\n\nVibe 提供了若干内置斜杠命令。只需在输入框中键入这些命令即可使用：\n\n```\n> \u002Fhelp\n```\n\n### 通过技能自定义斜杠命令\n\n你可以通过技能系统定义自己的斜杠命令。技能是可重用的组件，用于扩展 Vibe 的功能。\n\n要创建自定义斜杠命令：\n\n1. 创建一个包含 `SKILL.md` 文件的技能目录\n2. 在技能元数据中设置 `user-invocable = true`\n3. 在你的技能中定义命令逻辑\n\n技能元数据示例：\n\n```markdown\n---\nname: my-skill\ndescription: 我的自定义技能，包含斜杠命令\nuser-invocable: true\n---\n```\n\n自定义斜杠命令会与内置命令一起出现在自动补全菜单中。\n\n## 技能系统\n\nVibe 的技能系统允许你通过可重用组件扩展功能。技能可以添加新工具、斜杠命令以及专门的行为。\n\nVibe 遵循 [Agent Skills 规范](https:\u002F\u002Fagentskills.io\u002Fspecification) 来定义技能的格式和结构。\n\n### 创建技能\n\n技能是在包含 `SKILL.md` 文件的目录中定义的，该文件包含 YAML 前言形式的元数据。例如，`~\u002F.vibe\u002Fskills\u002Fcode-review\u002FSKILL.md`：\n\n```markdown\n---\nname: code-review\ndescription: 执行自动化代码审查\nlicense: MIT\ncompatibility: Python 3.12+\nuser-invocable: true\nallowed-tools:\n  - read_file\n  - grep\n  - ask_user_question\n---\n\n# 代码审查技能\n\n此技能有助于分析代码质量并提出改进建议。\n```\n\n### 技能发现\n\nVibe 会从多个位置发现技能：\n\n1. **自定义路径**：在 `config.toml` 中通过 `skill_paths` 配置\n2. **标准 Agent Skills 路径**（仅限项目根目录和受信文件夹）：`.agents\u002Fskills\u002F` — [Agent Skills](https:\u002F\u002Fagentskills.io) 标准\n3. **本地项目技能**（仅限项目根目录和受信文件夹）：你项目的 `.vibe\u002Fskills\u002F`\n4. **全局技能目录**：`~\u002F.vibe\u002Fskills\u002F`\n\n```toml\nskill_paths = [\"\u002Fpath\u002Fto\u002Fcustom\u002Fskills\"]\n```\n\n### 管理技能\n\n可以通过配置中的模式来启用或禁用技能：\n\n```toml\n# 启用特定技能\nenabled_skills = [\"code-review\", \"test-*\"]\n\n# 禁用特定技能\ndisabled_skills = [\"experimental-*\"]\n```\n\n技能支持与工具相同的模式匹配（精确名称、通配符模式和正则表达式）。\n\n## 配置\n\n### 配置文件位置\n\nVibe 通过 `config.toml` 文件进行配置。它首先会在 `.\u002F.vibe\u002Fconfig.toml` 中查找该文件，如果不存在，则会回退到 `~\u002F.vibe\u002Fconfig.toml`。\n\n### API 密钥配置\n\n要使用 Vibe，您需要一个 Mistral API 密钥。您可以通过在 [https:\u002F\u002Fconsole.mistral.ai](https:\u002F\u002Fconsole.mistral.ai) 上注册来获取密钥。\n\n您可以通过 `vibe --setup` 或以下方法之一来配置您的 API 密钥。\n\nVibe 支持多种配置 API 密钥的方式：\n\n1. **交互式设置（建议首次使用用户）**：当您首次运行 Vibe 或者 API 密钥缺失时，Vibe 会提示您输入密钥。该密钥将被安全地保存到 `~\u002F.vibe\u002F.env` 中，以供后续会话使用。\n\n2. **环境变量**：将您的 API 密钥设置为环境变量：\n\n   ```bash\n   export MISTRAL_API_KEY=\"your_mistral_api_key\"\n   ```\n\n3. **`.env` 文件**：在 `~\u002F.vibe\u002F` 目录下创建一个 `.env` 文件，并添加您的 API 密钥：\n\n   ```bash\n   MISTRAL_API_KEY=your_mistral_api_key\n   ```\n\n   Vibe 会在启动时自动从 `~\u002F.vibe\u002F.env` 加载 API 密钥。如果同时设置了环境变量和 `.env` 文件，环境变量的优先级更高。\n\n**注意**：`.env` 文件专门用于存储 API 密钥和其他提供商凭据。通用的 Vibe 配置应放在 `config.toml` 中。\n\n### 自定义系统提示\n\n您可以创建自定义系统提示来替换默认提示（`prompts\u002Fcli.md`）。在 `~\u002F.vibe\u002Fprompts\u002F` 目录下创建一个包含自定义提示内容的 Markdown 文件。\n\n要使用自定义系统提示，请在您的配置中将 `system_prompt_id` 设置为与文件名匹配（不包括 `.md` 后缀）：\n\n```toml\n# 使用自定义系统提示\nsystem_prompt_id = \"my_custom_prompt\"\n```\n\n这将会加载 `~\u002F.vibe\u002Fprompts\u002Fmy_custom_prompt.md` 中的提示。\n\n### 自定义代理配置\n\n您可以为特定用例（例如红队演练、专业任务）创建自定义代理配置，方法是在 `~\u002F.vibe\u002Fagents\u002F` 目录下添加代理专用的 TOML 文件。\n\n要使用自定义代理，请使用 `--agent` 标志运行 Vibe：\n\n```bash\nvibe --agent my_custom_agent\n```\n\nVibe 会查找代理目录中名为 `my_custom_agent.toml` 的文件，并应用其配置。\n\n自定义代理配置示例（`~\u002F.vibe\u002Fagents\u002Fredteam.toml`）：\n\n```toml\n# 红队演练的自定义代理配置\nactive_model = \"devstral-2\"\nsystem_prompt_id = \"redteam\"\n\n# 禁用此代理的一些工具\ndisabled_tools = [\"search_replace\", \"write_file\"]\n\n# 覆盖此代理的工具权限\n[tools.bash]\npermission = \"always\"\n\n[tools.read_file]\npermission = \"always\"\n```\n\n注意：这意味着您已经设置了一个名为 `~\u002F.vibe\u002Fprompts\u002Fredteam.md` 的红队提示。\n\n### 工具管理\n\n#### 使用模式启用或禁用工具\n\n您可以使用 `enabled_tools` 和 `disabled_tools` 控制哪些工具处于激活状态。这些字段支持精确名称、通配符模式和正则表达式。\n\n示例：\n\n```toml\n# 仅启用以 \"serena_\" 开头的工具（通配符）\nenabled_tools = [\"serena_*\"]\n\n# 正则表达式（前缀为 re:）——匹配完整工具名称（不区分大小写）\nenabled_tools = [\"re:^serena_.*$\"]\n\n# 使用通配符禁用一组工具；其他工具保持启用状态\ndisabled_tools = [\"mcp_*\", \"grep\"]\n```\n\n注意事项：\n\n- MCP 工具名称使用下划线，例如 `serena_list` 而不是 `serena.list`。\n- 正则表达式模式会使用 fullmatch 匹配完整工具名称。\n\n### MCP 服务器配置\n\n您可以配置 MCP（模型上下文协议）服务器来扩展 Vibe 的功能。在 `mcp_servers` 部分添加 MCP 服务器配置：\n\n```toml\n# MCP 服务器配置示例\n[[mcp_servers]]\nname = \"my_http_server\"\ntransport = \"http\"\nurl = \"http:\u002F\u002Flocalhost:8000\"\nheaders = { \"Authorization\" = \"Bearer my_token\" }\napi_key_env = \"MY_API_KEY_ENV_VAR\"\napi_key_header = \"Authorization\"\napi_key_format = \"Bearer {token}\"\n\n[[mcp_servers]]\nname = \"my_streamable_server\"\ntransport = \"streamable-http\"\nurl = \"http:\u002F\u002Flocalhost:8001\"\nheaders = { \"X-API-Key\" = \"my_api_key\" }\n\n[[mcp_servers]]\nname = \"fetch_server\"\ntransport = \"stdio\"\ncommand = \"uvx\"\nargs = [\"mcp-server-fetch\"]\nenv = { \"DEBUG\" = \"1\", \"LOG_LEVEL\" = \"info\" }\n```\n\n支持的传输方式：\n\n- `http`：标准 HTTP 传输\n- `streamable-http`：支持流式传输的 HTTP 传输\n- `stdio`：标准输入输出传输（用于本地进程）\n\n关键字段：\n\n- `name`：服务器的简短别名（用于工具名称）\n- `transport`：传输类型\n- `url`：HTTP 传输的基 URL\n- `headers`：附加 HTTP 头\n- `api_key_env`：包含 API 密钥的环境变量\n- `command`：用于 stdio 传输的命令\n- `args`：stdio 传输的附加参数\n- `startup_timeout_sec`：服务器启动和初始化的超时时间（默认 10 秒）\n- `tool_timeout_sec`：工具执行的超时时间（默认 60 秒）\n- `env`：为 stdio 类型的 MCP 服务器设置的环境变量\n\nMCP 工具的命名采用 `{server_name}_{tool_name}` 模式，并且可以像内置工具一样配置权限：\n\n```toml\n# 为特定 MCP 工具配置权限\n[tools.fetch_server_get]\npermission = \"always\"\n\n[tools.my_http_server_query]\npermission = \"ask\"\n```\n\nMCP 服务器配置还支持其他功能：\n\n- **环境变量**：为 MCP 服务器设置环境变量\n- **自定义超时**：配置服务器启动和工具执行的超时时间\n\n带有环境变量和超时的示例：\n\n```toml\n[[mcp_servers]]\nname = \"my_server\"\ntransport = \"http\"\nurl = \"http:\u002F\u002Flocalhost:8000\"\nenv = { \"DEBUG\" = \"1\", \"LOG_LEVEL\" = \"info\" }\nstartup_timeout_sec = 15\ntool_timeout_sec = 120\n```\n\n### 会话管理\n\n#### 会话继续和恢复\n\nVibe 支持从之前的会话继续：\n\n- **`--continue`** 或 **`-c`**：从最近保存的会话继续\n- **`--resume SESSION_ID`**：按 ID 恢复特定会话（支持部分匹配）\n\n```bash\n# 继续上次会话\nvibe --continue\n\n# 恢复特定会话\nvibe --resume abc123\n```\n\n要使这些功能生效，必须在您的配置中启用会话日志记录。\n\n#### 工作目录控制\n\n使用 `--workdir` 选项指定工作目录：\n\n```bash\nvibe --workdir \u002Fpath\u002Fto\u002Fproject\n```\n\n这在您希望从当前目录以外的位置运行 Vibe 时非常有用。\n\n### 更新设置\n\n#### 自动更新\n\nVibe 包含自动更新功能，可使您的安装保持最新状态。此功能默认已启用。\n\n要禁用自动更新，请在 `config.toml` 中添加以下内容：\n\n```toml\nenable_auto_update = false\n```\n\n### 通知设置\n\nVibe 可以在代理需要您注意时（等待批准、提问或任务完成）向您发送通知。这在您切换到其他窗口而代理仍在工作时非常有用。\n\n要禁用通知：\n\n```toml\nenable_notifications = false\n```\n\n### 自定义 Vibe 主目录\n\n默认情况下，Vibe 会将其配置存储在 `~\u002F.vibe\u002F` 目录下。你可以通过设置 `VIBE_HOME` 环境变量来覆盖此路径：\n\n```bash\nexport VIBE_HOME=\"\u002Fpath\u002Fto\u002Fcustom\u002Fvibe\u002Fhome\"\n```\n\n这将影响 Vibe 查找以下内容的位置：\n\n- `config.toml` - 主配置文件\n- `.env` - API 密钥\n- `agents\u002F` - 自定义智能体配置\n- `prompts\u002F` - 自定义系统提示\n- `tools\u002F` - 自定义工具\n- `logs\u002F` - 会话日志\n\n## 编辑器\u002FIDE\n\nMistral Vibe 可以在支持 [Agent Client Protocol](https:\u002F\u002Fagentclientprotocol.com\u002Foverview\u002Fclients) 的文本编辑器和 IDE 中使用。有关各种编辑器和 IDE 的设置说明，请参阅 [ACP 设置文档](docs\u002Facp-setup.md)。\n\n## 资源\n\n- [CHANGELOG](CHANGELOG.md) - 查看每个版本的新功能\n- [CONTRIBUTING](CONTRIBUTING.md) - 功能请求、反馈和错误报告的指南\n\n## 数据收集与使用\n\n使用 Vibe 需遵守我们的 [隐私政策](https:\u002F\u002Flegal.mistral.ai\u002Fterms\u002Fprivacy-policy)，并且可能包括收集和处理与您使用本服务相关的数据，例如使用数据，以运行、维护和改进 Vibe。您可以在 `config.toml` 文件中将 `enable_telemetry = false` 来禁用遥测功能。\n\n## 许可证\n\n版权所有 2025 年 Mistral AI\n\n依照 Apache License, Version 2.0（“许可证”）授权；\n除非符合许可证规定，否则不得使用本文件。\n您可以在以下网址获取许可证副本：\n\n    http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n除非适用法律另有要求或双方另有约定，否则软件按“原样”分发，不提供任何形式的保证或条件。\n完整的许可证文本请参阅 [LICENSE](LICENSE) 文件。","# Mistral Vibe 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- 操作系统：Linux\u002FmacOS（Windows 支持但非官方推荐）\n- Python 版本：3.12+\n\n### 前置依赖\n- `uv`（推荐）或 `pip`\n- 一个现代终端模拟器（如 WezTerm、Alacritty、Ghostty、Kitty）\n\n## 安装步骤\n\n### 使用 uv 安装（推荐）\n**Windows 用户需先安装 uv**\n```bash\npowershell -ExecutionPolicy ByPass -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"\n```\n\n然后安装 Mistral Vibe：\n```bash\nuv tool install mistral-vibe\n```\n\n### 使用 pip 安装\n```bash\npip install mistral-vibe\n```\n\n### Linux\u002FmacOS 一键安装（推荐）\n```bash\ncurl -LsSf https:\u002F\u002Fmistral.ai\u002Fvibe\u002Finstall.sh | bash\n```\n\n## 基本使用\n\n1. 进入项目根目录：\n   ```bash\n   cd \u002Fpath\u002Fto\u002Fyour\u002Fproject\n   ```\n\n2. 启动 Vibe：\n   ```bash\n   vibe\n   ```\n\n3. 首次运行时会：\n   - 创建配置文件 `~\u002F.vibe\u002Fconfig.toml`\n   - 提示输入 API Key（可使用 `vibe --setup` 配置）\n\n4. 开始交互：\n   ```\n   > Can you find all instances of the word \"TODO\" in the project?\n\n   🤖 The user wants to find all instances of \"TODO\". The `grep` tool is perfect for this. I will use it to search the current directory.\n\n   > grep(pattern=\"TODO\", path=\".\")\n   ```","一名后端开发工程师正在为一个大型 Python 项目添加新功能，需要频繁修改多个文件并测试更改。\n\n### 没有 mistral-vibe 时  \n- 需要手动在多个文件间切换，查找特定函数或变量的定义和引用  \n- 执行命令行操作时，需反复输入复杂命令，容易出错  \n- 修改代码后，需手动运行测试用例，无法快速验证改动是否影响其他模块  \n- 在调试过程中，难以追踪代码逻辑变化，导致效率低下  \n\n### 使用 mistral-vibe 后  \n- 通过自然语言查询即可快速定位代码位置，如“找到所有使用 `get_user` 的地方”  \n- 可直接在终端中执行命令，如“运行所有测试”，无需记忆复杂命令格式  \n- 自动识别代码变更范围，并建议相关测试用例，提升验证效率  \n- 提供上下文感知的代码分析，帮助理解修改对整体架构的影响  \n\nMistral Vibe 通过自然语言交互和强大的 CLI 工具集，显著提升了开发效率与代码管理的准确性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmistralai_mistral-vibe_ac990cf6.png","mistralai","Mistral AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmistralai_7094b1e0.png",null,"contact@mistral.ai","mistral.ai","https:\u002F\u002Fgithub.com\u002Fmistralai",[83,87,91],{"name":84,"color":85,"percentage":86},"Python","#3572A5",99.7,{"name":88,"color":89,"percentage":90},"Nix","#7e7eff",0.2,{"name":92,"color":93,"percentage":90},"Shell","#89e051",3773,408,"2026-04-05T10:36:31","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":101,"python":102,"dependencies":103},"Windows 需要先安装 uv 工具。建议使用 conda 管理环境，首次运行需下载约 5GB 模型文件","3.12+",[104,105],"uv","pip",[26,15,53],4,"2026-03-27T02:49:30.150509","2026-04-06T07:14:58.171613",[111,116,121,126,131,136],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},5467,"在 VSCode 终端中无法输入空格，如何解决？","可以临时禁用 VSCode 的 kitty 键盘协议，在 settings.json 中添加：\"terminal.integrated.enableKittyKeyboardProtocol\": false","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F458",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},5468,"如何配置 HTTP\u002FHTTPS 代理和 SSL 验证？","可以通过在 ~\u002F.vibe\u002F.env 文件中设置环境变量如 HTTP_PROXY、HTTPS_PROXY 和 SSL_CERT_FILE 来配置。或者在 config.toml 中直接配置 http_proxy、https_proxy 和 verify_ssl 参数。","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F30",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},5469,"如何在 Mistral Vibe 中使用 Ollama 或 LM Studio 的本地模型？","在 config.toml 中添加对应的 provider 配置，例如：\n[[providers]]\nname = \"Ollama\"\napi_base = \"http:\u002F\u002F127.0.0.1:11434\u002Fv1\"\napi_key_env_var = \"\"\napi_style = \"openai\"\nbackend = \"generic\"","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F9",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},5470,"如何解决 Mistral Vibe 输入变慢的问题？","该问题可能与终端或模型处理有关，建议更新到最新版本（如 1.1.3），并尝试更换终端（如 Powershell）以改善性能。","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F179",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},5471,"为什么工具调用（tool call）没有触发？","可能是模型版本不兼容，尝试切换到 Ministral-14B-reasoning 模型，或确保使用的是支持工具调用的模型版本。","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F124",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},5472,"在 CLI 中无法上下滚动，如何解决？","此问题可能由长对话导致，建议升级到最新版本，新版本已优化长对话处理，可减少此类问题。","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F300",[142,147,152,157,162,167,172,177,182,187,192,197,202,206,210,214,218,222,226,230],{"id":143,"version":144,"summary_zh":145,"released_at":146},104969,"v2.7.3","### Added\r\n\r\n- `\u002Fdata-retention` slash command to view Mistral AI's data retention notice and privacy settings","2026-04-03T13:57:38",{"id":148,"version":149,"summary_zh":150,"released_at":151},104970,"v2.7.2","### Added\r\n\r\n- Alt+Left \u002F Alt+Right keyboard shortcuts for word-wise cursor movement in chat input\r\n\r\n### Changed\r\n\r\n- Refactored narrator into a dedicated narrator manager\r\n\r\n### Fixed\r\n\r\n- Broken build on Linux\r\n- Errored MCP servers are now excluded from the banner count\r\n- Improved bash denylist matching and error messages\r\n- Command messages are now skipped during rewind navigation","2026-04-01T16:40:29",{"id":153,"version":154,"summary_zh":155,"released_at":156},104971,"v2.7.1","### Added\r\n\r\n- ACP message-id support for reliable message boundary identification\r\n- Reasoning effort parameter for supported models\r\n\r\n### Changed\r\n\r\n- Updated MistralAI SDK\r\n- Updated ACP SDK dependency\r\n- Refined system prompt wording and structure\r\n- Reduced scroll sensitivity to 1 line per tick for smoother scrolling\r\n\r\n### Fixed\r\n\r\n- Non-standard HTTP 529 status codes now handled gracefully in error formatting and retried\r\n- Text selection errors when copying from unmounting components\r\n- Excluded \"injected\" field from user messages in generic backend","2026-03-31T14:30:19",{"id":158,"version":159,"summary_zh":160,"released_at":161},104972,"v2.7.0","### Added\r\n\r\n- Rewind mode to navigate and fork conversation history\r\n\r\n### Fixed\r\n\r\n- Preserve message_id when aggregating streaming LLM chunks\r\n- Improved error handling for SDK response errors","2026-03-26T09:18:38",{"id":163,"version":164,"summary_zh":165,"released_at":166},104973,"v2.6.2","### Changed\r\n\r\n- Pinned agent-client-protocol dependency back to 0.8.1\r\n\r\n### Removed\r\n\r\n- Context usage updates via ACP","2026-03-23T21:00:08",{"id":168,"version":169,"summary_zh":170,"released_at":171},104974,"v2.6.1","### Changed\r\n\r\n- Loosened agent-client-protocol version constraint from pinned to minimum bound","2026-03-23T19:08:54",{"id":173,"version":174,"summary_zh":175,"released_at":176},104975,"v2.6.0","### Added\r\n\r\n- OTEL tracing support for observability\r\n- Skill tool for managing task lists and workflows\r\n- Text-to-speech (TTS) functionality\r\n- Standalone --resume command for session picker\r\n- BFS for vibe folders to improve startup performance\r\n- List-based model picker for \u002Fmodel command\r\n- is_user_prompt flag to Mistral metadata header\r\n- Correlation ID in user feedback calls\r\n- Current date added to system prompt in vibe-work\r\n- TypeScript type inference for large tool outputs in vibe-work-harness\r\n\r\n### Changed\r\n\r\n- Updated agent-client-protocol to 0.9.0a1\r\n- Changed inline code color from yellow to green\r\n- Removed \"You have no internet access\" from CLI prompt\r\n- Fine-grained permission system improvements\r\n- Inject system certs into vibe-acp frozen binary via truststore\r\n\r\n### Fixed\r\n\r\n- Streaming for currently streamed message when switching agents\r\n- Proper UI updates when tools switch current agents\r\n- Space key functionality when holding shift\r\n- Empty TextChunk not appended when reasoning has no text content\r\n- Messages removed from user feedback event\r\n- Bash allowlist\u002Fdenylist activation on Windows\r\n- Improved scrolling performance\r\n- ACP error handling in webview\r\n- Context usage updates sent via ACP","2026-03-23T17:46:56",{"id":178,"version":179,"summary_zh":180,"released_at":181},104976,"v2.5.0","### Added\r\n\r\n- Dedicated theorem proving agent powered by leanstral, setup with \u002Fleanstall\r\n- More advanced AGENTS.md support:\r\n  - AGENTS.md in ~\u002F.vibe\u002F folder for user-level agent instructions\r\n  - AGENTS.md for subfolders and in parent folders\r\n- Mistral Code API key info displayed in CLI banner\r\n- Voice mode with real-time transcription support\r\n- Parallel tool execution for improved performance\r\n- Structured ACP error classes for better error handling\r\n\r\n### Changed\r\n\r\n- Bash allowlist\u002Fdenylist now active on Windows\r\n- Auto-completion relevance improved with better filename and path matching\r\n- History navigation no longer filters by prefix\r\n- Updated to Mistral SDK v2 import structure\r\n- Removed `find` from bash default allowlist to prevent -exec abuse\r\n\r\n### Fixed\r\n\r\n- Improved scrolling performance\r\n- Web search tool now infers server URL from provider config","2026-03-16T16:53:24",{"id":183,"version":184,"summary_zh":185,"released_at":186},104977,"v2.4.2","### Added\r\n\r\n- Session ID included in telemetry events for better tracing\r\n\r\n### Changed\r\n\r\n- Skills now extract arguments when invoked, improving parameter handling\r\n- Auto-compact threshold falls back to global setting when not defined at model level\r\n- Update notification toast no longer times out, ensuring the user sees the restart prompt\r\n- Removed `file_content_before` from Vibe Code, reducing payload size","2026-03-12T15:03:56",{"id":188,"version":189,"summary_zh":190,"released_at":191},104978,"v2.4.1","### Added\r\n\r\n- `HarnessFilesManager` for selective loading of harness files, enabling SDK usage without accessing the file system.\r\n\r\n### Changed\r\n\r\n- Web search tool infers server URL from provider config instead of hardcoded production API\r\n- `ask_user_questions` tool disabled in prompt mode\r\n\r\n### Fixed\r\n\r\n- Space key fix extended to all `Input` widgets (question prompts, proxy setup) in VS Code terminal\r\n- Ruff isort\u002Fformatter config conflict resolved (`split-on-trailing-comma` set to `false`)","2026-03-10T15:08:19",{"id":193,"version":194,"summary_zh":195,"released_at":196},104979,"v2.4.0","### Added\r\n\r\n- User plan displayed in the CLI banner\r\n- Reasoning effort configuration and thinking blocks adapter\r\n\r\n### Changed\r\n\r\n- Auto-compact threshold is now per-model\r\n- Removed expensive file scan from system prompt; cached git operations for faster agent switching\r\n- Improved plan mode\r\n- Updated `whoami` response handling with new plan type and name fields\r\n\r\n### Fixed\r\n\r\n- Space key works again in VSCode 1.110+\r\n- Arrow-key history navigation at wrapped-line boundaries in chat input\r\n- UTF-8 encoding enforced when reading metadata files\r\n- Update notifier no longer crashes on unexpected response fields","2026-03-09T18:29:12",{"id":198,"version":199,"summary_zh":200,"released_at":201},104980,"v2.3.0","### Added\r\n\r\n- \u002Fresume command to choose which session to resume\r\n- Web search and web fetch tools for retrieving and searching web content\r\n- MCP sampling support: MCP servers can request LLM completions via the sampling protocol\r\n- MCP server discovery cache (`MCPRegistry`): survives agent switches without re-discovering unchanged servers\r\n- Chat mode for ACP (`session\u002Fset_config_options` with `mode=chat`)\r\n- ACP `session\u002Fset_config_options` support for switching mode and model\r\n- Tool call streaming: tool call arguments are now streamed incrementally in the UI\r\n- Notification indicator in CLI: terminal bell and window title change on action required or completion\r\n- Subagent traces saved in `agents\u002F` subfolder of parent session directory\r\n- IDE detection in `new_session` telemetry\r\n- Discover agents, tools, and skills in subfolders of trusted directories (monorepo support)\r\n- E2E test infrastructure for CLI TUI\r\n\r\n### Changed\r\n\r\n- System prompts rewritten for improved model behavior (3-phase Orient\u002FPlan\u002FExecute workflow, brevity rules)\r\n- Tool call display refactored with `ToolCallDisplay`\u002F`ToolResultDisplay` models and per-tool UI customization\r\n- Middleware pipeline replaces observer pattern for system message injections\r\n- Improved permission handling for `write_file`, `read_file`, `search_replace` (allowlist\u002Fdenylist globs, out-of-cwd detection)\r\n- Proxy setup UI updated with guided bottom-panel wizard\r\n- Smoother color transitions in CLI loader animation\r\n- Dead tool state classes removed (`Grep`, `ReadFile`, `WriteFile` state)\r\n\r\n### Fixed\r\n\r\n- Agent switch (Shift+Tab) no longer freezes the UI (moved to thread worker)\r\n- Empty assistant messages are no longer displayed\r\n- Tool results returned to LLM in correct order matching tool calls\r\n- Auto-scroll suspended when user has scrolled up; resumes at bottom\r\n- Retry and timeout handling in Mistral backend (backoff strategy, configurable timeout)","2026-02-27T16:34:26",{"id":203,"version":204,"summary_zh":78,"released_at":205},104981,"v2.2.1","2026-02-19T11:06:34",{"id":207,"version":208,"summary_zh":78,"released_at":209},104982,"v2.2.0","2026-02-17T15:25:13",{"id":211,"version":212,"summary_zh":78,"released_at":213},104983,"v2.1.0","2026-02-11T17:18:37",{"id":215,"version":216,"summary_zh":78,"released_at":217},104984,"v2.0.2","2026-01-30T13:50:17",{"id":219,"version":220,"summary_zh":78,"released_at":221},104985,"v2.0.1","2026-01-28T17:40:43",{"id":223,"version":224,"summary_zh":78,"released_at":225},104986,"v2.0.0","2026-01-27T15:45:23",{"id":227,"version":228,"summary_zh":78,"released_at":229},104987,"v1.3.5","2026-01-12T17:00:06",{"id":231,"version":232,"summary_zh":78,"released_at":233},104988,"v1.3.4","2026-01-08T11:00:36"]