当前位置: 首页 > news >正文

OpenCode + Oh-My-OpenCode 配置指南:集成 GitHub Copilot 模型与 Java LSP (jdtls)

前言

最近在研究 AI 辅助编程工具,发现了一套非常强大的组合:OpenCode+Oh-My-OpenCode。它们不仅能调用 GitHub Copilot 等模型,还支持灵活配置各种语言的 LSP(语言服务器),特别是 Java 的 jdtls。本文将详细记录从安装到配置的全过程,包括模型设置、LSP 集成和常见问题处理。

环境准备

  • 操作系统:Windows (本文以 Windows 为例,macOS/Linux 类似)

  • Node.js:建议 v18 或更高版本(npm 随附)

  • PowerShell:用于运行安装脚本

  • GitHub Copilot 订阅(若使用其模型)

一、安装 OpenCode 和 Oh-My-OpenCode

1. 安装 OpenCode

npm i -g opencode-ai

安装完成后,可以通过opencode --version检查是否成功。

2. 安装 Oh-My-OpenCode

npm i -g oh-my-opencode

然后执行安装命令(会完成一些初始化配置):

npx oh-my-opencode install
opencode

二、模型配置(使用 GitHub Copilot 模型)

OpenCode + Oh-My-OpenCode 的模型配置通过oh-my-openagent.json文件完成。该文件位于:

C:\Users\你的用户名\.config\opencode\oh-my-openagent.json

如果文件夹不存在,手动创建即可。

1. 完整配置示例

以下是我实际使用的oh-my-openagent.json,包含了多个代理(agent)和类别(category),并统一使用github-copilot/gpt-5.4及其变体,以及一些备用模型(fallback)。

