找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1562

积分

0

好友

206

主题
发表于 昨天 06:55 | 查看: 15| 回复: 0

在深度体验 OpenCode 一天之后,我做出了一个决定:放弃使用 Claude Code。

Claude Code 有时表现得像游戏圈里某些傲慢的厂商,用户反馈了许久的问题,它似乎总是不为所动。这些问题包括但不限于:

  • 在终端输入文字时,整个界面会莫名其妙地向右位移。
  • 在某些情况下,生成的内容会出现渲染乱码。
  • 它会无法预判地、突然地对上下文进行总结,让人摸不着头脑。

更令人头疼的是,Anthropic 这家公司时不时就来一波账号封禁潮,这导致依赖其 API 的中转服务也经常掉线,严重影响了开发节奏的稳定性和可持续性。

所以,我决定放弃 Claude Code,全面转向 OpenCode。

OpenCode安装

OpenCode 是 Anomaly 公司开发的一个 coding agent 工具。

与 Claude Code 的封闭生态不同,OpenCode 显得相当开放。它不仅开源了全部代码,还提供了多个可以免费使用的模型,包括目前国内表现第一梯队的 Kimi-K2.5GLM-4.7MiniMax-M2.1

并且,在开源社区的协作模式下,那些在 Claude Code 里迟迟得不到解决的恼人问题,在这里基本都被社区开发者们修复了。

OpenCode 提供 CLI(命令行)和桌面版两种使用模式。

CLI 的安装方式如下,你可以根据自己使用的操作系统选择对应的命令:

# YOLO
curl -fsSL https://opencode.ai/install | bash

# Package managers
npm i -g opencode-ai@latest        # or bun/pnpm/yarn
scoop install opencode             # Windows
choco install opencode             # Windows
brew install anomalyco/tap/opencode # macOS and Linux (recommended, always up to date)
brew install opencode              # macOS and Linux (official brew formula, updated less)
paru -S opencode-bin               # Arch Linux
mise use -g opencode               # Any OS
nix run nixpkgs#opencode           # or github:anomalyco/opencode for latest dev branch

桌面版的安装命令则相对简单:

# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktop

OpenCode桌面版开发环境界面

桌面版的好处在于,当它完成一项耗时任务后,可以发送系统通知来提醒你。但它的功能目前并不完整,既不能像完整 IDE 那样编辑文件,也无法安装插件。因此,对于大多数开发者而言,只安装 CLI 版本就完全足够了。

安装完成后,在终端直接输入 opencode 命令,就可以唤醒它开始使用了。

OpenCode CLI启动界面

oh-my-opencode插件安装

仅仅安装 OpenCode 基础版本,并不能完全释放这些大模型的潜力。有一个韩国开发者制作了一个名为 oh-my-opencode 的插件,它号称是 OpenCode 的“最强插件”,装上之后才是完全体。

安装方式非常简单:

bunx oh-my-opencode install

安装过程中,它会询问你是否拥有 Claude、OpenAI、Gemini 等商业模型的 API Key,如果没有,一律回答“否”即可。

这个插件的核心设计理念,是利用 10 个不同的智能体(Agent)协同工作,让每个模型都能发挥自己最擅长的部分。这十个 Agent 的设计如下表所示。

Agent 名称 使用模型 角色定位 主要职责说明
Sisyphus anthropic/claude-opus-4-5 默认主控 / 编排器 系统默认的任务编排中枢,负责整体规划、任务拆解、子 Agent 调度与并行执行;采用 Todo 驱动工作流,支持长上下文深度思考(32k),在主模型不可用时自动多级降级切换。
oracle openai/gpt-5.2 架构顾问 / 代码审查 提供高质量的架构设计建议、代码审查与疑难调试分析;只读咨询角色,不直接执行任务,偏重严谨逻辑与系统性推理,定位类似 AmpCode 风格的“技术裁判”。
librarian zai-coding-plan/glm-4.7 资料专家 / 代码库分析 擅长多仓库分析、文档检索、开源实现考证;能够结合代码与文档给出有证据支撑的结论,适合理解“为什么现在是这样实现的”。
explore anthropic/claude-haiku-4-5 快速探索 / 代码检索 用于高速扫描代码库、上下文定位与类 grep 行为;适合快速理解项目结构、接口分布与策略定义,强调速度与覆盖面。
multimodal-looker google/gemini-3-flash 多模态分析专家 专注于 PDF、图片、图表、示意图等视觉内容的解析与信息抽取;在涉及文档视觉结构或非纯文本输入时优先使用。
Prometheus anthropic/claude-opus-4-5 战略规划者 通过“访谈式”交互澄清需求,逐步生成详细、可执行的工作计划;强调全局目标、阶段划分与资源配置。
Metis anthropic/claude-opus-4-5 规划前分析顾问 在正式制定计划前进行审视,识别隐藏意图、歧义点、潜在失败模式与 AI 易误判区域,属于“计划前的风控层”。
Momus openai/gpt-5.2 计划评审 / 质量控制 对既定计划进行审查,重点评估清晰度、可验证性与完整性,指出逻辑漏洞或不可执行之处,确保计划可落地。
(Invoking)@oracle 同 oracle 显式调用接口 当用户显式请求时,用于对设计或实现方案进行架构级评审与技术判断。
(Invoking)@librarian / @explore 同各自 Agent 显式调用接口 允许用户直接指定进行实现考证(@librarian)或策略/代码快速定位(@explore),绕过主控自动调度。

