Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Changelog

## v0.7.0-patch.1 (2026-04-22)

**Fork 起点:** 基于 [ericc-ch/copilot-api v0.7.0](https://github.com/ericc-ch/copilot-api/releases/tag/v0.7.0)

### Bug Fix

**修复 Claude Code 2.1.x 新版模型名不兼容问题**

- **文件:** `src/routes/messages/non-stream-translation.ts`
- **函数:** `translateModelName`
- **问题:** 原版将 `claude-sonnet-4-6` 截断为 `claude-sonnet-4`,被 GitHub Copilot 后端以 HTTP 400 拒绝;Claude Code 欢迎界面错误显示 "Sonnet 4"
- **修复:** 用正则 `^(claude-(?:sonnet|opus|haiku))-(\d+)-(\d+)$` 将连字符转换为点号,`claude-sonnet-4-6` → `claude-sonnet-4.6`
- **覆盖模型:** claude-sonnet-4-6、claude-opus-4-7、claude-haiku-4-5(及未来同格式新模型)

---

## 上游版本

参见 [ericc-ch/copilot-api releases](https://github.com/ericc-ch/copilot-api/releases)
45 changes: 45 additions & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 维护说明

## 同步上游更新

```bash
git fetch upstream
git log upstream/master --oneline | head -10 # 查看上游新提交
git merge upstream/master
```

合并冲突大概率只在 `src/routes/messages/non-stream-translation.ts` 的 `translateModelName` 函数。
解决冲突时,**保留本 fork 的 regex 版本**,丢弃上游的硬编码版本。

解决冲突后:

```bash
bun install && bun run build
# 本地验证四条模型名
curl -s -X POST http://localhost:4141/v1/messages \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}' | head -c 200
```

## 发版流程

1. 更新 `package.json` 中的 `version`(遵循 `0.7.x-patch.y` 格式)
2. 更新 `CHANGELOG.md`
3. `bun run build`
4. `git commit -am "chore: release vX.Y.Z-patch.N"`
5. `git tag vX.Y.Z-patch.N && git push && git push --tags`
6. 在 GitHub 创建 Release,附上 CHANGELOG 内容
7. `npm publish --access public`

## 新模型支持

当 Anthropic 发布新模型(如 claude-sonnet-5-0)时:
- 检查 `translateModelName` 中的正则 `^(claude-(?:sonnet|opus|haiku))-(\d+)-(\d+)$`
- 确认新命名格式是否匹配。若 Anthropic 引入全新系列名(非 sonnet/opus/haiku),在正则的 `(?:sonnet|opus|haiku)` 中添加新名称即可

## Patch 文件位置

| 文件 | 改动说明 |
|------|---------|
| `src/routes/messages/non-stream-translation.ts` | `translateModelName` 函数(核心 patch) |
| `package.json` | name / version / contributors / publishConfig |
Loading