Release v0.1.3
🛡️ 带验证的配置编辑
gcop config edit 现在会在保存后验证配置,类似于 visudo 的工作方式。如果配置有语法错误,你会看到一个菜单:
✗ 配置验证失败: TOML 解析错误在第 3 行...
? 你想怎么做?
> ✎ 重新编辑配置文件
↩ 恢复之前的配置
⚠ 忽略错误并保留当前配置(危险)这可以防止意外破坏配置而无法使用。
🔧 配置恢复
之前,如果配置文件损坏,你甚至无法运行 gcop config edit 来修复。现在 config、init 和 alias 命令在配置损坏时会使用默认设置,所以你总是可以恢复:
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