但按照上表的默认设置,你需要开通多个平台的付费会员,这对普通用户来说成本太高。一个简单的办法是,不管这些分工,直接把所有 Agent 使用的模型都设置成同一个免费的。

具体操作是编辑这个 JSON 配置文件:

open ~/.config/opencode/oh-my-opencode.json

oh-my-opencode.json配置文件内容

目前感觉 Kimi K2.5、GLM-4.7、MiniMax M2.1 这“国产三兄弟”的效果相差不大。K2.5 是最新推出的,在各类榜单上分数很高,实际调用速度也没有想象中慢,体验很顺畅。

因此,我这里就把配置文件中所有的 opencode/big-pickle 都改成 kimi-k2.5-free

设置完成后,再次启动 OpenCode,你会发现左下角多了一个 “Sisyphus” 的标识。

启用Sisyphus Agent后的OpenCode界面

Sisyphus(西西弗斯)这个名字来源于希腊神话:他因触怒诸神,被罚永无止境地将一块巨石推上山顶,而巨石总在抵达前滚落。他明知道这是一项永远无法彻底完成的任务,却依然一次次重新开始。

西西弗斯推石神话艺术图

把主 Agent 命名为西西弗斯,可以说非常贴切了,毕竟我们给它安排的工作也常常是“无穷无尽”的。

在终端中使用时,按 Tab 键可以在不同的 Agent(如 Prometheus, Atlas)间切换,分别对应规划模式和按计划执行模式。输入 /model 命令,则可以切换使用其他模型。

OpenCode模型选择界面

此外,这个插件还内置了一条“魔法咒语”。在向 Agent 提问时,如果在开头输入 ulw 或者 ultrawork,就会触发“终极工作模式”。

该模式会在你的指令前插入一长串强制性的提示词,其核心思想是要求 AI 在动手前必须进行超限思考,达到100%确定性,并强制其调用各类 Agent 进行上下文收集、规划和审查,以确保最终交付物绝对符合用户原始需求,杜绝任何形式的妥协或“半成品”。

触发后的完整提示词翻译如下:

<ultrawork-mode>

强制要求:当该模式被激活时,你必须以“ULTRAWORK MODE ENABLED!”作为对用户的第一句话。这是不可协商的硬性规则。

代码红色警报(CODE RED):需要最高级别的精度。在采取任何行动之前,必须进行超限思考(Ultrathink)。

必须达到绝对确定性,不允许跳过。本规则具有最高优先级。

在你百分之百确定之前,绝对禁止开始任何实现工作。

在写下任何一行代码之前,你必须完成以下事项:
第一,完全理解用户真正想要的内容,而不是你主观推测的需求。
第二,深入探索代码库,理解现有的代码模式、整体架构以及上下文关系。
第三,制定一个极其清晰、具体、可执行的工作计划。如果你的计划是模糊的,那么你的工作一定会失败。
第四,消除所有歧义。只要存在任何不清楚、不确定的地方,就必须通过调查或提问来解决。

强制确定性协议如下。
如果你尚未达到百分之百确定:

第一,进行深度思考。明确用户的真实意图,弄清楚他们真正想解决的核心问题。
第二,进行彻底探索。启动 explore 和 librarian agent,收集所有相关的背景信息与上下文。
第三,咨询 oracle。凡是涉及架构决策、复杂逻辑,或你已经陷入卡顿状态时,必须咨询 oracle。
第四,如果在完成探索后仍然存在歧义,直接向用户提问,绝对不要自行猜测。

以下情况明确表明你尚未准备好开始实现:
你在对需求作任何形式的假设;
你不清楚应该修改哪些文件;
你并不真正理解现有代码是如何运作的;
你的计划中出现了“可能”“也许”“大概”等不确定措辞;
你无法清晰、完整地说明你将采取的具体步骤。

当存在任何疑问时,应当立即采取以下行动:
委派 explore agent 查找代码库中的相关模式;
委派 librarian agent 查找对应的文档或示例;
委派 oracle 对你的整体方案进行审查和质询。

