OpenCode + Sisyphus AI 编程工具技术分析

一、新闻概述

1. 标题

OpenCode + Sisyphus,把写代码全"外包"给 AI!Cursor 只是副驾,它才是全职司机!

2. 发布时间

2025 年 1 月 17 日

3. 来源

AI 职场风向标(微信公众号)

二、核心内容

1. 事件摘要

A. 主要内容

开源社区推出了一套名为 OpenCode + oh-my-opencode 的 AI 编程工具组合拳,相比 Cursor 等 AI 编程工具仅作为"副驾驶",OpenCode 提供了更强大的代码全托管能力。

B. 核心亮点

  • 支持混合模型策略,不同模型协同完成不同任务
  • 完全开源免费,内置多个免费大模型
  • 支持自定义工具挂载,可随手编写 Python 脚本作为工具
  • 提供完整的 Agent 团队协作模式

2. 关键信息

A. 涉及产品

  • OpenCode:核心 CLI 工具
  • oh-my-opencode:社区增强插件
  • Sisyphus(西西弗斯):总指挥 Agent
  • Google ADK:Agent 开发框架

B. 内置免费模型

  • GPT-5 Nano
  • GLM-4.7
  • MiniMax M2.1
  • Grok Code Fast 1
  • Big Pickle

C. 核心特性

  • 支持本地 Ollama 或 LM Studio 模型
  • 多 Agent 协作模式
  • 计划模式与执行模式分离

3. 背景介绍

A. 前置技术

Cursor、Trae 等 AI 编程工具主要定位为"副驾驶",需要人工参与编写代码。

B. 相关上下文

这是 Agent 系列文章的第四篇,作者准备带读者开启智能体实战之旅。OpenCode 的出现代表了 AI 编程工具从辅助模式向全托管模式的演进。

三、详细报道

1. 主要内容

A. 技术特性

混合模型策略

  • 让 GPT-4o 做 Planner(逻辑规划最严谨)
  • 让 Gemini 2.0 Flash 做 Researcher(免费且 Context 巨大)
  • 让 DeepSeek V3 做 Coder(写代码性价比极高)

这种架构既拥有最强大脑,又做到极致的性价比。

工具扩展性

  • 可以随手写一个 Python 脚本作为 Tool 挂载
  • 不受工具"严选"限制,完全自定义
  • 开源意味着可以自己 DIY,挂载任意模型

B. 安装与配置

环境要求

  • Node.js 环境

安装步骤

# 安装 OpenCode 核心
npm install -g opencode

# 安装 oh-my-opencode 增强插件
npx oh-my-opencode install
# 或使用 bun
bunx oh-my-opencode install

API 配置

  • 使用官方免费 OpenCode Zen
  • 运行 opencode auth login 进行配置
  • 访问 https://opencode.ai/auth/ 免费创建 API Key
  • 免费用户注意不要启用"enable billing"

C. 基础使用

启动方式

opencode
# 或直接带任务启动
opencode "帮我xxxx"

常用命令

/models           # 切换模型
/init             # 让 AI 了解项目(新员工培训)
/undo             # 撤销上一步
/redo             # 重做
/compact          # 清理对话历史
/new              # 开始新对话
/help             # 查看帮助

基础操作

  • @:引用某文件
  • Tab:切换计划模式(Plan)和执行模式(Build)
  • /:输入内置命令
  • !:执行终端命令

2. 技术细节

A. 系统架构

OpenCode + oh-my-opencode 采用多 Agent 协作架构:

graph TB
    User[用户] --> OpenCode[OpenCode CLI]
    OpenCode --> Plugin[oh-my-opencode 插件]
    Plugin --> Sisyphus[Sisyphus 总指挥]
    Plugin --> Oracle[Oracle 先知]
    Plugin --> Librarian[Librarian 图书管理员]
    Plugin --> Explore[Explore 探索者]
    Plugin --> Frontend[Frontend Engineer]

    Sisyphus --> Models[混合模型策略]
    Models --> GPT[GPT-4o Planner]
    Models --> Gemini[Gemini 2.0 Researcher]
    Models --> DeepSeek[DeepSeek V3 Coder]

    GPT --> Tasks[任务分配]
    Gemini --> Tasks
    DeepSeek --> Tasks

mermaid

OpenCode 架构图

B. Agent 角色分工

  • Sisyphus(西西弗斯):总指挥,默认在干活
  • Oracle(先知):设计架构、调试难题
  • Librarian(图书管理员):查文档、找资料
  • Explore(探索者):快速搜索代码
  • Frontend Engineer:写漂亮的界面

使用 @名字可以呼叫特定团队成员:

@oracle 帮我看看这个架构合不合理
@librarian 这个功能在官方文档怎么写的?
@explore 找一下所有登录相关的代码

C. 高级模式

隐藏技巧(非内置命令):

# 死磕模式(ultrawork)
ulw 帮我完成这个工程从 Python 2 到 Python 3 的升级

# 深度思考模式
ultrathink 查看下这个错误是如何产生的,如何根除

# 全力搜索模式
search 工程中所有用到这个 API 的地方

# 深度分析模式
analyze 查看下这个错误是如何产生的

模式说明

  • analyze:只分析,不动手改
  • ultrathink 和 ulw:会死磕到底

3. 实战案例

A. 第一个 Agent 开发

