Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
804fe92
feat(dashboard): Model Calling 实时监控扩展至全 vendor,修复排队队列长度不可见 (#253)
ThreeFish-AI May 27, 2026
01ea020
build(version): 版本号升级至 0.5.1a1;
ThreeFish-AI May 27, 2026
47f4851
style(dashboard): 收窄并统一仪表板模块间垂直间距至 12px; (#254)
ThreeFish-AI May 27, 2026
1fa8f20
build(version): 版本号升级至 0.5.1a2;
ThreeFish-AI May 27, 2026
288b14b
feat(vendor-channels): 过渡管线诊断快照与 Anthropic 配对自检 (#255)
ThreeFish-AI May 27, 2026
e84242d
chore(docs): 迁移 Agent 协作文档至 docs/.agents/ 隐藏目录;
ThreeFish-AI May 28, 2026
36a7537
feat(routes): GET / 自动重定向至 /dashboard (#256)
ThreeFish-AI May 28, 2026
7c631e1
feat(pricing): 新增 claude-opus-4-8 模型定价配置;
ThreeFish-AI May 30, 2026
bb9712e
build(version): 版本号升级至 0.5.1a3;
ThreeFish-AI May 30, 2026
c1be4ed
fix(session-title): 剥离 <session> 标签前缀并放大标题存储长度至 600 字符; (#257)
ThreeFish-AI May 31, 2026
01e8d2a
build(version): 版本号升级至 0.5.1a4;
ThreeFish-AI May 31, 2026
344728d
feat(session-title): 多层级回退标题提取与延迟补写,消除 Dashboard 空标题; (#258)
ThreeFish-AI Jun 3, 2026
08d821f
build(version): 版本号升级至 0.5.1a5;
ThreeFish-AI Jun 3, 2026
63a47df
fix(session-title): 修复 <session> 标签包裹用户文本导致标题全部回退到元数据的问题; (#259)
ThreeFish-AI Jun 4, 2026
a778271
build(version): 版本号升级至 0.5.1a6;
ThreeFish-AI Jun 4, 2026
728d86a
feat(session-routing): 新增基于 Session 标题前缀的可配置 Vendor 自动绑定; (#260)
ThreeFish-AI Jun 7, 2026
26f7bf1
build(version): 版本号升级至 0.5.1a7;
ThreeFish-AI Jun 7, 2026
66319a8
feat(model-mapping): 调整多 Vendor 模型映射优先级并更新 GLM 映射与定价;
ThreeFish-AI Jun 13, 2026
6257cbe
build(version): 版本号升级至 0.5.1a8;
ThreeFish-AI Jun 13, 2026
9ef03fb
feat(zhipu): 将 529 过载异常纳入指数退避重试范畴; (#261)
ThreeFish-AI Jun 15, 2026
a247a9c
build(version): 版本号升级只 0.5.1a9;
ThreeFish-AI Jun 15, 2026
298f807
Merge remote-tracking branch 'origin/feature/1.x.x' into feature/1.x.x
ThreeFish-AI Jun 15, 2026
7cdfc47
feat(dashboard): 将 favicon 与 logo 品牌图标替换为 Tabler terminal-2; (#262)
ThreeFish-AI Jun 18, 2026
96ca026
build(version): 版本号升级至 0.5.1;
ThreeFish-AI Jun 18, 2026
0fe07be
fix(zhipu): 将 429/529 兜底退避抖动从 Full Jitter 改为 Equal Jitter; (#263)
ThreeFish-AI Jun 30, 2026
0c330d5
build(version): 版本号升级至 0.5.2a1; (#264)
ThreeFish-AI Jun 30, 2026
85f5278
feat(session): 新增 Session 标题豁免前缀,过滤注入式 Prompt 候选; (#265)
ThreeFish-AI Jul 2, 2026
b285ce3
build(version): 版本号升级至 0.5.2a2; (#266)
ThreeFish-AI Jul 2, 2026
fcaad7a
fix(session): 标题豁免前缀扩展至全层级兜底标题; (#267)
ThreeFish-AI Jul 2, 2026
cfc3884
build(version): 版本号升级至 0.5.2a3; (#268)
ThreeFish-AI Jul 2, 2026
c27c635
feat(session): 扩充标题豁免前缀,新增 [Session] 过滤注入式 Prompt 候选;
ThreeFish-AI Jul 3, 2026
7f62f01
chore(pricing): 更新智谱 GLM-5.2 模型定价配置;
ThreeFish-AI Jul 3, 2026
18f2521
feat(dashboard): 供应商队列支持拖拽调整优先级且不重置当日配额; (#269)
ThreeFish-AI Jul 3, 2026
c8606eb
build(version): 版本号升级至 0.5.2a4; (#270)
ThreeFish-AI Jul 3, 2026
4ce1356
fix(dashboard): 供应商队列拖拽改用 Pointer Events,修复无法拖动并实机验证 cc 优先级实时生效; (#271)
ThreeFish-AI Jul 3, 2026
f4b7ef2
style(branding): 重设计 logo/favicon 为淡色磨砂卡片 + 品牌渐变笔划; (#272)
ThreeFish-AI Jul 3, 2026
b07c08f
build(version): 版本号升级至 0.5.2a5;
ThreeFish-AI Jul 3, 2026
7d19563
build(version): 版本号升级至 0.5.2a5; (#273)
ThreeFish-AI Jul 3, 2026
ac45623
style(branding): logo/favicon 容器玻璃雾卡化、>_ 笔划加粗提亮(醒目度优化) (#274)
ThreeFish-AI Jul 4, 2026
9a8daea
build(version): 发布 v0.5.2a6 — 品牌图标 d05 通透青绿圆环 + prompt >_ 笔划 (#275)
ThreeFish-AI Jul 4, 2026
54a3448
docs(readme): 页脚补充作者主页与 Apache 2.0 开源协议超链接;
ThreeFish-AI Jul 4, 2026
2677b5e
style(dashboard): KPI 卡片固定 6 列防折行 + 全页 UI/UX 加固; (#276)
ThreeFish-AI Jul 4, 2026
f8bc9b9
build(version): 发布 v0.5.2a7 — Dashboard KPI 卡片固定 6 列防折行 + 全页 UI/UX 加固;
ThreeFish-AI Jul 4, 2026
947fcbc
docs(readme): 用项目品牌图标替换 README H1 的 ⚡ 占位符;
ThreeFish-AI Jul 4, 2026
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
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,20 @@
3. **Link Validity**: 确保所有引用的 URL 可访问且具备明确的上下文价值;
4. **Testing**: 统一在 tests/ 下维护测试用例,区分单元测试(unit)和集成测试(integration),所有测试的本地运行总时间控制在 3 min 以内;
5. **Pre-commit Hooks**: 首次克隆仓库使用 `uv run pre-commit install` 激活本地 Git hooks,使 Ruff lint(含 auto-fix)、Ruff format 及通用代码卫生检查在每次 commit 前自动运行。若 hooks 自动修复了问题,提交会被中断,执行 `git add -p` 审阅修复内容后重新提交即可;
6. **Issue**: 在 [issue.md](docs/agents/issue.md) 中维护你处理过的 Issue 摘要(问题描述、表因根因、处理方式、后续防范、同类问题影响与处理注意事项等),便于同类问题的跨上下文处理;注意识别相同 Issue,不要同 Issue 多处维护;
6. **Issue**: 在 [issue.md](docs/.agents/issue.md) 中维护你处理过的 Issue 摘要(问题描述、表因根因、处理方式、后续防范、同类问题影响与处理注意事项等),便于同类问题的跨上下文处理;注意识别相同 Issue,不要同 Issue 多处维护;
- **Package Management Standardization (包管理规范)**:
1. **Python**: 严禁使用 pip/poetry,**必须**统一使用 `uv` 进行包管理与脚本执行(如 `uv run`);
2. **JavaScript/TypeScript**: 严禁使用 npm/yarn,**必须**统一使用 `pnpm` 进行包管理与脚本执行;
- **Database Management**: 谨慎操作,数据迁移、测试等操作严禁将现有数据删除,谨慎操作数据迁移的回滚,防止数据被清理。
- **In-depth and close to the facts**:系统且全面地进行问题的分析,深入贴近事实,如有疑问,需先发问,不要乱做决定。
- **Browser Validation Protocol (浏览器验证准则)**:Agent 不得自行完成、绕过或模拟任何 OAuth / SSO 认证流程,所有登录态均来源于用户已认证的 Chrome 主 profile(真实用户登录态)。完整协议(连通性自检、凭证管理、E2E 集成、实机回归等)详见 [浏览器验证协议](./docs/agents/browser-validation.md);
- **Browser Validation Protocol (浏览器验证准则)**:Agent 不得自行完成、绕过或模拟任何 OAuth / SSO 认证流程,所有登录态均来源于用户已认证的 Chrome 主 profile(真实用户登录态)。完整协议(连通性自检、凭证管理、E2E 集成、实机回归等)详见 [浏览器验证协议](./docs/.agents/browser-validation.md);
1. **安全红线**:禁止在 Sandbox 浏览器中跳转 Google 同意屏;禁止以模拟用户或第三方账号替代真实登录态;禁止要求用户在 chat 中粘贴密码、Cookie 或验证码;
- **Knowledge Map (知识索引)**:项目所有文档索引统一维护在 [知识索引](./docs/agents/knowledge-map.md),并在文档目录变更时即时同步跟新;
- **Knowledge Map (知识索引)**:项目所有文档索引统一维护在 [知识索引](./docs/.agents/knowledge-map.md),并在文档目录变更时即时同步跟新;
- **Documentation Standards (文档规范)**:
1. **Visual Documentation (图文并茂)**: 对于复杂逻辑,优先 **Mermaid Visualization Norms (Mermaid 可视化规范)**,构建”图文并茂”的直观文档;
- **色彩语义与兼容性**:为图表节点配置具备语义辨识度的色彩,并确保在深色模式(Dark Mode)下具有极高的对比度与清晰度;
- **逻辑模块化解构**:针对业务跨度较大的架构流程,强制采用 `subgraph` 容器进行层级解构与边界划分,以增强图表的自解说(Self-explaining)能力;
2. **语言叙事**:用语精准,叙事完备,行文专业,聚焦核心,篇幅精炼,形象具体,体现真实作用与用户吸引性,字数恰当;
3. **Direct Hyperlinking (直接跳转)**: 在文档中提及 Repo 内其他资源(文档/代码)时,**必须**构建可跳转的相对路径链接(如 `[Doc Name](./path.md)`),严禁使用”死文本”引用,以降低信息检索熵;
4. **实操截图**:文档需要引入必要的浏览器实操截图时,需自行通过默认浏览器打开相关页面,通过实操现场截图并保留到文档路径进行文档引用;
- **Reference Specifications (IEEE)**:为保障工程决策的可追溯性与学术严谨性,核心引用需遵循 [reference-specifications.md](docs/agents/reference-specifications.md)IEEE 标准引用格式;
- **Reference Specifications (IEEE)**:为保障工程决策的可追溯性与学术严谨性,核心引用需遵循 [reference-specifications.md](docs/.agents/reference-specifications.md)IEEE 标准引用格式;
42 changes: 42 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,48 @@

## [Unreleased]

## [v0.5.2a7](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a7) - 2026-07-04

- style(dashboard): Overview 页 6 张 KPI 卡片(今日请求数 / Token 总量 / 输出 Token / 费用估算 / 故障转移 / 平均延迟)固定单行不折行——`.kpi-grid` 由 `repeat(auto-fit, minmax(200px, 1fr))`(视口 < ~1289px 即减列换行)改为 `repeat(6, minmax(0, 1fr))`,`minmax(0,…)` 覆盖 grid 默认 `min-width:auto` 杜绝内容撑列引发的横向溢出,桌面/笔记本/平板横屏(≥1024px)恒定 6 列单行;`gap` 由 off-grid 的 `5px` 归一为 `--gap-section`(12px);`.kpi-value` 采用 `clamp(20px, 2.2vw, 32px)` 平滑缩放使中宽度不裁剪数值,费用卡 `#kpi-cost-today` 允许在 `" + "` 处换行使双币种始终完整可见;新增 ≤1023px→3 列、≤480px→2 列 优雅降级,`header` 补 `flex-wrap` 修复窄屏横向溢出(Playwright 8 档宽度实测:1440/1280/1024px 均 6 列单行、无横向滚动、无数值裁剪)(#276);
- a11y(dashboard): 为 `.range-btn` / `.btn-refresh` / `.page-btn` / `.copy-btn` 补 `:focus-visible` 键盘焦点环,统一交互元素键盘可达性;新增 `@media (prefers-reduced-motion: reduce)` 降级 `fadeInUp` 动画与 hover 过渡,照顾前庭敏感用户 (#276);
- fix(dashboard): 补定义 `--bg-secondary` / `--text-muted` 两个此前**未定义**的 CSS 变量(消除 `.mc-model-row` / `.mc-empty` 背景与文字色回退瑕疵);Google Fonts 补载 JetBrains Mono `700` 字重,修正 `.kpi-value` 合成粗体渲染 (#276);
- docs(readme): 页脚补充作者主页(ThreeFish-AI)与 Apache License 2.0 开源协议超链接;

## [v0.5.2a6](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a6) - 2026-07-04

- style(branding): 品牌图标(logo/favicon)迭代至「通透青绿圆环 + Tabler prompt `>_` 笔划」(方案 d05):全透明底 + 青绿渐变(`#22d3ee` → `#2dd4bf`)细圆环(stroke 0.5,仅原 1/3、通透若隐)+ 饱和青绿渐变 `>_`(stroke 2.5),极细环与饱和笔划形成权重对比、`>_` 为视觉主角,青绿承载终端/代码语义;基础笔划改用 Tabler prompt(chevron `M5 7l5 5l-5 5` + 下划线 `M13 17l6 0`,下划线长 6 单位、不会小尺寸点化);渐变改 `gradientUnits="userSpaceOnUse"` 绝对坐标,修复纯水平下划线(包围盒高度 0)在默认 objectBoundingBox 渐变下不着色而「消失」的问题;`_LOGO_DEFS` / `_PROMPT_PATHS` 单一事实源统一供 SVG favicon、ICO 回退(省略 0.5px 细环、保留饱和笔划)与页面 logo 消费;`.logo` 容器改全透明、SVG 内嵌圆环 + 青绿 drop-shadow 辉光(实机验证)(#274);
- style(branding): 品牌图标醒目度前置优化(同主题演进过程,已并入本版):容器由「淡色磨砂卡片」改为「玻璃雾卡」(半透明白 + hairline 描边环)与深色毛玻璃 header 语言统一、消除「亮白贴片」压制感,`>_` 笔划加粗 stroke-width 2→2.5 并撑开间距避免粘连、防止下划线小尺寸退化为圆点 (#274);

## [v0.5.2a5](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a5) - 2026-07-04

- fix(dashboard): 供应商队列拖拽由原生 HTML5 DnD 改为 Pointer Events 实现,修复 v0.5.2a4 引入的拖拽排序功能在浏览器中无法拖动的问题;引入 4px 拖拽阈值、乐观实时重排与指针捕获机制,同步支持触屏设备;拖拽完成后顺序立即影响 cc 运行时供应商优先级调度(实机验证);为 `/dashboard` 响应增加 `Cache-Control: no-cache`,防止浏览器缓存旧内联脚本;补齐前端守卫测试断言 (#271);
- style(branding): 重设计 logo/favicon 为 `#f5f6fb` 淡色磨砂卡片 + 品牌渐变(`#667eea` → `#764ba2`)`>_` 笔划 + 半透明细描边环,轮廓成为视觉主角、小尺寸下更清晰(Linear/Vercel 风);抽取 `_LOGO_DEFS` 作为品牌渐变 `<defs>` 单一事实源,统一供 SVG favicon、ICO 回退与页面 logo 消费 (#272);

## [v0.5.2a4](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a4) - 2026-07-03

- feat(dashboard): 供应商状态模块支持拖拽调整供应商优先级,新增纯重排序端点 `PUT /api/tier-order`(复用 `router.reorder_tiers`,不重置熔断器/配额守卫/rate limit),拖拽后配额与用量统计保持当日值不变;与 `reset -v` 同源、运行时内存生效,失败自动回滚至服务端真实顺序 (#269);
- feat(session): 扩充标题豁免前缀,新增 `[Session]` 过滤注入式 Prompt 候选;
- chore(pricing): 更新智谱 GLM-5.2 模型定价配置;

## [v0.5.2a3](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a3) - 2026-07-02

- fix(session): 标题豁免前缀扩展至全层级兜底标题,修复 `[Session] <model>` 等 Level 4 合成标题无法豁免(原 `title_exempt_prefixes` 仅 Level 1 生效);改为在 `_extract_session_title` 编排层对 L1/L2/L3/L4 候选统一拦截,命中回退、全豁免返回空串待后续真实输入回填,默认行为零影响 (#267);

## [v0.5.2a2](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a2) - 2026-07-02

- feat(session): 新增 Session 标题豁免前缀配置 `title_exempt_prefixes`,过滤注入式 Prompt(典型如 "Write the title in the language the user wrote in...")被误用为 Session 标题;首条 user 输入经噪声剥离后命中豁免前缀则跳过、继续向后查找 title 候选,Level 2/3/4 回退不受影响 (#265);

## [v0.5.2a1](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.2a1) - 2026-06-30

- fix(zhipu): 将 429/529 兜底退避抖动从 Full Jitter 改为 Equal Jitter(`[0, ceiling]` → `[ceiling/2, ceiling]`),修复 529 过载重试延迟非单调(实测 418.8→1857.7→961.6→3769.7ms)问题,重试延迟呈单调非递减指数形态;429 与 529 共用退避路径同步受益,server `retry-after` 优先级不变 (#263);
- feat(dashboard): Model Calling 实时监控扩展至全 vendor / 全 model(仅 CC 场景),其他 vendor 在 monitor 模式下仅计数不限流,Zhipu 保留 limited 模式 + FIFO 排队;
- feat(concurrency): 新增 `peak_pending_recent` 最近 10s 排队峰值追踪,瞬时排队释放后前端仍可见"曾排队 N" 余晖徽章;
- perf(dashboard): Model Calling 轮询间隔由 5000ms 缩短至 1500ms,提升瞬时排队可观测性;
- refactor(vendors): `ModelConcurrencyLimiter` 重构为 `ModelConcurrencyController`,统一 monitor / limited 双模式抽象(保留旧名别名);并发控制由 vendor 内部迁移至 executor 层 `track_in_flight` 包裹,行为对所有 vendor 一致;

> [!NOTE]
> 本版另补记 v0.5.1 Release Note 遗漏的 4 项并发与监控改动(feat/perf/refactor,代码已随 v0.5.1 上线,文档此前未记录)。

## [v0.5.0](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.0) - 2026-05-27

> [!IMPORTANT]
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<div align="center">

# coding-proxy
# <img src="assets/logo.svg" alt="coding-proxy" width="32" height="32" align="absmiddle"> coding-proxy

**A High-Availability, Transparent, and Smart Multi-Vendor Proxy for Claude Code**

Expand Down Expand Up @@ -125,7 +125,7 @@ graph RL

Client["💻<br/>Client (Claude Code)"]:::client

subgraph CodingProxy["coding-proxy"]
subgraph CodingProxy["coding-proxy"]
direction RL

Router["RequestRouter<br/><code>routing/router.py</code>"]:::router
Expand Down Expand Up @@ -189,5 +189,5 @@ During our chaotic yet rewarding exploration of engineering practices, we were h
---

<div align="center">
<sub>Built with 🧠, ❤️, and an absurd amount of coffee by ThreeFish-AI </sub>
<sub>Built with 🧠, ❤️, and an absurd amount of coffee by <a href="https://github.com/ThreeFish-AI">ThreeFish-AI</a> · Released under the <a href="./LICENSE">Apache License 2.0</a>.</sub>
</div>
1 change: 1 addition & 0 deletions assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
Loading
Loading