Commandcode一直422的原因,以及修复方法

candy2025 2026-09-29 23:54 1

之前一直用旧版本,没有关过机,一点问题都没有,然后现在重启了一下,一直报错422,查了一下原因是 api.commandcode.ai 网关对 developer 角色请求有一条 256Ki(262,144 token)的上下文上限,超了就直接回 422 invalid_request_error;而 DSH 0.2.0-rc.2 对推理模型默认把系统提示词用 developer 角色发出去。所以任何长到 ~20 万 token 的会话,一旦越过这条线就永久 422——历史是固定的,每次重试拼出同一个超大请求,同一个结果。


修复是增加这个字段:

compat:

supportsDeveloperRole: false


示例:



  • id: llm-pi-ai

    name: “@deepseek-ai/dsh-llm-pi-ai”

    config:

    providers:

    commandcode:

    displayName: Commandcode

    apiKeyEnv: COMMANDCODE_API_KEY

    api: openai-completions

    baseURL: https://api.commandcode.ai/provider/v1

    reasoning: high

    compat:

    supportsDeveloperRole: false

最新回复 (4)
  • 赢鲸 09-30 00:05
    1楼

    compat:

    supportsDeveloperRole: false

    加这个吗?

  • candy2025 楼主 09-30 00:07
    2楼

    是的,增加这个字段可以让dsh去掉developer角色,因为原本就是system角色的,这个变化不知道有什么作用,对于官方api应该是适配这个变化的,第三方肯定是兼容openai的

  • 赢鲸 09-30 00:15
    3楼

    我发现现在没几句旧提示上下文压缩,我开500K都没用,之前好像没提示的,估计是commandcode最近更新的,之前没注意这个,也没出过422。

    不过,这样设置会不会影响智商

  • candy2025 楼主 09-30 00:20
    4楼

    不会,因为openai的api本来就是system角色里面加提示词的,dsh突然改成developer这个不知道有什么用,也没有任何的变化说明

* 帖子来源Linux.do
返回