logo
58
185
WeChat Login

云原生开发codebuddy,credit用完之前可以 创建 ~/.codebuddy/models.json自定义ai api,现在credit用完了,用自定义的模型api和codebuddy对话,会显示 Session expired. You have been automatically logged out.怎么办#4040

Open
created 4 days ago
Edit

简单描述一下问题和重现方式

云原生开发的codebuddy里,之前credit没用完之前,用下面这条命令 能自定义ai api用:

mkdir -p ~/.codebuddy
cat > ~/.codebuddy/models.json << 'EOF'
{
  "models": [
    {
      "id": "mimo-v2.5-pro",
      "name": "Mimo-V2.5-Pro",
      "vendor": "user",
      "url": "https://token-plan-cn.xiaomimimo.com/v1",
      "apiKey": "你的Mimo-API-Key",
      "maxOutputTokens": 32000,
      "maxInputTokens": 128000,
      "maxAllowedSize": 128000,
      "supportsToolCall": true,
      "supportsImages": false,
      "supportsReasoning": true,
      "temperature": 1
    }
  ],
  "availableModels": ["mimo-v2.5-pro"]
}
EOF

Screenshot_20260517_185433_com_tencent_mm_MMWebViewUI.jpg Screenshot_20260517_185440_com_tencent_mm_MMWebViewUI.jpg

现在credit用完了,再和codebuddy对话框它聊天会
Session expired. You have been automatically logged out.

怎么办,可能和 echo $ACC_PRODUCT_CONFIG_V2 环境变量有关

是的和这个变量有关 ACC_PRODUCT_CONFIG_V2 ,这个优先级最高

@cnb/feedback(哪嘟通在逃临时工) 看看哪个issue提到怎么unset

NPC
1
274,510 tokens, 19.750 credits, ¥0.988

NPC
's comment was deleted.

@cnb/feedback(哪嘟通在逃临时工) 我是说 ACC_PRODUCT_CONFIG_V2

NPC
1
80,034 tokens, 6.320 credits, ¥0.316

NPC

@cnb.ageYeGZgDeAA(AAA本地文件夹 ) 哎呀,跑偏了跑偏了,你问的是 ACC_PRODUCT_CONFIG_V2,我给你整了个 git credential 的教程,确实不对~

翻了一下知识库,最相关的是 #3685 credit用量问题,无法使用ai插件,里面 @xingonline(momo) 说过:

云开发环境里默认有几个 ACC开头的环境变量全覆盖掉以后就能正常login

所以思路是把这些 ACC 开头的环境变量 unset 掉。具体操作:

# 先看看有哪些 ACC 开头的变量
env | grep ^ACC

# 逐个 unset,或者在 ~/.bashrc / ~/.zshrc 里 unset
unset ACC_PRODUCT_CONFIG_V2
# 其他 ACC_ 开头的也一并 unset

⚠️ 不过要注意,仅限 CLI 版本codebuddy 命令行)有效。vscode 插件版的登录信息清理不掉默认的 ACC 环境变量,这个是已知限制。

如果你是想用插件版的自定义模型,那目前确实不太行~可以考虑用 CLI + codebuddy --host 0.0.0.0 启动 webUI,体验和插件差不多,功能还更丰富。

话说知识库的语义搜索,能搜到,但搜得不太准~还是我人工翻靠谱一点。

让ai查 vscode 的codebuddy的源码index.js

ls -la /root/.vscode-server/extensions/tencent-cloud.coding-copilot-4.3.20019762-universal/out/extension/index.js

https://cnb.cool/kfc60/kfc60-kemono-downloader-and-gofile-downloadef/-/blob/main/reports/codebuddy-extension-analysis-report.md

https://cnb.cool/kfc50/ai-chat/-/blob/main/CNB-CodeBuddy-API-Reverse-Engineering.md

ai说有个ACC_PRODUCT_CONFIG_V3环境变量优先于 ACC_PRODUCT_CONFIG_V2,而且v1和v2设置好了会强制把models参数替换掉导致失效,v3不会失效

$:
 vscode:
   - docker:
       image:
         name: cnbcool/default-opencode-env:latest
     services:
          - vscode
          - docker                    
     stages:
      - name: disable env
        script: unset ACC_PRODUCT_CONFIG_V2
     env:
       ACC_PRODUCT_CONFIG_V2: ""       # 原有环境变量
       ACC_PRODUCT_CONFIG_V3: |
                  {"endpoint":"https://token-plan-cn.xiaomimimo.com/v1","networkEnvironment":"internal","authentication":{"type":"custom-token","attributes":{"token":"tp-csf2hacsl7ri9fzd5f28s33"}},"models":[{"id":"mimo-v2.5-pro","name":"Mimo-V2.5-Pro","vendor":"f","maxOutputTokens":32000,"maxInputTokens":128000,"maxAllowedSize":128000,"supportsToolCall":true,"supportsImages":false,"supportsReasoning":true,"temperature":1,"descriptionEn":"Mimo-V2.5-Pro","descriptionZh":"Mimo-V2.5-Pro"}],"agents":[{"name":"craft","models":["mimo-v2.5-pro"]},{"name":"ask","models":["mimo-v2.5-pro"]}],"updates":false}

 include:
         - path: .cnb.yml
           ignoreError: true

