ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DeepCode 如何为网关里目录未知的模型声明 manualModels 覆盖上下文窗口?

DeepCode 如何为网关里目录未知的模型声明 manualModels 覆盖上下文窗口? DeepCode 如何为网关里目录未知的模型声明 manualModels 覆盖上下文窗口【免费下载链接】DeepCodeDeepCode: Open Agentic Coding (Agent Harness Loop Engineering Multi-Agent Orchestration)项目地址: https://gitcode.com/GitHub_Trending/deepc/DeepCode当你通过 OpenRouter、vLLM 这类网关接入 LLM 时网关可能提供服务端目录里没有、或 DeepCode 内置 catalog 记录不准确的模型。此时 DeepCode 对它的上下文预算是错的/model选择器显示的数字不可信自动压缩compaction也会按错误预算触发。docs/guide/models.md 给出的解决办法是把模型“自己声明”出来——在连接配置里加modelCatalog: manual和manualModels条目声明的数值在运行时具有权威性。完成这篇文章后你会修改~/.deepcode/deepcode_config.json声明一个网关里的模型及其contextWindow/maxOutputTokens并用deepcode provider models和 TUI 确认这些数值已生效。准备安装 DeepCode 并建好一条连接声明模型是连接级操作所以前提是先有一条可用的连接。按 docs/guide/getting-started.md 的最小路径uv tool install --python 3.12 deepcode-hku deepcode initpip install deepcode-hku和pipx也可以需要 Python 3.12。deepcode init创建~/.deepcode/配置在那里凭证存放在旁边的私有存储中。然后按你的网关类型创建连接--api-key打开隐藏输入密钥不会留在 shell 历史里--api-key-env NAME则从环境变量读取deepcode provider set my-openrouter --template openrouter --api-key deepcode provider set office-vllm --template vllm --api-base http://gpu-box:8000/v1连接存放在~/.deepcode/deepcode_config.json的providers块下命名条目位于providers.profiles经典的分厂商块仍然有效。注意项目级配置刻意不能新增连接——凭证保持用户级作用域。用 manualModels 声明未知模型打开~/.deepcode/deepcode_config.json为你要覆盖的连接在profiles中加入声明。下面是 docs/guide/models.md 中的原文示例其中的模型 id、contextWindow1048576、maxOutputTokens384000都是文档示例值替换成你网关上该模型的真实容量即可profiles: { my-openrouter: { template: openrouter, modelCatalog: manual, manualModels: [ { id: deepseek/deepseek-v4-pro, contextWindow: 1048576, maxOutputTokens: 384000, reasoningEfforts: [off, low, medium, high] } ] } }两个行为要点来自文档原文声明在模型出现的每一处都是权威数据/model选择器显示你声明的数字运行时也按它们给上下文做预算。只声明你需要纠正的字段——缺失的字段会回落到内置 catalog不必把每个字段都补齐。如果你只想要一个最小的上下文窗口覆盖manualModels条目里只写id和contextWindow即可其余字段按上一条规则回落。验证声明已生效1. 用命令行查看连接返回的模型数值。deepcode provider models id --refresh会拉取该连接的模型目录每个模型一行显示 id、context即 contextWindow和output即 maxOutputTokens两列输出格式见 cli/provider_cli.pydocs/guide/getting-started.md 指明该文件是 CLI 的 source of truthdeepcode provider models my-openrouter --refresh确认你声明的模型一行里context和output显示的是你写入manualModels的数值而不是网关或旧缓存的值如果结果带(stale cache)提示说明用了缓存加--refresh重新拉取。2. 对单个模型发一次最小真实推理请求。这验证的不仅是数值还有凭证和连通性cli/provider_cli.py 中test子命令的说明deepcode provider test my-openrouter --model deepseek/deepseek-v4-pro成功时打印状态、模型数与延迟status: connectionId · n models · ms ms失败时退出码非零并逐条打印各 stage 的状态与 detail据此定位是发现阶段还是请求阶段出错。3. 在 TUI 里确认选择器显示的是你的数字。启动deepcode后› /model打开的选择器覆盖所有已配置连接的全部目录输入文字过滤、Tab切换连接范围、ShiftTab循环高亮模型的推理档位、Enter确认。找到目标模型确认显示的上下文数字是你在manualModels里声明的值。也可以显式指定› /model my-openrouter deepseek/deepseek-v4-pro4. 运行一轮后看 turn footer。每轮结束后的行如· 41s · 38.2k in · 512 out是 provider 自己报告的 token 数不是估算值也是驱动自动压缩的同一组数字。如果会话比预期早或晚进入压缩这个 footer 就是判断上下文预算是否正确的依据。使用中的边界与限制切换模型只影响之后的轮次——历史不会被改写进行中的一轮会用开始时的模型跑完。推理档位/effort high可取auto · off · low · medium · high是模型的属性选择器只提供所选模型实际支持的档位已声明的或 catalog 已知的。如果你在manualModels里写了reasoningEfforts/effort的可选项就以它为准。声明只覆盖你写出的字段未声明字段继续使用内置 catalog这意味着如果内置 catalog 对某字段的记录是错的而你没声明它错误会保留——需要纠正哪个字段就声明哪个字段。项目级deepcode_config.json不能新增连接声明模型只能在用户级配置里做。完成以上步骤后DeepCode 对该模型的上下文预算、选择器展示和压缩行为都以你的声明为准之后容量变了直接改manualModels里的对应数值即可无需重建连接。【免费下载链接】DeepCodeDeepCode: Open Agentic Coding (Agent Harness Loop Engineering Multi-Agent Orchestration)项目地址: https://gitcode.com/GitHub_Trending/deepc/DeepCode创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表