Skip to content

feat: add Modelink endpoint#30

Merged
krisxia0506 merged 1 commit into
mainfrom
add-modelink-endpoint
Jun 1, 2026
Merged

feat: add Modelink endpoint#30
krisxia0506 merged 1 commit into
mainfrom
add-modelink-endpoint

Conversation

@krisxia0506

Copy link
Copy Markdown
Collaborator

Summary

  • add openai.qiniu.com as the default domestic endpoint
  • keep api.qnaigc.com as the domestic backup endpoint
  • add api.modelink.ai as the final Modelink endpoint option
  • update endpoint docs and localized labels

Testing

  • pnpm test
  • connectivity checked for api.modelink.ai: /v1/models, /v1/market/models, /v2/stat/usage, /v1/chat/completions

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

此拉取提交主要更新了项目的 API 线路配置,将默认国内线路更改为 https://openai.qiniu.com,原国内线路 https://api.qnaigc.com 降级为备用线路,并新增了 Modelink 线路(https://api.modelink.ai)。相关修改同步更新到了文档、多语言本地化文件以及端点定义中。审查意见指出,在 src/lib/tools/codex-tool.ts 中硬编码默认端点地址可能会导致维护问题,建议使用 configManager.baseUrl 动态获取当前配置的端点。

Comment thread src/lib/tools/codex-tool.ts Outdated
content = upsertTopLevelModelProvider(content);

const providerBaseUrl = `${(baseUrl || 'https://api.qnaigc.com').replace(/\/+$/, '')}/bypass/openai/v1`;
const providerBaseUrl = `${(baseUrl || 'https://openai.qiniu.com').replace(/\/+$/, '')}/bypass/openai/v1`;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

[P2] 避免硬编码默认端点地址

触发条件:在 buildCodexConfig 中,当 baseUrl 未传入时,代码硬编码回退到 'https://openai.qiniu.com'

实际影响:如果未来默认端点发生变化,或者用户配置了其他端点,这里硬编码的默认值会导致不一致,增加维护成本。

改进建议:由于 configManager 已经导入,可以直接使用 configManager.baseUrl 作为回退值,这样可以动态获取当前配置的端点,避免硬编码。

Suggested change
const providerBaseUrl = `${(baseUrl || 'https://openai.qiniu.com').replace(/\/+$/, '')}/bypass/openai/v1`;
const providerBaseUrl = (baseUrl || configManager.baseUrl).replace(/\/+$/, '') + '/bypass/openai/v1';
References
  1. 避免硬编码默认端点地址,应使用配置管理器动态获取。 (link)

@fennoai

fennoai Bot commented Jun 1, 2026

Copy link
Copy Markdown

Review completed across code quality, performance, security, and documentation accuracy passes. No noteworthy issues found in the changed code.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Codex 评审

结论:通过

问题

未发现需要阻塞或关注的问题。

本次 PR 主要影响 src/lib/endpoints.ts 的线路定义与默认线路、src/locales/* 的线路文案、README/CLAUDE 文档,以及 src/lib/tools/codex-tool.ts:91 的 Codex 默认 fallback base URL。未看到会导致菜单闪烁、方向键/回车失效、卡住退出、终端输出不可读或真实 HOME 被污染的改动。

验证说明

  • pnpm test: success。日志显示 34 个单元测试全部通过。
  • pnpm test:interactive: success。交互报告覆盖了主菜单、工具选择器,以及 Claude Code、Codex、CodeBuddy、WorkBuddy、Hermes Agent 各工具菜单的真实伪终端键盘导航。
  • 交互测试脚本使用临时 HOME/USERPROFILE,并在结束后清理;未发现配置写入真实 HOME 的风险。
  • 报告中各菜单方向键选择、回车确认、返回/退出路径均通过,未发现与本次端点文案和默认线路变更相关的用户可见回归。

@krisxia0506 krisxia0506 force-pushed the add-modelink-endpoint branch from c977502 to bce2d4d Compare June 1, 2026 12:40
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Codex 评审

结论:通过

问题

未发现需要关注的 bug、行为回归、安全风险、数据丢失风险或 CLI 交互回归。

评审说明

本 PR 主要影响线路定义与默认线路、线路选择菜单展示、配置面板中的线路文案,以及 Codex 未显式传入 baseUrl 时的默认写入地址。新增 modelink 线路没有改变工具注册、菜单循环、终端渲染或 HOME 写入逻辑;现有 china 配置仍会解析为 api.qnaigc.com,默认值切换到 openai.qiniu.com 符合 PR 描述。

交互报告覆盖了主菜单、工具选择器,以及动态发现的 Claude Code、Codex、CodeBuddy、WorkBuddy、Hermes Agent 工具菜单键盘导航;方向键、回车确认、返回/退出路径均通过,未看到菜单闪烁失控、卡住或输出不可读。交互脚本使用临时 HOME/USERPROFILE,未发现污染真实 HOME 的证据。

测试/验证

已读取测试产物:pnpm test 成功,单测 34 项全部通过;pnpm test:interactive 成功,并在当前构建产物上完成伪终端交互检查。报告未单独进入“配置线路”选择页,因此新增 Modelink 选项的直接键盘选择属于剩余覆盖空白,但从 diff 看该 flow 仍使用同一 promptHelper.selectENDPOINT_DEFINITIONS 枚举生成,风险较低。

@krisxia0506 krisxia0506 merged commit 0187159 into main Jun 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant