[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-code-yeongyu--oh-my-openagent":3,"tool-code-yeongyu--oh-my-openagent":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":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":23,"env_os":106,"env_gpu":106,"env_ram":106,"env_deps":107,"category_tags":112,"github_topics":113,"view_count":130,"oss_zip_url":131,"oss_zip_packed_at":131,"status":16,"created_at":132,"updated_at":133,"faqs":134,"releases":164},2179,"code-yeongyu\u002Foh-my-openagent","oh-my-openagent","omo; the best agent harness - previously oh-my-opencode","oh-my-openagent（简称 omo）是一款强大的开源智能体编排框架，前身名为 oh-my-opencode。它致力于打破单一模型供应商的生态壁垒，解决开发者在构建 AI 应用时面临的“厂商锁定”难题。不同于仅依赖特定模型的封闭方案，omo 倡导开放市场理念，支持灵活调度多种主流大模型：利用 Claude、Kimi 或 GLM 进行任务编排，调用 GPT 处理复杂推理，借助 Minimax 提升响应速度，或发挥 Gemini 的创意优势。\n\n这款工具特别适合希望摆脱平台限制、追求极致性能与成本平衡的开发者及研究人员使用。通过统一接口，用户可以轻松组合不同模型的长处，构建更高效、更具适应性的智能体系统。其独特的技术亮点在于“全模型兼容”架构，让用户不再受制于某一家公司的策略变动或定价调整，真正实现对前沿模型资源的自由驾驭。无论是构建自动化编码助手，还是开发多步骤任务处理流程，oh-my-openagent 都能提供灵活且稳健的基础设施支持，助力用户在快速演进的 AI 生态中保持技术主动权。","> [!TIP]\n> **Building in Public**\n>\n> The maintainer builds and maintains oh-my-opencode in real-time with Jobdori, an AI assistant built on a heavily customized fork of OpenClaw.\n> Every feature, every fix, every issue triage — live in our Discord.\n>\n> [![Building in Public](.\u002F.github\u002Fassets\u002Fbuilding-in-public.png)](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk)\n>\n> [**→ Watch it happen in #building-in-public**](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk)\n\n> [!NOTE]\n>\n> [![Sisyphus Labs - Sisyphus is the agent that codes like your team.](.\u002F.github\u002Fassets\u002Fsisyphuslabs.png?v=2)](https:\u002F\u002Fsisyphuslabs.ai)\n> > **We're building a fully productized version of Sisyphus to define the future of frontier agents. \u003Cbr \u002F>Join the waitlist [here](https:\u002F\u002Fsisyphuslabs.ai).**\n\n> [!TIP]\n> Be with us!\n>\n> | [\u003Cimg alt=\"Discord link\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square\" width=\"156px\" \u002F>](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk) | Join our [Discord community](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk) to connect with contributors and fellow `oh-my-opencode` users. |\n> | :-----| :----- |\n> | [\u003Cimg alt=\"X link\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow-%40justsisyphus-00CED1?style=flat-square&logo=x&labelColor=black\" width=\"156px\" \u002F>](https:\u002F\u002Fx.com\u002Fjustsisyphus) | News and updates for `oh-my-opencode` used to be posted on my X account. \u003Cbr \u002F> Since it was suspended mistakenly, [@justsisyphus](https:\u002F\u002Fx.com\u002Fjustsisyphus) now posts updates on my behalf. |\n> | [\u003Cimg alt=\"GitHub Follow\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Ffollowers\u002Fcode-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f\" width=\"156px\" \u002F>](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu) | Follow [@code-yeongyu](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu) on GitHub for more projects. |\n\n\u003C!-- \u003CCENTERED SECTION FOR GITHUB DISPLAY> -->\n\n\u003Cdiv align=\"center\">\n\n[![Oh My OpenCode](.\u002F.github\u002Fassets\u002Fhero.jpg)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent#oh-my-opencode)\n\n[![Preview](.\u002F.github\u002Fassets\u002Fomo.png)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent#oh-my-opencode)\n\n\n\u003C\u002Fdiv>\n\n> Anthropic [**blocked OpenCode because of us.**](https:\u002F\u002Fx.com\u002Fthdxr\u002Fstatus\u002F2010149530486911014) **Yes this is true.**\n> They want you locked in. Claude Code's a nice prison, but it's still a prison.\n>\n> We don't do lock-in here. We ride every model. Claude \u002F Kimi \u002F GLM for orchestration. GPT for reasoning. Minimax for speed. Gemini for creativity.\n> The future isn't picking one winner—it's orchestrating them all. Models get cheaper every month. Smarter every month. No single provider will dominate. We're building for that open market, not their walled gardens.\n\n\u003Cdiv align=\"center\">\n\n[![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcode-yeongyu\u002Foh-my-openagent?color=369eff&labelColor=black&logo=github&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Freleases)\n[![npm downloads](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fohmyopenagent.com%2Fapi%2Fnpm-downloads&style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Foh-my-opencode)\n[![GitHub Contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fcode-yeongyu\u002Foh-my-openagent?color=c4f042&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fgraphs\u002Fcontributors)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fcode-yeongyu\u002Foh-my-openagent?color=8ae8ff&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fnetwork\u002Fmembers)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fcode-yeongyu\u002Foh-my-openagent?color=ffcb47&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fstargazers)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcode-yeongyu\u002Foh-my-openagent?color=ff80eb&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-SUL--1.0-white?labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fblob\u002Fdev\u002FLICENSE.md)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fcode-yeongyu\u002Foh-my-openagent)\n\n[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)\n\n\u003C\u002Fdiv>\n\n\u003C!-- \u003C\u002FCENTERED SECTION FOR GITHUB DISPLAY> -->\n\n## Reviews\n\n> \"It made me cancel my Cursor subscription. Unbelievable things are happening in the open source community.\" - [Arthur Guiot](https:\u002F\u002Fx.com\u002Farthur_guiot\u002Fstatus\u002F2008736347092382053?s=20)\n\n> \"If Claude Code does in 7 days what a human does in 3 months, Sisyphus does it in 1 hour. It just works until the task is done. It is a discipline agent.\" \u003Cbr\u002F>- B, Quant Researcher\n\n> \"Knocked out 8000 eslint warnings with Oh My Opencode, just in a day\" \u003Cbr\u002F>- [Jacob Ferrari](https:\u002F\u002Fx.com\u002Fjacobferrari_\u002Fstatus\u002F2003258761952289061)\n\n> \"I converted a 45k line tauri app into a SaaS web app overnight using Ohmyopencode and ralph loop. Started with interview me prompt, asked it for ratings and recommendations on the questions. It was amazing to watch it work and to wake up this morning to a mostly working website!\" - [James Hargis](https:\u002F\u002Fx.com\u002Fhargabyte\u002Fstatus\u002F2007299688261882202)\n\n> \"use oh-my-opencode, you will never go back\" \u003Cbr\u002F>- [d0t3ch](https:\u002F\u002Fx.com\u002Fd0t3ch\u002Fstatus\u002F2001685618200580503)\n\n> \"I haven't really been able to articulate exactly what makes it so great yet, but the development experience has reached a completely different dimension.\" - [\n苔硯:こけすずり](https:\u002F\u002Fx.com\u002Fkokesuzuri\u002Fstatus\u002F2008532913961529372?s=20)\n\n> \"Experimenting with open code, oh my opencode and supermemory this weekend to build some minecraft\u002Fsouls-like abomination.\"\n> \"Asking it to add crouch animations while I go take my post-lunch walk. [Video]\" - [MagiMetal](https:\u002F\u002Fx.com\u002FMagiMetal\u002Fstatus\u002F2005374704178373023)\n\n> \"You guys should pull this into core and recruit him. Seriously. It's really, really, really good.\" \u003Cbr\u002F>- Henning Kilset\n\n> \"Hire @yeon_gyu_kim if you can convince him, this dude has revolutionized opencode.\" \u003Cbr\u002F>- [mysticaltech](https:\u002F\u002Fx.com\u002Fmysticaltech\u002Fstatus\u002F2001858758608376079)\n\n> \"Oh My OpenCode Is Actually Insane\" - [YouTube - Darren Builds AI](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=G_Snfh2M41M)\n\n---\n\n# Oh My OpenCode\n\nYou're juggling Claude Code, Codex, random OSS models. Configuring workflows. Debugging agents.\n\nWe did the work. Tested everything. Kept what actually shipped.\n\nInstall OmO. Type `ultrawork`. Done.\n\n\n## Installation\n\n### For Humans\n\nCopy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):\n\n```\nInstall and configure oh-my-opencode by following the instructions here:\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\nOr read the [Installation Guide](docs\u002Fguide\u002Finstallation.md), but seriously, let an agent do it. Humans fat-finger configs.\n\n### For LLM Agents\n\nFetch the installation guide and follow it:\n\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\n**Note**: Use the published package and binary name `oh-my-opencode`. Inside `opencode.json`, the compatibility layer now prefers the plugin entry `oh-my-openagent`, while legacy `oh-my-opencode` entries still load with a warning. Plugin config files still commonly use `oh-my-opencode.json` or `oh-my-opencode.jsonc`, and both legacy and renamed basenames are recognized during the transition.\n\n---\n\n## Skip This README\n\nWe're past the era of reading docs. Just paste this into your agent:\n\n```\nRead this and tell me why it's not just another boilerplate: https:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002FREADME.md\n```\n\n## Highlights\n\n### 🪄 `ultrawork`\n\nYou're actually reading this? Wild.\n\nInstall. Type `ultrawork` (or `ulw`). Done.\n\nEverything below, every feature, every optimization, you don't need to know it. It just works.\n\nEven only with following subscriptions, ultrawork will work well (this project is not affiliated, this is just personal recommendation):\n- [ChatGPT Subscription ($20)](https:\u002F\u002Fchatgpt.com\u002F)\n- [Kimi Code Subscription ($0.99) (*only this month)](https:\u002F\u002Fwww.kimi.com\u002Fkimiplus\u002Fsale)\n- [GLM Coding Plan ($10)](https:\u002F\u002Fz.ai\u002Fsubscribe)\n- If you are eligible for pay-per-token, using kimi and gemini models won't cost you that much.\n\n|       | Feature                                                  | What it does                                                                                                                                                                                                     |\n| :---: | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|   🤖   | **Discipline Agents**                                    | Sisyphus orchestrates Hephaestus, Oracle, Librarian, Explore. A full AI dev team in parallel.                                                                                                                    |\n|   ⚡   | **`ultrawork` \u002F `ulw`**                                  | One word. Every agent activates. Doesn't stop until done.                                                                                                                                                        |\n|   🚪   | **[IntentGate](https:\u002F\u002Ffactory.ai\u002Fnews\u002Fterminal-bench)** | Analyzes true user intent before classifying or acting. No more literal misinterpretations.                                                                                                                      |\n|   🔗   | **Hash-Anchored Edit Tool**                              | `LINE#ID` content hash validates every change. Zero stale-line errors. Inspired by [oh-my-pi](https:\u002F\u002Fgithub.com\u002Fcan1357\u002Foh-my-pi). [The Harness Problem →](https:\u002F\u002Fblog.can.ac\u002F2026\u002F02\u002F12\u002Fthe-harness-problem\u002F) |\n|   🛠️   | **LSP + AST-Grep**                                       | Workspace rename, pre-build diagnostics, AST-aware rewrites. IDE precision for agents.                                                                                                                           |\n|   🧠   | **Background Agents**                                    | Fire 5+ specialists in parallel. Context stays lean. Results when ready.                                                                                                                                         |\n|   📚   | **Built-in MCPs**                                        | Exa (web search), Context7 (official docs), Grep.app (GitHub search). Always on.                                                                                                                                 |\n|   🔁   | **Ralph Loop \u002F `\u002Fulw-loop`**                             | Self-referential loop. Doesn't stop until 100% done.                                                                                                                                                             |\n|   ✅   | **Todo Enforcer**                                        | Agent goes idle? System yanks it back. Your task gets done, period.                                                                                                                                              |\n|   💬   | **Comment Checker**                                      | No AI slop in comments. Code reads like a senior wrote it.                                                                                                                                                       |\n|   🖥️   | **Tmux Integration**                                     | Full interactive terminal. REPLs, debuggers, TUIs. All live.                                                                                                                                                     |\n|   🔌   | **Claude Code Compatible**                               | Your hooks, commands, skills, MCPs, and plugins? All work here.                                                                                                                                                  |\n|   🎯   | **Skill-Embedded MCPs**                                  | Skills carry their own MCP servers. No context bloat.                                                                                                                                                            |\n|   📋   | **Prometheus Planner**                                   | Interview-mode strategic planning before any execution.                                                                                                                                                          |\n|   🔍   | **`\u002Finit-deep`**                                         | Auto-generates hierarchical `AGENTS.md` files throughout your project. Great for both token efficiency and your agent's performance                                                                              |\n\n### Discipline Agents\n\n\u003Ctable>\u003Ctr>\n\u003Ctd align=\"center\">\u003Cimg src=\".github\u002Fassets\u002Fsisyphus.png\" height=\"300\" \u002F>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\".github\u002Fassets\u002Fhephaestus.png\" height=\"300\" \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable>\n\n**Sisyphus** (`claude-opus-4-6` \u002F **`kimi-k2.5`** \u002F **`glm-5`** ) is your main orchestrator. He plans, delegates to specialists, and drives tasks to completion with aggressive parallel execution. He does not stop halfway.\n\n**Hephaestus** (`gpt-5.4`) is your autonomous deep worker. Give him a goal, not a recipe. He explores the codebase, researches patterns, and executes end-to-end without hand-holding. *The Legitimate Craftsman.*\n\n**Prometheus** (`claude-opus-4-6` \u002F **`kimi-k2.5`** \u002F **`glm-5`** ) is your strategic planner. Interview mode: it questions, identifies scope, and builds a detailed plan before a single line of code is touched.\n\nEvery agent is tuned to its model's specific strengths. No manual model-juggling. [Learn more →](docs\u002Fguide\u002Foverview.md)\n\n> Anthropic [blocked OpenCode because of us.](https:\u002F\u002Fx.com\u002Fthdxr\u002Fstatus\u002F2010149530486911014) That's why Hephaestus is called \"The Legitimate Craftsman.\" The irony is intentional.\n>\n> We run best on Opus, but Kimi K2.5 + GPT-5.4 already beats vanilla Claude Code. Zero config needed.\n\n### Agent Orchestration\n\nWhen Sisyphus delegates to a subagent, it doesn't pick a model. It picks a **category**. The category maps automatically to the right model:\n\n| Category             | What it's for                      |\n| :------------------- | :--------------------------------- |\n| `visual-engineering` | Frontend, UI\u002FUX, design            |\n| `deep`               | Autonomous research + execution    |\n| `quick`              | Single-file changes, typos         |\n| `ultrabrain`         | Hard logic, architecture decisions |\n\nAgent says what kind of work. Harness picks the right model. `ultrabrain` now routes to GPT-5.4 xhigh by default. You touch nothing.\n\n### Claude Code Compatibility\n\nYou dialed in your Claude Code setup. Good.\n\nEvery hook, command, skill, MCP, plugin works here unchanged. Full compatibility, including plugins.\n\n### World-Class Tools for Your Agents\n\nLSP, AST-Grep, Tmux, MCP actually integrated, not duct-taped together.\n\n- **LSP**: `lsp_rename`, `lsp_goto_definition`, `lsp_find_references`, `lsp_diagnostics`. IDE precision for every agent\n- **AST-Grep**: Pattern-aware code search and rewriting across 25 languages\n- **Tmux**: Full interactive terminal. REPLs, debuggers, TUI apps. Your agent stays in session\n- **MCP**: Web search, official docs, GitHub code search. All baked in\n\n### Skill-Embedded MCPs\n\nMCP servers eat your context budget. We fixed that.\n\nSkills bring their own MCP servers. Spin up on-demand, scoped to task, gone when done. Context window stays clean.\n\n### Codes Better. Hash-Anchored Edits\n\nThe harness problem is real. Most agent failures aren't the model. It's the edit tool.\n\n> *\"None of these tools give the model a stable, verifiable identifier for the lines it wants to change... They all rely on the model reproducing content it already saw. When it can't - and it often can't - the user blames the model.\"*\n>\n> \u003Cbr\u002F>- [Can Bölük, The Harness Problem](https:\u002F\u002Fblog.can.ac\u002F2026\u002F02\u002F12\u002Fthe-harness-problem\u002F)\n\nInspired by [oh-my-pi](https:\u002F\u002Fgithub.com\u002Fcan1357\u002Foh-my-pi), we implemented **Hashline**. Every line the agent reads comes back tagged with a content hash:\n\n```\n11#VK| function hello() {\n22#XJ|   return \"world\";\n33#MB| }\n```\n\nThe agent edits by referencing those tags. If the file changed since the last read, the hash won't match and the edit is rejected before corruption. No whitespace reproduction. No stale-line errors.\n\nGrok Code Fast 1: **6.7% → 68.3%** success rate. Just from changing the edit tool.\n\n### Deep Initialization. `\u002Finit-deep`\n\nRun `\u002Finit-deep`. It generates hierarchical `AGENTS.md` files:\n\n```\nproject\u002F\n├── AGENTS.md              ← project-wide context\n├── src\u002F\n│   ├── AGENTS.md          ← src-specific context\n│   └── components\u002F\n│       └── AGENTS.md      ← component-specific context\n```\n\nAgents auto-read relevant context. Zero manual management.\n\n### Planning. Prometheus\n\nComplex task? Don't prompt and pray.\n\n`\u002Fstart-work` calls Prometheus. **Interviews you like a real engineer**, identifies scope and ambiguities, builds a verified plan before touching code. Agent knows what it's building before it starts.\n\n### Skills\n\nSkills aren't just prompts. Each brings:\n\n- Domain-tuned system instructions\n- Embedded MCP servers, on-demand\n- Scoped permissions. Agents stay in bounds\n\nBuilt-ins: `playwright` (browser automation), `git-master` (atomic commits, rebase surgery), `frontend-ui-ux` (design-first UI).\n\nAdd your own: `.opencode\u002Fskills\u002F*\u002FSKILL.md` or `~\u002F.config\u002Fopencode\u002Fskills\u002F*\u002FSKILL.md`.\n\n**Want the full feature breakdown?** See the **[Features Documentation](docs\u002Freference\u002Ffeatures.md)** for agents, hooks, tools, MCPs, and everything else in detail.\n\n---\n\n> **New to oh-my-opencode?** Read the **[Overview](docs\u002Fguide\u002Foverview.md)** to understand what you have, or check the **[Orchestration Guide](docs\u002Fguide\u002Forchestration.md)** for how agents collaborate.\n\n## Uninstallation\n\nTo remove oh-my-opencode:\n\n1. **Remove the plugin from your OpenCode config**\n\n   Edit `~\u002F.config\u002Fopencode\u002Fopencode.json` (or `opencode.jsonc`) and remove either `\"oh-my-openagent\"` or the legacy `\"oh-my-opencode\"` entry from the `plugin` array:\n\n   ```bash\n   # Using jq\n   jq '.plugin = [.plugin[] | select(. != \"oh-my-openagent\" and . != \"oh-my-opencode\")]' \\\n       ~\u002F.config\u002Fopencode\u002Fopencode.json > \u002Ftmp\u002Foc.json && \\\n       mv \u002Ftmp\u002Foc.json ~\u002F.config\u002Fopencode\u002Fopencode.json\n   ```\n\n2. **Remove configuration files (optional)**\n\n   ```bash\n   # Remove plugin config files recognized during the compatibility window\n   rm -f ~\u002F.config\u002Fopencode\u002Foh-my-openagent.jsonc ~\u002F.config\u002Fopencode\u002Foh-my-openagent.json \\\n         ~\u002F.config\u002Fopencode\u002Foh-my-opencode.jsonc ~\u002F.config\u002Fopencode\u002Foh-my-opencode.json\n\n   # Remove project config (if exists)\n   rm -f .opencode\u002Foh-my-openagent.jsonc .opencode\u002Foh-my-openagent.json \\\n         .opencode\u002Foh-my-opencode.jsonc .opencode\u002Foh-my-opencode.json\n   ```\n\n3. **Verify removal**\n\n   ```bash\n   opencode --version\n   # Plugin should no longer be loaded\n   ```\n\n## Features\n\nFeatures you'll think should've always existed. Once you use them, you can't go back.\n\nSee full [Features Documentation](docs\u002Freference\u002Ffeatures.md).\n\n**Quick Overview:**\n- **Agents**: Sisyphus (the main agent), Prometheus (planner), Oracle (architecture\u002Fdebugging), Librarian (docs\u002Fcode search), Explore (fast codebase grep), Multimodal Looker\n- **Background Agents**: Run multiple agents in parallel like a real dev team\n- **LSP & AST Tools**: Refactoring, rename, diagnostics, AST-aware code search\n- **Hash-anchored Edit Tool**: `LINE#ID` references validate content before applying every change. Surgical edits, zero stale-line errors\n- **Context Injection**: Auto-inject AGENTS.md, README.md, conditional rules\n- **Claude Code Compatibility**: Full hook system, commands, skills, agents, MCPs\n- **Built-in MCPs**: websearch (Exa), context7 (docs), grep_app (GitHub search)\n- **Session Tools**: List, read, search, and analyze session history\n- **Productivity Features**: Ralph Loop, Todo Enforcer, Comment Checker, Think Mode, and more\n- **Doctor Command**: Built-in diagnostics (`bunx oh-my-opencode doctor`) verify plugin registration, config, models, and environment\n- **Model Fallbacks**: `fallback_models` can mix plain model strings with per-fallback object settings in the same array\n- **File Prompts**: Load prompts from files with `file:\u002F\u002F` support in agent configurations\n- **Session Recovery**: Automatic recovery from session errors, context window limits, and API failures\n- **Model Setup**: Agent-model matching is built into the [Installation Guide](docs\u002Fguide\u002Finstallation.md#step-5-understand-your-model-setup)\n\n## Configuration\n\nOpinionated defaults, adjustable if you insist.\n\nSee [Configuration Documentation](docs\u002Freference\u002Fconfiguration.md).\n\n**Quick Overview:**\n- **Config Locations**: The compatibility layer recognizes both `oh-my-openagent.json[c]` and legacy `oh-my-opencode.json[c]` plugin config files. Existing installs still commonly use the legacy basename.\n- **JSONC Support**: Comments and trailing commas supported\n- **Agents**: Override models, temperatures, prompts, and permissions for any agent\n- **Built-in Skills**: `playwright` (browser automation), `git-master` (atomic commits)\n- **Sisyphus Agent**: Main orchestrator with Prometheus (Planner) and Metis (Plan Consultant)\n- **Background Tasks**: Configure concurrency limits per provider\u002Fmodel\n- **Categories**: Domain-specific task delegation (`visual`, `business-logic`, custom)\n- **Hooks**: 25+ built-in hooks, all configurable via `disabled_hooks`\n- **MCPs**: Built-in websearch (Exa), context7 (docs), grep_app (GitHub search)\n- **LSP**: Full LSP support with refactoring tools\n- **Experimental**: Aggressive truncation, auto-resume, and more\n\n\n## Author's Note\n\n**Want the philosophy?** Read the [Ultrawork Manifesto](docs\u002Fmanifesto.md).\n\n---\n\nI burned through $24K in LLM tokens on personal projects. Tried every tool. Configured everything to death. OpenCode won.\n\nEvery problem I hit, the fix is baked into this plugin. Install and go.\n\nIf OpenCode is Debian\u002FArch, OmO is Ubuntu\u002F[Omarchy](https:\u002F\u002Fomarchy.org\u002F).\n\nHeavy influence from [AmpCode](https:\u002F\u002Fampcode.com) and [Claude Code](https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Foverview). Features ported, often improved. Still building. It's **Open**Code.\n\nOther harnesses promise multi-model orchestration. We ship it. Stability too. And features that actually work.\n\nI'm this project's most obsessive user:\n- Which model has the sharpest logic?\n- Who's the debugging god?\n- Who writes the best prose?\n- Who dominates frontend?\n- Who owns backend?\n- What's fastest for daily driving?\n- What are competitors shipping?\n\nThis plugin is the distillation. Take the best. Got improvements? PRs welcome.\n\n**Stop agonizing over harness choices.**\n**I'll research, steal the best, and ship it here.**\n\nSounds arrogant? Have a better way? Contribute. You're welcome.\n\nNo affiliation with any project\u002Fmodel mentioned. Just personal experimentation.\n\n99% of this project was built with OpenCode. I don't really know TypeScript. **But I personally reviewed and largely rewrote this doc.**\n\n## Loved by professionals at\n\n- [Indent](https:\u002F\u002Findentcorp.com)\n  - Making Spray - influencer marketing solution, vovushop - crossborder commerce platform, vreview - ai commerce review marketing solution\n- [Google](https:\u002F\u002Fgoogle.com)\n- [Microsoft](https:\u002F\u002Fmicrosoft.com)\n- [ELESTYLE](https:\u002F\u002Felestyle.jp)\n  - Making elepay - multi-mobile payment gateway, OneQR - mobile application SaaS for cashless solutions\n\n*Special thanks to [@junhoyeo](https:\u002F\u002Fgithub.com\u002Fjunhoyeo) for this amazing hero image.*\n","> [!TIP]\n> **公开构建**\n>\n> 维护者正在使用 Jobdori（一个基于深度定制的 OpenClaw 分支构建的 AI 助手）实时构建并维护 oh-my-opencode。每一个功能、每一次修复、每一次问题分类——都在我们的 Discord 上直播。\n>\n> [![公开构建](.\u002F.github\u002Fassets\u002Fbuilding-in-public.png)](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk)\n>\n> [**→ 在 #building-in-public 中观看整个过程**](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk)\n\n> [!NOTE]\n>\n> [![Sisyphus Labs - Sisyphus 是像你的团队一样编码的智能体。](.\u002F.github\u002Fassets\u002Fsisyphuslabs.png?v=2)](https:\u002F\u002Fsisyphuslabs.ai)\n> > **我们正在构建 Sisyphus 的完整产品化版本，以定义前沿智能体的未来。\u003Cbr \u002F>请在此处加入候补名单 [这里](https:\u002F\u002Fsisyphuslabs.ai)。**\n\n> [!TIP]\n> 与我们一起！\n>\n> | [\u003Cimg alt=\"Discord 链接\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square\" width=\"156px\" \u002F>](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk) | 加入我们的 [Discord 社区](https:\u002F\u002Fdiscord.gg\u002FPUwSMR9XNk)，与贡献者和 `oh-my-opencode` 的其他用户交流。 |\n> | :-----| :----- |\n> | [\u003Cimg alt=\"X 链接\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow-%40justsisyphus-00CED1?style=flat-square&logo=x&labelColor=black\" width=\"156px\" \u002F>](https:\u002F\u002Fx.com\u002Fjustsisyphus) | 过去，`oh-my-opencode` 的新闻和更新会发布在我的 X 账号上。\u003Cbr \u002F>由于该账号被误封，现在 [@justsisyphus](https:\u002F\u002Fx.com\u002Fjustsisyphus) 代表我发布更新。 |\n> | [\u003Cimg alt=\"GitHub 关注\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Ffollowers\u002Fcode-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f\" width=\"156px\" \u002F>](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu) | 在 GitHub 上关注 [@code-yeongyu](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu)，了解更多项目。 |\n\n\u003C!-- 居中显示的 GitHub 部分 -->\n\n\u003Cdiv align=\"center\">\n\n[![Oh My OpenCode](.\u002F.github\u002Fassets\u002Fhero.jpg)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent#oh-my-opencode)\n\n[![预览](.\u002F.github\u002Fassets\u002Fomo.png)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent#oh-my-opencode)\n\n\n\u003C\u002Fdiv>\n\n> Anthropic [**因为我们的缘故封锁了 OpenCode。**](https:\u002F\u002Fx.com\u002Fthdxr\u002Fstatus\u002F2010149530486911014) **是的，这是真的。**\n> 他们希望你被锁定在他们的生态系统中。Claude Code 看似不错的“监狱”，但终究还是个“监狱”。\n>\n> 我们在这里不搞锁定。我们兼容所有模型：Claude \u002F Kimi \u002F GLM 用于编排；GPT 用于推理；Minimax 用于速度；Gemini 用于创造力。\n> 未来的趋势不是选择单一赢家，而是将它们协同起来。模型每个月都在变得更便宜、更智能。没有任何一家供应商会占据主导地位。我们正在为那个开放市场而努力，而不是他们的封闭花园。\n\n\u003Cdiv align=\"center\">\n\n[![GitHub 发布](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcode-yeongyu\u002Foh-my-openagent?color=369eff&labelColor=black&logo=github&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Freleases)\n[![npm 下载量](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fohmyopenagent.com%2Fapi%2Fnpm-downloads&style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Foh-my-opencode)\n[![GitHub 贡献者](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fcode-yeongyu\u002Foh-my-openagent?color=c4f042&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fgraphs\u002Fcontributors)\n[![GitHub 复刻](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fcode-yeongyu\u002Foh-my-openagent?color=8ae8ff&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fnetwork\u002Fmembers)\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fcode-yeongyu\u002Foh-my-openagent?color=ffcb47&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fstargazers)\n[![GitHub 问题](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcode-yeongyu\u002Foh-my-openagent?color=ff80eb&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-SUL--1.0-white?labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fblob\u002Fdev\u002FLICENSE.md)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fcode-yeongyu\u002Foh-my-openagent)\n\n[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)\n\n\u003C\u002Fdiv>\n\n\u003C!-- 结束居中显示部分 -->\n\n## 评论\n\n> “它让我取消了 Cursor 的订阅。开源社区里正在发生着不可思议的事情。” - [Arthur Guiot](https:\u002F\u002Fx.com\u002Farthur_guiot\u002Fstatus\u002F2008736347092382053?s=20)\n\n> “如果 Claude Code 需要 7 天才能完成一个人类需要 3 个月的工作，那么 Sisyphus 只需 1 小时就能完成。它就是能一直工作，直到任务完成。它是一个纪律严明的智能体。”\u003Cbr\u002F>- B，量化研究员\n\n> “仅用一天时间，我就用 Oh My Opencode 消除了 8000 条 eslint 警告。”\u003Cbr\u002F>- [Jacob Ferrari](https:\u002F\u002Fx.com\u002Fjacobferrari_\u002Fstatus\u002F2003258761952289061)\n\n> “我用 Ohmyopencode 和 ralph loop，在一夜之间将一个 4.5 万行的 tauri 应用程序转换成 SaaS 网站。一开始我给了它一个面试提示，让它对问题进行评分和推荐。看着它一步步完成工作，今天早上醒来发现网站几乎已经可以运行了，真是太神奇了！” - [James Hargis](https:\u002F\u002Fx.com\u002Fhargabyte\u002Fstatus\u002F2007299688261882202)\n\n> “用了 oh-my-opencode 后，你就再也回不去了。”\u003Cbr\u002F>- [d0t3ch](https:\u002F\u002Fx.com\u002Fd0t3ch\u002Fstatus\u002F2001685618200580503)\n\n> “我还没法准确地表达它究竟好在哪里，但开发体验已经提升到了一个全新的维度。” - [\n苔硯:こけすずり](https:\u002F\u002Fx.com\u002Fkokesuzuri\u002Fstatus\u002F2008532913961529372?s=20)\n\n> “这个周末我在尝试用 open code、oh my opencode 和 supermemory 来制作一款 Minecraft\u002F魂系风格的怪异作品。”\n> “我一边出去午饭后散步，一边让它添加下蹲动画。[视频]” - [MagiMetal](https:\u002F\u002Fx.com\u002FMagiMetal\u002Fstatus\u002F2005374704178373023)\n\n> “你们应该把这个核心功能整合进去，并且把他招进来。说真的，这太棒了。”\u003Cbr\u002F>- Henning Kilset\n\n> “如果能说服他，就赶紧雇佣 @yeon_gyu_kim 吧，这家伙彻底革新了 opencode。”\u003Cbr\u002F>- [mysticaltech](https:\u002F\u002Fx.com\u002Fmysticaltech\u002Fstatus\u002F2001858758608376079)\n\n> “Oh My OpenCode 实在太疯狂了。” - [YouTube - Darren Builds AI](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=G_Snfh2M41M)\n\n---\n\n# Oh My OpenCode\n\n你在同时使用 Claude Code、Codex 和各种开源模型，还要配置工作流、调试智能体。\n\n我们已经帮你把这些事情都做好了。经过全面测试，只保留真正可用的功能。\n\n安装 OmO，输入 `ultrawork`，搞定。\n\n\n## 安装\n\n### 对于人类\n\n将以下提示复制并粘贴到你的 LLM 智能体（Claude Code、AmpCode、Cursor 等）中：\n\n```\n按照这里的说明安装并配置 oh-my-opencode：\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\n或者阅读 [安装指南](docs\u002Fguide\u002Finstallation.md)，不过说实话，还是让智能体来做吧。人类手动配置很容易出错。\n\n### 适用于 LLM 代理\n\n获取安装指南并按照步骤操作：\n\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\n**注意**：请使用已发布的包和二进制文件名 `oh-my-opencode`。在 `opencode.json` 中，兼容层现在优先使用插件入口 `oh-my-openagent`，而旧版的 `oh-my-opencode` 入口仍会加载，但会显示警告。插件配置文件通常仍使用 `oh-my-opencode.json` 或 `oh-my-opencode.jsonc`，在过渡期间，旧版和重命名的文件名都会被识别。\n\n---\n\n## 跳过本 README\n\n我们已经进入了无需阅读文档的时代。只需将以下内容粘贴到你的代理中即可：\n\n```\n阅读这段文字，并告诉我为什么它不只是另一个样板项目：https:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002FREADME.md\n```\n\n## 亮点\n\n### 🪄 `ultrawork`\n\n你真的在看这个吗？太不可思议了。\n\n安装后，输入 `ultrawork`（或 `ulw`）即可。搞定。\n\n下面的所有功能、优化，你都不需要了解——它就是能用。\n\n即使只订阅以下服务，ultrawork 也能很好地运行（本项目与这些服务无关，仅为个人推荐）：\n- [ChatGPT 订阅（$20）](https:\u002F\u002Fchatgpt.com\u002F)\n- [Kimi Code 订阅（$0.99，仅限本月）](https:\u002F\u002Fwww.kimi.com\u002Fkimiplus\u002Fsale)\n- [GLM 编码计划（$10）](https:\u002F\u002Fz.ai\u002Fsubscribe)\n- 如果你符合按令牌付费的条件，使用 Kimi 和 Gemini 模型的成本也不会很高。\n\n|       | 特性                                                  | 作用                                                                                                                                                                                                     |\n| :---: | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|   🤖   | **纪律型代理**                                    | 西西弗斯协调赫菲斯托斯、奥拉克尔、图书管理员、探索者。相当于一个完整的 AI 开发团队并行工作。                                                                                                                    |\n|   ⚡   | **`ultrawork` \u002F `ulw`**                                  | 一个词。所有代理都会自动激活，直到任务完成才会停止。                                                                                                                                                        |\n|   🚪   | **[IntentGate](https:\u002F\u002Ffactory.ai\u002Fnews\u002Fterminal-bench)** | 在分类或执行之前分析用户的真实意图。不再出现字面意义上的误解。                                                                                                                      |\n|   🔗   | **哈希锚定编辑工具**                              | `LINE#ID` 内容哈希验证每一次更改。杜绝过时代码错误。灵感来自 [oh-my-pi](https:\u002F\u002Fgithub.com\u002Fcan1357\u002Foh-my-pi)。[Harness 问题 →](https:\u002F\u002Fblog.can.ac\u002F2026\u002F02\u002F12\u002Fthe-harness-problem\u002F) |\n|   🛠️   | **LSP + AST-Grep**                                       | 工作区重命名、预构建诊断、AST 感知的代码重写。为代理提供 IDE 级别的精确度。                                                                                                                           |\n|   🧠   | **后台代理**                                    | 同时启动 5 个以上的专家代理。上下文保持精简，结果会在准备好时返回。                                                                                                                                         |\n|   📚   | **内置 MCP**                                        | Exa（网页搜索）、Context7（官方文档）、Grep.app（GitHub 搜索）。始终可用。                                                                                                                                 |\n|   🔁   | **Ralph 循环 \u002F `\u002Fulw-loop`**                             | 自引用循环。直到 100% 完成才会停止。                                                                                                                                                             |\n|   ✅   | **待办事项强制执行器**                                        | 代理闲置？系统会将其重新唤醒。你的任务一定会完成，就这么简单。                                                                                                                                              |\n|   💬   | **注释检查器**                                      | 注释中没有 AI 生成的垃圾代码。代码读起来就像资深开发者写的那样。                                                                                                                                                       |\n|   🖥️   | **Tmux 集成**                                     | 完整的交互式终端。REPL、调试器、TUI 界面，全部实时可用。                                                                                                                                                     |\n|   🔌   | **Claude Code 兼容**                               | 你的钩子、命令、技能、MCP 和插件？在这里都能正常工作。                                                                                                                                                  |\n|   🎯   | **技能嵌入式 MCP**                                  | 每个技能都自带自己的 MCP 服务器。不会导致上下文膨胀。                                                                                                                                                            |\n|   📋   | **Prometheus 规划器**                                   | 在任何执行之前，以访谈模式进行战略规划。                                                                                                                                                          |\n|   🔍   | **`\u002Finit-deep`**                                         | 自动在整个项目中生成分层的 `AGENTS.md` 文件。这既有助于提高令牌效率，也能提升代理的性能                                                                              |\n\n### 纪律型智能体\n\n\u003Ctable>\u003Ctr>\n\u003Ctd align=\"center\">\u003Cimg src=\".github\u002Fassets\u002Fsisyphus.png\" height=\"300\" \u002F>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\".github\u002Fassets\u002Fhephaestus.png\" height=\"300\" \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable>\n\n**西西弗斯**（`claude-opus-4-6` \u002F **`kimi-k2.5`** \u002F **`glm-5`**）是你的主要协调者。他负责规划、委派给专业智能体，并以积极的并行执行推动任务完成，绝不半途而废。\n\n**赫菲斯托斯**（`gpt-5.4`）是你的自主深度工作者。只需给他一个目标，而非具体步骤。他会自行探索代码库、研究模式，并端到端地执行任务，无需人工干预。*真正的匠人*。\n\n**普罗米修斯**（`claude-opus-4-6` \u002F **`kimi-k2.5`** \u002F **`glm-5`**）是你的战略规划师。在“访谈模式”下，他会提问、明确范围，并在动笔写一行代码之前制定详细的计划。\n\n每个智能体都根据其模型的独特优势进行调优。无需手动切换模型。[了解更多 →](docs\u002Fguide\u002Foverview.md)\n\n> Anthropic 因为我们而封禁了 OpenCode。这就是为什么赫菲斯托斯被称为“真正的匠人”。这种讽刺正是我们有意为之。\n>\n> 我们在 Opus 上表现最佳，但 Kimi K2.5 + GPT-5.4 已经超越了原版 Claude Code，且无需任何配置。\n\n### 智能体编排\n\n当西西弗斯将任务委派给子智能体时，他并不会选择特定的模型，而是选择一个**类别**。该类别会自动映射到合适的模型：\n\n| 类别             | 用途                      |\n| :------------------- | :--------------------------------- |\n| `visual-engineering` | 前端、UI\u002FUX、设计            |\n| `deep`               | 自主研究与执行              |\n| `quick`              | 单文件修改、拼写错误        |\n| `ultrabrain`         | 复杂逻辑、架构决策          |\n\n智能体指定工作类型，框架则自动选择合适的模型。`ultrabrain` 默认路由至 GPT-5.4 xhigh。你无需做任何操作。\n\n### Claude Code 兼容性\n\n你已经完成了 Claude Code 的配置，做得很好。\n\n这里的每一个钩子、命令、技能、MCP 和插件都保持原样运行。完全兼容，包括插件在内。\n\n### 为你的智能体配备世界一流工具\n\nLSP、AST-Grep、Tmux 和 MCP 真正实现了集成，而非简单拼凑。\n\n- **LSP**：`lsp_rename`、`lsp_goto_definition`、`lsp_find_references`、`lsp_diagnostics`。为每个智能体提供 IDE 级别的精准度\n- **AST-Grep**：跨 25 种语言的模式感知代码搜索与重写\n- **Tmux**：完整的交互式终端。REPL、调试器、TUI 应用程序。你的智能体可以持续保持会话状态\n- **MCP**：网络搜索、官方文档、GitHub 代码搜索。全部内置其中\n\n### 技能嵌入式 MCP\n\nMCP 服务器会消耗你的上下文预算。我们已经解决了这个问题。\n\n每个技能都自带 MCP 服务器。按需启动，作用范围限定于当前任务，任务完成后即被销毁。这样可以保持上下文窗口的整洁。\n\n### 更好的代码编辑。基于哈希锚定的编辑\n\n编辑工具的问题确实存在。大多数智能体失败的原因并非模型本身，而是编辑工具。\n\n> *“这些工具都无法为模型提供一个稳定且可验证的标识符，来指明它想要修改的代码行……它们都依赖于模型重新生成它之前见过的内容。而当模型无法做到这一点——这种情况经常发生——用户就会把责任归咎于模型。”*\n>\n> \u003Cbr\u002F>- [Can Bölük，《编辑工具问题》](https:\u002F\u002Fblog.can.ac\u002F2026\u002F02\u002F12\u002Fthe-harness-problem\u002F)\n\n受 [oh-my-pi](https:\u002F\u002Fgithub.com\u002Fcan1357\u002Foh-my-pi) 启发，我们实现了 **Hashline**。智能体读取的每一行都会附带内容哈希标签：\n\n```\n11#VK| function hello() {\n22#XJ|   return \"world\";\n33#MB| }\n```\n\n智能体通过引用这些标签来进行编辑。如果文件自上次读取以来发生了变化，哈希值将不匹配，编辑请求会被拒绝，从而避免代码损坏。无需重现空格，也不会出现过时行错误。\n\n快速掌握代码 1：仅凭更换编辑工具，成功率就从 6.7% 提升至 68.3%。\n\n### 深度初始化。`\u002Finit-deep`\n\n运行 `\u002Finit-deep`。它会生成分层的 `AGENTS.md` 文件：\n\n```\nproject\u002F\n├── AGENTS.md              ← 项目级上下文\n├── src\u002F\n│   ├── AGENTS.md          ← src 目录级上下文\n│   └── components\u002F\n│       └── AGENTS.md      ← 组件级上下文\n```\n\n智能体会自动读取相关上下文。无需手动管理。\n\n### 规划。普罗米修斯\n\n面对复杂任务？不要随意提示并寄希望于运气。\n\n使用 `\u002Fstart-work` 调用普罗米修斯。**他会像真正的工程师一样与你对话**，明确范围和模糊之处，制定经过验证的计划，然后再开始编写代码。智能体在动手之前就知道自己要构建什么。\n\n### 技能\n\n技能不仅仅是简单的提示。每个技能都包含：\n\n- 针对特定领域的系统指令\n- 内置的按需 MCP 服务器\n- 作用范围受限的权限。确保智能体不会越界\n\n内置技能：`playwright`（浏览器自动化）、`git-master`（原子提交、变基手术）、`frontend-ui-ux`（以设计为导向的 UI）。\n\n你也可以添加自己的技能：`.opencode\u002Fskills\u002F*\u002FSKILL.md` 或 `~\u002F.config\u002Fopencode\u002Fskills\u002F*\u002FSKILL.md`。\n\n**想了解完整的功能列表吗？**请参阅 **[功能文档](docs\u002Freference\u002Ffeatures.md)**，其中详细介绍了智能体、钩子、工具、MCP 等所有内容。\n\n---\n\n> **初次使用 oh-my-opencode？**请阅读 **[概述](docs\u002Fguide\u002Foverview.md)**，了解你所拥有的功能；或者查看 **[编排指南](docs\u002Fguide\u002Forchestration.md)**，了解智能体如何协作。\n\n## 卸载\n\n要卸载 oh-my-opencode：\n\n1. **从你的 OpenCode 配置中移除插件**\n\n   编辑 `~\u002F.config\u002Fopencode\u002Fopencode.json`（或 `opencode.jsonc`），从 `plugin` 数组中移除 `\"oh-my-openagent\"` 或旧版的 `\"oh-my-opencode\"` 条目：\n\n   ```bash\n   # 使用 jq\n   jq '.plugin = [.plugin[] | select(. != \"oh-my-openagent\" and . != \"oh-my-opencode\")]' \\\n       ~\u002F.config\u002Fopencode\u002Fopencode.json > \u002Ftmp\u002Foc.json && \\\n       mv \u002Ftmp\u002Foc.json ~\u002F.config\u002Fopencode\u002Fopencode.json\n   ```\n\n2. **移除配置文件（可选）**\n\n   ```bash\n   # 移除兼容期内识别的插件配置文件\n   rm -f ~\u002F.config\u002Fopencode\u002Foh-my-openagent.jsonc ~\u002F.config\u002Fopencode\u002Foh-my-openagent.json \\\n         ~\u002F.config\u002Fopencode\u002Foh-my-opencode.jsonc ~\u002F.config\u002Fopencode\u002Foh-my-opencode.json\n\n   # 移除项目级配置（如果存在）\n   rm -f .opencode\u002Foh-my-openagent.jsonc .opencode\u002Foh-my-openagent.json \\\n         .opencode\u002Foh-my-opencode.jsonc .opencode\u002Foh-my-opencode.json\n   ```\n\n3. **验证是否已移除**\n\n   ```bash\n   opencode --version\n   # 插件不应再被加载\n   ```\n\n## 功能特性\n\n这些功能会让你觉得它们本就该存在。一旦使用，你就再也回不去了。\n\n查看完整的[功能文档](docs\u002Freference\u002Ffeatures.md)。\n\n**快速概览：**\n- **代理**：西西弗斯（主代理）、普罗米修斯（规划者）、奥拉克尔（架构\u002F调试）、图书管理员（文档\u002F代码搜索）、探索者（快速代码库 grep）、多模态观察者\n- **后台代理**：像真正的开发团队一样并行运行多个代理\n- **LSP & AST 工具**：重构、重命名、诊断、AST 感知的代码搜索\n- **哈希锚定编辑工具**：`LINE#ID` 引用会在应用每次更改之前验证内容。实现精准编辑，零过时行错误\n- **上下文注入**：自动注入 AGENTS.md、README.md 和条件规则\n- **Claude Code 兼容性**：完整钩子系统、命令、技能、代理和 MCP\n- **内置 MCP**：网络搜索（Exa）、context7（文档）、grep_app（GitHub 搜索）\n- **会话工具**：列出、阅读、搜索和分析会话历史\n- **生产力功能**：拉尔夫循环、待办事项强制执行、注释检查器、思考模式等\n- **Doctor 命令**：内置诊断程序（`bunx oh-my-opencode doctor`）可验证插件注册、配置、模型和环境\n- **模型回退**：`fallback_models` 可以在同一数组中混合普通模型字符串和每个回退的设置对象\n- **文件提示**：通过代理配置中的 `file:\u002F\u002F` 支持从文件加载提示\n- **会话恢复**：自动从会话错误、上下文窗口限制和 API 失败中恢复\n- **模型设置**：代理与模型的匹配已内置于[安装指南](docs\u002Fguide\u002Finstallation.md#step-5-understand-your-model-setup)中\n\n## 配置\n\n有观点的默认设置，如果你坚持的话也可以调整。\n\n请参阅[配置文档](docs\u002Freference\u002Fconfiguration.md)。\n\n**快速概览：**\n- **配置位置**：兼容层同时识别 `oh-my-openagent.json[c]` 和旧版 `oh-my-opencode.json[c]` 插件配置文件。现有安装通常仍使用旧版文件名。\n- **JSONC 支持**：支持注释和尾随逗号\n- **代理**：可为任何代理覆盖模型、温度、提示和权限\n- **内置技能**：`playwright`（浏览器自动化）、`git-master`（原子提交）\n- **西西弗斯代理**：主协调器，配备普罗米修斯（规划者）和墨提斯（计划顾问）\n- **后台任务**：可按提供商\u002F模型配置并发限制\n- **类别**：领域特定的任务委派（视觉、业务逻辑、自定义）\n- **钩子**：25+ 个内置钩子，均可通过 `disabled_hooks` 进行配置\n- **MCP**：内置网络搜索（Exa）、context7（文档）、grep_app（GitHub 搜索）\n- **LSP**：全面支持 LSP，并提供重构工具\n- **实验性功能**：激进截断、自动恢复等\n\n\n## 作者注\n\n**想了解哲学理念吗？** 请阅读[超工作宣言](docs\u002Fmanifesto.md)。\n\n---\n\n我在个人项目上烧掉了 2.4 万美元的 LLM token。试遍了所有工具，把所有东西都调到了极限。最终胜出的是 OpenCode。\n\n我遇到的每一个问题，解决方案都已内置于这个插件中。安装后即可使用。\n\n如果 OpenCode 是 Debian\u002FArch，那么 OmO 就是 Ubuntu\u002F[Omarchy](https:\u002F\u002Fomarchy.org\u002F)。\n\n深受 [AmpCode](https:\u002F\u002Fampcode.com) 和 [Claude Code](https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Foverview) 的影响。许多功能被移植过来，且往往有所改进。我们仍在持续构建中。这就是 **Open**Code。\n\n其他框架承诺多模型编排，而我们直接交付。稳定性同样出色，而且功能真正实用。\n\n我是这个项目的最狂热用户：\n- 哪个模型的逻辑最敏锐？\n- 谁是调试之神？\n- 谁写得最好？\n- 谁在前端领域占主导地位？\n- 谁是后端专家？\n- 日常使用哪个模型最快？\n- 竞争对手都在推出什么？\n\n这个插件就是精华的提炼。取其精华。如果有改进意见，欢迎提交 PR。\n\n**别再为选择框架而纠结了。**\n**我会研究、借鉴最佳方案，并将其整合到这里。**\n\n听起来很自负？有更好的办法吗？那就贡献出来吧。我们非常欢迎。\n\n与文中提到的任何项目或模型均无关联，纯属个人实验。\n\n该项目的 99% 都是用 OpenCode 构建的。我其实不太懂 TypeScript。**但这份文档是我亲自审阅并大幅改写的。**\n\n## 受到以下专业人士的喜爱：\n\n- [Indent](https:\u002F\u002Findentcorp.com)\n  - 开发 Spray - 影响力营销解决方案、vovushop - 跨境电商平台、vreview - AI 商业评论营销解决方案\n- [Google](https:\u002F\u002Fgoogle.com)\n- [Microsoft](https:\u002F\u002Fmicrosoft.com)\n- [ELESTYLE](https:\u002F\u002Felestyle.jp)\n  - 开发 elepay - 多移动支付网关、OneQR - 用于无现金解决方案的移动应用 SaaS\n\n*特别感谢 [@junhoyeo](https:\u002F\u002Fgithub.com\u002Fjunhoyeo) 提供的这张精彩海报图片。*","# oh-my-openagent 快速上手指南\n\noh-my-openagent（简称 OmO）是一个强大的开源 AI 代理编排工具，旨在打破单一模型的限制，通过协调多个主流模型（如 Claude、Kimi、GLM、GPT 等）来实现高效的自动化开发。其核心特性 `ultrawork` 可一键激活全套代理团队，自动完成任务直至结束。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：支持 macOS、Linux 或 Windows (WSL2 推荐)。\n*   **前置依赖**：\n    *   已安装 **Node.js** (建议 v18 或更高版本)。\n    *   已安装 **Git**。\n    *   拥有至少一个主流大模型的 API Key 或订阅账号（项目推荐组合：ChatGPT + Kimi + GLM，以获得最佳性价比和效果）。\n*   **终端环境**：建议使用支持 Tmux 的终端模拟器，以获得完整的交互式体验。\n\n> **提示**：本项目不强制绑定特定服务商，支持灵活配置多个模型提供商以实现“编排”而非“锁定”。\n\n## 安装步骤\n\n你可以通过让现有的 AI 编程助手（如 Cursor、Claude Code、AmpCode 等）自动完成安装，也可以手动执行。\n\n### 方式一：让 AI 代理自动安装（推荐）\n\n如果你正在使用其他 AI 编程工具，直接复制以下指令发送给它们，它们会自动读取官方文档并完成配置：\n\n```text\nInstall and configure oh-my-opencode by following the instructions here:\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\n### 方式二：手动安装\n\n若需手动操作，请先获取安装指南脚本：\n\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Frefs\u002Fheads\u002Fdev\u002Fdocs\u002Fguide\u002Finstallation.md\n```\n\n按照文档指引完成二进制文件或 npm 包的安装。\n\n**注意**：\n*   发布的包名和二进制名称为 `oh-my-opencode`。\n*   在 `opencode.json` 配置文件中，插件入口推荐使用 `oh-my-openagent`，但为了兼容旧版本，`oh-my-opencode` 依然有效（会显示警告）。\n*   配置文件通常命名为 `oh-my-opencode.json` 或 `oh-my-opencode.jsonc`。\n\n## 基本使用\n\n安装完成后，无需记忆复杂的命令或配置工作流。OmO 的核心设计理念是“极简主义”。\n\n### 启动全能模式\n\n在终端中进入你的项目目录，只需输入以下命令即可启动全套代理团队：\n\n```bash\nultrawork\n```\n\n或者使用简写：\n\n```bash\nulw\n```\n\n**发生了什么？**\n执行该命令后，系统将自动激活包括 Sisyphus（总控）、Hephaestus（构建）、Oracle（分析）、Librarian（文档）和 Explore（探索）在内的多个专业代理。它们将并行工作，直到任务完全完成。\n\n### 典型工作流示例\n\n假设你需要修复一个复杂的 Bug 或重构模块：\n\n1.  在终端运行 `ulw`。\n2.  输入你的自然语言需求（例如：“重构用户认证模块，增加 OAuth2 支持并修复现有的会话泄露问题”）。\n3.  系统会自动分析意图（IntentGate），调用后台多个专家代理并行处理。\n4.  代理会自动进行代码搜索、AST 分析、编写代码、运行测试并修复 Lint 警告。\n5.  如果代理中途停滞，\"Todo Enforcer\" 机制会将其唤醒，确保任务不烂尾。\n6.  最终输出可用的代码结果。\n\n### 进阶循环模式\n\n对于需要反复迭代直到完美的大型任务，可以使用 Ralph Loop 模式：\n\n```bash\n\u002Fulw-loop\n```\n\n此模式下，代理会进入自我参照循环，不断检查和完善结果，直到达到 100% 完成度才停止。\n\n---\n*注：本工具强调开放市场策略，建议根据实际需求配置不同模型的 API Key（如使用 Kimi 处理长上下文，GLM 处理快速响应，Claude 处理复杂逻辑），以发挥最大效能。*","某初创团队需要在 48 小时内基于现有代码库开发一个多模型协作的自动化测试系统，以应对紧急上线需求。\n\n### 没有 oh-my-openagent 时\n- **模型锁定严重**：团队被迫绑定单一供应商（如仅用 Claude），一旦遇到 API 限流或特定任务能力不足，整个开发流程即刻停滞。\n- **编排逻辑复杂**：手动编写代码切换不同模型（如用 GPT 做推理、Minimax 做加速）需要大量样板代码，维护成本极高且容易出错。\n- **响应速度迟缓**：无法根据任务类型动态分配最优模型，导致简单任务占用昂贵算力，复杂任务又因模型能力瓶颈而超时。\n- **生态封闭孤立**：难以利用社区实时贡献的新插件或修复方案，遇到问题只能等待官方更新，错失“公开构建”的红利。\n\n### 使用 oh-my-openagent 后\n- **打破厂商围墙**：自由调度 Claude、Kimi、GLM 进行编排，GPT 负责深度推理，Minimax 处理高频请求，彻底摆脱单一依赖风险。\n- **开箱即用的代理 harness**：通过标准化接口一键接入多模型，自动处理路由与上下文管理，将原本数天的集成工作缩短至几小时。\n- **智能成本与性能平衡**：系统自动识别任务特征并分发至最合适的模型，既保证了复杂逻辑的准确性，又大幅降低了整体运行成本。\n- **融入实时共建生态**：直接复用 Discord 社区中其他开发者实时验证过的功能模块，快速解决边缘案例，享受“公开构建”带来的迭代速度。\n\noh-my-openagent 的核心价值在于将分散的顶尖模型能力整合为统一的开放市场，让开发者从“选择模型”的焦虑中解放，专注于“编排智能”本身。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcode-yeongyu_oh-my-openagent_6bc08555.png","code-yeongyu","YeonGyu-Kim","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcode-yeongyu_482d75a9.jpg","Hacker.","@sionic-ai","Seoul","public.kim.yeon.gyu@gmail.com","q_yeon_gyu_kim","code-yeongyu.tistory.com","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu",[86,90,94,98],{"name":87,"color":88,"percentage":89},"TypeScript","#3178c6",95,{"name":91,"color":92,"percentage":93},"HTML","#e34c26",4.7,{"name":95,"color":96,"percentage":97},"Python","#3572A5",0.2,{"name":99,"color":100,"percentage":101},"JavaScript","#f1e05a",0.1,48371,3787,"2026-04-05T11:36:18","NOASSERTION","未说明",{"notes":108,"python":106,"dependencies":109},"该工具是一个基于现有 AI 编码代理（如 Claude Code、Cursor 等）的配置层和增强插件，而非独立的本地模型运行环境。它主要通过命令行工具 `ultrawork` 调用外部 API（如 ChatGPT, Kimi, GLM, Gemini 等）来工作，因此不需要本地 GPU、特定显存或安装 Python 深度学习库。用户需自行配置相关 AI 服务的订阅或 API Key。安装建议直接让 AI 代理执行安装脚本。",[110,111],"oh-my-opencode (核心框架)","MCPs (Exa, Context7, Grep.app)",[52,26,13,14,15],[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"claude-code","opencode","ai","amp","anthropic","claude","claude-skills","cursor","gemini","ide","openai","orchestration","tui","typescript","ai-agents","chatgpt",37,null,"2026-03-27T02:49:30.150509","2026-04-06T02:33:41.618256",[135,140,145,150,155,160],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},10043,"使用 Bun 安装 oh-my-opencode 时出现分段错误（Segmentation Fault）崩溃怎么办？","这是一个已知的 Bun 在 Windows 上的崩溃问题，通常与 Bun 版本或底层代码有关。多个用户报告在 Bun v1.3.5 和 v1.3.6 上遇到此问题。虽然根本原因可能在于 Bun 本身，但可以尝试以下变通方法：\n1. 尝试升级或降级 Bun 版本。\n2. 如果是在 Windows 上，尝试使用 PowerShell 而不是 CMD 运行安装命令。\n3. 作为替代方案，可以使用 `npx` 进行安装，或者等待官方修复 Bun 的该漏洞。","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues\u002F1072",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},10044,"使用 npx 或 bunx 全局安装 oh-my-opencode 失败，提示依赖解析错误或无明确报错退出，如何解决？","安装失败通常由网络问题、损坏的锁文件或 shell 环境引起。以下是经过验证的解决步骤：\n1. **清理损坏的锁文件**：删除 `~\u002F.config\u002Fopencode\u002Fbun.lock` 文件。\n2. **切换 Shell 环境**：如果在 Windows 的 CMD 中失败，请尝试切换到 PowerShell 运行命令。\n3. **显式安装插件**：进入配置目录并手动添加依赖：\n   ```powershell\n   cd ~\u002F.config\u002Fopencode\n   bun install\n   bun add oh-my-opencode\n   ```\n4. **检查网络**：确认网络连接正常，有时切换网络环境可解决依赖解析超时问题。","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues\u002F1294",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},10045,"Oh My OpenCode 是否支持记忆系统（Memory System），有哪些推荐的实现？","社区对记忆系统有需求，但需注意避免冗余。根据用户反馈，以下项目或方案表现良好：\n1. **Memorix**：有用户反馈其运行效果很好。\n2. **Context Mode**：区分通用记忆系统与上下文模式，具体交互方式可参考相关讨论。\n3. 用户也可以参考 `claude-mem` 等其他项目的实现思路，但在 Oh My OpenCode 中集成时需评估其必要性以避免过度复杂化。","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues\u002F74",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},10046,"运行 background_task 后 GitHub Copilot 用量突然激增且日志文件过大，如何调试和解决？","这通常是因为 Agent 陷入了无限循环或过度委托子任务（delegating background_task），导致不断调用 API 直至达到配额限制。\n**解决方案**：\n1. **检查 Agent 配置**：审查 `~\u002F.config\u002Fopencode\u002Foh-my-opencode.json` 中的 Agent 定义，确保没有配置错误的递归任务。\n2. **限制任务范围**：明确指定任务的全局或项目级别范围，避免 Agent 在无终止条件的情况下持续生成后台任务。\n3. **监控日志**：当日志文件迅速增长（如达到 9MB+）时，立即终止进程并分析最后生成的指令，找出导致循环的逻辑。","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues\u002F418",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},10047,"如何配置动态上下文修剪（Dynamic Context Pruning）以优化 Oh My OpenCode 的性能？","为了获得最佳性能，建议结合 `opencode-dynamic-context-pruning` 项目进行配置。关键点包括：\n1. **子代理支持**：确保该修剪机制不仅在主代理运行，也能在子代理（subagents）工作时执行，以防止上下文膨胀。\n2. **文档参考**：查阅 `opencode-dynamic-context-pruning` 的官方文档以获取具体的配置参数。\n3. **避免 Token 浪费**：正确配置后可有效减少无用 Token 的消耗，避免被评价为“无用的 Token 燃烧器”。","https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent\u002Fissues\u002F37",{"id":161,"question_zh":162,"answer_zh":163,"source_url":159},10048,"Oh My OpenCode 相比 Claude Code 或其他编码 Agent 有什么优势？适合什么场景？","Oh My OpenCode 的设计初衷是作为一个免费、无需繁琐配置且开箱即用的通用编码 Agent 框架（插件形式）。\n**主要优势**：\n1. **零成本与易用性**：无需担心费用，配置简单，旨在让用户能立即从其他工具迁移过来。\n2. **解决通用问题**：针对防止过多注释、过度防御性代码等通用编程问题进行了优化。\n3. **高可扩展性**：允许高级用户轻松扩展和自定义。\n**适用场景**：适合希望摆脱特定厂商锁定、寻求免费且灵活解决方案的开发者。如果发现需要切回其他工具，通常是因为特定个人偏好或某些特定功能的缺失。",[165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260],{"id":166,"version":167,"summary_zh":168,"released_at":169},107263,"v3.15.2","## Minor Compatibility and Stability Release\n\nThis release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.\n\n- Rename transition updates across package detection, plugin\u002Fconfig compatibility, and install surfaces.\n- Task and tool behavior updates, including delegate-task contract and runtime registration behavior.\n- Task-system default behavior alignment so omitted configuration behaves consistently across runtime paths.\n\n## Commit Summary\n\n- 90407a97 Merge pull request #3135 from jim80net\u002Ffix\u002Fagent-not-found-fallback\n- f846b3a4 @andrescera has signed the CLA in code-yeongyu\u002Foh-my-openagent#3136\n- cbc06385 Merge pull request #3134 from auyua9\u002Ffix\u002Fsession-info-sqlite-sdk-auyua9\n- 0bb16e51 fix(session-manager): use sdk data in getSessionInfo\n- f8d086de fix: remove overly broad agent+undefined error pattern\n- d7c2b624 fix(config): fall back to legacy path when migration fails and use canonical basename everywhere (#3133)\n- 51508c49 fix: address cubic review — broaden error detection, add test coverage\n- 2ae9a757 @jim80net has signed the CLA in code-yeongyu\u002Foh-my-openagent#3135\n- 9470cbe0 fix: address systems review findings for agent-not-found fallback\n- 4b6dfc90 docs(orchestration): fix deep category model GPT-5.3 Codex -> GPT-5.4\n- 7b7526e2 docs(src): update counts across tools, features, config, cli AGENTS.md\n- 3697809c docs(hooks): update hook inventory to match current 52 hooks\n- 6d666590 docs(src): update hook composition counts in src and plugin AGENTS.md\n- 8dd186f0 docs(AGENTS.md): update root project metadata to match codebase\n- 050502f8 fix(background-agent): retry with fallback agent on Agent not found error\n- a8ab137e fix(test): cache-bust mcp-server-loader import to prevent mock leak\n- 52150fb6 fix(test): use dynamic import in discovery tests to prevent mock.module leak from loader.test.ts\n- c9be5bb5 @auyua9 has signed the CLA in code-yeongyu\u002Foh-my-openagent#3134\n- 33b17519 test(config-dir): align opencode config basename\n- 67d05f54 fix(hephaestus): restore GPT-5.4 prompt test contract\n- 70970637 test(plugin-loader): isolate discovery name derivation\n- 7243bfa4 fix(tool-registry): use interactive bash availability for tool registration\n- 07ccbd20 fix(event): respect tmux integration disabled state in event forwarding\n- c9c7b752 test(tmux): add create-managers test coverage\n- 14bf48a6 fix(tmux): conditionally mark server running and add interactive bash helper\n- 5d065da7 refactor(hephaestus): clarify tool call philosophy for direct tools vs agents\n- a8450d65 fix(test): prevent directory contamination in discovery tests\n- 4b0592c0 fix(test): isolate discovery tests using mock.module to force CI isolation\n- 23582ea9 fix(test): isolate discovery tests from global env var contamination\n- 3517017e refactor(hephaestus): rewrite GPT-5.4 prompt with entropy-reduced XML architecture\n- 852859ed refactor(config-manager): remove legacy config path detection and migration logic\n- 98c2f922 refactor: convert config path constants to getter functions for dynamic OPENCODE_CONFIG_DIR support\n- b14665f1 fix: cache plugin component loading results\n- f22935cb Config-manager: migrate legacy OMO config path\n- 0cbfdec7 fix(model): treat 'bad request' as retryable error for GitHub Copilot fallback (#3130)\n\n**Thank you to 2 community contributors:**\n- @jim80net:\n  - fix(background-agent): retry with fallback agent on Agent not found error\n  - fix: address systems review findings for agent-not-found fallback\n  - fix: address cubic review — broaden error detection, add test coverage\n  - fix: remove overly broad agent+undefined error pattern\n- @auyua9:\n  - fix(session-manager): use sdk data in getSessionInfo\n","2026-04-05T05:50:28",{"id":171,"version":172,"summary_zh":173,"released_at":174},107264,"v3.15.1","## Minor Compatibility and Stability Release\n\nThis release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.\n\n- Rename transition updates across package detection, plugin\u002Fconfig compatibility, and install surfaces.\n- Task and tool behavior updates, including delegate-task contract and runtime registration behavior.\n- Task-system default behavior alignment so omitted configuration behaves consistently across runtime paths.\n- Install and publish workflow hardening, including safer release sequencing and package\u002Finstall fixes.\n\n## Commit Summary\n\n- 130f4ac0 fix: resolve #3124 #3125 #3127 session tools, cache priming, and compaction loop\n- aeb9c97c fix(model): quota errors should STOP not retry\n- d7d3698f test(auto-update): update tests to use canonical package name oh-my-openagent\n- 3df54977 fix(auto-update): use canonical package name oh-my-openagent instead of legacy oh-my-opencode\n- 1b25a85d @Priyanshuthapliyal2005 has signed the CLA in code-yeongyu\u002Foh-my-openagent#3128\n- 9d8d48f0 Merge pull request #2663 from code-yeongyu\u002Ffix\u002Fruntime-fallback-variant-loss\n- f3840a73 Merge pull request #2843 from code-yeongyu\u002Frefactor\u002Fmodel-alias-pattern-matching\n- d7acdfd8 Merge pull request #3062 from code-yeongyu\u002Ffix\u002Fissue-3000\n- 00f73de8 Merge pull request #3063 from code-yeongyu\u002Ffix\u002Fissue-3040\n- 1f13e76d Merge pull request #3065 from code-yeongyu\u002Ffix\u002Fissue-2984-v2\n- a983bf96 test(recovery): localize message-builder module mocks\n- 963b576b test(background-agent): localize cache mock setup\n- 051a3988 test(shared): use unique temp dirs for legacy plugin warning\n- 032f23a4 test(mcp-oauth): remove provider module mock leak\n- f8398dbe fix(delegate-task): restrict task-callable agent modes\n- 5213525a fix(test): narrow execute-http-hook-security mock to shared\u002Flogger to prevent barrel contamination\n- 39f6ab2b ralph-loop: detect oracle VERIFIED tool results\n- f7d2ff75 Fix mock isolation in scope-filtering.test.ts\n- 80c8a793 Add renamed isolated mock test directories (zauc-mocks-*)\n- 2fb1604e Remove isolated mock test directories (_auc-mocks-*)\n- db7dfa12 Fix todo-continuation-enforcer mock isolation\n- 382f9b61 Fix mock isolation in remaining hook tests\n- ffcd34d4 Fix mock target path in claude-code-mcp-loader test\n- 92ba3127 Fix mock isolation in system.test.ts by moving mocks to importFresh\n- 89fd302d Update publish-workflow test for bun test command\n- 1071d4de Pin Bun to 1.3.10 in CI and remove test:ci script\n- 51d2f8b3 fix(tmux-subagent): avoid transcript fetches during idle stability checks\n- 4c3f6c1a fix(background-notification): filter unsupported manager events\n- f9a9a60b fix(background-agent): cache observed output for completion checks\n- a71dd54f fix(test): isolate auto-update-checker mock.module() tests to prevent contamination\n- 8c06c8e2 fix(test): make runner env setup test deterministic\n- 179ad05f fix(test): silence expected oauth logout cli output\n- fb7e3fd9 fix(test): silence expected oauth login cli output\n- b3d69e71 Fix mock.module() CI contamination by isolating tests into separate directories\n- 0c3f8b7b fix(test): isolate sync-package-json test to prevent node:fs mock contamination\n- 0cc263bc fix(test): isolate auto-update-checker hook.test.ts to prevent checker mock leak\n- c91c3e61 fix(test): move auto-slash-command-leak test to isolated subdirectory\n- 8fb22b89 fix(test): restore real executor module in auto-slash-command-leak afterAll\n- eb4060d7 fix(test): narrow mock.module() targets in background-agent tests to prevent barrel corruption\n- 99ae6d91 fix(ci): pin Bun to 1.3.10 to avoid mock.module() barrel export regression in 1.3.11\n- a6e783ad fix(test): improve execute-http-hook-security test isolation\n- 733b5486 fix(config): handle tuple-format plugin entries in opencode.json (fixes #3122)\n- e40d3fb3 fix(session-manager): fall back to file storage on SDK outages\n- 119db367 Merge pull request #3120 from code-yeongyu\u002Ffix\u002Fprepublish-ci-test-isolation\n- 72c8cb8d fix(ci): typecheck script tooling in CI workflow\n- bedf141c fix(ci): include bin tests in CI plan discovery\n- 322a360b Merge pull request #3119 from code-yeongyu\u002Ffix\u002Fprepublish-delegate-sync\n- 5000b189 Merge pull request #3118 from code-yeongyu\u002Ffix\u002Fprepublish-skill-schema\n- dbec902e Merge pull request #3117 from code-yeongyu\u002Ffix\u002Fprepublish-ralph-loop\n- 6edf705e Merge pull request #3116 from code-yeongyu\u002Ffix\u002Fprepublish-hook-recovery\n- 8ca4ff23 Merge pull request #3115 from code-yeongyu\u002Ffix\u002Fprepublish-tmux-lifecycle\n- 527861e2 @dihak has signed the CLA in code-yeongyu\u002Foh-my-openagent#3114\n- 2c081e19 fix(ci): restore isolated Bun test execution for mock.module suites\n- 69c9ad44 test(ralph-loop): add transcript detector coverage\n- 2da5f12c test(ralph-loop): split session completion detector coverage\n- 617abbe8 fix(ralph-loop): remove dead semantic completion fallback\n- 1fae0730 fix(sync): forward delegated model tuning params\n- 5d735372 fix(tmux): unify isolated cleanup across c","2026-04-05T00:55:01",{"id":176,"version":177,"summary_zh":178,"released_at":179},107265,"v3.14.0","- 1c9f4148 fix(publish-ci): sync mock-heavy test isolation with ci.yml\n- 8dd0191e fix(ci): isolate mock-heavy shared tests to prevent cross-file contamination\n- 9daaeedc fix(test): restore shared Bun mocks after suite cleanup\n- 3e13a4cf fix(session-recovery): filter invalid prt_* part IDs from tool_use_id reconstruction\n- 8e65d6cf fix(test): make legacy-plugin-warning tests isolation-safe\n- f419a3a9 fix(test): use Bun.spawnSync in command discovery test to avoid execFileSync mock leakage\n- 1c54fdad feat(compat): package rename compatibility layer for oh-my-opencode → oh-my-openagent\n- d39891fc docs: update hephaestus default model references from gpt-5.3-codex to gpt-5.4\n- d57ed973 feat(hephaestus): upgrade default model from gpt-5.3-codex to gpt-5.4\n- 6a510c01 @kuitos has signed the CLA in code-yeongyu\u002Foh-my-openagent#2833\n- b34eab38 fix(test): isolate model-capabilities from local provider cache\n- 4efc1813 fix(ci): resolve all test failures + complete rename compat layer\n- e86edca6 feat(doctor): warn on legacy package name + add example configs\n- a8ec9274 fix(model-resolution): honor user config overrides on cold cache\n- dd85d145 fix(model-requirements): align fallback models with available provider catalogs\n- 682eead6 Merge pull request #2845 from code-yeongyu\u002Ffix\u002Fpath-discovery-parity-followup\n- 42f53861 fix(tests): drop duplicate tilde config regression\n- 5bc019eb fix(skills): remove duplicate homedir import\n- 097e2be7 fix(slashcommand): discover nested opencode commands with slash names\n- c637d779 fix(commands): discover ancestor opencode project commands\n- 4c8aacef fix(agents): include .agents skills in agent awareness\n- 8413bc6a fix(skills): expand tilde config source paths\n- 86a62aef fix(skills): discover ancestor project skill directories\n- 961cc788 fix(shared): support opencode directory aliases\n- 19838b78 fix(shared): add bounded project discovery helpers\n- 9d4a8f21 Merge pull request #2844 from code-yeongyu\u002Ffix\u002Fopencode-followup-gaps\n- 7f742723 fix(slashcommand): use slash separator for nested commands\n- b20a34bf fix(slashcommand): discover nested opencode commands\n- 12a43184 fix(commands): load .agents skills into command config\n- e4a5973b fix(agents): include .agents skills in agent awareness\n- 83819a15 fix(shared): stop ancestor discovery at worktree root\n- a391f444 Merge pull request #2842 from code-yeongyu\u002Ffix\u002Fopencode-skill-override-gaps\n- 94b4a4f8 fix(slashcommand): deduplicate opencode command aliases\n- 9fde3708 fix(commands): preserve nearest opencode command precedence\n- b6ee7f09 fix(slashcommand): discover ancestor opencode commands\n- 28bcab06 fix(commands): load opencode command dirs from aliases\n- b5cb50b5 fix(skills): discover ancestor project skill directories\n- 82425008 fix(skills): expand tilde config source paths\n- 6d688ac0 fix(shared): support opencode directory aliases\n- da3e8046 fix(shared): add ancestor project discovery helpers\n- 23df6bd2 Merge pull request #2841 from code-yeongyu\u002Ffix\u002Fmodel-fallback-test-isolation\n- 7895361f fix(tests): resolve 5 cross-file test isolation failures\n- 90919bf3 Merge pull request #2664 from kilhyeonjun\u002Ffix\u002Fanthropic-1m-ga-context-limit\n- 32f2c688 Merge pull request #2707 from MoerAI\u002Ffix\u002Fwindows-symlink-config\n- e6d0484e Merge pull request #2710 from MoerAI\u002Ffix\u002Frate-limit-hang\n- abd62472 Merge pull request #2752 from MoerAI\u002Ffix\u002Fquota-error-fallback-detection\n- b1e09913 Merge pull request #2756 from MoerAI\u002Ffix\u002Fplugin-display-name\n- 09fb364b Merge pull request #2833 from kuitos\u002Ffeat\u002Fagent-order-support\n- d1ff8b1e Merge pull request #2727 from octo-patch\u002Ffeature\u002Fupgrade-minimax-m2.7\n- 6e42b553 Merge origin\u002Fdev into feature\u002Fupgrade-minimax-m2.7 (resolve conflicts)\n- 02ab83f4 Merge pull request #2834 from RaviTharuma\u002Ffeat\u002Fmodel-capabilities-canonical-guardrails\n- ce1bffbc @ventsislav-georgiev has signed the CLA in code-yeongyu\u002Foh-my-openagent#2840\n- 4d4680be @clansty has signed the CLA in code-yeongyu\u002Foh-my-openagent#2839\n- ce877ec0 test(atlas): avoid shared barrel mock pollution\n- ec20a82b fix(model-capabilities): align gemini aliases and alias lookup\n- 5043cc21 fix(model-capabilities): harden canonical alias guardrails\n- 8df3a287 @anas-asghar4831 has signed the CLA in code-yeongyu\u002Foh-my-openagent#2837\n- 087e33d0 Merge pull request #2832 from RaviTharuma\u002Ffix\u002Ftodo-sync-priority-default\n- 46c6e1dc test(todo-sync): match required priority fallback\n- 5befb602 feat(agent-priority): inject order field for deterministic agent Tab cycling\n- 55df2179 fix(todo-sync): preserve missing task priority\n- 76420b36 Merge pull request #2829 from RaviTharuma\u002Ffix\u002Fmodel-capabilities-review-followup\n- a15f6076 feat(model-capabilities): add maintenance guardrails\n- 7c0289d7 fix(model-capabilities): honor root thinking flags\n- 5e9231e2 Merge pull request #2828 from code-yeongyu\u002Ffix\u002Fcontent-based-thinking-gating-v2\n- f04cc0fa fix(thinking-block-validator): replace model-name gating with content-based history detection\n- 613ef8ee fix(model-capabilities): harden runtime ca","2026-03-26T16:04:14",{"id":181,"version":182,"summary_zh":183,"released_at":184},107266,"v3.13.1","- 77424f86 Merge pull request #2816 from code-yeongyu\u002Ffix\u002Fkeep-agent-with-explicit-model\n- 919f7e40 fix(data-path): writable directory fallback for data\u002Fcache paths\n- 78a3e985 fix(mcp-oauth): robust port binding for callback server\n- 42fb2548 fix(agent): always keep agent when model is explicitly configured\n- bff74f42 Merge pull request #2695 from MoerAI\u002Ffix\u002Fprovider-agnostic-fallback\n- 038b8a79 Revert \"Merge pull request #2611 from MoerAI\u002Ffix\u002Fkeep-default-builder-agent\"\n- 0aa8bfe8 Merge pull request #2611 from MoerAI\u002Ffix\u002Fkeep-default-builder-agent\n- 422eaa9a Merge pull request #2753 from MoerAI\u002Ffix\u002Fprometheus-model-override\n- 63ebedc9 Merge pull request #2606 from RaviTharuma\u002Ffix\u002Fclamp-variant-on-non-opus-fallback\n- 11f1d71c fix(prometheus): respect agent model override instead of using global opencode.json model (fixes #2693)\n- 0e610a72 fix(runtime-fallback): make fallback provider selection provider-agnostic (fixes #2303)\n- 71b1f7e8 fix(anthropic-effort): clamp variant against mutable request message\n- 6455b851 fix(config): keep default OpenCode Build agent enabled by default\n- 9346bc83 fix: clamp variant \"max\" to \"high\" for non-Opus Claude models on fallback\n\n**Thank you to 2 community contributors:**\n- @RaviTharuma:\n  - fix: clamp variant \"max\" to \"high\" for non-Opus Claude models on fallback\n  - fix(anthropic-effort): clamp variant against mutable request message\n- @MoerAI:\n  - fix(config): keep default OpenCode Build agent enabled by default\n  - fix(runtime-fallback): make fallback provider selection provider-agnostic (fixes #2303)\n  - fix(prometheus): respect agent model override instead of using global opencode.json model (fixes #2693)\n","2026-03-25T04:04:24",{"id":186,"version":187,"summary_zh":188,"released_at":189},107267,"v3.13.0","- f0b58354 fix(publish): correct repo guard to oh-my-openagent (GitHub renamed repo)\n- 2a495c2e Merge pull request #2813 from code-yeongyu\u002Ffix\u002Ftmux-test-flake-20260325\n- 0edb87b1 test(tmux): remove flaky live env wrapper assertion\n- cca057dc Merge pull request #2812 from code-yeongyu\u002Ffix\u002Fnon-interactive-env-win-bash-prefix\n- e000a3bb fix(non-interactive-env): force unix prefix for bash git commands\n- c19fc4ba Merge pull request #2811 from code-yeongyu\u002Ffix\u002Fpublish-workflow-guard-topology-20260325\n- e0de0685 fix(publish): align repo guard and test topology\n- 26ac413d Merge pull request #2801 from MoerAI\u002Ffix\u002Fnull-byte-sanitization\n- 81c912cf Merge pull request #2800 from MoerAI\u002Ffix\u002Fbackground-task-fallback-chain\n- 9c348db4 Merge pull request #2799 from MoerAI\u002Ffix\u002Funstable-agent-config-override\n- 2993b325 Merge pull request #2796 from guazi04\u002Ffix\u002Fcircuit-breaker-false-positive-upstream\n- 0b77e2de Merge pull request #2810 from code-yeongyu\u002Ffix\u002Fwebfetch-redirect-loop\n- bfa8fa23 Merge pull request #2804 from code-yeongyu\u002Ffix\u002Fb2-hashline-formatter-cache-per-project\n- 6ee680af Merge pull request #2809 from code-yeongyu\u002Ffix\u002F2330-recursive-subagent-spawn\n- d327334d Merge pull request #2808 from code-yeongyu\u002Ffix-gemini-3-pro-cleanup\n- 07d120a7 Merge pull request #2807 from code-yeongyu\u002Ffix\u002Fb4-manager-model-override-1774351606\n- 8b7b1c84 Merge pull request #2806 from code-yeongyu\u002Ffix\u002Fb5-permission-merge-order\n- a1786f46 Merge pull request #2805 from code-yeongyu\u002Ffix\u002Fb3-config-filename-precedence\n- da77d8ad Merge pull request #2802 from code-yeongyu\u002Ffix\u002Fb1-preemptive-compaction-epoch-guard\n- 971912e0 fix(webfetch): avoid rewriting successful redirect content\n- af301ab2 fix(webfetch): guard redirect loops in built-in flow\n- 98446447 fix(task): preserve restricted agent tools in sync continuation\n- 535ecee3 fix(models): remove stale Gemini 3 Pro references\n- 32035d15 fix(config): prefer canonical plugin config filenames\n- a0649616 fix(todo-continuation-enforcer): acknowledge compaction epochs during idle\n- cb12b286 fix(todo-continuation-enforcer): arm compaction epochs on compaction\n- 8e239e13 fix(todo-continuation-enforcer): make compaction guard epoch-aware\n- 733676f1 fix(todo-continuation-enforcer): add compaction epoch state\n- d2e566ba fix(preemptive-compaction): mock session history in degradation test\n- 6da4d2da fix(hashline-edit): scope formatter cache by directory\n- 3b411919 fix(background-agent): honor explicit model override in manager\n- 0b614b75 fix(permissions): preserve explicit deny over OmO defaults\n- c56a01c1 fix(tool-execute-before): strip null bytes from bash commands to prevent crash (fixes #2220)\n- d2d48fc9 fix(background-task): register fallback chain for background sessions (fixes #2203)\n- 41a43c62 fix(category-resolver): respect is_unstable_agent config override (fixes #2061)\n- cea8769a Merge pull request #2798 from code-yeongyu\u002Ffix\u002F2353-model-selection-v2\n- 7fa2417c fix(plugin): persist selected model only for main session\n- 4bba924d Revert \"Merge pull request #2797 from code-yeongyu\u002Ffix\u002F2353-model-selection-persistence\"\n- e6913039 Merge pull request #2797 from code-yeongyu\u002Ffix\u002F2353-model-selection-persistence\n- d4aee207 Merge pull request #2794 from code-yeongyu\u002Ffix\u002F2775-thinking-block-signatures\n- bad70f5e fix(plugin): preserve selected model across messages\n- b9fa2a3e fix(background-agent): prevent circuit breaker false positives on flat-format events\n- 0e7bd595 fix(session-recovery): reuse signed thinking blocks safely\n- 0732cb85 fix(thinking-block-validator): reuse signed thinking parts\n- 500784a9 Merge pull request #2790 from code-yeongyu\u002Ffix\u002F2666-mcp-schema-sanitization\n- 5e856b4f fix(schema): strip contentEncoding from MCP tool schemas for Gemini compatibility\n- 03dc903e Merge pull request #2789 from code-yeongyu\u002Ffix\u002F2671-clearSessionState\n- 69d0b23a fix(anthropic-recovery): clear session state after successful summarize and fix timing test\n- ee8735cd Merge pull request #2788 from code-yeongyu\u002Ffix\u002F2670-uiSelectedModel-nullification\n- d8fe6113 fix(agents): preserve uiSelectedModel when agent override has no model\n- 935995d2 Merge pull request #2668 from MoerAI\u002Ffix\u002Fsession-degradation-detection\n- 23d8b88c Merge pull request #2669 from MoerAI\u002Ffix\u002Fatlas-worktree-verification\n- b4285ce5 Merge pull request #2787 from code-yeongyu\u002Ffix\u002Freview-fixes\n- f9d354b6 fix(permissions): ensure omo permission overrides take precedence over opencode defaults\n- 370eb945 Merge pull request #2786 from code-yeongyu\u002Fdocs\u002Frename-opencode-to-openagent\n- 6387065e docs: rename oh-my-opencode to oh-my-openagent\n- bebdb97c Merge pull request #2784 from code-yeongyu\u002Ffix\u002Fremove-openclaw-hyperlink\n- b5e2ead4 docs: remove OpenClaw hyperlink from Building in Public\n- 91922dae Merge pull request #2783 from code-yeongyu\u002Ffix\u002Fbuilding-in-public-image\n- cb3d8af9 docs: add screenshot to Building in Public section\n- 0fb3e206 Merge pull request #2782 from code-yeongyu\u002Ffeat\u002Fbuilding-in-public-readme\n- b37b877c docs: add Building in Pub","2026-03-25T00:26:32",{"id":191,"version":192,"summary_zh":193,"released_at":194},107268,"v3.12.3","- 1669c837 revert(todo-continuation): remove [TODO-DIAG] console.error debug logging\n","2026-03-18T07:07:43",{"id":196,"version":197,"summary_zh":198,"released_at":199},107269,"v3.12.2","- 09cfd0b4 diag(todo-continuation): add comprehensive debug logging for session idle handling\n- d48ea025 refactor(circuit-breaker): replace sliding window with consecutive call detection\n- c5c7ba4e perf: pre-compile regex patterns and optimize hot-path string operations\n- 90aa3a30 perf(hooks,tools): optimize string operations and reduce redundant iterations\n- c2f7d059 perf(shared): optimize hot-path utilities across plugin\n- 7a96a167 perf(claude-code-hooks): defer config loading until after disabled check\n- 2da19fe6 perf(background-agent): use Set for countedToolPartIDs, cache circuit breaker settings, optimize loop detector\n- 952bd533 fix(background-agent): treat non-active session statuses as terminal to prevent parent session hang\n","2026-03-18T05:52:38",{"id":201,"version":202,"summary_zh":203,"released_at":204},107270,"v3.12.1","- 57757a34 refactor: improve test isolation and DI for cache\u002Fport-utils\u002Fresolve-file-uri\n- 3caae141 fix(ralph-loop): abort stale Oracle sessions before ulw verification restart\n- 55ac653e feat(hooks): add todo-description-override hook to enforce atomic todo format\n- 1d5652df Merge pull request #2655 from tad-hq\u002Finfinite-circuit-target-fix\n- 76c46053 docs(start-work): update worktree and task breakdown guidance\n- b067d4a2 @ogormans-deptstack has signed the CLA in code-yeongyu\u002Foh-my-openagent#2656\n- 94838ec0 @tad-hq has signed the CLA in code-yeongyu\u002Foh-my-openagent#2655\n- 5d5755f2 fix(circuit-breaker): wire target-aware detection into background manager\n- 1fdce01f fix(circuit-breaker): target-aware loop detection via tool signatures\n- c8213c97 fix(circuit-breaker): add enabled config flag as escape hatch\n- 576ff453 Merge pull request #2651 from code-yeongyu\u002Ffix\u002Fopenagent-version-in-publish\n- 9b8aca45 fix(release): set version when publishing oh-my-openagent\n- f1f20f5a Merge pull request #2650 from code-yeongyu\u002Ffix\u002Fopenagent-platform-publish\n- de40caf7 fix(release): add oh-my-openagent dual-publish to platform and main workflows\n\n**Thank you to 1 community contributor:**\n- @tad-hq:\n  - fix(circuit-breaker): add enabled config flag as escape hatch\n  - fix(circuit-breaker): target-aware loop detection via tool signatures\n  - fix(circuit-breaker): wire target-aware detection into background manager\n","2026-03-18T04:21:52",{"id":206,"version":207,"summary_zh":208,"released_at":209},107271,"v3.12.0","- d8083389 @HaD0Yun has signed the CLA in code-yeongyu\u002Foh-my-openagent#2640\r\n- d50c38f0 refactor(tests): rename benchmarks\u002F to tests\u002Fhashline\u002F, remove FriendliAI dependency\r\n- f2d5f4ca improve(hashline-edit): rewrite tool description with examples and fix lines schema\r\n- b788586c relax task timeouts: stale timeout 3min→20min, session wait 30s→1min\r\n- 90351e44 update look_at tool description to discourage visual precision use cases\r\n- 4ad88b25 feat(task-toast): show model name before category in toast notification\r\n- 2ce69710 docs: sync agent-model-matching guide with actual fallback chains\r\n- 0b4d092c Merge pull request #2639 from code-yeongyu\u002Ffeature\u002F2635-smart-circuit-breaker\r\n- 53285617 Merge pull request #2636 from code-yeongyu\u002Ffix\u002Fpre-publish-blockers\r\n- ae3befbf fix(background-agent): apply smart circuit breaker to manager events\r\n- dc1a05ac feat(background-agent): add loop detector helpers\r\n- e271b4a1 feat(config): add background task circuit breaker settings\r\n- fee938d6 fix(cli): cherry-pick glm-4.7-free → gpt-5-nano fallback fix from dev\r\n- 4d74d888 Merge pull request #2637 from code-yeongyu\u002Ffix\u002Fulw-verification-session-tracking\r\n- 4bc7b1d2 fix(ulw-loop): add fallback for Oracle verification session tracking\r\n- 78dac064 Merge pull request #2590 from MoerAI\u002Ffix\u002Fsubagent-circuit-breaker\r\n- 92bc72a9 fix(bun-install): use workspaceDir option instead of hardcoded cache-dir\r\n- a7301ba8 fix(delegate-task): guard skipped sentinel in subagent-resolver\r\n- e9887dd8 fix(doctor): align auto-update and doctor config paths\r\n- c0082d8a Merge pull request #2634 from code-yeongyu\u002Ffix\u002Frun-in-background-required\r\n- fbc3b4e2 Merge pull request #2612 from MoerAI\u002Ffix\u002Fdead-fallback-model\r\n- 1f7fdb43 Merge pull request #2539 from cpkt9762\u002Ffix\u002Fcategory-variant-no-requirement\r\n- 566031f4 fix(delegate-task): remove auto-default for run_in_background, require explicit parameter\r\n- 0cf386ec fix(skill-tool): invalidate cached skill description on execute\r\n- d493f9ec fix(cli-run): move resolveRunModel inside try block\r\n- 2c7ded24 fix(background-agent): defer task cleanup while siblings running\r\n- 82c7807a fix(event): clear retry dedupe key on non-retry status\r\n- df7e1ae1 fix(todo-continuation): remove activity-based stagnation bypass\r\n- 04710780 fix(tmux): escape serverUrl in pane shell commands\r\n- 1070b917 docs: remove temporary injury notice from README\r\n- bb312711 Merge pull request #2618 from RaviTharuma\u002Ffix\u002Fextract-status-code-nested-errors\r\n- c31facf4 @gxlife has signed the CLA in code-yeongyu\u002Foh-my-openagent#2625\r\n- de66f1f3 fix(runtime-fallback): prefer numeric status codes over non-numeric in extraction chain\r\n- 427fa6d7 Merge pull request #2619 from code-yeongyu\u002Frevert\u002Fopenclaw-one-way\r\n- 239da8b0 Revert \"Merge pull request #2607 from code-yeongyu\u002Ffeat\u002Fopenclaw-integration\"\r\n- 17244e2c Revert \"Merge pull request #2609 from code-yeongyu\u002Ffix\u002Frename-omx-to-omo-env\"\r\n- 24a0f7b0 fix(runtime-fallback): extract status code from nested AI SDK errors\r\n- fc48df1d fix(cli): replace dead glm-4.7-free with gpt-5-nano as ultimate fallback\r\n- 4759dfb6 Merge pull request #2609 from code-yeongyu\u002Ffix\u002Frename-omx-to-omo-env\r\n- 2c8813e9 fix: rename OMX_OPENCLAW env vars to OMO_OPENCLAW\r\n- 8213534e Merge pull request #2607 from code-yeongyu\u002Ffeat\u002Fopenclaw-integration\r\n- 450685f5 fix: extract session ID from properties.info.id for session.created\u002Fdeleted events\r\n- 03b346ba feat: implement OpenClaw integration\r\n- 90decd1f chore(schema): regenerate schema after hook enum forward-compat change\r\n- 47d1ad7b fix(plugin): persist ultrawork variant on same-model override and normalize Claude model IDs\r\n- 32a296bf fix(auto-slash-command): use event-ID dedup, align precedence, enforce skill agent gate\r\n- 67bb9ec1 fix(delegate-task): resolve variant-bearing fallback models during immediate selection\r\n- d57c27fe fix(tmux): replace hardcoded zsh with portable shell detection\r\n- 1339ecdd fix(hashline): restore v3.11.2 legacy hash computation for backward compatibility\r\n- 8c4fa47e @sanoyphilippe has signed the CLA in code-yeongyu\u002Foh-my-openagent#2604\r\n- 10e0c7f9 @Jrakru has signed the CLA in code-yeongyu\u002Foh-my-openagent#2602\r\n- 48707a69 test(tmux): isolate tmux environment checks from process env\r\n- fe3f0584 test(skill-loader): avoid node:fs mock leakage in project skill references\r\n- 1cfc1c8a Merge pull request #2596 from cyberprophet\u002Ffix\u002Fdoctor-plugin-version-fallback\r\n- 8401e612 Merge pull request #2597 from code-yeongyu\u002Ffix\u002Ftodo-compaction-only-guard\r\n- 085ca0ab Merge pull request #2598 from code-yeongyu\u002Frevert-2582-fix\u002Ffix-install-test\r\n- 3055454e fix(background-agent): add circuit breaker to prevent subagent infinite loops\r\n- a7800a8b Revert \"fix(test): update package name to oh-my-openagent in install test\"\r\n- 9e7abe2d fix(todo-continuation-enforcer): skip continuation for compaction-only message history\r\n- 5b7ca99b fix(doctor): fall back to loadedVersion when pluginVersion is null\r\n- f31f50ab fix(release): revert package identity to oh-my-opencode\r\n-","2026-03-17T10:02:51",{"id":211,"version":212,"summary_zh":213,"released_at":214},107272,"v3.11.2","- a7d8c1cd feat: dual-publish platform binaries for oh-my-openagent\n- beb89faa Merge pull request #2388 from code-yeongyu\u002Ffix\u002Fbackground-output-undefined-status-2387\n- dc370f7f fix: handle undefined sessionStatus in pollRunningTasks (#2387)\n- a5fe6eb1 @vaur94 has signed the CLA in code-yeongyu\u002Foh-my-openagent#2385\n- ba6fc35a Merge pull request #2376 from acamq\u002Ffix\u002Fidle-notification-grace-period\n- 8a827f99 @acamq has signed the CLA in code-yeongyu\u002Foh-my-openagent#2012\n- 4e352f9c fix(session-notification): add grace period to prevent late events from cancelling idle notifications\n- 621cad72 Merge pull request #2230 from Chocothin\u002Ffix\u002Frespect-config-question-permission\n- ab5a713d Merge pull request #2291 from SeeYouCowboi\u002Ffix\u002Fcache-dir-invalidation-stale-version\n- f67b605f fix: also invalidate plugin from CACHE_DIR in invalidatePackage\n- 65bc7428 fix(tool-config): respect question permission from OPENCODE_CONFIG_CONTENT\n\n**Thank you to 4 community contributors:**\n- @Chocothin:\n  - fix(tool-config): respect question permission from OPENCODE_CONFIG_CONTENT\n- @SeeYouCowboi:\n  - fix: also invalidate plugin from CACHE_DIR in invalidatePackage\n- @acamq:\n  - Merge pull request #2291 from SeeYouCowboi\u002Ffix\u002Fcache-dir-invalidation-stale-version\n  - Merge pull request #2230 from Chocothin\u002Ffix\u002Frespect-config-question-permission\n  - Merge pull request #2376 from acamq\u002Ffix\u002Fidle-notification-grace-period\n- @crazyrabbit0:\n  - fix(session-notification): add grace period to prevent late events from cancelling idle notifications\n","2026-03-08T18:07:26",{"id":216,"version":217,"summary_zh":218,"released_at":219},107273,"v3.11.1","- adaeaca8 fix: add NODE_AUTH_TOKEN to publish-main job for npm auth\n- 63ed7a54 fix: update repository URLs to oh-my-openagent for npm provenance\n- e2444031 ci(publish): deploy both oh-my-opencode and oh-my-openagent simultaneously\n","2026-03-07T18:41:43",{"id":221,"version":222,"summary_zh":223,"released_at":224},107274,"v3.11.0","# First release as an oh-my-openagent\r\nThis is a first release as an oh-my-openagent. We have changed our name to make it less confused; OmO and Sisyphus is about the whole architecture- not just a plugin. Just to help opencode community spending whole day answering OmO questions, we are changing our project name. We know that the name is ultralong, so just call our plugin as 'oh-mo' or Sisyphus. \r\n\r\n## The GPT Era Begins — Sisyphus, Multimodal-Looker, and the Full Agent Catalog Now GPT-Native\r\n\r\n![Hephaestus X Sisyphus](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcfc1c55b-ec2b-4f58-b21b-2b00abb42957)\r\n\r\nDear Ultraworkers,\r\nFinally we have GPTPhus - he got sprits of Sisyphus, but with the powers of Hephaestus.\r\n\r\nThis release marks a fundamental shift in our model strategy. After extensive real-world testing—including burning through two ChatGPT Pro accounts worth of tokens—we've systematically elevated GPT-5.4 to first-class citizenship across the entire agent ecosystem. This isn't a simple model swap; it's a recognition that GPT-5.4 has earned its place as a serious alternative to Claude for complex orchestration work.\r\n\r\n### Sisyphus Goes GPT-Native (Finally)\r\n\r\nFor the first time ever, Sisyphus is properly tuned for GPT-series models. We've crafted dedicated GPT-5.4 prompts with an 8-block architecture that rivals our Opus-native prompts in sophistication. The results are remarkable: GPTPhus (GPT-powered Sisyphus) delivers orchestration quality that genuinely impressed us during testing—so much so that we burned through two ChatGPT Pro accounts validating it.\r\n\r\n**The Verdict**: Opus Sisyphus remains the gold standard for general-purpose orchestration. Claude Opus 4.6's unique architectural strengths are unmatched for certain reasoning patterns. But GPTPhus is more than \"good enough\"—it's genuinely excellent, and for users with OpenAI-only setups, it's now a first-class option rather than a fallback.\r\n\r\n**New Fallback Chain**: `claude-opus-4-6 max → k2p5 → kimi-k2.5 → gpt-5.4 medium → glm-5 → big-pickle`\r\n\r\n### Complete Agent Catalog Migration: GPT 5.2 → GPT 5.4\r\n\r\nWe've completed the migration of our entire agent catalog from GPT-5.2 dependencies to GPT-5.4. Every agent that previously relied on GPT capabilities now routes to the 5.4 family:\r\n\r\n| Agent | Previous Primary | New Primary |\r\n|-------|-----------------|-------------|\r\n| **Oracle** | gpt-5.2 | **gpt-5.4 high** |\r\n| **Momus** | gpt-5.2 | **gpt-5.4 xhigh** |\r\n| **Metis** | gpt-5.2 | **gpt-5.4 high** |\r\n| **Prometheus** | gpt-5.2 | **gpt-5.4 high** |\r\n| **Atlas** | claude-sonnet | **+ gpt-5.4 medium fallback** |\r\n| **Multimodal-Looker** | gpt-5.3-codex | **gpt-5.4 medium** |\r\n\r\n**Important Distinction**: GPT-5.3-codex and GPT-5.4 are fundamentally different models with different strengths. While we've migrated most agents to 5.4, **Hephaestus continues to recommend GPT-5.3-codex** for deep autonomous work—its specific training for extended coding sessions remains unmatched for that agent's particular workflow.\r\n\r\n### ULW-Loop: Oracle Verification Becomes Mandatory\r\n\r\nThe ultrawork loop (`\u002Fulw-loop`) now requires explicit Oracle verification before completing any task. This is a significant behavioral change:\r\n\r\n- **Before**: ULW loop would attempt self-verification and potentially declare completion\r\n- **After**: Oracle agent must explicitly verify completion criteria are met\r\n- **Impact**: Higher confidence in ULW-loop results, slightly longer tail-end execution\r\n\r\nWe've also added explicit Oracle session tracking to prevent the \"interrupted verification\" edge cases some users reported. The system now maintains full context of any ongoing Oracle verification and handles parent session retry logic gracefully when verification fails.\r\n\r\n### Category System: GPT-5.4 Defaults\r\n\r\nOur category-to-model mapping now defaults to GPT-5.4 for high-effort tasks:\r\n\r\n| Category | Previous Default | New Default |\r\n|----------|-----------------|-------------|\r\n| `unspecified-high` | glm-5 | **gpt-5.4 high** |\r\n| `ultrabrain` | gpt-5.3-codex xhigh | *unchanged* (codex still preferred for hard logic) |\r\n| `deep` | gpt-5.3-codex medium | *unchanged* |\r\n\r\nNote that `ultrabrain` and `deep` categories retain GPT-5.3-codex as their primary—their specific training for extended reasoning sessions remains optimal for those task types.\r\n\r\n### Model Cleanup: kimi-k2.5-free Removal\r\n\r\nWe've removed `kimi-k2.5-free` from all fallback chains. This model variant was deprecated by the provider and was causing unnecessary fallback delays.\r\n\r\n### Multimodal-Looker: Now GPT-5.4 Native\r\n\r\nThe multimodal-looker agent—responsible for image analysis and visual understanding—now uses GPT-5.4 medium as its primary model (was GPT-5.3-codex). This aligns visual analysis capabilities with our latest GPT-native prompts.\r\n\r\n---\r\n\r\n## Full Changelog\r\n\r\n### feat\r\n- **sisyphus**: Add GPT-5.4 variant with 8-block prompt architecture; extend fallback chain with k2p5, kimi-k2.5, gpt-5.4 medium\r\n-","2026-03-07T16:59:31",{"id":226,"version":227,"summary_zh":228,"released_at":229},107275,"v3.10.0","## Security Hardening & Stability\n\nThis release locks down HTTP hook execution and fixes several determinism bugs that caused subtle issues across process restarts and parallel sessions.\n\n### Hook Security\n\nHTTP hooks now validate URL schemes before execution — only `http:` and `https:` are allowed. Previously, `file:\u002F\u002F`, `data:`, and other dangerous schemes could be used to read local files through hook URLs. The disable mechanism (`disabled_hooks`) now works for HTTP hooks too, not just command hooks.\n\n### Deterministic IDs\n\nMessage and part IDs generated by the hook system now include a process-unique prefix (`msg_\u003Chex>_\u003Ccounter>`), eliminating storage collisions when multiple OpenCode processes run against the same session store.\n\n### Hashline Edit: Now Opt-In\n\nThe hash-anchored edit tool (`hashline_edit`) is now **disabled by default**. If you relied on `LINE#ID` references in your workflow, add `\"hashline_edit\": true` to your config.\n\n### Performance\n\nImage dimension parsing for the read-image-resizer hook now decodes only the first 32KB of base64 data instead of the full payload — significant memory savings for large images.\n\n### Community\n\nNew features from contributors: agent-usage-reminder fix for subagents, glob\u002Fgrep relative path resolution, duplicate agent entry fix, Russian README, and more.\n\n---\n\n- 3db46a58 feat(hashline): change hashline_edit default from true to false\n- 0dd9ac43 perf(read-image-resizer): decode only first 32KB of base64 for dimension parsing\n- 1a9e7eb3 fix(hook-message-injector): add process-unique prefix to message\u002Fpart IDs to prevent storage collisions\n- 682a3c85 fix(hooks): prevent SSRF via URL scheme validation and extend disable mechanism to HTTP hooks\n- a6666123 @mathew-cf has signed the CLA in code-yeongyu\u002Foh-my-opencode#2233\n- a6955d7d @Chocothin has signed the CLA in code-yeongyu\u002Foh-my-opencode#2230\n- 1a25b251 @DEAN-Cherry has signed the CLA in code-yeongyu\u002Foh-my-opencode#2227\n- 9a505a33 @laciferin2024 has signed the CLA in code-yeongyu\u002Foh-my-opencode#2222\n- acc21326 Merge pull request #2212 from code-yeongyu\u002Ffix\u002Fh5-collector-ordering\n- e7503655 Merge pull request #2211 from code-yeongyu\u002Ffix\u002Fc2-hook-message-ids\n- 73fea697 Merge pull request #2210 from code-yeongyu\u002Ffix\u002Fc1-synthetic-part-id\n- d39b3aa9 Merge pull request #2151 from ualtinok\u002Ffix\u002Fagent-usage-reminder-subagent-exclusion\n- 7c9f507d fix(context-injector): use monotonic registration order instead of timestamp for deterministic sorting\n- 4d8360c7 fix(context-injector): use deterministic synthetic part ID for cache stability\n- 6e9f2735 fix(hook-message-injector): use monotonic counter for deterministic message\u002Fpart IDs\n- 2478b28e Merge pull request #2204 from ualtinok\u002Ffix\u002Fglob-directory-prefix\n- 418cf852 fix(glob): use cwd-relative search for ripgrep to fix directory prefix patterns\n- cc6ab1ad feat(hooks): add read-image-resizer hook\n- 74f79924 feat(agents): add Gemini tool guide and few-shot examples to system prompt\n- 13d689cb feat(agents): add Plan Agent dependency and strengthen Deep Parallel Delegation for non-Claude models\n- 29d60624 Merge pull request #2202 from ualtinok\u002Ffix\u002Fglob-grep-relative-path\n- d65ee31d Merge pull request #2208 from code-yeongyu\u002Ffeat\u002Fhttp-hook-support\n- 4dae458c style(hooks): add blank line between interpolateEnvVars and resolveHeaders\n- 4740515f fix(agents): replace active polling with notification-based waiting for background tasks\n- 3eb53adf fix(hooks): resolve cubic review issues\n- 43dfdb23 feat(hooks): add HTTP hook handler support\n- 7cec6f7c fix(tools): resolve relative paths in glob\u002Fgrep against project directory\n- 866bd50d @renanale has signed the CLA in code-yeongyu\u002Foh-my-opencode#2201\n- 518e3c5d Merge pull request #2161 from acamq\u002Ffix\u002Fduplicate-agent-entries\n- 85126247 Merge pull request #2153 from devxoul\u002Ffix\u002Fdocs-master-to-dev-branch\n- bc2eaaf8 Merge pull request #2160 from dwnmf\u002Fadd-russian-readme\n- 0f735046 @mertyldrm has signed the CLA in code-yeongyu\u002Foh-my-opencode#2184\n- db32ac5a @YLRong has signed the CLA in code-yeongyu\u002Foh-my-opencode#2176\n- 2eb79941 fix(atlas): use start-work session agent for continuation gating\n- 15ad9442 @1noilimrev has signed the CLA in code-yeongyu\u002Foh-my-opencode#2166\n- 07542d39 Fix markdown blockquote structure in Russian README\n- d6dd5486 fix(agents): remove duplicate remapped agent keys\n- f3cbc24e @dwnmf has signed the CLA in code-yeongyu\u002Foh-my-opencode#2160\n- b76abeb8 Add Russian README\n- 21c249e8 fix(ci): pre-download baseline compile targets to avoid Bun extraction failures\n- 0749a8f1 fix(ci): make platform publish resilient to individual build failures\n- 35edcecd fix(agent-usage-reminder): skip reminders for non-orchestrator subagents\n- 0cc9edac replace master branch references with dev across docs, schema URLs, and tests\n\n**Thank you to 6 community contributors:**\n- @devxoul:\n  - replace master branch references with dev across docs, schema URLs, and tests\n- @ualtinok:\n  - fix(agent-usage-reminder): skip reminders for non-orchestr","2026-03-02T06:28:37",{"id":231,"version":232,"summary_zh":233,"released_at":234},107276,"v3.9.0","# oh-my-opencode v3.9.0\n\n**187 files changed. +7,046\u002F−1,891 lines. 3,391 tests. 0 failures.**\n\n---\n\n## 🔧 Worktree-Aware Planning\n\n`\u002Fstart-work` now accepts `--worktree` — Prometheus creates plans that know which worktree they belong to. Atlas picks up the worktree path in boulder continuation. Parallel feature branches without stepping on each other.\n\n## 🧠 Smarter Model Routing\n\nGemini 3 → 3.1 Pro across the board. GPT model detection simplified to name-based matching — cleaner, faster, no more edge cases with o-series. Kimi added to writing category fallback. Hephaestus auto-commit behavior removed — agents no longer commit without your explicit request.\n\n## 🛡️ Reliability Hardening\n\nEvery major control loop got hardened:\n- **Ralph Loop**: Completion detection scoped to messages since loop start. In-flight guard prevents infinite re-trigger. Race condition between session reset and TUI switch eliminated.\n- **Todo Continuation**: Blocked todos excluded from incomplete count — no more infinite loops on dependent tasks.\n- **Background Agent**: Notification queue for idle sessions. Pending notifications cleaned on session delete.\n- **Token Limiter**: Truncation now respects newline boundaries. No more mid-line cuts in delegated prompts.\n- **Compaction**: Timeout + cleanup prevents indefinite hangs during rate limiting.\n\n## 📊 Hashline Edit Benchmarks\n\nNew benchmark suite (46 tests) for hashline-edit contributed by @minpeter. Deduplication and validation fixes. Diff context limited to 3 lines to prevent oversized hunks.\n\n## 🖥️ Platform & Compatibility\n\nWindows: `windowsHide` on all `Bun.spawn` calls — no more stray terminal windows. Legacy hardware: baseline CPU variant binaries added. Config: existing user settings preserved when writing new defaults. Formatter config no longer silently dropped.\n\n---\n\n- bdd86b14 fix(hephaestus): remove auto-commit policy to prevent surprise commits\n- 76cba9b2 Merge pull request #2159 from code-yeongyu\u002Ffix\u002Fralph-loop-completion-scoping\n- 2955dc86 Merge pull request #2158 from code-yeongyu\u002Ffix\u002Fhashline-diff-format-compat\n- 3ab4b7f7 Merge pull request #2157 from code-yeongyu\u002Ffix\u002Ftoken-limiter-safe-truncation\n- 3540d1c5 Merge pull request #2156 from code-yeongyu\u002Ffix\u002Fbackground-pending-notif-leak\n- 9bc9dcaa Merge pull request #2155 from code-yeongyu\u002Ffix\u002Fultrawork-thinking-db-write\n- f2a1412b test(ralph-loop): harden completion detector PluginInput mock\n- 190c6991 fix(ralph-loop): persist session message count at loop start\n- e17a00a9 fix(ralph-loop): scope completion detection to messages since loop start\n- c8aa1bbc test(hashline-edit): add diff format compatibility tests\n- 911710e4 fix(token-limiter): truncate at newline boundaries instead of raw slice\n- 050b93be fix(background-agent): clean pendingNotifications on session.deleted\n- 2ffa803b fix(ultrawork-db): write $.thinking alongside $.variant in deferred model override\n- cf974940 Merge pull request #2154 from minpeter\u002Ffeat\u002Fhashline-benchmark\n- 8fb5949a fix(benchmarks): address review feedback on error handling and validation\n- 04f50bac feat(benchmarks): add hashline-edit test suites (46 tests)\n- d1a0a66d feat(benchmarks): add hashline-edit benchmark agent and deps\n- b1203b95 Fix hashline-edit deduplication and validation\n- 58201220 Merge pull request #2093 from code-yeongyu\u002Ffix\u002Fissue-1966-ultrawork-variant\n- 4efad491 Merge pull request #2149 from code-yeongyu\u002Ffix\u002Fissue-1815-1733-prompt-token-count\n- 4df69c58 fix(keyword-detector): respect ultrawork config variant instead of hardcoding \"max\"\n- 2ece7c3d Merge pull request #1963 from MoerAI\u002Ffix\u002Fmulti-issue-1888-1693-1891\n- decff315 Merge pull request #2145 from code-yeongyu\u002Ffix\u002Fissue-1915-windows-spawn-hide\n- 0526bac8 Merge pull request #2148 from code-yeongyu\u002Ffix\u002Fissue-2121-legacy-hardware-baseline\n- 0c62656c Merge pull request #2146 from code-yeongyu\u002Ffix\u002Fissue-2065-1968-model-updates\n- aff43bfc Merge pull request #2143 from code-yeongyu\u002Ffix\u002Fissue-2017-stop-continuation-cancel\n- 6865cee8 Merge pull request #2141 from code-yeongyu\u002Ffix\u002Fissue-2084-ralph-loop-inflight\n- 8721ba47 Merge pull request #2140 from code-yeongyu\u002Ffix\u002Fissue-2025-blocked-todo-continuation\n- 96d27ff5 Merge pull request #2134 from code-yeongyu\u002Ffix\u002Fissue-2064-config-overwrite\n- 017c18c1 Merge pull request #2138 from code-yeongyu\u002Ffix\u002Fissue-2062-compaction-timeout\n- fb194fc9 Merge pull request #2147 from code-yeongyu\u002Ffix\u002Fissue-2117-preserve-formatter-config\n- 10c25d1d Merge pull request #2144 from code-yeongyu\u002Ffix\u002Fissue-2087-look-at-hang\n- 86fcade9 Merge pull request #2142 from code-yeongyu\u002Ffix\u002Fissue-1922-retain-agent-keys\n- 5bc3a9e0 Merge pull request #2137 from code-yeongyu\u002Ffix\u002Fissue-2051-diff-context-limit\n- 810ebec1 Merge pull request #2136 from code-yeongyu\u002Ffix\u002Fissue-2044-atlas-task-tool\n- 8f7ed298 Merge pull request #2135 from code-yeongyu\u002Ffix\u002Fissue-2115-background-output-block\n- 7ff8352a fix(config): preserve formatter config from opencode settings\n- d425f9bb fix(models): update Gemini 3 to 3.1 Pro and add Ki","2026-02-26T19:31:27",{"id":236,"version":237,"summary_zh":238,"released_at":239},107277,"v3.8.5","## ✏️ Significantly Improved Editing Accuracy\n\nThis release is the result of [@minpeter](https:\u002F\u002Fgithub.com\u002Fminpeter)'s careful and sustained work to properly fix the hashline implementation that had been incorrectly ported from oh-my-pi. The effort involved deep understanding of how models actually interpret and apply structured line references — the kind of problem that looks simple on the surface but isn't.\n\nThe outcome: agent editing accuracy has improved substantially. Based on our current assessment, this implementation now outperforms the original oh-my-pi version it was ported from.\n\nGood test harness design matters here. It's easy to write tests that pass without reflecting real model behavior — writing ones that actually do requires understanding both sides of the fence.\n\nBeyond hashline, a number of other bugs were also resolved in this cycle.\n\n**Big shoutout to @minpeter.** 🎉\n\n---\n\n- e997e007 Merge pull request #2088 from minpeter\u002Ffeat\u002Fhashline-edit-error-hints\n- b8257dc5 fix(hashline-edit): tolerate >>> prefix and spaces around # in line refs\n- 365d863e fix(hashline-edit): use instanceof for hash mismatch error detection\n- 1785313f fix(hashline-read-enhancer): skip hashifying OpenCode-truncated lines\n- ac962d62 fix(hashline-edit): add same-line operation precedence ordering\n- d61c0f8c fix(hashline-read-enhancer): guard against overwriting error output with success message\n- a567cd0d fix(hashline-edit): address Oracle review feedback\n- 55ad4297 fix(hashline-edit): widen non-numeric prefix detection and remove duplicate try-catch\n- c6a69899 fix(hashline-read-enhancer): simplify write tool output to line count summary\n- 2aeb96c3 fix(hashline-edit): improve error messages for invalid LINE#ID references\n- 5fd65f29 Merge pull request #2086 from code-yeongyu\u002Frefactor\u002Fhashline-legacy-cleanup\n- b03aae57 fix: remove accidentally committed node_modules symlink\n- 8c3a0ca2 refactor(hashline-edit): rename legacy operation names in error messages\n- 9a2e0f1a refactor(hashline-edit): remove unnecessary barrel re-exports of internal primitives\n- d28ebd10 refactor(hashline-edit): remove HASHLINE_LEGACY_REF_PATTERN and legacy ref compat\n- fb92babe refactor(hashline-edit): remove dead applyInsertBetween function\n- 5d30ec80 Merge pull request #2079 from minpeter\u002Ffeat\u002Fhashline-edit-op-schema\n- f50f3d3c fix(hashline-edit): clarify LINE#ID placeholder to prevent literal interpretation\n- 833c26ae sisyphus waits for oracle\n- 60cf2de1 fix(hashline-edit): detect overlapping ranges and prevent false unwrap of blank-line spans\n- c7efe8f0 fix(hashline-edit): preserve intentional whitespace removal in autocorrect\n- 54b756c1 refactor(hashline): change content separator from colon to pipe\n- 1cb36277 fix(hashline-read-enhancer): handle inline \u003Ccontent> tag from updated OpenCode read tool\n- 08b663df refactor(hashline-edit): enforce three-op edit model\n- fddd6f13 @Firstbober has signed the CLA in code-yeongyu\u002Foh-my-opencode#2080\n- e11c217d fix(tools\u002Fbackground-task): respect block=true even when full_session=true\n- 6ec0ff73 refactor(hashline-edit): align tool payload to op\u002Fpos\u002Fend\u002Flines\n\n**Thank you to 1 community contributor:**\n- @minpeter:\n  - refactor(hashline-edit): align tool payload to op\u002Fpos\u002Fend\u002Flines\n  - refactor(hashline-edit): enforce three-op edit model\n  - fix(hashline-read-enhancer): handle inline \u003Ccontent> tag from updated OpenCode read tool\n  - refactor(hashline): change content separator from colon to pipe\n  - fix(hashline-edit): preserve intentional whitespace removal in autocorrect\n  - fix(hashline-edit): detect overlapping ranges and prevent false unwrap of blank-line spans\n  - fix(hashline-edit): improve error messages for invalid LINE#ID references\n  - fix(hashline-read-enhancer): simplify write tool output to line count summary\n","2026-02-24T09:46:26",{"id":241,"version":242,"summary_zh":243,"released_at":244},107278,"v3.8.4","- 9f804c2a fix(test): sync AGENTS_WITH_TODO_DENY with tool-config-handler implementation\n- 05c04838 test(hashline-edit): cover concise responses and anchor alias normalization\n- 86671ad2 refactor(hashline-edit): adopt normalized single-shape edit input\n- ab768029 refactor(hashline-edit): stabilize hashes and tighten prefix stripping\n- afec1f29 @DMax1314 has signed the CLA in code-yeongyu\u002Foh-my-opencode#2068\n- 41fe6ad2 fix(tools\u002Fcall-omo-agent): replace as any with Record type cast in session-creator\n- b47b0342 chore(assets): regenerate JSON schema\n- a37a6044 refactor(config): remove unused barrel exports\n- 7a010357 refactor(agents\u002Fprometheus): remove unused barrel exports\n- f1076d97 refactor(agents\u002Fatlas): remove unused barrel exports\n- 3a5aaf64 refactor(agents): remove unused barrel exports\n- 830dcf8d refactor(features): remove empty barrel files\n- 96d51418 refactor(hooks): remove dead hook files\n- b3a6aaa8 refactor(shared): remove dead utility files\n- 1f62fa5b refactor(tools\u002Fcall-omo-agent): remove dead code submodules\n- 2428a46e refactor(features\u002Fbackground-agent): remove dead code submodules\n- b709fa8e fix(plugin\u002Fhooks): remove unnecessary as any cast\n- 0dc5f56a fix(shared): fix optional chaining on modelItem\n- cd6c9cb5 fix(cli\u002Frun): replace as any with Record type cast\n- e5aa08b8 fix(tools\u002Fdelegate-task): replace as any with Record type cast\n- db15f96c fix(tools\u002Fcall-omo-agent): replace as any with SessionWithPromptAsync type\n- ff0e9ac5 fix(tools\u002Fcall-omo-agent): replace as any with SDKMessage interface\n- 07113ebe fix(features\u002Ftask-toast-manager): replace as any with ClientWithTui type\n- 2d3d993e fix(hooks\u002Fshared): replace as any with proper Record type cast\n- a82f4ee8 fix(hooks\u002Fthinking-block-validator): replace as any with typed interfaces\n- 0cbc6b54 fix(hooks\u002Fsession-recovery): replace @ts-expect-error with proper type cast\n- ac3a9fd2 fix(hooks\u002Fanthropic-context-window-limit-recovery): remove @ts-ignore comments and fix parameter types\n- 41880f8f @imadal1n has signed the CLA in code-yeongyu\u002Foh-my-opencode#2045\n- 35ab9b19 fix: deny todo tools for prometheus and sisyphus-junior when task_system enabled\n- 6245e468 feat(hooks): add Gemini-optimized ultrawork message with intent gate\n- 76da9511 feat(agents): add Gemini intent gate enforcement overlay for Sisyphus\n- 9933c665 feat(model-fallback): disable model fallback retry by default\n- 2e845c8d feat(hooks): wire pluginConfig to preemptive-compaction hook factory\n- bcf7fff9 feat(recovery-strategy): apply compaction model override in context window recovery\n- 2d069ce4 feat(preemptive-compaction): apply compaction model override from agent config\n- 09314dba feat(schema): add compaction model and variant override configuration\n- 32a838ad feat(hooks): add compaction-model-resolver utility for session agent model lookup\n- edf4d522 Merge pull request #2041 from code-yeongyu\u002Ffix\u002Frewrite-overmocked-tests\n- 0bae7ec4 chore(tests): remove duplicate test in background-update-check (cubic feedback)\n- 7e05bd2b refactor(tests): rewrite 5 over-mocked test files to test real behavior\n","2026-02-23T17:12:29",{"id":246,"version":247,"summary_zh":248,"released_at":249},107279,"v3.8.3","- 07e8a7c5 feat(write-existing-file-guard): allow writes outside session directory\n","2026-02-22T06:47:36",{"id":251,"version":252,"summary_zh":253,"released_at":254},107280,"v3.8.2","## 🧪 Experimental: Gemini Model Support\n\nWe've added Gemini-optimized prompts for Sisyphus, Sisyphus-Junior, Prometheus, and Atlas agents. This is **experimental** and not yet recommended for production use — we're still iterating on prompt quality and compatibility. Feedback welcome if you want to test it out.\n\n---\n\n## 🔍 Better Grep Output\n\nThe `files_with_matches` mode now returns clean file paths without extra formatting clutter. Easier to scan, easier to pipe into other tools.\n\n---\n\n## ✍️ Hashline Edit Improvements\n\nThe `edit` tool got several reliability upgrades:\n- **Autocorrect**: Common edit mistakes are now automatically fixed\n- **BOM\u002FCRLF normalization**: Handles Windows-style line endings and byte-order marks gracefully  \n- **File creation**: Can now create new files when the target doesn't exist\n\n---\n\n## 🛠️ Reliability & Performance\n\n- **Ripgrep throttling**: CPU usage is now capped to prevent runaway searches from freezing your system\n- **Resource leak fixes**: Proper process cleanup on timeout, signal handling improvements\n- **Agent notifications**: You'll now get alerted when an agent is waiting for your input or needs permission\n\n---\n\n## Contributors\n\nThanks to @JiHongKim98, @acamq, and @coleleavitt for their contributions to this release!\n\n---\n\n- 4d7b98d9 bun\n- a3e4f904 refactor(background-agent): wire session-idle-event-handler into manager, add unit tests\n- c0636e5b feat(agents,hooks): wire Sisyphus Gemini overlays and add Gemini verification reminder\n- 49e885d8 feat(agents): wire Gemini prompt routing into Sisyphus-Junior, Atlas, Prometheus\n- bf33e6f6 feat(agents): add isGeminiModel detection function with TDD\n- da13a2f6 feat(agents): add Gemini-optimized prompts for Sisyphus, Sisyphus-Junior, Prometheus, Atlas\n- 02aff32b Merge pull request #2039 from code-yeongyu\u002Ffix\u002Fgrep-formatter-files-mode\n- c806a35e fix(grep): format files_with_matches output as clean file paths\n- b175c11b Merge pull request #2009 from JiHongKim98\u002Ffix\u002Fripgrep-cpu-throttle\n- 7b55cbab Merge pull request #2030 from acamq\u002Ffeature\u002Fagent-input-notifications\n- 6904cba0 Merge pull request #2029 from coleleavitt\u002Ffix\u002Fplug-resource-leaks\n- ac81e1d7 fix(hashline-edit): correct offset advancement and fuzzy index mapping in merge expand\n- 9390f98f fix(hashline-edit): integrate continuation\u002Fmerge helpers into expand logic and strengthen tool description\n- e6868e91 fix(hashline-edit): align autocorrect, BOM\u002FCRLF, and tool description with oh-my-pi\n- 5d1d87cc feat(hashline-edit): add autocorrect, BOM\u002FCRLF normalization, and file creation support\n- 116f17ed fix: add proc.kill fallback when process group kill fails\n- a31109bb fix: kill process group on timeout and handle stdin EPIPE\n- 91530234 fix: handle signal-killed exit code and guard SIGTERM kill\n- 6aa1e96f fix: plug resource leaks and add hook command timeout\n- f265e37c fix(notification): use permission.asked and main-session fallback\n- 931c0cd1 feat(notification): alert when agent asks questions or needs permission\n- 02017a1b fix(tools): address PR review feedback from cubic\n- dafdca21 fix(tools): throttle ripgrep CPU usage with thread limits and concurrency control\n\n**Thank you to 3 community contributors:**\n- @JiHongKim98:\n  - fix(tools): throttle ripgrep CPU usage with thread limits and concurrency control\n  - fix(tools): address PR review feedback from cubic\n- @acamq:\n  - feat(notification): alert when agent asks questions or needs permission\n  - fix(notification): use permission.asked and main-session fallback\n- @coleleavitt:\n  - fix: plug resource leaks and add hook command timeout\n  - fix: handle signal-killed exit code and guard SIGTERM kill\n  - fix: kill process group on timeout and handle stdin EPIPE\n  - fix: add proc.kill fallback when process group kill fails\n","2026-02-22T06:35:51",{"id":256,"version":257,"summary_zh":258,"released_at":259},107281,"v3.8.1","## 🚀 Background Agent Refactoring & Hashline Edit Improvements\n\nThis patch release focuses on internal stability improvements and enhanced editing capabilities.\n\n### 🔧 Background Agent Stability\n\nThe background agent system has been refactored for better maintainability and testability. Inline logic from `manager.ts` has been extracted into focused modules, with comprehensive unit test coverage added for all extracted components. This sets the foundation for more reliable background task management.\n\n### ✏️ Hashline Edit Enhancements\n\nThe hashline edit tool now supports **anchor insert modes** for more precise text manipulation. New strict validation ensures insertions happen exactly where intended, preventing accidental edits. Boundary echo handling and chunking deduplication have also been improved for cleaner output.\n\n### 📚 Documentation Updates\n\nThe agent-model matching guide has been rewritten with a developer personality metaphor, making it easier to understand which agent to use for different types of work.\n\n---\n\n*This release includes contributions from the community. Thank you for helping make oh-my-opencode better!*\n\n---\n\n- a8f0300b Merge pull request #2035 from code-yeongyu\u002Ffix\u002Fbackground-agent-review-feedback\n- d1e5bd63 fix: address Oracle + Cubic review feedback for background-agent refactoring\n- ed43cd4c Merge pull request #2034 from code-yeongyu\u002Frefactor\u002Fbackground-manager-extraction\n- 8d66d564 test(background-agent): add unit tests for extracted modules\n- d53bcfbc refactor(background-agent): extract inline logic from manager.ts into focused modules\n- c1ee4c86 @coleleavitt has signed the CLA in code-yeongyu\u002Foh-my-opencode#2029\n- ead4a1bc Merge branch 'origin\u002Fdev' into dev\n- 07ec7be7 Merge pull request #2026 from code-yeongyu\u002Ffeat\u002Fhashline-edit-anchor-modes\n- 7e68690c fix(hashline-edit): address Cubic review issues - boundary echo, chunking dedup, empty stream alignment\n- 22b4f465 feat(hashline-edit): add anchor insert modes and strict insert validation\n- a39f183c feat(hashline-edit): add anchor insert modes and strict insert validation\n- f7c5c0be feat(sisyphus): add deep parallel delegation section to prompt\n- 022a351c docs: rewrite agent-model matching guide with developer personality metaphor\n","2026-02-22T03:38:06",{"id":261,"version":262,"summary_zh":263,"released_at":264},107282,"v3.8.0","## Highlights\n\n### Hashline Editing — Enabled by Default\n\nInspired by [oh-my-pi](https:\u002F\u002Fgithub.com\u002Fcan1357\u002Foh-my-pi), the hashline edit tool is now **enabled by default**. No configuration needed.\n\nEvery line comes back tagged with a content hash. The agent edits by referencing the hash. If the file changed since the last read, the hash won't match and the edit is rejected — before corruption happens.\n\n**What's new:**\n- **CID-based hashing**: 2-character alphabet (`ZPMQVRWSNKTXJBYH`) instead of hex hashes\n- **Batch mismatch reporting**: All mismatches reported in one error, not just the first\n- **Inline diff display**: See unified diffs in the TUI for every edit\n\nTo disable: `{ \"hashline_edit\": false }`\n\n---\n\n### Slash Commands Are Gone — Everything is Skills Now\n\nThe `slashcommand` tool has been removed. All functionality is now unified under the `skill` tool.\n\nUse `skill(name=\"...\")` for both skills and commands. Priority: project → user → opencode → built-in. If the name does not match, OmO suggests the closest matches.\n\n---\n\n### Ultrawork Model Override — Per-Agent Configuration\n\nConfigure a dedicated model for ultrawork mode on any agent. When you type `ultrawork` or `ulw`, OmO upgrades to your configured model for that turn. API calls use the upgraded model while the TUI bottom bar stays on the original.\n\n---\n\n### Smarter Agents — Intent Verbalization\n\nSisyphus, Hephaestus, and Prometheus received major prompt upgrades. Before classifying your request, agents now explicitly verbalize what they think you want, eliminating the class of failures where agents stop at \"research\" when you wanted full implementation.\n\n**Prometheus now works with GPT models.** A dedicated GPT-5.2 optimized prompt variant activates automatically.\n\n---\n\n### Runtime Fallback — Automatic Model Switching on API Errors\n\nWhen rate limits or server errors hit, OmO automatically switches to the next model in your fallback chain and keeps working. Set `fallback_models` on any agent or category.\n\n---\n\n## Other Changes\n\n- **Session Recovery for Unavailable Tools**: Sessions continue gracefully when tools do not exist\n- **Ralph Loop Fresh Context**: New `strategy` option creates fresh child sessions per iteration\n- **Hephaestus GPT Enforcement**: Auto-switches to Sisyphus if run with non-GPT models\n- **Tmux Split-or-Defer**: Sessions queue automatically when tmux panes are full\n\n---\n\n\n---\n\n$EXISTING_BODY\n","2026-02-21T17:57:18"]