返回项目目录
开发工具精选项目

OpenCode

支持终端、桌面和 IDE 的开源 AI 编码代理。

主要语言TypeScript
开源许可MIT
项目类型开发工具
维护状态活跃维护
OVERVIEW

项目概述

OpenCode 提供交互式终端界面、桌面应用、IDE 集成和可编程服务,可连接多家模型提供商,并通过 Agent、权限、MCP、LSP 和插件适配不同开发流程。

OpenCode 是采用 MIT 许可证的开源 AI 编码代理,可在终端、桌面应用或 IDE 中使用。它以客户端—服务端架构组织会话、文件、工具和模型调用:直接运行 opencode 会启动 TUI 与本地服务,也可以使用 run 命令完成非交互任务,或通过独立 HTTP Server 和 SDK 接入自有应用。OpenCode 使用 AI SDK 与 Models.dev 支持 75+ 模型提供商及本地模型,并提供 Build、Plan、Subagent、权限规则、MCP、LSP、Formatter、自定义命令和插件等能力。

当前版本v1.18.8
使用界面TUI / Desktop / IDE / Web
模型生态75+ Providers + Local Models
FEATURES

主要特点

OpenCode 将编码 Agent、模型选择、权限控制和开发工具集成集中到一个可扩展的本地工作环境中。

01

多界面编码 Agent

同一套能力可通过交互式 TUI、桌面应用、IDE 扩展和 Web 界面使用,适配终端优先与图形界面工作流。

02

75+ 模型提供商

借助 AI SDK 与 Models.dev 连接主流云模型、OpenAI 兼容服务和本地模型,可配置 Base URL、模型白名单与黑名单。

03

Build、Plan 与 Subagent

内置可编辑项目的 Build Agent、默认只读的 Plan Agent,以及用于搜索和多步骤任务的 Subagent;也能创建自定义 Agent。

04

细粒度权限规则

可针对读取、编辑、Shell、外部目录、网络和 Subagent 等动作设置 allow、ask 或 deny,并用模式规则限制具体命令与路径。

05

开发工具上下文

集成 LSP、Formatter、文件搜索、Git 状态和项目规则,让 Agent 获取符号、诊断、格式化结果与仓库上下文。

06

MCP、插件与自定义工具

支持本地和远程 MCP Server,也可通过插件与 TypeScript 自定义工具扩展数据源、业务 API 和工作流能力。

07

可复用 Agent 与命令

可在全局或项目目录中用 Markdown 或 JSON 定义 Agent、Slash Command、Prompt、模型和权限,并随仓库共享配置。

08

Server、OpenAPI 与 SDK

无头服务提供 OpenAPI 3.1、会话、消息、文件、工具和事件接口,便于构建自有客户端、自动化与平台集成。

USE CASES

适用场景

适合希望直接使用成熟编码代理,同时又需要多模型选择、团队级配置或程序化集成的开发者。

交互式开发与重构

让 Agent 阅读代码、编辑文件、运行测试并根据结果迭代,适合功能开发、修复问题和跨文件重构。

安全的代码探索

使用 Plan Agent 或只读权限理解陌生仓库、追踪调用关系并形成实施计划,而不直接修改项目。

自动化代码任务

通过 opencode run 在脚本或 CI 中执行解释、检查和生成任务,并用模型、Agent 与输出选项控制运行方式。

团队开发规范

把 AGENTS.md、项目 Agent、命令和权限规则提交到仓库,为团队统一检查步骤、编码约定和安全限制。

内部工具与数据接入

通过 MCP、插件或自定义工具连接工单、文档、数据库和内部 API,让编码 Agent 使用受控的业务上下文。

构建自有 Agent 客户端

使用 Server、OpenAPI 和 SDK 创建专用 Web 界面、桌面工作台、IDE 工作流或集中式开发服务。

EVALUATION

优点与注意事项

技术选型不仅要看能力,也要理解它带来的团队成本。

主要优点

OpenCode 擅长的地方

  • 终端、桌面、IDE、Web 与程序化接口覆盖多种使用习惯
  • 模型提供商覆盖广,可使用云模型、兼容 API 或本地模型
  • 内置 Build、Plan 和 Subagent,开箱即可在行动与分析间切换
  • 权限可按工具、命令和路径细分,适合逐步建立团队规则
  • MCP、LSP、Formatter、插件和自定义命令形成完整扩展面
  • 客户端—服务端架构和 OpenAPI 便于复用核心能力

需要注意

采用前应考虑的问题

默认权限较宽松

官方文档说明多数权限默认是 allow;不要把出现确认框视为默认安全保证,重要项目应主动配置全局 ask 和明确 deny 规则。

权限规则不等于系统沙箱

规则用于控制 OpenCode 是否发起工具动作,但不能替代操作系统、容器或虚拟机隔离;处理不可信代码时仍需限制文件、凭据和网络。

模型和工具仍可能被提示注入影响

仓库文件、网页和 MCP 返回内容都可能包含恶意指令。写入、执行、外部访问与发布操作应保持最小权限并由人工复核。