{ "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json", "agents": { "sisyphus": { "model": "github-copilot/gpt-5.4", "variant": "max", "fallback_models": [ { "model": "github-copilot/gpt-5.4", "variant": "max" }, { "model": "github-copilot/gpt-5.4" }, { "model": "github-copilot/gpt-5.4", "variant": "medium" }, { "model": "opencode/big-pickle" } ] }, "hephaestus": { "model": "github-copilot/gpt-5.4", "variant": "medium", "fallback_models": [{ "model": "github-copilot/gpt-5.4", "variant": "medium" }] } // 其他 agent 类似,按需添加 }, "categories": { "quick": { "model": "github-copilot/gpt-5.4-mini", "fallback_models": [ { "model": "github-copilot/gpt-5.4-mini" }, { "model": "github-copilot/claude-haiku-4.5" }, { "model": "github-copilot/gpt-5.4" }, { "model": "opencode/gemini-3-flash" } ] } // 其他 category 类似 } }

说明

  • variant表示模型能力级别(如 max, high, medium, xhigh)。

  • fallback_models是当主模型不可用时依次尝试的模型列表。

  • 模型名称格式github-copilot/xxx需要有效的 GitHub Copilot 授权。

三、配置 Java LSP(jdtls)

OpenCode 通过 LSP 提供代码补全、跳转、重构等功能。Java 官方推荐使用jdtls(Eclipse JDT Language Server)。

注意!!!:jdk需要配置全局环境,且版本不低于21

1. 下载并安装 jdtls

提供了一个 PowerShell 脚本installjdtls.ps1,内容如下(保存为.ps1文件):

# install-jdtls.ps1 $installDir = "$env:USERPROFILE\.local\share\opencode\bin" $tempFile = "$installDir\jdtls.tar.gz" New-Item -ItemType Directory -Force -Path $installDir | Out-Null Write-Host "Downloading jdtls..." Invoke-WebRequest -Uri "https://download.eclipse.org/jdtls/milestones/1.57.0/jdt-language-server-1.57.0-202602261110.tar.gz" -OutFile $tempFile Set-Location $installDir Write-Host "Extracting..." tar -xzf jdtls.tar.gz $jdtlsBinDir = "$installDir\bin" $currentPath = [Environment]::GetEnvironmentVariable("Path", "User") if (-not $currentPath.Contains($jdtlsBinDir)) { [Environment]::SetEnvironmentVariable("Path", "$currentPath;$jdtlsBinDir", "User") Write-Host "Added to PATH: $jdtlsBinDir" } Remove-Item $tempFile -Force Write-Host "Verifying installation (expected: usage error or missing args)..." & "$jdtlsBinDir\jdtls.bat" 2>&1 | Select-Object -First 3

执行步骤

  1. 将上述脚本保存为installjdtls.ps1

  2. 在文件资源管理器中进入脚本所在目录,地址栏输入powershell并回车。

  3. 在 PowerShell 中运行:

    .\installjdtls.ps1
  4. 观察输出。如果出现类似下面的内容,其实是成功的

    Downloading jdtls... Extracting... Added to PATH: C:\Users\Admin\.local\share\opencode\bin\bin Verifying installation... Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 WARNING: Using incubator modules: jdk.incubator.vector

    这些警告可以忽略,只要没有报错“找不到命令”之类的即可。

2. 验证 jdtls 是否可用

打开一个全新的 PowerShell 窗口(使得 PATH 生效),运行:

jdtls -help

如果输出帮助信息(如Usage: jdtls [-data <workspace>] ...),说明安装成功。

3. 在 oh-my-openagent.json 中注册 jdtls

在 JSON 配置文件的顶层添加lsp字段,内容如下:

"lsp": { "jdtls": { "command": ["jdtls", "--stdio"], "extensions": [".java"], "priority": 10, "env": { "NODE_OPTIONS": "--max-old-space-size=4096" }, "initialization": { "preferences": { "includeInlayParameterNameHints": "all" } } } }

将该段合并到你已有的oh-my-openagent.json中(注意 JSON 语法,不要遗漏逗号)。届时打开任何.java文件,OpenCode 就会自动启动 jdtls 提供智能提示。

四、其他 LSP 配置(以 Vue 为例)

如果需要前端开发支持,可以安装 Vue 的语言服务器:

npm install -g @vue/language-server

然后在lsp字段中添加相应配置(类似 jdtls)。

五、常见问题与注意事项

1. jdtls 运行报错JAVA_TOOL_OPTIONSincubator modules

这是正常提示,不影响使用。如果希望去除,可以移除环境变量JAVA_TOOL_OPTIONS或降级 JDK 版本(但建议保留)。

2. PATH 未生效

安装完 jdtls 后要关闭并重新打开终端(或 PowerShell),否则系统找不到jdtls命令。

3. 模型无法调用

  • 确保已登录 GitHub Copilot(可使用github-copilot auth命令验证)。

  • 检查网络环境,部分地区可能需要代理。

4. OpenCode Web 界面不显示 LSP 功能

确认 JSON 配置文件没有语法错误(可用在线 JSON 校验工具)。LSP 功能在打开对应文件(如.java)后才会激活。

六、总结

本文手把手教会了:

  • 安装 OpenCode 和 Oh-My-OpenCode

  • 配置 GitHub Copilot 模型(通过oh-my-openagent.json

  • 安装并配置 Java LSP(jdtls),包括使用 PowerShell 脚本自动安装

  • 添加其他 LSP(如 Vue)

现在你可以享受 OpenCode 带来的强大 AI 辅助编程体验了!如果遇到问题,欢迎在评论区留言交流。

http://www.jsqmd.com/news/726004/

相关文章:

  • VMware macOS解锁终极指南:5分钟搞定苹果系统虚拟机
  • 2026英国留学脱产申请选哪个机构好?正规靠谱机构推荐 - 品牌2026
  • Translumo:三分钟开启你的跨语言数字生活新时代
  • OpenplcQidong
  • 2026年4月北京卫生间防水维修/外墙防水维修/阳台防水维修/楼顶防水维修/地面瓷砖空鼓维修公司解析,认准北京欣蓝锐防水科技有限公司 - 2026年企业推荐榜
  • 如何在Apple Silicon Mac上获得主机级游戏体验:PlayCover按键映射终极指南
  • 如何在手机端使用嘎嘎降AI:移动端降AI操作流程和注意事项完整教程
  • 如何快速掌握AriaNg下载管理:面向新手的终极完整指南
  • 对比直接使用厂商API体验Taotoken聚合接入在易用性上的优势
  • Jellyfin Bangumi插件完全指南:打造专业级中文动漫库的终极解决方案
  • 3月必看!口碑好的温湿度控制器产品推荐及推荐,灵敏性高,能察觉细微电力变化 - 品牌推荐师
  • Qt项目实战:用QXlsx打造一个带图片管理功能的简易Excel查看器
  • 手撸一个 MCP 服务端:从零实现 Tool 注册与执行引擎
  • 增压泵选型以及采购指南推荐:高性价比、耐用节能的源头厂商与国际品牌全解析 - 品牌推荐大师1
  • 如何批量处理多个章节的论文降AI:分章节降AI再合并的完整操作教程
  • 无隔离转接板直飞线 J-Link 调试指南
  • 2026口碑最佳西南地区木门横评:五款四川厂商实力单品精准解析 - 十大品牌榜
  • 【论文阅读】RISE: Self-Improving Robot Policy with Compositional World Model
  • qwen3-asr模型推理逻辑
  • Postman测试EasyExcel导入功能:从本地文件路径到HTTP上传的完整避坑指南
  • 上海实木定制公司排行:5家高端品牌实力实测对比 - 奔跑123
  • 暗黑破坏神2存档修改器终极指南:3步打造完美角色
  • 2026物业服务推荐排行榜:住宅/政务/公建物业招标专用实力企业深度解析 - 深度智识库
  • 2026年3月激光切割厂家推荐分析,金属切割/二手锯床/锯切设备/二手圆锯机/圆锯机/锯床/锯条,激光切割源头厂家哪家好 - 品牌推荐师
  • SRWE终极指南:免费窗口编辑器让你的Windows窗口管理更高效
  • 雄县邦讯商贸:昌平浴袍回收有哪些 - LYL仔仔
  • 客户端接入实战:在 LangChain 中集成 MCP 工具调用
  • 基金
  • 【Matllab代码】不确定风功率接入下电-气互联系统的分布鲁棒机会约束经济分布式优化调度
  • macOS菜单栏终极管理指南:用Ice打造高效整洁的工作空间