核心用法
easy-opencode 是一个用于远程服务器环境的 OpenCode 调用方案,通过纯 CLI 命令替代交互式 TUI 界面,解决 SSH 远程连接时 TUI 卡死的常见问题。
工作流程:
1. 认证检查:运行 opencode auth list 验证凭证状态
2. 目录确认:所有命令前缀 cd [repo dir] && 确保执行上下文正确
3. 模型选择:默认使用 opencode/minimax-m2.5-free,可通过 opencode models 查看可用模型
4. 会话管理:通过 --format json 查询现有会话,确保单会话环境
5. 双 Agent 循环:
- Plan Agent:分析任务、生成步骤计划、允许澄清提问
- Build Agent:执行已批准的计划,遇问题立即切回 Plan
关键配置:维护 opencode_session.txt 记录仓库路径与模型映射。
显著优点
- 远程友好:纯 CLI 输出规避 TUI 渲染问题,SSH 场景稳定可用
- 结构清晰:强制 Plan→Build 分离,避免未经规划的代码生成
- 状态可追踪:JSON 格式会话查询 + 配置文件持久化
- 模型灵活:支持切换不同 OpenCode 模型
潜在缺点/局限性
- 交互受限:失去 TUI 的实时视觉反馈,依赖文本流输出
- 手动目录管理:需显式维护
cd前缀,路径错误会导致命令失效 - 单会话假设:设计上预期单会话,多会话需人工干预
- 无自动重试:网络波动可能导致命令中断,需手动重跑
- 凭证前置:远程侧无法完成登录,需主机端预先配置
适合人群
- 在远程服务器/容器内使用 OpenCode 的开发者
- 需要自动化集成 OpenCode 到脚本或 CI 流程的技术团队
- 追求可复现、可记录 AI 编程会话的用户
常规风险
- 路径注入:若
[repo dir]未经验证,可能存在命令注入风险 - 凭证泄露:
opencode_session.txt明文存储路径信息,需控制文件权限 - 模型输出不可控:Build Agent 直接执行计划,需确保 Plan 阶段充分审核
- 远程执行原子性:CLI 调用失败后状态不一致,建议配合事务性回滚机制