OpenCode + GLM 安装和配置教程

OpenCode + GLM 安装和配置教程

OpenCode 是一个开源的 , 提供了 / / , 并且可以使用任何模型, 相比于 Claude Code / Gemini Cli 等同类型的产品, 它更加开放

OpenCode 是一个开源免费的 , 在各大厂商都发布自己的 时, OpenCode 完全开源和开放, 并且可以接入几乎市面上的所有厂商的 , 因为它的开放性, 它在 上的 比 Claude Code 还要多

现阶段各大厂商都发布自己的 , 例如 Claude Code / Gemini Cli / trae, 但 每家都在制定自己的标准或协议, 例如 使用 , 使用 , 使用 , 对于 MCP / Command / Skills / Plugins 等的标准和支持度也有差异, 也就是说如果你要使用某个厂商的模型编码, 那么就只能使用它们推出的

OpenCode 做的就是兼容各家厂商的大模型, 你可以在这里看到支持的 providers

OpenCode 提供了多种安装方式, 这里我们选择使用 bun 进行安装, 因为它比 Node.js 更快性能更好

OpenCode 提供了免费的模型, 你可以在 opencode zen pricing 中查看

OpenCode + GLM 安装和配置教程

opencode zen 提供的免费模型好像有频率限制, 不是很稳定, 而且不支持 GLM 的 视觉理解等 MCP 服务, 这里可以直接接入已经订阅的 GLM Coding Plan

或使用 npx:

然后修改 中的模型:

其他供应商或模型的接入方式可以查看 providers

最终启动 时可能会遇到没有权限创建目录的问题:

看起来只是单纯的目录权限问题, 我们来看看当前用户是否有权限:

这里 目录属于 用户, 我们将其改为当前用户:

直接执行 启动

OpenCode + GLM 安装和配置教程

直接输入 符号就可以在输入框中搜索并引用文件

OpenCode + GLM 安装和配置教程

直接输入 符号, 然后输入命令按下回车即可执行, 例如

OpenCode + GLM 安装和配置教程 OpenCode + GLM 安装和配置教程

OpenCode 支持打开外部编辑器编写信息, 在编辑长信息时可能有点用, 首先添加环境变量 , 然后输入 即可进入 制定的编辑器中编辑信息, 具体配置方式参考 editor setup – OpenCode

例如我们将外部编辑器设置为 :

然后使用 加载一下相关的配置文件, 再启动 即可

执行 命令生成被大多数 支持的 文件:

OpenCode + GLM 安装和配置教程

执行后 会阅读整个项目的源码, 然后生成一个让 可以快速理解项目的 文件, 并且每次启动 时都会加载这个 文件, 类似于 的 文件, 但是他更加通用

执行 查看现有的模型:

OpenCode + GLM 安装和配置教程

这里我们切换为 , 然后确定

OpenCode + GLM 安装和配置教程

执行 切换推理/思考过程是否显示

OpenCode + GLM 安装和配置教程

执行 可以不打开交互式终端直接发送消息

执行 查看 token 消耗量 / 消费额 等信息

执行 会启动一个 服务, 可以在浏览器中通过 web 页面的形式使用 :

OpenCode + GLM 安装和配置教程

mdns discovery

执行 可以使此 服务在本地网络中被公开访问, 参考 mdns discovery

提供了 :

OpenCode + GLM 安装和配置教程

OpenCode 自带了一些常用的指令:

  • : 压缩会话
  • : 清空会话
  • : 导出会话, 导出为 文件, 并使用 打开文件
  • : 初始化 文件, 详见 初始化项目
  • : 列出支持的
  • : 查看所有历史会话
  • : 分享当前会话, 类似于 的 功能智谱 AI GLM 教程
  • : 退出
  • / : 退出当前模式
  • : 切换模式

我更习惯使用 , 所以真正用到的快捷键只有这些

  • 当前项目的配置文件在
  • 全局配置文件在

直接在配置文件中声明 MCP 服务

会从以下位置读取 :

  • 项目配置:
  • 全局配置:
  • 项目 Claude Code:
  • 全局 Claude Code:

会读取 作为可以直接调用的工具, 以 为例:

这样就创建了两个工具: 和

可以在项目中创建 文件( 文件允许添加注释) 来配置 , 最重要的就是权限相关的配置了:

或者使用更加细粒度的权限控制:

的权限是根据工具名称来划分的, 此外还有一些安全措施:

  • read: 读取文件(匹配文件路径)
  • edit: 所有文件修改(涵盖edit,,,)writepatchmultiedit
  • glob: 文件通配符(匹配通配符模式)
  • grep: 内容搜索(匹配正则表达式模式)
  • list: 列出目录中的文件(与目录路径匹配)
  • bash: 运行 shell 命令(匹配已解析的命令,例如git status —porcelain)
  • task: 启动子代理(与子代理类型匹配)
  • skill: 加载技能(与技能名称匹配)
  • lsp: 运行 LSP 查询(目前是非细粒度的)
  • todoread / todowrite: 阅读/更新待办事项列表
  • webfetch: 获取 URL(与 URL 匹配)
  • websearch / codesearch: 网络/代码搜索(与查询匹配)
  • external_directory: 当工具访问项目工作目录之外的路径时触发
  • doom_loop: 当同一工具调用重复 3 次且输入完全相同时触发

的自定义命令跟 的 Slash Commands 基本一致, 可以直接参考我的另一篇文章 Claude Code 系列教程之 斜杠命令(Slash Commands)

不同点在于参数的声明和使用, 在 中直接使用 或者 / 来使用参数, 不支持声明参数

更多使用方式参考 opencode commands

支持在更新完代码之后自动进行格式化, 例如 使用 , 使用 , 前端项目使用 / / … 更多详情参考 formatters

  • OpenCode
  • Claude Code
  • Gemini Cli
  • trae
  • bun
  • GLM 的 视觉理解等 MCP 服务
  • GLM Coding Plan
  • 点击这里
  • editor setup – OpenCode
  • Slash Commands
  • Claude Code 系列教程之 斜杠命令(Slash Commands)
  • opencode zen pricing
  • providers
  • opencode commands
  • formatters
  • mdns discovery
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/263934.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 下午9:16
下一篇 2026年3月12日 下午9:16


相关推荐

关注全栈程序员社区公众号