[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-anomalyco--opencode":3,"tool-anomalyco--opencode":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":73,"owner_website":79,"owner_url":80,"languages":81,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":123,"env_os":124,"env_gpu":125,"env_ram":125,"env_deps":126,"category_tags":131,"github_topics":77,"view_count":132,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":133,"updated_at":134,"faqs":135,"releases":165},8272,"anomalyco\u002Fopencode","opencode","The open source coding agent.","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信赖且强大的智能化编码解决方案。","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopencode.ai\">\n    \u003Cpicture>\n      \u003Csource srcset=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-dark.svg\" media=\"(prefers-color-scheme: dark)\">\n      \u003Csource srcset=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-light.svg\" media=\"(prefers-color-scheme: light)\">\n      \u003Cimg src=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-light.svg\" alt=\"OpenCode logo\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">The open source AI coding agent.\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdiscord\">\u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1391832426048651334?style=flat-square&label=discord\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fopencode-ai\">\u003Cimg alt=\"npm\" src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fopencode-ai?style=flat-square\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Factions\u002Fworkflows\u002Fpublish.yml\">\u003Cimg alt=\"Build status\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fanomalyco\u002Fopencode\u002Fpublish.yml?style=flat-square&branch=dev\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">English\u003C\u002Fa> |\n  \u003Ca href=\"README.zh.md\">简体中文\u003C\u002Fa> |\n  \u003Ca href=\"README.zht.md\">繁體中文\u003C\u002Fa> |\n  \u003Ca href=\"README.ko.md\">한국어\u003C\u002Fa> |\n  \u003Ca href=\"README.de.md\">Deutsch\u003C\u002Fa> |\n  \u003Ca href=\"README.es.md\">Español\u003C\u002Fa> |\n  \u003Ca href=\"README.fr.md\">Français\u003C\u002Fa> |\n  \u003Ca href=\"README.it.md\">Italiano\u003C\u002Fa> |\n  \u003Ca href=\"README.da.md\">Dansk\u003C\u002Fa> |\n  \u003Ca href=\"README.ja.md\">日本語\u003C\u002Fa> |\n  \u003Ca href=\"README.pl.md\">Polski\u003C\u002Fa> |\n  \u003Ca href=\"README.ru.md\">Русский\u003C\u002Fa> |\n  \u003Ca href=\"README.bs.md\">Bosanski\u003C\u002Fa> |\n  \u003Ca href=\"README.ar.md\">العربية\u003C\u002Fa> |\n  \u003Ca href=\"README.no.md\">Norsk\u003C\u002Fa> |\n  \u003Ca href=\"README.br.md\">Português (Brasil)\u003C\u002Fa> |\n  \u003Ca href=\"README.th.md\">ไทย\u003C\u002Fa> |\n  \u003Ca href=\"README.tr.md\">Türkçe\u003C\u002Fa> |\n  \u003Ca href=\"README.uk.md\">Українська\u003C\u002Fa> |\n  \u003Ca href=\"README.bn.md\">বাংলা\u003C\u002Fa> |\n  \u003Ca href=\"README.gr.md\">Ελληνικά\u003C\u002Fa> |\n  \u003Ca href=\"README.vi.md\">Tiếng Việt\u003C\u002Fa>\n\u003C\u002Fp>\n\n[![OpenCode Terminal UI](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fanomalyco_opencode_readme_d176e5d9790b.png)](https:\u002F\u002Fopencode.ai)\n\n---\n\n### Installation\n\n```bash\n# YOLO\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n\n# Package managers\nnpm i -g opencode-ai@latest        # or bun\u002Fpnpm\u002Fyarn\nscoop install opencode             # Windows\nchoco install opencode             # Windows\nbrew install anomalyco\u002Ftap\u002Fopencode # macOS and Linux (recommended, always up to date)\nbrew install opencode              # macOS and Linux (official brew formula, updated less)\nsudo pacman -S opencode            # Arch Linux (Stable)\nparu -S opencode-bin               # Arch Linux (Latest from AUR)\nmise use -g opencode               # Any OS\nnix run nixpkgs#opencode           # or github:anomalyco\u002Fopencode for latest dev branch\n```\n\n> [!TIP]\n> Remove versions older than 0.1.x before installing.\n\n### Desktop App (BETA)\n\nOpenCode is also available as a desktop application. Download directly from the [releases page](https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Freleases) or [opencode.ai\u002Fdownload](https:\u002F\u002Fopencode.ai\u002Fdownload).\n\n| Platform              | Download                              |\n| --------------------- | ------------------------------------- |\n| macOS (Apple Silicon) | `opencode-desktop-darwin-aarch64.dmg` |\n| macOS (Intel)         | `opencode-desktop-darwin-x64.dmg`     |\n| Windows               | `opencode-desktop-windows-x64.exe`    |\n| Linux                 | `.deb`, `.rpm`, or AppImage           |\n\n```bash\n# macOS (Homebrew)\nbrew install --cask opencode-desktop\n# Windows (Scoop)\nscoop bucket add extras; scoop install extras\u002Fopencode-desktop\n```\n\n#### Installation Directory\n\nThe install script respects the following priority order for the installation path:\n\n1. `$OPENCODE_INSTALL_DIR` - Custom installation directory\n2. `$XDG_BIN_DIR` - XDG Base Directory Specification compliant path\n3. `$HOME\u002Fbin` - Standard user binary directory (if it exists or can be created)\n4. `$HOME\u002F.opencode\u002Fbin` - Default fallback\n\n```bash\n# Examples\nOPENCODE_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\nXDG_BIN_DIR=$HOME\u002F.local\u002Fbin curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\n### Agents\n\nOpenCode includes two built-in agents you can switch between with the `Tab` key.\n\n- **build** - Default, full-access agent for development work\n- **plan** - Read-only agent for analysis and code exploration\n  - Denies file edits by default\n  - Asks permission before running bash commands\n  - Ideal for exploring unfamiliar codebases or planning changes\n\nAlso included is a **general** subagent for complex searches and multistep tasks.\nThis is used internally and can be invoked using `@general` in messages.\n\nLearn more about [agents](https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fagents).\n\n### Documentation\n\nFor more info on how to configure OpenCode, [**head over to our docs**](https:\u002F\u002Fopencode.ai\u002Fdocs).\n\n### Contributing\n\nIf you're interested in contributing to OpenCode, please read our [contributing docs](.\u002FCONTRIBUTING.md) before submitting a pull request.\n\n### Building on OpenCode\n\nIf you are working on a project that's related to OpenCode and is using \"opencode\" as part of its name, for example \"opencode-dashboard\" or \"opencode-mobile\", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.\n\n### FAQ\n\n#### How is this different from Claude Code?\n\nIt's very similar to Claude Code in terms of capability. Here are the key differences:\n\n- 100% open source\n- Not coupled to any provider. Although we recommend the models we provide through [OpenCode Zen](https:\u002F\u002Fopencode.ai\u002Fzen), OpenCode can be used with Claude, OpenAI, Google, or even local models. As models evolve, the gaps between them will close and pricing will drop, so being provider-agnostic is important.\n- Out-of-the-box LSP support\n- A focus on TUI. OpenCode is built by neovim users and the creators of [terminal.shop](https:\u002F\u002Fterminal.shop); we are going to push the limits of what's possible in the terminal.\n- A client\u002Fserver architecture. This, for example, can allow OpenCode to run on your computer while you drive it remotely from a mobile app, meaning that the TUI frontend is just one of the possible clients.\n\n---\n\n**Join our community** [Discord](https:\u002F\u002Fdiscord.gg\u002Fopencode) | [X.com](https:\u002F\u002Fx.com\u002Fopencode)\n","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopencode.ai\">\n    \u003Cpicture>\n      \u003Csource srcset=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-dark.svg\" media=\"(prefers-color-scheme: dark)\">\n      \u003Csource srcset=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-light.svg\" media=\"(prefers-color-scheme: light)\">\n      \u003Cimg src=\"packages\u002Fconsole\u002Fapp\u002Fsrc\u002Fasset\u002Flogo-ornate-light.svg\" alt=\"OpenCode logo\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">开源的AI编码助手。\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdiscord\">\u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1391832426048651334?style=flat-square&label=discord\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fopencode-ai\">\u003Cimg alt=\"npm\" src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fopencode-ai?style=flat-square\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Factions\u002Fworkflows\u002Fpublish.yml\">\u003Cimg alt=\"构建状态\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fanomalyco\u002Fopencode\u002Fpublish.yml?style=flat-square&branch=dev\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">English\u003C\u002Fa> |\n  \u003Ca href=\"README.zh.md\">简体中文\u003C\u002Fa> |\n  \u003Ca href=\"README.zht.md\">繁體中文\u003C\u002Fa> |\n  \u003Ca href=\"README.ko.md\">한국어\u003C\u002Fa> |\n  \u003Ca href=\"README.de.md\">Deutsch\u003C\u002Fa> |\n  \u003Ca href=\"README.es.md\">Español\u003C\u002Fa> |\n  \u003Ca href=\"README.fr.md\">Français\u003C\u002Fa> |\n  \u003Ca href=\"README.it.md\">Italiano\u003C\u002Fa> |\n  \u003Ca href=\"README.da.md\">Dansk\u003C\u002Fa> |\n  \u003Ca href=\"README.ja.md\">日本語\u003C\u002Fa> |\n  \u003Ca href=\"README.pl.md\">Polski\u003C\u002Fa> |\n  \u003Ca href=\"README.ru.md\">Русский\u003C\u002Fa> |\n  \u003Ca href=\"README.bs.md\">Bosanski\u003C\u002Fa> |\n  \u003Ca href=\"README.ar.md\">العربية\u003C\u002Fa> |\n  \u003Ca href=\"README.no.md\">Norsk\u003C\u002Fa> |\n  \u003Ca href=\"README.br.md\">Português (Brasil)\u003C\u002Fa> |\n  \u003Ca href=\"README.th.md\">ไทย\u003C\u002Fa> |\n  \u003Ca href=\"README.tr.md\">Türkçe\u003C\u002Fa> |\n  \u003Ca href=\"README.uk.md\">Українська\u003C\u002Fa> |\n  \u003Ca href=\"README.bn.md\">বাংলা\u003C\u002Fa> |\n  \u003Ca href=\"README.gr.md\">Ελληνικά\u003C\u002Fa> |\n  \u003Ca href=\"README.vi.md\">Tiếng Việt\u003C\u002Fa>\n\u003C\u002Fp>\n\n[![OpenCode 终端界面](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fanomalyco_opencode_readme_d176e5d9790b.png)](https:\u002F\u002Fopencode.ai)\n\n---\n\n### 安装\n\n```bash\n# YOLO\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n\n# 包管理器\nnpm i -g opencode-ai@latest        # 或 bun\u002Fpnpm\u002Fyarn\nscoop install opencode             # Windows\nchoco install opencode             # Windows\nbrew install anomalyco\u002Ftap\u002Fopencode # macOS 和 Linux（推荐，始终最新）\nbrew install opencode              # macOS 和 Linux（官方 brew 公式，更新较少）\nsudo pacman -S opencode            # Arch Linux（稳定版）\nparu -S opencode-bin               # Arch Linux（AUR 最新版本）\nmise use -g opencode               # 任何操作系统\nnix run nixpkgs#opencode           # 或 github:anomalyco\u002Fopencode 获取最新开发分支\n```\n\n> [!TIP]\n> 安装前请移除旧版本（低于 0.1.x）。\n\n### 桌面应用（BETA）\n\nOpenCode 也提供桌面应用程序。可直接从 [发布页面](https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Freleases) 或 [opencode.ai\u002Fdownload](https:\u002F\u002Fopencode.ai\u002Fdownload) 下载。\n\n| 平台              | 下载                              |\n| --------------------- | ------------------------------------- |\n| macOS（Apple Silicon） | `opencode-desktop-darwin-aarch64.dmg` |\n| macOS（Intel）         | `opencode-desktop-darwin-x64.dmg`     |\n| Windows               | `opencode-desktop-windows-x64.exe`    |\n| Linux                 | `.deb`、`.rpm` 或 AppImage           |\n\n```bash\n# macOS（Homebrew）\nbrew install --cask opencode-desktop\n# Windows（Scoop）\nscoop bucket add extras; scoop install extras\u002Fopencode-desktop\n```\n\n#### 安装目录\n\n安装脚本会按照以下优先级选择安装路径：\n\n1. `$OPENCODE_INSTALL_DIR` - 自定义安装目录\n2. `$XDG_BIN_DIR` - 符合 XDG 基础目录规范的路径\n3. `$HOME\u002Fbin` - 标准用户二进制目录（如果存在或可创建）\n4. `$HOME\u002F.opencode\u002Fbin` - 默认回退路径\n\n```bash\n# 示例\nOPENCODE_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\nXDG_BIN_DIR=$HOME\u002F.local\u002Fbin curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\n### 代理\n\nOpenCode 内置两个代理，可通过 `Tab` 键切换。\n\n- **build** - 默认代理，具有完全访问权限，适用于开发工作\n- **plan** - 只读代理，用于代码分析和探索\n  - 默认拒绝文件编辑\n  - 在执行 bash 命令前会请求许可\n  - 非常适合探索不熟悉的代码库或规划更改\n\n此外，还包含一个用于复杂搜索和多步骤任务的 **general** 子代理。该子代理在内部使用，可在消息中通过 `@general` 调用。\n\n更多关于 [代理](https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fagents) 的信息，请参阅文档。\n\n### 文档\n\n如需了解更多关于 OpenCode 配置的信息，请 [前往我们的文档](https:\u002F\u002Fopencode.ai\u002Fdocs)。\n\n### 贡献\n\n如果您有兴趣为 OpenCode 做贡献，请在提交拉取请求前阅读我们的 [贡献文档](.\u002FCONTRIBUTING.md)。\n\n### 基于 OpenCode 构建\n\n如果您正在开发与 OpenCode 相关的项目，并且名称中包含“opencode”，例如“opencode-dashboard”或“opencode-mobile”，请在 README 中注明该软件并非由 OpenCode 团队开发，也与我们没有任何关联。\n\n### 常见问题\n\n#### 这与 Claude Code 有何不同？\n\n在功能上与 Claude Code 非常相似。以下是主要区别：\n\n- 100% 开源\n- 不绑定任何特定提供商。尽管我们推荐通过 [OpenCode Zen](https:\u002F\u002Fopencode.ai\u002Fzen) 提供的模型，但 OpenCode 也可以与 Claude、OpenAI、Google 甚至本地模型一起使用。随着模型技术的进步和价格的下降，跨平台兼容性将变得越来越重要。\n- 开箱即用的 LSP 支持\n- 专注于 TUI。OpenCode 由 Neovim 用户和 [terminal.shop](https:\u002F\u002Fterminal.shop) 的创建者开发；我们将不断突破终端环境的可能性。\n- 客户端\u002F服务器架构。例如，这使得 OpenCode 可以在您的计算机上运行，而您可以通过移动应用远程控制它，这意味着 TUI 前端只是众多可能客户端之一。\n\n---\n\n**加入我们的社区** [Discord](https:\u002F\u002Fdiscord.gg\u002Fopencode) | [X.com](https:\u002F\u002Fx.com\u002Fopencode)","# OpenCode 快速上手指南\n\nOpenCode 是一款开源的 AI 编程助手（Coding Agent），支持终端界面（TUI）和桌面应用，具备多模型兼容性和内置 LSP 支持。\n\n## 环境准备\n\n*   **操作系统**：macOS、Linux 或 Windows。\n*   **前置依赖**：\n    *   推荐使用包管理器进行安装（如 `brew`, `npm`, `scoop` 等）。\n    *   若使用一键脚本安装，需确保系统已安装 `curl` 和 `bash`。\n    *   **注意**：安装前请移除旧版本（0.1.x 及以下）。\n\n## 安装步骤\n\n您可以选择以下任意一种方式进行安装：\n\n### 方式一：一键脚本安装（推荐）\n适用于大多数 Linux 和 macOS 环境。\n```bash\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n*自定义安装路径示例：*\n```bash\nOPENCODE_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\n### 方式二：包管理器安装\n\n**macOS (Homebrew - 推荐)**\n```bash\nbrew install anomalyco\u002Ftap\u002Fopencode\n```\n\n**Node.js 环境 (npm\u002Fyarn\u002Fpnpm\u002Fbun)**\n```bash\nnpm i -g opencode-ai@latest\n```\n\n**Windows (Scoop)**\n```bash\nscoop install opencode\n```\n\n**Windows (Chocolatey)**\n```bash\nchoco install opencode\n```\n\n**Arch Linux**\n```bash\nsudo pacman -S opencode\n# 或使用 AUR 获取最新版\nparu -S opencode-bin\n```\n\n### 桌面版应用 (Beta)\n如需图形化界面，可下载桌面客户端：\n*   **下载地址**：[opencode.ai\u002Fdownload](https:\u002F\u002Fopencode.ai\u002Fdownload)\n*   **macOS (Homebrew Cask)**:\n    ```bash\n    brew install --cask opencode-desktop\n    ```\n*   **Windows (Scoop)**:\n    ```bash\n    scoop bucket add extras; scoop install extras\u002Fopencode-desktop\n    ```\n\n## 基本使用\n\n安装完成后，在终端输入 `opencode` 即可启动。\n\n### 1. 启动与模式切换\nOpenCode 内置了两种主要代理模式，可通过 `Tab` 键快速切换：\n\n*   **build (默认模式)**：全权限代理，用于实际开发工作，可编辑文件和执行命令。\n*   **plan (只读模式)**：用于代码分析和探索。默认禁止修改文件，执行 Bash 命令前会请求许可。适合熟悉陌生代码库或规划变更。\n\n### 2. 简单交互示例\n启动后，直接在提示符后输入自然语言指令即可：\n\n```bash\nopencode\n```\n*(进入交互界面后)*\n```text\n> 帮我在这个项目中创建一个简单的 Python HTTP 服务器\n```\n\n### 3. 调用子代理\n对于复杂的搜索或多步骤任务，可以在消息中通过 `@general` 调用通用子代理：\n\n```text\n> @general 分析当前项目的依赖结构并生成优化建议\n```\n\n更多配置详情和高级用法，请访问官方文档：[opencode.ai\u002Fdocs](https:\u002F\u002Fopencode.ai\u002Fdocs)","某初创团队的后端工程师需要在周五下班前紧急重构一个遗留的 Python 订单处理模块，以修复高并发下的数据一致性问题并迁移至新架构。\n\n### 没有 opencode 时\n- **上下文切换频繁**：开发者需手动在多个文件间跳转查找依赖定义，反复阅读数千行晦涩的旧代码才能理清逻辑。\n- **修改风险不可控**：人工重构极易遗漏边缘情况，必须花费数小时编写大量单元测试来验证修改后的正确性。\n- **文档更新滞后**：代码逻辑变更后，相关的 API 文档和注释往往被遗忘，导致后续维护者难以理解新流程。\n- **环境配置耗时**：为新分支搭建隔离的开发环境及安装特定版本的依赖库占用了宝贵的编码时间。\n\n### 使用 opencode 后\n- **全库智能感知**：opencode 自动扫描整个项目上下文，瞬间理解模块间的调用关系，直接生成包含完整依赖的重构方案。\n- **安全自动化迭代**：opencode 在修改代码的同时自动生成覆盖边界条件的测试用例，并在终端实时运行验证，确保零回归错误。\n- **文档同步生成**：每当代码逻辑发生变动，opencode 会即时更新对应的函数注释和外部技术文档，保持代码与说明严格一致。\n- **一键环境就绪**：通过简单的自然语言指令，opencode 自动配置好虚拟环境并安装所需依赖，让开发者立即进入核心编码状态。\n\nopencode 将原本需要通宵达旦的高风险重构任务，转化为一次可控、高效且文档完备的自动化协作流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fanomalyco_opencode_d176e5d9.png","anomalyco","Anomaly","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fanomalyco_36cadcee.png","For whatever you build.",null,"hello@anoma.ly","https:\u002F\u002Fanoma.ly","https:\u002F\u002Fgithub.com\u002Fanomalyco",[82,86,90,94,98,102,106,109,113,116],{"name":83,"color":84,"percentage":85},"TypeScript","#3178c6",57.9,{"name":87,"color":88,"percentage":89},"MDX","#fcb32c",38.2,{"name":91,"color":92,"percentage":93},"CSS","#663399",2.9,{"name":95,"color":96,"percentage":97},"Rust","#dea584",0.5,{"name":99,"color":100,"percentage":101},"Astro","#ff5a03",0.2,{"name":103,"color":104,"percentage":105},"Shell","#89e051",0.1,{"name":107,"color":108,"percentage":105},"JavaScript","#f1e05a",{"name":110,"color":111,"percentage":112},"Nix","#7e7eff",0,{"name":114,"color":115,"percentage":112},"HTML","#e34c26",{"name":117,"color":118,"percentage":112},"Dockerfile","#384d54",144296,16307,"2026-04-16T14:50:03","MIT",1,"Linux, macOS, Windows","未说明",{"notes":127,"python":125,"dependencies":128},"该工具是一个开源 AI 编码代理（CLI 和桌面应用），并非本地运行的大模型框架，因此 README 中未提及具体的 GPU、显存或 Python 版本要求。它支持通过 API 连接多种模型提供商（如 Claude, OpenAI, Google）或使用本地模型。安装方式多样，包括 curl 脚本、npm、Homebrew、Scoop、Chocolatey、Pacman、Nix 等。桌面版提供 macOS (Intel\u002FApple Silicon)、Windows 和 Linux 的安装包。",[129,130],"Node.js (隐含，通过 npm\u002Fbun\u002Fpnpm\u002Fyarn 安装)","Rust (隐含，通常用于此类高性能 CLI 工具)",[13,52],13,"2026-03-27T02:49:30.150509","2026-04-17T08:23:04.967550",[136,141,146,150,155,160],{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},37047,"如何配置 OpenCode 使用 Claude Haiku 或其他模型（如 Grok）以节省用量或提高速度？","默认情况下，OpenCode 可能使用高消耗模型。您可以在项目根目录或用户配置目录下的 `opencode.json` 文件中手动指定模型。例如，要强制使用 Claude Haiku 4.5 或切换到 OpenRouter 上的 Grok 模型，请添加以下配置：\n\n```json\n{\n  \"small_model\": \"anthropic\u002Fclaude-haiku-4-5\",\n  \"agent\": {\n    \"general\": {\n      \"model\": \"anthropic\u002Fclaude-haiku-4-5\"\n    },\n    \"explore\": {\n      \"model\": \"anthropic\u002Fclaude-haiku-4-5\"\n    }\n  }\n}\n```\n\n若要使用其他提供商（如 OpenRouter），可将模型名称替换为相应标识，例如：`\"openrouter\u002Fx-ai\u002Fgrok-4.1-fast\"`。","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Fissues\u002F7410",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},37048,"为什么使用 GitHub Copilot 认证时，我的高级额度（Premium Quota）消耗得非常快？","这是由于近期 `opencode-copilot-auth` 插件更新后，为了合规更严格地标记请求发起者。现在工具附件消息可能被错误地标记为“用户”发起而非“代理”发起，导致被计入高级额度消耗。\n\n临时解决方案：\n1. 建议暂时回退到 OpenCode v1.1.12 版本。\n2. 频繁开启新会话（New Session），避免在同一个长会话中持续操作，以减少单次会话中的工具调用累积导致的额度误扣。","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Fissues\u002F8030",{"id":147,"question_zh":148,"answer_zh":149,"source_url":145},37049,"为什么初始上下文令牌数（Context Tokens）高达 16k 或更多？这正常吗？","这是正常现象。高令牌数通常不是由当前对话内容引起的，而是由以下因素自动加载导致：\n1. 系统提示词（System Prompt）；\n2. 已安装的技能（Skills）；\n3. MCP（Model Context Protocol）服务器；\n4. 插件（Plugins）；\n5. 自动包含的上下文文件。\n这些组件会在会话开始时预加载，从而占用大量初始令牌。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},37050,"遇到 Claude Max 账户因使用 OpenCode 而被封禁或报错怎么办？","这是因为原生 Claude Code 依赖缓存令牌，而第三方工具（如 OpenCode）的使用模式可能被识别为异常，导致账户受限。\n\n解决方案：\n1. 社区提供了一个永久修复方案，可避免直接修补 Claude 客户端：访问 https:\u002F\u002Fgithub.com\u002Fvinzabe\u002Fopencode-anthropic-max-fix 获取修复脚本。\n2. 注意：安装时需确保使用正确的安装脚本链接（旧版 README 中的链接可能已失效返回 404），建议直接去仓库查看最新安装指令。\n3. 也有用户通过自定义认证插件（如 `op-anthropic-auth`）实现了类似的绕过效果。","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Fissues\u002F18267",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},37051,"OpenCode 是否支持像 Claude 一样直接使用 ChatGPT Plus\u002FPro 订阅登录，而不需要 API Key？","是的，该功能现已支持。OpenCode 已经添加了类似 Claude 的 OAuth 登录流程，允许用户直接使用 OpenAI 的 Plus 或 Pro 订阅进行认证，无需单独生成 API Key。您可以直接在登录界面选择 OpenAI 选项并通过浏览器完成订阅账号授权。","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Fissues\u002F1686",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},37052,"在输入框中按 Shift+Enter 无法换行怎么办？","这是一个已知的键位绑定问题。如果 `Shift+Enter` 无法插入换行符，请使用替代快捷键 `Ctrl+J`（在 macOS 上可能是 `Cmd+J` 或视具体终端配置而定），该组合键目前可以正常执行换行操作。","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Fissues\u002F1505",[166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251,256,261],{"id":167,"version":168,"summary_zh":169,"released_at":170},297490,"v1.4.6","## 核心\n\n- 修复了在文件列表非常长时的快照暂存问题，并提升了暂存性能。\n- 修复了当 Header 值中包含 `=` 时的 OTEL Header 解析问题。\n\n## 桌面端\n\n- 修复了提示提交状态更新，以避免发送失败或不一致的情况。\n- 改进了会话标题编辑时的输入间距。\n\n**感谢 1 位社区贡献者：**\n- @github-actions[bot]：\n  - 更新 VOUCHED 列表\n","2026-04-15T07:26:50",{"id":172,"version":173,"summary_zh":174,"released_at":175},297491,"v1.4.5","## 核心\n- 将 AI SDK 的遥测跨度导出到 OTLP 跟踪后端。\n- 从 `@opencode-ai\u002Fserver` 中公开实验性的问题 API 模式和 OpenAPI 规范。\n- 公开一个可重用的问题处理器工厂，用于自定义问题 API 主机。\n\n## 桌面\n- 从主目录启动桌面 Shell 命令。\n- 在全局同步初始化期间避免显示引导错误弹出窗口。\n","2026-04-15T04:25:45",{"id":177,"version":178,"summary_zh":179,"released_at":180},297492,"v1.4.4","## 核心功能\n- 在提示运行期间恢复了实例和日志记录器上下文，以确保提示期间的工具和日志记录能够正常工作。\n- 保持了 GitHub Copilot 的压缩请求有效。\n- 恢复了问题 API 响应的扁平化回复格式。\n- 持久化了立即完成的 MCP OAuth 连接，以便已认证的服务器保持连接状态。\n- 防止 ACP 客户端中出现重复的用户消息。\n- 停止在 ACP 客户端的会话和提示轮次期间发出 `user_message_chunk` 事件。(@RAIT-09)\n- 修复了 `@ai-sdk\u002Fopenai-compatible` 提供商的推理摘要注入问题。(@nazarhnatyshen)\n- 添加了实验性钩子 `compaction.autocontinue`，用于在压缩后停止自动继续。\n- 新增了支持缓存的阿里巴巴提供商。\n- 快照现在完全遵守 `.gitignore` 文件，包括之前已被跟踪的文件。\n- 读取图片不再计入配额。\n- 会话现在可以在运行过程中更新项目权限。(@remorses)\n- 启用了 `zhipuai-coding-plan` 的思考功能，并修复了韩语输入法截断的问题。(@claudianus)\n\n## TUI\n- 添加了 `opencode export --sanitize` 命令，用于脱敏 PII 和机密转录数据。\n- 修复了内置主题中差异行号的对比度问题。\n- 插件认证登录现在会在插件需要授权时提示输入 API 密钥。(@goniz)\n- 当插件没有 `authorize` 方法时，插件认证将不再要求输入 API 密钥。(@goniz)\n\n## 桌面版\n- 修复了 Windows 桌面客户端后台在关机前卡死的问题。\n\n## SDK\n- JavaScript SDK 现在会在旧版本服务器返回 HTML 而非 API 响应时抛出明确的错误。\n\n## 扩展功能\n- 插件现在可以注册自定义的工作区适配器，这些适配器会出现在工作区创建界面中。\n\n**感谢 9 位社区贡献者：**\n- @claudianus：\n  - 修复：启用 zhipuai-coding-plan 的思考功能并防止韩语输入法截断 (#22041)\n- @remorses：\n  - 功能：允许在会话中更新权限 (#22070)\n- @simonklee：\n  - 杂项（GitHub）：为 simonklee 提供担保 (#22127)\n- @shafdev：\n  - 修复（opencode）：从 package.json 中移除多余的脚本和 randomField (#22160)\n- @goniz：\n  - 修复（CLI）：auth login 现在会在 handlePluginAuth 中提示输入 API 密钥 (#21641)\n  - 修复（CLI）：handlePluginAuth 只有在存在 authorize 方法时才会提示输入 API 密钥 (#22475)\n- @github-actions[bot]：\n  - 更新 VOUCHED 列表\n- @nazarhnatyshen：\n  - 修复（提供商）：为 @ai-sdk\u002Fopenai-compatible 提供商添加推理摘要注入保护 (#22352)\n- @RAIT-09：\n  - 修复（ACP）：停止在会话\u002F提示轮次期间发出 user_message_chunk 事件 (#21851)\n- @gigamonster256：\n  - 杂项（Nix）：移除外部 ripgrep (#22482)","2026-04-15T00:04:10",{"id":182,"version":183,"summary_zh":184,"released_at":185},297493,"v1.4.3","## 核心功能\n\n- 修复了使用 OAuth 认证的 OpenAI 账户的 `agent create` 命令。\n- 被中断的 Bash 命令现在会保留最终输出和截断信息，而不再以“已中止”结束。\n- 为支持的 Claude 和 GPT 模型添加了快速模式变体。\n\n## TUI 界面\n\n- 已将隐藏会话滚动条恢复为默认设置。\n\n## 扩展功能\n\n- 为远程 MCP 服务器添加了可配置的 OAuth 重定向 URI。(@egze)\n\n**感谢两位社区贡献者：**\n- @egze：\n  - feat(mcp)：为 MCP 服务器添加 OAuth 重定向 URI 配置 (#21385)\n- @simonklee：\n  - opencode：延迟加载顶级 CLI 命令\n  - 撤销“opencode：延迟加载顶级 CLI 命令” (#21726)","2026-04-10T01:00:36",{"id":187,"version":188,"summary_zh":189,"released_at":190},297494,"v1.4.2","## TUI\n- 修复子代理在未完成前无法点击的问题\n\n\n## 桌面端\n\n- 移除了应用连接时的强制加载延迟\n","2026-04-09T16:25:08",{"id":192,"version":193,"summary_zh":194,"released_at":195},297495,"v1.4.1","## 核心功能\n- 修复 `clangd` 在 C 和 C++ 工作区中选择 `CMakeLists.txt` 或 `Makefile` 作为项目根目录的问题。(@nonbanana)\n- 为 GitLab Duo Workflow 工具调用添加权限提示，不再自动运行。(@vglafirov)\n- 隐藏 Big Pickle 模型的不支持变体。\n\n## TUI\n- 当免费使用额度达到上限时，显示 OpenCode Go 订阅提示。\n- 简化模型和提供商选择器中的提供商标签。\n\n## 桌面端\n- 修复同源桌面应用和 Web 应用场景下的终端连接问题。(@OpeOginni)\n- 修复在差异数据格式不一致时会话审查和更改列表显示的问题。\n\n## SDK\n- 修复 `\u002Fproviders` 和会话 Shell 响应的生成 SDK 及 OpenAPI 类型。\n\n**感谢三位社区贡献者：**\n- @OpeOginni：\n  - fix(app)：跳过同源服务器和 Web 应用的 URL 密码设置 (#19923)\n- @vglafirov：\n  - feat(llm)：将 GitLab DWS 工具审批与权限系统集成 (#19955)\n- @nonbanana：\n  - fix(lsp)：从 `clangd` 的根目录标记中移除 `CMakeLists.txt` 和 `Makefile` (#21466)","2026-04-09T07:12:43",{"id":197,"version":198,"summary_zh":199,"released_at":200},297496,"v1.4.0","## SDK 中的破坏性变更\n\n由于一些性能问题，我们不得不对数据模型进行几项破坏性变更。\n\n### 差异元数据\n编辑和补丁工具的元数据中包含的差异将不再包含带有完整文件内容的 `to` 和 `from` 字段。它们现在只包含一个带有统一差异格式的 `patch` 字段。\n\n此外，用户消息和会话差异中包含的所有快照差异也将遵循这一格式。\n\n### `UserMessage.variant`\n\n此前，用户消息有一个 `variant` 字段；现在它被嵌套在 `model` 下，变为 `userMessage.model.variant`。\n\n## 核心功能\n- 添加了 OTLP 可观测性导出支持。\n- 修复了失败的 Web 请求会留下过期超时的问题。\n- 改进了 `opencode login` 的传输错误信息。\n- 对阿里云提供商的速率限制错误进行了重试，而不是立即失败。\n- 保持模型变体仅限于所选模型的作用域内。\n- 添加了完整的 HTTP 代理支持。\n- 修复了 OpenRouter 提供商的相关问题。\n- 统一了 GitHub Copilot 和 Anthropic 的推理级别，并移除了不正确的 Qwen 变体。\n- 通过使用原生项目配置，降低了 TypeScript LSP 的内存占用。（@derekbar90）\n\n## TUI\n- 添加了用于“切换模型变体”的键盘快捷键选项。（@ariane-emory）\n- 为附件添加了 PDF 拖放功能。（@gitpush-gitpaid）\n- 添加了 `opencode run --dangerously-skip-permissions` 命令，用于自动批准未被拒绝的权限提示。\n\n## 桌面应用\n- 改进了子代理会话，使其标题、导航和进度状态更加清晰。\n- 将自动接受权限的功能移至设置中。\n- 在附件芯片上显示完整的文件名。\n\n**感谢 4 位社区贡献者：**\n- @derekbar90：\n  - fix(lsp)：内存泄漏：确保 TypeScript 服务器使用原生项目配置 (#19953)\n- @mchenco：\n  - docs：更新 Cloudflare 提供商的设置，以反映 \u002Fconnect 提示流程 (#20589)\n- @gitpush-gitpaid：\n  - feat(opencode)：添加 PDF 附件拖放功能 (#16926)\n- @ariane-emory：\n  - fix(tui)：为主题模式命令面板项目使用句子大小写格式 (#21192)\n  - feat(tui)：允许为“切换模型变体”命令设置 variant_list 键盘快捷键 (#21185)","2026-04-08T00:32:55",{"id":202,"version":203,"summary_zh":204,"released_at":205},297497,"v1.3.17","## 核心功能\n- Cloudflare Workers AI 和 AI 网关现在会在缺少必要账户信息时提示用户，并在缺失所需的 Cloudflare 变量时显示清晰的设置错误信息（@mchenco）\n\n## TUI\n- 恢复了 Windows 终端上的默认 Kitty 键盘处理方式，以避免因回滚临时解决方案而导致的输入问题。\n\n**感谢 1 名社区贡献者：**\n- @mchenco：\n  - 修复：当 Cloudflare 提供商的环境变量缺失时，显示清晰的错误信息 (#20399)","2026-04-06T07:39:42",{"id":207,"version":208,"summary_zh":209,"released_at":210},297498,"v1.3.16","## 核心功能\n\n- 在聊天和响应路径上均支持 Azure 模型选项 (@meruiden)\n- 通过 ACP 公开会话模型和模式配置选项 (@georgeharker)\n- 在读取工具文件内容前添加分隔的空行，以使输出更清晰\n- 修复在推理令牌单独报告时的输出令牌总数问题\n\n## TUI 界面\n\n- 将 Windows 下的 `Ctrl+Z` 默认设置为撤销操作，而非暂停终端\n- 允许在配置中或通过 `OPENCODE_DISABLE_MOUSE` 环境变量禁用 TUI 鼠标捕获 (@blackheaven)\n- 当仅有一个组织可供选择时，隐藏组织切换选项\n- 为控制台管理的提供商添加标签，并允许从提供商界面切换组织\n\n## 扩展功能\n\n- 修复通过 npm 别名和 Git URL 安装插件的问题，包括 Windows 缓存路径相关问题\n\n**感谢三位社区贡献者：**\n- @blackheaven：\n  - 功能（TUI）：使鼠标可禁用 (#6824, #7926) (#13748)\n- @georgeharker：\n  - 修复（核心）：为 ACP 实现正确的 configOptions (#21134)\n- @meruiden：\n  - 修复：为 @ai-sdk\u002Fazure 传递 'openai' 和 'azure' 两个 providerOptions 键 (#20272)","2026-04-06T03:45:09",{"id":212,"version":213,"summary_zh":214,"released_at":215},297499,"v1.3.15","## 核心\n- 防止 Arborist 在访问已编译二进制文件的 `node-gyp` 路径时导致 npm 安装失败\n\n**感谢 1 位社区贡献者：**\n- @Yuxin-Dong：\n  - 重构：移除冗余的 Kimi 技能板块 (#20393)\n","2026-04-04T20:54:43",{"id":217,"version":218,"summary_zh":219,"released_at":220},297500,"v1.3.14","## Core\r\n- Restored git-backed review modes, including uncommitted and branch diffs.\r\n- Fixed revert chains so restoring an earlier message also restores the right snapshot state. (@natewill)\r\n- Added macOS managed preferences for MDM-enforced config. (@lennyvaknine43)\r\n- Fixed sessions getting stuck after tool calls with OpenAI-compatible providers. (@valenvivaldi)\r\n- Kept compaction summaries in the conversation's language. (@aaron-he-zhu)\r\n- Added Venice AI as a provider. (@dpuyosa)\r\n- Respected model-specific `limit.input` overrides. (@ykswang)\r\n\r\n## TUI\r\n- Kept the prompt cursor with dialogs instead of refocusing the background prompt.\r\n- Added a one-time confirmation before sharing a session for the first time.\r\n- Applied scroll settings consistently across TUI scroll views.\r\n- Kept text selections intact during global key handling.\r\n- Fell back to the first available agent if the last-used agent is unavailable.\r\n\r\n## Desktop\r\n- Added file mentions in review comments.\r\n- Restored prompt focus after closing agent, model, and variant pickers.\r\n- Added keyboard navigation and shortcuts to the question dock.\r\n- Hid model controls in shell mode.\r\n- Stopped the todo dock from auto-scrolling while tasks update.\r\n\r\n## SDK\r\n- Fixed JS SDK server and TUI launch and shutdown on Windows.\r\n- Fixed object-defined `Tool.define()` tools from wrapping `execute` multiple times. (@jpcarranza94)\r\n\r\n## Extensions\r\n- Added support for theme-only plugin packages.\r\n\r\n**Thank you to 12 community contributors:**\r\n- @github-actions[bot]:\r\n  - Update VOUCHED list\r\n- @JosXa:\r\n  - fix: normalize filepath in FileTime to prevent Windows path mismatch (#20367)\r\n- @valenvivaldi:\r\n  - fix(core): prevent agent loop from stopping after tool calls with OpenAI-compatible providers (#14973)\r\n- @aaron-he-zhu:\r\n  - fix(session): compaction agent responds in same language as conversation (#20581)\r\n- @dpuyosa:\r\n  - feat(opencode): Add Venice AI package as dependency (#20570)\r\n- @noamzbr:\r\n  - feat: add optional messageID to ShellInput (#20657)\r\n  - feat(acp): Add messageID and emit user_message_chunk on prompt\u002Fcommand (#18625)\r\n- @BYK:\r\n  - fix(format): use biome format instead of check to prevent import removal (#20545)\r\n- @lennyvaknine43:\r\n  - feat: add macOS managed preferences support for enterprise MDM deployments (#19178)\r\n- @ykswang:\r\n  - fix(opencode): honor model limit.input overrides (#16306)\r\n- @jpcarranza94:\r\n  - fix: prevent Tool.define() wrapper accumulation on object-defined tools (#16952)\r\n- @kflansburg:\r\n  - feat: Send x-session-affinity and x-parent-session-id headers (#20744)\r\n- @natewill:\r\n  - fix(core): fix restoring earlier messages in a reverted chain (#20780)\r\n","2026-04-04T18:32:40",{"id":222,"version":223,"summary_zh":224,"released_at":225},297501,"v1.3.13","- Bump opentui version\r\n","2026-04-01T00:44:30",{"id":227,"version":228,"summary_zh":229,"released_at":230},297502,"v1.3.12","## Core\n- Enabled prompt caching and cache token tracking for Google Vertex Anthropic. (@major)\n- Fixed Azure provider options being forwarded correctly after the AI SDK v6 migration.\n\n## TUI\n- Fixed plugin `replace` slots mounting content more than once.\n\n**Thank you to 2 community contributors:**\n- @major:\n  - feat: enable prompt caching and cache token tracking for google-vertex-anthropic (#20266)\n- @github-actions[bot]:\n  - Update VOUCHED list\n","2026-03-31T22:35:25",{"id":232,"version":233,"summary_zh":234,"released_at":235},297503,"v1.3.11","## Core\n\n- Add a dedicated system prompt for Kimi models. (@Yuxin-Dong)\n\n## TUI\n\n- Improve TUI terminal output passthrough so external command output renders more reliably.\n\n## Extensions\n\n- Skip plugins that do not expose a matching server or TUI entrypoint, warn instead of failing, and apply default options from package exports on install.\n- Pin explicit plugin versions during install and block package install scripts from running.\n\n**Thank you to 1 community contributor:**\n- @Yuxin-Dong:\n  - feat: add a dedicated system prompt for Kimi models (#20259)\n","2026-03-31T19:56:06",{"id":237,"version":238,"summary_zh":239,"released_at":240},297504,"v1.3.10","## Core\n- Subagent tool calls stay clickable while they are pending.\n- Improved storage migration reliability so malformed legacy records or failed migrations do not corrupt upgraded state.\n\n## TUI\n- Improved muted text contrast in the Catppuccin themes.\n","2026-03-31T13:32:02",{"id":242,"version":243,"summary_zh":244,"released_at":245},297505,"v1.3.9","## Core\n\n- Fixed plugin entrypoint resolution for paths without leading dot\n","2026-03-30T23:44:21",{"id":247,"version":248,"summary_zh":249,"released_at":250},297506,"v1.3.8","No notable changes","2026-03-30T21:35:34",{"id":252,"version":253,"summary_zh":254,"released_at":255},297507,"v1.3.7","## Core\n\n- Added first-class PowerShell support on Windows\n- Plugin installs now preserve JSONC comments in configuration files\n- Fixed `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` not being respected for project-level CLAUDE.md\n\n## TUI\n\n- Improved variant modal behavior to be less intrusive\n- Added theme colors for dialog textarea placeholders\n\n**Thank you to 2 community contributors:**\n- @KnutZuidema:\n  - fix: discourage _noop tool call during LiteLLM compaction (#18539)\n- @yejiming:\n  - docs: rename patch tool to apply_patch and clarify apply_patch behavior (#19979)\n","2026-03-30T06:06:44",{"id":257,"version":258,"summary_zh":259,"released_at":260},297508,"v1.3.6","# Unreleased Changes\n\n## TUI\n\n- PR #19917: Fixed variant dialog search so typing now properly filters the list of variants\n\n## Desktop\n\n## Core\n\n- PR #19758: Fixed token usage double-counting for Anthropic and Amazon Bedrock providers that caused inflated token counts in session metrics\n","2026-03-29T18:02:43",{"id":262,"version":263,"summary_zh":264,"released_at":265},297509,"v1.3.5","## Core\r\n- Fix plugin hooks to properly handle async operations\r\n- Adjust GPT prompt to be more minimal and fix file reference annoyances","2026-03-29T03:43:15"]