第三方扩展扩大供应链风险

MCP Server、插件、自定义工具和安装脚本都可能执行本地代码或访问数据,启用前应核对来源、依赖、权限与维护记录。

共享链接可能暴露会话

使用 /share 后,拥有链接的人可访问完整会话历史和元数据;敏感仓库应审查内容、及时 /unshare,或直接把 share 设置为 disabled。

模型体验并不完全一致

不同模型在工具调用、上下文、速度和代码质量上差异明显,更换 Provider 后需要用真实任务重新验证效果与成本。

远程服务需要额外防护

opencode serve 默认仅监听本机;如改为外部地址,应配置服务器密码、限制 CORS,并通过可信网络或反向代理保护访问。

发布节奏很快

CLI、桌面端和配置能力更新频繁。团队环境应锁定版本、保存已验证配置,并在升级前检查发布说明和关键工作流。

QUICK START

快速开始

安装 OpenCode,连接模型提供商,在项目目录初始化上下文,并为文件编辑和终端命令设置明确权限。

1安装 OpenCode
bash
npm install -g opencode-ai@latest

opencode --version
2连接模型并初始化项目
bash
cd your-project
opencode

# 在 TUI 中依次执行
/connect
/models
/init
3运行一次非交互任务
bash
opencode run "概括项目结构并指出测试入口"

# 继续最近一次会话
opencode --continue
4配置更谨慎的权限
json
{
  "$schema": "https://opencode.ai/config.json",
  "share": "disabled",
  "permission": {
    "*": "ask",
    "read": "allow",
    "edit": "ask",
    "bash": {
      "*": "ask",
      "git status *": "allow",
      "git diff *": "allow",
      "git push *": "deny",
      "rm *": "deny"
    }
  }
}
5创建项目级审查命令
markdown
---
description: 审查当前改动,不直接修改文件
agent: plan
---

审查当前工作区的改动,重点检查:

- 潜在缺陷和边界条件
- 安全与隐私风险
- 缺失的自动化测试

按严重程度给出结论。
6启动本机无头服务
bash
# 默认监听 127.0.0.1:4096
OPENCODE_SERVER_PASSWORD="<strong-password>"   opencode serve --port 4096

# OpenAPI 文档
open http://127.0.0.1:4096/doc

下一步:OpenCode 的大多数权限默认是 allow。首次用于重要仓库前,建议在 opencode.json 中把全局操作设为 ask,再逐项允许只读命令;敏感项目还应禁用会话分享并使用隔离环境。

ALTERNATIVES

类似项目

这些工具同样提供面向代码仓库的 AI Agent,但在默认体验、扩展模型和安全边界上各有侧重。

COMPARISON

OpenCode vs Pi

OpenCode 和 Pi 都是 TypeScript 编写的开源编码 Agent,并支持多模型和程序化集成。OpenCode 提供更完整的内置 Agent、权限与开发工具生态;Pi 则强调极简核心和由扩展塑造工作流。

比较维度OpenCodePi
设计取向功能完整、跨客户端的编码 Agent极简、可自扩展的 Agent Harness
使用界面TUI、Desktop、IDE、Web、Server / SDKTUI、Print / JSON、RPC、SDK
内置 AgentBuild、Plan 与通用 Subagent保持单一核心,Subagent 可由扩展添加
权限控制内置 allow、ask、deny 与细粒度规则没有内置权限系统,依赖启动环境和外部隔离
开发工具内置 LSP、Formatter、MCP 与项目工具默认 read、write、edit、bash,其他能力按需扩展
定制方式Agents、Commands、MCP、Plugins、Custom ToolsExtensions、Skills、Templates、Themes、Pi Packages
会话与服务本地会话 + HTTP Server、OpenAPI 和事件流树状 JSONL 会话 + RPC 与可嵌入 SDK
更适合希望开箱获得完整能力和多种客户端的团队希望理解并深度改造 Agent 核心行为的开发者
如何选择

如果你需要开箱即用的 Plan、Subagent、权限、MCP、LSP、桌面和 IDE 体验,OpenCode 的集成度更高;如果你偏好更小的核心,希望用 TypeScript 扩展精确决定 Agent 的每一层行为,Pi 更符合这一思路。无论选择哪一个,处理不可信仓库或生产凭据时都应使用外部隔离并保留人工复核。

VERIFICATION

资料核验

版本、维护信息与本页采用的官方资料来源。

最后核验2026 年 7 月 28 日
核验版本OpenCode v1.18.8
内容维护Docs100 编辑整理
项目维护状态活跃维护

本页依据 OpenCode 官方文档、CLI、权限、Provider、Agent、Server 与官方源码仓库整理。版本、主要语言、许可证和维护状态通过 GitHub 官方 API 与 npm Registry 核验。

维护状态核验2026 年 7 月 26 日 · 最近可见代码活动:2026 年 7 月 28 日

官方仓库未归档,核验时最近可见的代码活动日期为 2026 年 7 月 28 日。该状态表示项目近期仍有公开维护活动,不代表固定发布频率或长期支持承诺。

查看官方仓库