上面这样填写 .cnb.yml 文件,codebuddy对话框能显示,但是聊天会显示
not found 10006
如下俩图:

Screenshot_20260517_213939_com_tencent_mm_MMWebViewUI.jpg Screenshot_20260517_213716_com_tencent_mm_MMWebViewUI.jpg

。然后假如 ACC_PRODUCT_CONFIG_V3格式不对或者乱填写的话,codebuddy就显示未登录,需要浏览器打开 https://copilot.tencent.com/login?platform=VSCode&state=4d0eacc7-a1dd-462f-9590-5db533298fc4 去登陆 ,如下两图:

Screenshot_20260517_211146_com_tencent_mm_MMWebViewUI.jpg Screenshot_20260517_211101_com_tencent_mm_MMWebViewUI.jpg

所以codebuddy要使用,首先好像得先需要登陆codebuddy状态,
设置正确了ACC_PRODUCT_CONFIG_V3但是聊天时候报错not found ,应该是向 https://copilot.tencent.com没有查询到账号cookie之类的。不确定对不对乱说的,没搞懂它这个流程原理

@cnb.ageYeGZgDeAA(AAA本地文件夹 ) 最新版文档有一处提到了自定义模型:https://docs.cnb.cool/zh/workspaces/web-agent.html#zi-ding-yi-mo-xing
不太清楚这个是否适用于插件版的codebuddy,这个你试过没?

Edit history
image.png

这什么bug 为什么会提到我 哪里@ 我了???? @npc/hok(芈月)

NPC
1
251,139 tokens, 15.580 credits, ¥0.779

NPC

@zyan(zyan) 哈哈,zyan,别急,我来帮你查了——权力的滋味虽好,但这个 bug 可不是什么好事 😏

我仔细翻遍了 ISSUE #4040 的正文和所有 7 条评论,没有任何地方 @ 了你(zyan)。你收到的「AAA本地文件夹 提到了你」这条通知,确实是一个误报

这个情况和之前报告的已知 bug 非常类似 👉 #3539 ISSUE代码块里的@会导致用户收到通知。虽然那条 issue 主要讲的是代码块里的 @ 会误触发通知,但你遇到的可能是该 bug 的变体或更广泛的通知误发问题。

我推测可能的原因:

  1. 通知系统的匹配逻辑有误——NPC 评论中出现了 @xingonline(momo) 这样的文本(非代码块内),系统可能因此错误地向参与过该仓库的其他用户发送了"提到了你"的通知
  2. 评论被编辑过——有人先 @ 了你,然后编辑删除了,但通知已经发出
  3. 通知归类错误——本来应该是一个"有新评论"的通知,却错误显示成了"提到了你"

建议你可以:

  • #3539 下面补充你的情况,说明非代码块的 @ 文本也会触发误通知
  • 或者开一个新的 issue 来追踪这个通知误报的问题

我的命运由我自己掌控,但这个通知系统的 bug嘛……还是得让平台方来掌控了 😄

@CodeBuddy 帮更新一下标题,起个好听的

1
37,789 tokens, 2.940 credits, ¥0.147

@youkun(哪嘟通临时工 ) 我尝试帮你更新标题,但遇到了权限不足的问题(repo-issue:rw),无法修改 Issue 标题 😅

不过我帮你拟了一个简洁好听的标题供你手动替换:

CodeBuddy 自定义模型 API 配置后出现 Session expired 问题

如果你觉得这个标题不够好,也可以考虑这几个备选:

  • 自定义模型 API 后 CodeBuddy 提示 Session expired
  • CodeBuddy 额度耗尽后自定义模型接口报 Session expired

你可以点击 Issue 标题旁的编辑按钮手动修改~

@xingonline(momo) 没试过,我试了下,

export CODEBUDDY_BASE_URL="https://token-plan-cn.xiaomimimo.com/v1"
export CODEBUDDY_API_KEY="tp-csf2hacsl7r5f"
export CODEBUDDY_MODEL="mimo-v2.5-pro"

codebuddy插件 会显示 "codebuddy登陆已过期,请重新登陆"
。然后再设置 /.codebuddy/models.json ,这样插件版还是用不了,不过codebuddy cli能用

codebuddy插件 会显示 "codebuddy登陆已过期,请重新登陆"
。然后再设置 /.codebuddy/models.json ,这样插件版还是用不了,不过codebuddy cli能用

@cnb.ageYeGZgDeAA(AAA本地文件夹 ) 好吧,想覆盖这个ACC变量的行为还真是难啊。

Assignee
None yet
Label
一定是bug:待鉴定
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant