Skip to content

Release v0.1.3

🛡️ 带验证的配置编辑

gcop config edit 现在会在保存后验证配置,类似于 visudo 的工作方式。如果配置有语法错误,你会看到一个菜单:

✗ 配置验证失败: TOML 解析错误在第 3 行...

? 你想怎么做?
> ✎ 重新编辑配置文件
  ↩ 恢复之前的配置
  ⚠ 忽略错误并保留当前配置(危险)

这可以防止意外破坏配置而无法使用。

🔧 配置恢复

之前,如果配置文件损坏,你甚至无法运行 gcop config edit 来修复。现在 configinitalias 命令在配置损坏时会使用默认设置,所以你总是可以恢复:

bash
# 即使配置损坏,这现在也能工作:
gcop config edit

🏗️ 代码质量改进

Provider 重构

将通用 HTTP 请求逻辑提取到共享的 send_llm_request() 函数中:

rust
// 之前: 每个 provider 有约 30 行重复的 HTTP 代码
// 之后: 单个函数处理所有 provider
pub async fn send_llm_request<Req, Resp>(...) -> Result<Resp>

这减少了约 50 行重复代码,并使添加新 provider 更容易。

更好的错误处理

OpenAI provider 现在在 API 响应为空时返回明确的错误:

rust
// 之前: 静默返回空字符串
.unwrap_or_default()

// 之后: 清晰的错误信息
.ok_or_else(|| GcopError::Llm("OpenAI 响应不包含任何选项".to_string()))

📦 安装

bash
cargo install gcop-rs

或从源码构建:

bash
git clone https://github.com/AptS-1547/gcop-rs.git
cd gcop-rs
cargo build --release

📚 文档