Skip to content

第二节:首次对话

本节课将带你完成 OpenCode 的首次配置并与 AI 助手进行第一次对话。

📋 目录

配置 API 密钥

方式一:使用 /connect 命令(推荐)

OpenCode 提供了交互式的配置命令:

bash
# 启动配置向导
opencode /connect

按照提示选择模型提供商并输入 API 密钥:

? 选择模型提供商:
  1. OpenAI
  2. Anthropic
  3. 智谱 AI
  4. DeepSeek
  5. MiniMax
  6. 其他

> 输入数字或直接输入名称

方式二:环境变量

bash
# 设置 OpenAI API 密钥
export OPENAI_API_KEY="sk-xxx"

# 设置智谱 AI API 密钥
export ZHIPU_API_KEY="xxx"

# 设置代理(可选,国内用户建议配置)
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"

方式三:配置文件

编辑 ~/.config/opencode/config.yaml

yaml
# 模型配置
models:
  default: zhipu  # 默认模型
  providers:
    zhipu:
      api_key: "your-api-key"
      base_url: "https://open.bigmodel.cn/api/paas/v4"
    deepseek:
      api_key: "your-api-key"
      base_url: "https://api.deepseek.com"

# 代理配置(可选)
proxy:
  http: "http://127.0.0.1:7890"
  https: "http://127.0.0.1:7890"

# 其他配置
theme: dark
language: zh-CN

测试对话

配置完成后,启动 OpenCode 进行第一次对话:

bash
# 启动交互式对话
opencode

# 或者直接指定任务
opencode "请帮我写一个 Python 快速排序算法"

基本对话示例

用户: 你好,请介绍一下你自己

OpenCode: 👋 你好!我是 OpenCode,一个 AI 编程助手。我可以帮助你:

- 📝 编写和调试代码
- 🔍 分析代码问题
- 🛠️ 重构和优化代码
- 📖 解释编程概念
- 💡 提供技术建议

有什么我可以帮助你的吗?

代码生成示例

用户: 用 Python 写一个快速排序算法

OpenCode: 当然可以!这是 Python 快速排序的实现:

```python
def quick_sort(arr):
    """快速排序算法"""
    if len(arr) <= 1:
        return arr
    
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    
    return quick_sort(left) + middle + quick_sort(right)

# 测试
if __name__ == "__main__":
    test_arr = [3, 6, 8, 10, 1, 2, 1]
    print("原始数组:", test_arr)
    print("排序后:", quick_sort(test_arr))

输出:

原始数组: [3, 6, 8, 10, 1, 2, 1]
排序后: [1, 1, 2, 3, 6, 8, 10]

需要我解释代码的实现细节吗?


## 基本操作

### 常用命令

| 命令 | 描述 |
|------|------|
| `/connect` | 配置模型连接 |
| `/help` | 显示帮助信息 |
| `/clear` | 清除对话历史 |
| `/exit` | 退出程序 |
| `/save` | 保存对话记录 |

### 对话技巧

1. **明确需求**: 清晰描述你的需求
2. **提供上下文**: 给出相关代码或背景信息
3. **分步请求**: 复杂任务分解为多个步骤
4. **迭代优化**: 根据反馈调整需求

## 常见问题

### Q1: 提示 API 密钥无效?

- 检查 API 密钥是否正确
- 确认 API 密钥是否有余额
- 检查网络连接和代理设置

### Q2: 对话速度慢?

- 检查网络连接
- 尝试切换到更快的模型
- 减少请求的上下文大小

### Q3: 回复内容不准确?

- 明确你的需求
- 提供更多背景信息
- 要求 AI 重新生成

## 🎯 下一步

现在你已经完成了首次对话,继续学习下一节课:

[下一节:项目实战 →](#)(即将推出)

或者返回:

- [课程概览](./overview)
- [第一节:安装配置](./lesson1)
- [教程目录](../)