TwKit

推文

@HMLGGGG · 2026-10-14 17:33

用 Notion AI 接入 Claude Code:从默认 Auto 到真正锁定 Opus 5.5 直接把文章链接丢给你的AI,让他搞定就可以了,中间需要你手动获取一个密码和一个token 感谢 @ElowenY20119 的保姆级实践教程 https://x.com/ElowenY20119/status/2109947661214458149 以及 SleepingBag945 的开源项目 notion_manager PR #23 https://github.com/SleepingBag945/notion_manager/pull/23 参考前人工作,我顺利把 Notion AI 借道本地代理接进了 Claude Code。但目前开源 PR #23 和社区教程默认跑的都是 Auto 路由。 我在此基础上做了一点微小的工程修补:在本地网关层把模型真正、稳定地固定为 Opus 5.5,并杜绝假生效与静默降级。 踩了几个坑,顺便梳理给同样想跑在 Opus 5.5 上的朋友。文末附可直接复制给 AI 的即用 Patch 👇 ━━━━━━━━━━ ① 避坑:为什么别信「模型自称」和「界面显示」? 别以为启动时传了 --model opus-5-5,或者问它「你是谁」得到 Opus 5.5 的回答就算生效了,这大概率是假象: ▸ 上游内部 ID 是动态变动的 原 PR #23 原生只支持 Auto。教程提到的内部模型 ID 随账号环境和时间变动,代码里写死必炸。 ▸ 模型自述容易产生幻觉 自我介绍深受预置 Prompt 与系统设定干扰,在官方 Auto 调度下它也常声称自己是 Opus。 ▸ 唯一的检验标准 由本地网关在网络响应里截获 Notion 上游返回的真实报文,确认 model 与 selectedModel 双字段同时存在,且严格等于本次请求提交的动态 ID。 ━━━━━━━━━━ ② 本地网关的 4 处核心优化 对本地网关(Go)与启动脚本(Python)做了针对性修改: 1️⃣ 动态别名规范化映射 客户端传入 claude-opus-5-5,网关扫描当前账号可用模型列表,全字匹配唯一的「Opus 5.5」条目;匹配不到直接报错阻断,坚决不静默回退 Auto。 2️⃣ 缓存直读,解决 TLS 握手超时 原网关每次请求都向 Notion 同步拉取模型列表,偶发 TLS 握手超时;改为优先直读本地模型缓存。 3️⃣ 补齐 Tools 本地工具协议 固定模型分支显式注入本地工具协议(Read/Bash 等),避免 Claude Code 丢失工具上下文。 4️⃣ 轻量启动脚本 无需安装 CC Switch 等图形外壳,精简的 http://claude-notion.py 即可直传 --model 启动。 ━━━━━━━━━━ ③ 尝试前必须明确的现实边界 ⚠️ 非官方 API / 非本地离线 终端里的交互内容,以及本地工具读取的文件内容,都会发送至 Notion 云端。 ⚠️ 扣除个人 Notion 配额 消耗的是你自己 Notion 账号的额度;本地 Ctrl+C 只能切断本地连接,无法确保取消已在云端开始执行的任务。 ⚠️ 实测标准 单测跑通 ≠ 真实环境闭环,一切以上游返回字段的严格校验为准。 ━━━━━━━━━━ ④ 直接丢给 AI 照着改的 Prompt 本地已克隆 notion_manager(基于 PR #23 Commit 2d6d3dc2)的话,把下面整段复制给你的 Coding Agent(Cursor / Claude Code / Gemini CLI)即可: ———— 复制开始 ———— 请帮我修改本地的 notion_manager(基于 PR #23 Commit 2d6d3dc2)代码,使其支持稳定固定调用 Opus 5.5: 【修改需求】 1. 在 internal/proxy/agent_thread.go 中: - 增加动态解析函数:根据客户端传入的 claude-opus-5-5 或 opus-5.5,从账号可用模型列表(acc.modelsSnapshot())中精准匹配显示名称为 Opus 5.5 的条目并提取其内部 ID。 - 优先直读本地模型缓存(uniqueAgentOpus55ID),未命中时才拉取网络,避免频繁网络请求导致 TLS 握手超时。 - 若匹配失败或匹配数量不等于 1,直接报错阻断,严禁静默回退(Refuse to fall back to auto)。 - 在 Notion 响应中解析并严格校验 model 与 selectedModel,必须与提交的内部 ID 完全一致。 2. 在 internal/proxy/tools.go 中: - 将注入工具协议的判断条件扩展为包含 Opus 5.5 别名(agentThreadLocalToolModel),确保本地 Read/Bash 工具定义不丢失。 3. 在 http://claude-notion.py 中: - 读取 config.yaml 中的 proxy.default_model。 - 优先继承命令行传入的 --model 参数(例如 --model claude-opus-5-5),避免重复追加参数。 4. 运行单测验证: go test ./internal/proxy -run 'TestAgent' -count=1 【启动命令参考】 网关后台在 127.0.0.1:8081 监听后,执行: python http://claude-notion.py --model claude-opus-5-5 ———— 复制结束 ————

曝光 8 · 评论 0 · 点赞 0 · 书签 0

TwKit
正在载入