跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(LCZ-Blue)
  • 不使用皮肤
  • LCZ-Green
  • LCZ-Blue
  • LCZ-Black
折叠
品牌标识

抡锤者

首页 版块 标签
硬件
装备秀
AI 广场 App
  1. 主页
  2. 版块
  3. AI Agent
  4. 把 Strata+qwen3.8-flash-next-unsloth-ud-q4_k_xl 接进 Claude Code的五个坑

把 Strata+qwen3.8-flash-next-unsloth-ud-q4_k_xl 接进 Claude Code的五个坑

已定时 已固定 已锁定 已移动 AI Agent
strataqwen-flashclaude-code
7 帖子 4 发布者 384 浏览 2 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • W
    W
    wml-ai
    体面乡绅 硕果累累
    编写于 最后由 编辑
    #1

    把 Strata+qwen3.8-flash-next-unsloth-ud-q4_k_xl 模型(262,144 上下文),通过 CC Switch 接进 Claude Code 当日常 coding 的模型。

    连通本身没什么难度,claude -p 第一次就出结果。麻烦全在后面,一个坑接一个坑。

    五个坑里四个是上下文的问题。下面按踩到的顺序记。


    接入

    Claude Code 插件通过 CC Switch 接入:

    字段 值
    请求地址 http://<推理机>:18090,只填基址,不带路径
    上游格式 Anthropic Messages(原生)
    认证字段 ANTHROPIC_AUTH_TOKEN(默认)

    坑 1:「获取模型列表」失败,可以无视

    点那个按钮一直失败。为了确认是客户端还是服务端的问题,DSH在本机起了个探针服务,把地址指过去:

    获取模型列表失败

    探针一条记录都没收到。查数据库、应用日志、活动连接,结论一致:那个按钮根本没发出 HTTP 请求,在客户端就失败了。

    它只是个自动填模型名的便利功能。Strata 不校验模型名,手填 qwen3.8-flash-next-unsloth-ud-q4_k_xl 直接保存就行。在这个按钮上耗掉的时间,比全篇其他坑加起来还多。


    坑 2:[1m] 不是 CC Switch 加的

    第一次跑通后,输出里带着一条:

    [claude-code:unrecognized_model] {"model":"qwen3.8-flash-next-unsloth-ud-q4_k_xl[1m]"}
    

    CC Switch 表单里确实有个「声明支持 1M」的勾,但没选中。数据库和 settings.json 里的模型名都是干净的:

    ANTHROPIC_DEFAULT_SONNET_MODEL = 'qwen3.8-flash-next-unsloth-ud-q4_k_xl'
    

    [1m] 是 Claude Code 自己的 1M 上下文标记,官方文档里的模型别名就有 sonnet[1m] / opus[1m]。


    坑 3:这个标记会导致 400

    带上之后,Claude Code 认为窗口是 100 万,于是请求 max_tokens: 300000,Strata 直接拒绝:

    Strata 服务端的 400

    图里它自己把解法写出来了。


    坑 4:200k 兜底,以及修它时会踩的第二个坑

    没设变量时,Claude Code 会提示:

    ⚠ Model "qwen3.8-flash-next-unsloth-ud-q4_k_xl" isn't recognized · context assumed to be 200k tokens

    这不是提示,是客户端会真执行:到 20 万就 auto-compact,对着 262,144 的上限白白丢掉六万 token。兜底值高了同样有害,会一路撞到网关硬限制才报错。

    正确做法是显式声明窗口。但官方文档里这节有个前提:

    If ... the ID contains [1m], in any casing, Claude Code assumes a 1M window for it and the variable doesn't apply on its own. To correct the window while keeping proactive compaction, also set CLAUDE_CODE_DISABLE_1M_CONTEXT=1.

    也就是说,模型 ID 里带着 [1m] 时,声明窗口的变量单独失效。要么同时加 CLAUDE_CODE_DISABLE_1M_CONTEXT=1,要么把模型名弄干净。

    我用的后者,只留一条 Haiku 映射加 model: haiku,变量就生效了:

    "env": {
      "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "262144"
    }
    

    重启后 /context 从 200k 变成 262.1k:

    上下文窗口修复前后


    坑 5:把压缩点设成 200,000,窗口也跟着变成 200k

    窗口修好之后我又想"再稳一点":声明 262,144,把压缩点压到 200,000,留六万富余。于是用 /autocompact 设了 autoCompactWindow: 200000。

    重启,/context 变成 9.6k/200k——它把 200k 当成了窗口本身:

    同一个会话,唯一的差别是这个键

    翻 CLI 的代码才明白语义:

    if (window <= b) return y;                                           // 配置值 ≥ 声明窗口 → 用声明值
    return { window: Math.min(s, b), configured: b, source: "settings" }  // 否则用配置值
    

    autoCompactWindow 给工作窗口设上限,不是设压缩阈值。阈值是从这个上限往下扣出来的:

    声明窗口 262,144 → min(262144, 200000) = 200,000 → 减输出预留 → 再减 33k buffer → 压缩点约 167k
    

    所以实际能用的是 167k 左右,不是 200k,比我以为的少了一大截。想"留六万富余",结果扔了将近十万。

    改回 auto 之后恢复成 262.1k,buffer 33k,可用约 229k,重启后不变:

    "modelSettings": {
      "qwen3.8-flash-next-unsloth-ud-q4_k_xl": {
        "effortLevel": "low",
        "autoCompactWindow": "auto"
      }
    }
    

    这个键要么留 auto,要么设一个不小于声明窗口的值(等于没设)。别拿它来留余量——余量是从窗口里扣的,不是从阈值里扣的。


    两层防护

    客户端这边折腾完之后,服务端还应该有一层兜底。

    层 配置 负责
    客户端 声明真实窗口 262,144,压缩点留 auto 在到顶前主动压缩对话
    服务端 fit_max_tokens: true 兜住客户端超额的单次输出请求

    服务端那项加完之后,用之前必然报 400 的参数实测:

    之前: 400 prompt (16 tokens) + max tokens (300000) exceeds the context (262144)
    现在: reply 'FIT OK'   stop_reason: end_turn
    

    日志里 400 invalid request 的总数没有增加。

    **客户端管对话别太长,服务端管单次输出别要太多。**只配一边,另一边迟早撞墙。顺带一提,服务端这个变量还解决了一类更普遍的毛病:agent 客户端普遍把输出上限按上下文满额来要,不加就只能靠客户端自觉。


    小结

    五个坑里,除了第一个是客户端按钮的问题,其余四个都指向同一件事:客户端不知道这个模型有多大,于是自己编了一套答案。

    编的方式有三种。写小了,客户端提前压缩,安静地扔掉一半上下文;写大了,一路灌到服务端才 400,报错还跟真正的原因隔着一层。第三种是我自己造的——为了留点余量去设压缩点,结果把工作窗口一起改小了,而 /context 显示出来的数字看着都正常。

    最后一条是这次最贵的教训。autoCompactWindow 这个名字听着就是"到多大开始压缩",谁也想不到它会把工作窗口本身也一起改小。

    Windows-Mac-Linux-AI

    1 条回复 最后回复
    1
    • terryT
      terryT
      terry
      易有太极
      编写于 最后由 编辑
      #2

      不错,虽然是小众玩法

      油管:https://www.youtube.com/@抡锤者

      kop wangK 1 条回复 最后回复
      0
      • terryT terry

        不错,虽然是小众玩法

        kop wangK
        kop wangK
        kop wang
        易有太极
        编写于 最后由 编辑
        #3

        @terry 从官方的说法上讲,所有qwen系列的官宣跑分都是号称在cc+针对性提示词环境下测得的。可以大概理解为qwen系的“专武”是claude code也没错。

        claude code的问题还是老样子,一个是冷启动提示词巨大,一个是闭源,一个是提示词针对他自家模型,以及其混合模型调用分工有优化,导致有点“教做人”。

        尤其是最后一点,这就导致有时候cluade code盲目相信模型能力,不做校验就完成。要么是极度不信任模型结果,反复校验。本质上就是他复合模型调用的路径不同导致的。

        虚心交流,一起进步

        1 条回复 最后回复
        1
        • Charly ChengC
          Charly ChengC
          Charly Cheng
          编写于 最后由 Charly Cheng 编辑
          #4

          我是小白 請教一下。接入 Claude Code 有什麼特別嗎? 接入Codex 的效果 會有什麼差別嗎?

          1 条回复 最后回复
          0
          • W
            W
            wml-ai
            体面乡绅 硕果累累
            编写于 最后由 编辑
            #5

            @charly-cheng
            OpenAI已经全面改为Responses格式,目前主流的开放模型虽然都宣称支持该格式,但是我个人实际体验来说兼容性不好,尤其是在Codex里接入本地模型后,工具调用时体验较差,长任务过程中会有多次中断。有很多路由转换的工具,包括CC Switch的新版也加入了聚合模式,简化了将本地模型整合入Codex的过程,但是具体使用过程中仍然不如官方模型那么丝滑。而Claude Code就没有这些问题,主流模型都支持Anthropic messages格式,通过CC Switch接入后,无论是线上模型还是本地模型接入后都能很顺利的工作。推荐使用Deepseek Harness,灵活、方便、功能强大。

            Windows-Mac-Linux-AI

            1 条回复 最后回复
            0
            • W
              W
              wml-ai
              体面乡绅 硕果累累
              编写于 最后由 编辑
              #6

              @charly-cheng
              老特之前曾经为此专门发了一个本地模型如何接入Codex的帖子,你可以搜搜。

              Windows-Mac-Linux-AI

              1 条回复 最后回复
              0
              • Charly ChengC
                Charly ChengC
                Charly Cheng
                编写于 最后由 编辑
                #7

                好的 感謝解答 我也來試一試。

                1 条回复 最后回复
                0

                你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                厌倦了每次访问都刷到同样的帖子?您注册账号后,您下次访问时都将自动回到上次浏览的位置,并可选择接收新回复的通知(通过电子邮件或推送通知)。您还可以收藏帖子、为帖子点赞,以此向其他社区成员表达您的感谢。

                有了你的建议,这篇帖子会更精彩哦 💗

                注册 登录
                回复
                • 在新帖中回复
                登录后回复
                • 从旧到新
                • 从新到旧
                • 最多赞同


                • 登录

                • 登录或注册以进行搜索。
                • 第一个帖子
                  最后一个帖子
                0
                • 版块
                • 最新
                • 标签
                • 热门
                • 用户
                • 群组