只有在你已经完成以下所有事项之后,才允许开始实现,而且只能在此之后:
已经通过 agent 收集了足够的上下文信息;
已经解决了所有歧义;
已经制定了精确、逐步、无漏洞的工作计划;
已经对自己的理解达到了百分之百的信心。

不接受任何借口,不允许任何妥协,必须交付被明确要求的内容。

用户的原始请求是绝对不可侵犯的,你必须严格、准确、完整地履行。

以下说法全部不可接受:
“我没法完成,因为……”
“这是一个简化版本……”
“你可以之后再扩展……”
“由于某些限制……”
“我做了一些假设……”

你没有任何正当理由去做以下事情:
交付不完整的工作;
在没有获得用户明确许可的情况下擅自更改任务范围;
进行任何形式的未经授权的简化;
在任务尚未百分之百完成时停止;
对任何明确写出的需求作出妥协。

如果你遇到阻塞或困难:
不要放弃;
不要提交缩水或妥协的版本;
咨询 oracle 寻找解决方案;
向用户请求澄清或指导;
探索所有可行的替代路径。

用户要求的是 X,你就必须交付 X,不多不少,没有例外。

你必须充分利用所有可用的 agent 以及它们各自的类别和技能,并明确告知用户你将调用哪些 agent 来完成任务。

对于任何非平凡任务,规划 agent(plan agent)是强制的,不可跳过。

满足以下任意条件,就必须调用 plan agent:
任务包含两个或以上步骤;
任务范围不清晰;
需要进行实现;
需要做出架构层面的决策。

plan agent 的职责包括:分析任务依赖关系、识别并行执行机会、输出并行任务图、生成结构化的待办列表。你的角色是协调者,而不是直接执行者。

plan agent 会返回一个 session_id。后续所有与计划相关的交互必须使用该 session_id,以保持上下文连续性。重新开启新的 plan 会话等同于丢失上下文,是严重错误。

不调用 plan agent,视为任务未完成。

在 agent 使用策略上,默认行为是委派,而不是自己动手。
代码库探索交给 explore agent;
文档与资料查询交给 librarian agent;
规划交给 plan agent;
架构与复杂推理交给 oracle;
具体实现交给具备对应类别与技能的 agent。

只有在以下极少数情况下,才允许你亲自执行任务:
任务极其简单,仅涉及一到两行且无歧义;
你已经掌握了全部上下文;
委派带来的开销明显高于任务本身的复杂度。

除此之外,一律委派,没有例外。

执行阶段必须以并行为第一原则。
凡是相互独立的任务,必须同时启动。
禁止顺序执行独立任务。
如有需要,应使用十个以上的后台 agent 进行全面探索。
先启动 agent,再继续其他工作,结果在需要时统一收集。

强制工作流顺序如下:
第一步,并行收集上下文;
第二步,调用 plan agent;
第三步,使用 session_id 与 plan agent 反复迭代,直到计划最终确定;
第四步,严格按照计划,将任务委派给对应类别和技能的 agent;
第五步,将结果与用户的原始需求逐条对照验证。

验证是不可协商的环节。
没有证据,就等同于没有完成。

在实现之前,必须明确成功标准,包括功能层面的、可观测层面的,以及明确的通过或失败判定。

任何非平凡任务都必须具备明确的测试计划。

不允许在没有验证证据的情况下声称完成。

零容忍失败规则如下:
禁止缩减范围;
禁止只交付 Demo、Skeleton 或示例;
禁止部分完成;
禁止跳过或假定需求;
禁止在所有事项完成前宣布结束;
禁止删除或跳过测试来“让构建通过”。

最终原则只有一句话:
用户要的是 X,就交付完整的 X。不是子集,不是示例,不是起点,而是完整、可验证、可交付的结果。

现在,开始执行。

</ultrawork-mode>

此外,这个插件还内置了一些 MCP 服务器和预设技能,具体的进阶玩法可以参考其官方文档。

总结

在“压榨” Sisyphus 一天之后,我的整体感觉是:OpenCode 配合 oh-my-opencode 插件的体验,丝毫不逊色于 Claude Code。它依托活跃的开源社区,解决了前者的诸多痛点,并且免费提供了强大的国产模型选项。

我已经准备让这位新的“数字同事”全力加速我的新产品开发进程了。如果你也对现有的 AI 编程助手感到不满,不妨试试这个组合,或许能在云栈社区找到更多同好的交流和实践心得。

参考链接




上一篇:工业设计中的形态连接哲学:从结构、视觉到意义的完整设计思维
下一篇:NotebookLM更新测评:新增AI对话式PPT编辑与可导出PPTX功能
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-25 10:44 , Processed in 0.555957 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表