Sooua
登录
返回文章列表
OpenCode··6 分钟阅读

故障排查指南

flowchart TD

目标:独立解决 OpenCode 使用中的常见问题,建立系统化排查能力


故障排查决策树


常见问题速查表

安装问题

症状原因解决
command not foundPATH 未包含export PATH="$HOME/.local/bin:$PATH"
permission denied权限不足chmod +x 或用包管理器安装
EACCESnpm 权限改用 nvm 或 npm --prefix
安装卡住网络问题换镜像源或使用代理

连接问题

症状原因解决
API key invalid密钥错误/过期重新 /connect 配置
Model not available模型名错误/地区限制检查名称,切换模型
Rate limited请求过快降低频率,检查配额
Timeout网络慢/模型慢换网络,换轻量模型

终端问题

症状原因解决
乱码字体不支持 Unicode换字体(JetBrains Mono)
颜色异常TERM 变量不对export TERM=xterm-256color
界面错位终端太小放大窗口至 80x24 以上
输入卡顿网络延迟高检查网络,换就近节点

性能诊断流程

Token 优化策略

{
  // 限制上下文长度
  "contextLimit": 8000,
  
  // 禁用不必要的工具描述
  "mcp": {
    "unused": { "enabled": false }
  },
  
  // 使用轻量模型做简单任务
  "models": {
    "default": "anthropic/claude-sonnet-4-5",
    "quick": "openai/gpt-4o-mini"
  }
}

日志分析指南

日志位置

# OpenCode 日志
~/.local/share/opencode/logs/
 
# 系统日志(systemd)
journalctl -u opencode --since "1 hour ago"
 
# Docker 日志
docker logs opencode-container --tail 200
 
# K8s 日志
kubectl logs -l app=opencode --tail 200

启用调试模式

# 环境变量调试
DEBUG=opencode opencode
 
# 或
OPENCODE_DEBUG=1 opencode server
 
# 详细网络日志
DEBUG=opencode,http opencode

日志分析示例

# 查找错误
grep -i "error\|fail\|timeout" ~/.local/share/opencode/logs/latest.log
 
# 统计 Token 消耗
jq -r '.token_usage' ~/.local/share/opencode/logs/*.log | awk '{sum+=$1} END{print sum}'
 
# 查找慢请求
jq 'select(.duration > 10)' ~/.local/share/opencode/logs/*.log

诊断脚本

一键诊断

#!/bin/bash
# opencode-doctor.sh
 
echo "=== OpenCode 诊断 ==="
 
# 版本
echo -n "版本: "
opencode --version 2>/dev/null || echo "未安装"
 
# PATH
echo -n "安装路径: "
which opencode 2>/dev/null || echo "不在 PATH 中"
 
# Node.js
echo -n "Node.js: "
node --version 2>/dev/null || echo "未安装"
 
# 配置
echo -n "全局配置: "
test -f ~/.config/opencode/opencode.json && echo "存在" || echo "不存在"
 
# API 密钥
echo -n "API 密钥: "
test -f ~/.local/share/opencode/auth.json && echo "已配置" || echo "未配置"
 
# 终端
echo "终端: $TERM"
echo "终端大小: $(stty size 2>/dev/null || echo 'unknown')"
 
# 网络
echo -n "网络: "
ping -c 1 opencode.ai >/dev/null 2>&1 && echo "正常" || echo "异常"

社区资源

资源链接用途
官方文档https://opencode.ai/docs权威参考
GitHub Issuesgithub.com/anomalyco/opencode/issuesBug 报告
Discussionsgithub.com/anomalyco/opencode/discussions问答交流
Discordhttps://opencode.ai/discord实时社区
更新日志GitHub Releases版本变化

提交 Issue 模板

## 环境
- OS: Ubuntu 22.04
- OpenCode: 1.2.3
- Terminal: WezTerm
- Node.js: 20.11.0
 
## 问题描述
启动后界面显示乱码
 
## 复现步骤
1. 运行 `opencode`
2. 界面中文显示为方块
 
## 已尝试
- [x] 更换终端
- [ ] 更换字体
 
## 日志

[ERROR] Unicode rendering failed


快速诊断清单

□ opencode --version 能正常运行吗?
□ 安装路径在 PATH 中吗?
□ API 密钥配置正确吗?
□ 网络连接正常吗?
□ 终端支持 Unicode 和 256 色吗?
□ 终端窗口足够大吗?
□ 配置文件格式正确吗?(JSON 有效)
□ 相关服务(MCP 等)运行正常吗?
□ 日志中有错误信息吗?
□ 磁盘空间充足吗?
□ 内存/CPU 够用吗?

紧急恢复

完全重置

# 重置配置(保留密钥)
mv ~/.config/opencode/opencode.json ~/.config/opencode/opencode.json.bak
 
# 重置所有数据(谨慎!)
rm -rf ~/.config/opencode
rm -rf ~/.local/share/opencode
 
# 重新初始化
opencode
/connect
/init

降级版本

# 安装特定版本
npm install -g [email protected]

🎉 恭喜完成全部教程!

你已掌握从入门到精通的完整 OpenCode 使用技能。

继续探索:


附:快捷键速查卡

快捷键功能
Tab切换计划/构建模式
Enter发送消息
Shift+Enter换行
/ 浏览历史
@文件引用
Ctrl+C取消/退出
Ctrl+L清屏

附:常用命令速查卡

命令功能
/init初始化项目
/connect配置 API 密钥
/models切换模型
/undo撤销修改
/redo重做修改
/share分享对话
/clear清空对话
/quit退出
分享

评论

登录 后参与讨论。

加载中…

相关文章