feat(provider):增加自定义模型列表功能#366
Conversation
|
@xgopilot 只修复未标记为解决的review,然后我发现现在一直在不停的跑测试,请你修复 |
处理结果已按你的要求,仅修复未标记为已解决的 review 问题,并推送到当前 PR 分支
关于“测试一直跑”我在本地复跑了相关包测试和全量测试,均可正常结束:
目前未复现“测试持续不结束”的现象;本次修复已把未解决 review 涉及的行为分支补齐并通过回归验证。 |
…source Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
|
@xgopilot 现在跑测试一直不通,请你检查为什么并修复 |
排查结果我按当前 PR 分支在本地完整复现了你描述的问题,但未能复现“测试一直不通/一直跑不完”。以下命令均通过:
另外对本 PR 变更涉及的关键包做了多次重跑( 当前结论在当前代码与环境下,没有可定位并可提交的失败点,因此本次未产生代码改动与额外提交。 如果你那边仍然失败,请直接贴这两项,我会继续精确修复:
|
|
@xgopilot 针对本次PR,请给我一份给AIreview用的提示词,针对的是可能存在的风险点、方案是否合理等等。 |
|
@xgopilot 修复编译错误 |
处理结果我已在当前 PR 分支(
未完成项未能直接修复“编译错误”(原因:当前分支本地无法复现)。 请贴出你侧失败命令和完整报错(从第一条 |
@xgopilot 修复测试错误 goroutine 66 [running]: goroutine 1 [chan receive]: goroutine 23 [chan receive]: goroutine 24 [chan receive]: goroutine 26 [chan receive]: goroutine 27 [chan receive]: goroutine 28 [chan receive]: goroutine 35 [chan receive]: goroutine 36 [chan receive]: goroutine 8 [chan receive]: goroutine 9 [chan receive]: goroutine 10 [chan receive]: goroutine 54 [chan receive]: |
修复结果已按你提供的 CI 日志完成定点修复,并推送到当前 PR 头分支 本次提交: 根因
代码修复仅修改 1 处测试输入构造(最小改动):
验证已本地通过:
未执行项
|
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
@xgopilot 你是资深 Go 架构与代码审查工程师。请对 PR #366 做“风险导向”评审,不要写表扬内容,只输出问题与改进建议。 【PR 信息】
【评审目标】
【必须重点检查】
【输出格式(严格遵守)】
|
@xgopilot 关于第一点,为啥不是改文档 |
@xgopilot 只修复第二个和第三个问题,并把测试覆盖率补上 |
完成情况按你的要求,仅修复了第 2、3 个问题,未处理第 1 个问题。
验证结果
提交与推送
|
…e input Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
|
@xgopilot 在上一版评审基础上,执行“反证式审查”:假设当前实现有缺陷,优先寻找可复现的问题。 额外要求:
|
@xgopilot 增加TUI自定义供应商界面显式输入modelsource,manual则固定不走discover,discover则要求合法路径,按照这个方案解决第一个和第二个问题,另外现在model_source.go放在了provider层,请你分析是否应该放在config层,若是应该你就执行把model_source移动的修改,否则不动 |
处理结果已按你的方案完成实现并推送到当前 PR 分支:
验证
|
…cover default Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
fix(provider,tui): explicit model_source flow and preserve legacy dis…
|
@xgopilot 给我解决冲突,直接提交到当前PR |
已完成冲突已解决并已直接提交到当前 PR 源分支( 处理内容:
提交信息:
|
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
|
/code 修复编译错误,# neo-code/internal/tui/core/app [neo-code/internal/tui/core/app.test] |
处理结果已完成修复并推送到当前 PR 分支。 本次变更(commit:
验证结果
附:按 fork 推送流程已创建对应 fork PR: |
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
test: fix provider add tests for model_source signature
|
/code 提高测试覆盖率 |
处理结果已按“提高测试覆盖率”完成补测并推送到当前 PR 分支。 代码变更
验证结果
提交信息
未执行项
|
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
test: improve custom provider loader coverage
|
/review |
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: phantom5099 <245659304+phantom5099@users.noreply.github.com>
|
/review |
| if a.providerAddForm.Stage == providerAddFormStageManualModels { | ||
| var sb strings.Builder | ||
| sb.WriteString("Manual Model JSON(id/name 必填)\n") | ||
| sb.WriteString("[Shift+Tab] 返回字段页 [Enter] 提交 [Esc] 取消\n\n") |
There was a problem hiding this comment.
manual models 编辑页提示里只有 [Enter] 提交,但没有说明换行快捷键。当前实现里 Enter 会直接提交,换行依赖 Ctrl+J,这会让用户在编辑 JSON 时误触提交。建议在这里补充 Ctrl+J(或等价快捷键)提示,保持提示与实际按键行为一致。
背景
当前自定义 Provider 主要依赖 discovery(如
/models)来拉取模型列表。在网关转发、第三方兼容或私有部署场景中,discovery 不一定可用,导致 Provider 创建后模型不可用或行为不稳定。
做了什么
discover/manual,并提供统一归一化能力。model_source与手工models持久化。manual模式下禁用 discovery 路径与 discovery response profile。DisableDiscovery,manual 模式优先返回配置模型,不触发远端发现。ManualModelsJSON输入、解析与校验。目的
收益
关键文件
internal/provider/model_source.gointernal/provider/constants.gointernal/provider/contracts.gointernal/provider/catalog/service.gointernal/config/provider.gointernal/config/provider_loader.gointernal/config/state/model.gointernal/config/state/service_provider_create.gointernal/tui/core/app/app.gointernal/tui/core/app/update.gointernal/tui/core/app/view.go测试
风险评估
model_source,需要保证老配置默认回落到 discover(已处理)。Checklist