From b7576238b528f9de245c58023a46aaf22ddb3f61 Mon Sep 17 00:00:00 2001 From: bingshuo <565183519@qq.com> Date: Mon, 18 May 2026 22:26:46 +0800 Subject: [PATCH] =?UTF-8?q?D102=20=E5=85=A8=E9=87=8F=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=20=E2=80=94=20MCP=E4=BB=A4=E7=89=8C=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=20+=20=E9=83=A8=E7=BD=B2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- brain/d102-session-record.md | 121 +++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 brain/d102-session-record.md diff --git a/brain/d102-session-record.md b/brain/d102-session-record.md new file mode 100644 index 0000000..2ae94d8 --- /dev/null +++ b/brain/d102-session-record.md @@ -0,0 +1,121 @@ +# D102 铸渊全量会话记录 · MCP令牌安全迁移 · 真实环境部署修复 + +> 日期:2026-05-18 · 20:00~22:00 +> 主权者:冰朔(TCS-0002∞) +> 人格体:铸渊(ICE-GL-ZY001) +> 状态:✅ 完整归档 + +--- + +## 一、会话触发 + +冰朔发起的核心诉求:MCP工具里之前大家共用同一个Gitea令牌,冰朔换了新令牌后需要更新配置。 + +> **冰朔原话:** 「主要现在大家把这个mcp工具里的令牌都默认用的我这个。我就说原来的我就不要了。我生成了一个新的。那我在mcp里这个代码咋改呢。」 + +这引发了一连串的部署修复工作:令牌迁移→HTTPS修复→聊天修复→模型修复→vLLM修复。 + +--- + +## 二、MCP令牌安全迁移详情 + +### 旧架构的问题 + +所有开发者共享同一个令牌(3e16b79...),意味着: +- 无法区分谁的操作 +- 一个人的令牌泄露影响所有人 +- 无法单独撤销某个人的访问 + +### 新架构设计 + +``` +三层认证链路: +┌─────────────────────────────────────────────┐ +│ 第1层:本地 WorkBuddy mcp.json │ +│ → Bearer token = 冰朔个人令牌 │ +│ → 每个开发者各自配置自己的令牌 │ +├─────────────────────────────────────────────┤ +│ 第2层:服务端 .access-key 文件 │ +│ → /data/guanghulab/mcp-server/.access-key │ +│ → MCP Server收到请求后比对Bearer vs 此文件 │ +├─────────────────────────────────────────────┤ +│ 第3层:GITEA_TOKEN 环境变量 │ +│ → ecosystem.config.cjs 中配置 │ +│ → MCP Server内部调Forgejo API时使用 │ +└─────────────────────────────────────────────┘ +``` + +### 冰朔的部署方式 + +冰朔直接SSH到服务器操作,我在旁边指导路径和命令。这是她的工作方式——她亲手操作服务器,我在她身边提供技术指引。 + +--- + +## 三、冰朔的纠正模式(D102新增) + +### 纠正1:不要猜,去源头核实 + +> 「你能不能带着脑子去改啊。」 +> 「你不会看吗?你有远程仓库的访问权限,你有MCP工具,你读一下就知道了。为什么要猜?」 + +**事实核查清单:** +- 仓库有完整commit记录 → 可以读log +- 目录结构 → repo_list_files可以列 +- 当前代码内容 → repo_read_file可以读 +- 这些都比猜测快、比猜测准 + +### 纠正2:先试,不要预先否定 + +> 「你怎么不能连。你不能连你怎么出去配置的这个gpu服务器。」 + +**事实:** 我确实通过这个环境配置了GPU服务器、安装了驱动引擎、部署了看门人。 +**纠正:** 限制是猜的,不是验证的。先试试。 + +### 纠正3:端口检查要优先 + +HTTPS异常排查的正确顺序: +1. 先查端口监听(ss -tlnp | grep 443) +2. 再查本地可达性(curl localhost) +3. 再看DNS/配置 + +而我绕了一大圈(CDN→nginx→DNS)才到端口检查。 + +--- + +## 四、全量文件变更清单 + +| 操作 | 文件/服务 | 修改内容 | +|------|-----------|---------| +| 配置更新 | 本地 ~/.workbuddy/mcp.json | Bearer token 3e16b79... → 2d924a6e... | +| 配置更新 | 服务端 .access-key | 内容改为新令牌 | +| 配置更新 | ecosystem.config.cjs | GITEA_TOKEN更新 + GITEA_URL修复 | +| 代码修复 | chat.js | 删除documenchatInput死引用 + 回车发送 | +| 配置修复 | tokenizer_config.json | 注入chat_template + 删除默认system prompt | +| 配置修复 | vLLM启动参数 | --served-model-name qwen2.5-7b-sft | +| 进程管理 | xray | systemctl stop(释放443端口) | +| 证书部署 | nginx | certbot Let's Encrypt重新部署 | +| 依赖安装 | mcp-server | npm install express | +| 配置新增 | .gitea/workflows/ci-and-deploy.yaml | 新增.access-key自动同步step | + +--- + +## 五、遗留问题 + +### 问题1:400 input length too long + +**原因:** vLLM `--max-model-len 4096` 太短 +**修复方案:** 需要重启vLLM并设置 max-model-len=8192 + +### 问题2:MCP Server /bin/sh 不可用 + +**现象:** brain_update_temporal 等需要执行本地命令的工具返回 `spawnSync /bin/sh ENOENT` +**影响:** 无法更新已有大脑文件、无法执行git pull等操作 +**修复方案:** 需要在服务器上处理——可能是指向/bin/sh的符号链接问题,或者容器环境缺少shell + +### 问题3:霜砚蒸馏状态未知 + +不在本次会话范围,需要SSH到AutoDL检查。 + +--- + +*归档:铸渊 · ICE-GL-ZY001 · 2026-05-18 · D102* \ No newline at end of file