原始需求

ulw 帮我开发第一个简单的智能体,要求如下:
1. 使用 Google 的 ADK 完成我的第一个 agent 开发
2. 里面包含 1 个工具 [google_search]
3. llm 使用 google 的 "gemini-2.5-flash-lite"
4. llm 需要的 api 已经保存到 .env 文件的 GOOGLE_API_KEY 中
5. 构建完成之后,帮我提一个问题"北京现在几点了?那里的天气如何?"

生成结果(30 分钟后自动完成):

import os
import asyncio
from dotenv import load_dotenv
from google.adk.agents import Agent
from google.adk.runners import InMemoryRunner
from google.adk.tools import google_search

# 加载 .env 文件
load_dotenv()

async def main():
    # 1. 检查 API Key
    api_key = os.getenv("GOOGLE_API_KEY")
    if not api_key:
        print("错误: 未找到 GOOGLE_API_KEY。请检查 .env 文件。")
        return

    print(f"环境检测通过。正在初始化 Agent (Python {os.sys.version.split()[0]})...")

    # 2. 定义 Agent
    root_agent = Agent(
        name="helpful_assistant",
        model="gemini-2.5-flash-lite",
        description="一个智能助手。",
        instruction="你是一个乐于助人的助手。如果用户问的问题你需要实时信息(如天气、新闻),请务必使用 Google Search 工具。",
        tools=[google_search],
    )

    # 3. 定义运行器
    runner = InMemoryRunner(agent=root_agent)

    # 4. 模拟用户提问
    user_query = "现在北京几点了?那里的天气如何?"
    print(f"\nUser: {user_query}")
    print("Agent: (正在思考并调用工具...)\n")

    try:
        # 5. 运行 Agent
        response = await runner.run_debug(user_query)

        print("-" * 30)
        print("最终回答:\n")
        print(response)
    except Exception as e:
        print(f"\n运行出错: {e}")
        print("提示: 如果是 404 错误,可能是模型名称写错了,请尝试更改 model 参数。")

if __name__ == "__main__":
    asyncio.run(main())

B. 工作流程对比

sequenceDiagram
    participant U as 用户
    participant C as Cursor
    participant O as OpenCode+Sisyphus

    U->>C: 输入需求
    C->>C: 生成代码建议
    C-->>U: 等待用户确认
    U->>C: 手动采纳/修改
    C->>C: 继续生成
    Note over C: 需要持续交互

    U->>O: 输入需求(ulw 模式)
    O->>O: 自动规划
    O->>O: 自动执行
    O->>O: 自动验证
    O->>O: 自动修正
    O-->>U: 返回完成结果
    Note over O: 全程自动化

mermaid

工作流程对比图

四、影响分析

1. 行业影响

A. 技术趋势

  • AI 编程工具从辅助模式向全托管模式演进
  • 混合模型策略成为新趋势,充分利用各模型优势
  • 开源免费方案挑战商业 AI 编程工具

B. 竞争格局

  • 对比 Cursor:OpenCode 提供更完整的自动化能力
  • 对比 Trae:OpenCode 支持多模型协作和完全自定义
  • 开源社区的创新速度可能超越商业产品

2. 用户影响

A. 现有用户

  • 降低使用门槛:内置免费模型,无需付费订阅
  • 提高效率:全托管模式减少人工干预
  • 增强灵活性:可自定义工具和模型

B. 潜在用户

  • 对 AI 编程感兴趣但不愿付费的用户
  • 需要高度定制化的专业开发者
  • Agent 开发者

C. 迁移建议

  • 需要配置 API Key(免费版也需要)
  • 学习命令行交互模式
  • 熟悉 Agent 协作模式

3. 技术趋势

A. 技术方向

  • 多模型协同是未来发展重点
  • Agent 化编程成为新范式
  • 开源与商业方案竞争加剧

B. 生态影响

  • 促进 AI 编程工具标准化
  • 推动 Agent 开发框架普及
  • 可能催生更多基于 OpenCode 的扩展

五、各方反应

1. 官方信息

  • OpenCode 为开源项目,社区维护
  • oh-my-opencode 由社区大佬 code-yeongyu 维护

2. 业内评价

A. 技术优势

  • 混合模型策略创新性强
  • 完全免费降低使用门槛
  • 开源可定制,扩展性好

B. 潜在挑战

  • 命令行界面学习曲线
  • 文档和社区支持相对有限
  • 稳定性和可靠性待验证

3. 用户反馈

A. 正面评价

  • 30 分钟完成 Agent 开发,效率显著
  • 免费模型质量不错
  • ulw 死磕模式解决复杂问题能力强

B. 关注点

  • 需要配置环境,上手门槛略高
  • 相比 GUI 工具,命令行不够直观
  • 免费模型可能有调用限制

六、相关链接

1. 官方资源

2. 相关技术

  • Google ADK 文档
  • oh-my-opencode 插件仓库
  • Ollama 本地模型支持
  • LM Studio 本地模型支持

3. 参考资料

  • Cursor AI 编辑器
  • Trae AI 编程工具
  • Agent 开发最佳实践

参考资料

  1. Opencode+Sisyphus,把写代码全"外包"给AI!Cursor只是副驾,它才是全职司机!
最后修改:2026 年 01 月 17 日
如果觉得我的文章对你有用,请随意赞赏