From bbdc98b93ffbe259b1e5cbf14ffdf192062ae59b Mon Sep 17 00:00:00 2001 From: lanrtop Date: Wed, 30 Sep 2026 22:03:02 +0900 Subject: [PATCH] =?UTF-8?q?docs(blueprint/agent-client-parity):=20?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=20H1=E2=80=93H4=20=E5=AE=9E=E6=B5=8B?= =?UTF-8?q?=E4=B8=8E=E5=AF=B9=E6=8A=97=E5=A4=8D=E6=A0=B8=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .blueprint/modules/agent-client-parity.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.blueprint/modules/agent-client-parity.md b/.blueprint/modules/agent-client-parity.md index f778b9f..cbb2bf3 100644 --- a/.blueprint/modules/agent-client-parity.md +++ b/.blueprint/modules/agent-client-parity.md @@ -39,6 +39,20 @@ progress: 0 任一假设不成立:回到设计,不退回写静态 token 或本机绝对路径。 +### 假设实测结果(2026-09-30,Workflow 并行实验 + 独立对抗复核) + +- **H1 ✅ 成立(复核未推翻)**:DSH `--patch` 叠加层即可,不改 `~/.dsh`。`!!js` 在主进程加载时求值,`require` 不可用但 `process.getBuiltinModule('fs'|'path'|'crypto'|'child_process')` 可用;`process.cwd()` = 启动目录,向上查找 `.lian-jing/context.json` 算项目路由(子目录启动亦可);`execFileSync` 直接执行 helper(不经 shell)生成 Authorization;`disabled: !!js` 在项目外不挂载且不求值 config。helper 失败时安全降级(只写一行 stderr、读取 403、会话不崩)。**限制**:桌面 GUI 模式下 cwd 不随工作区切换,本方案目前只证实适用于在项目目录启动的 headless/CLI。 +- **H3 ✅ 成立(复核未推翻)**:Claude 发现 `<项目>/.claude/skills//SKILL.md`(向上查找到 git 根为止,git 根以上不加载);**不读 `.agents/skills`**,所以必须投影一份到 `.claude/skills`。`-p` 模式下目录 trust 不影响 skill 加载。 +- **H4 ⚠️ 未证实(复核判定证据不足)**:只在 cmd 层模拟证实 `%VAR%` 会展开,但模拟用了 `windowsVerbatimArguments:true`,恰好预设了"Codex 原样传参"这一待证前提;Codex 端到端未跑成。 +- **H2 ❌ 无结果**:实验 agent 连续 6 次卡死。H3 实验发现在 Claude 会话里嵌套 `claude -p` 须先去掉父会话注入的 `CLAUDECODE`、`CLAUDE_CODE_*` 环境变量,疑为卡死原因。 + +### 实验附带发现 + +- **服务端缺陷**:`/mcp/projects/<任意字符串>` 都返回完整 32 个项目工具,不校验项目是否存在;应对未知 project_id 明确拒绝。 +- **零凭据验证法**(后续实验与 P4 探针采用):认证链路用 `read_project_test_account(name="LJ_PROBE_NONEXISTENT")` 判定——认证通过返回"开发需求未登记",失败返回 403,凭据不进任何会话;客户端 helper 机制用"哑 helper(写运行标记 + 输出假请求头)+ 本地 HTTP 记录器"判定,全程不碰真 token。 +- 模型自报的工具数量不可靠(同一路由报出 27~38 个),计数以 `curl tools/list` 真值为准(项目路由 32、全局 35)。 +- 在 Claude 会话中嵌套无头 Claude、在 Git Bash 中传 `/斜杠命令` 需设 `MSYS_NO_PATHCONV=1`,否则提示词被改写成 Windows 路径导致误判。 + ## 任务拆解 ### 📋 P1 — 统一连接项目专用地址(Claude + DSH)