Files
collective-memory-repo/daily/2026-03-18.md
2026-03-18 15:14:08 +08:00

7.8 KiB
Raw Blame History

2026-03-18

mac 集群角色语义更新

  • 已确认新的稳定角色定义:
    • mac-5 = brain(控制与编排)
    • mac-6 = hands(执行与算力)
    • mac-7 = eyes(浏览器与验收)
  • 已据此修改记忆系统相关文档,使长期基线、记忆索引与当前运行态统一到这套角色语义
  • 记忆系统规划保持不变:
    • 单 Gateway / 单记忆主入口仍在 mac-5
    • mac-6mac-7 仍作为 Node Host不各自演化为独立控制面

opencode 默认模型规则更新

  • 原先“opencode 默认使用各机器本地模型”的描述已失效,不应继续作为当前默认规则使用
  • 当前生效的默认策略为:
    • mac-5opencode/minimax-m2.5-free
    • mac-6vllm/Qwen3.5-27B via http://100.64.0.5:8000/v1
    • mac-7vllm/Qwen3.5-27B via http://100.64.0.5:8000/v1

验证记录

  • mac-5 上 direct opencode 与 ACP 最小测试已通过 opencode/minimax-m2.5-free
  • mac-6 / mac-7 实测 http://100.64.0.5:8000/v1/models,可见模型:
    • Qwen3.5-27B
  • 已将 mac-6 / mac-7~/.config/opencode/opencode.json 更新为 vllm provider 配置
  • mac-6 ACP 最小测试结果:MAC6_VLLM_ACP_OK
  • mac-7 ACP 最小测试结果:MAC7_VLLM_ACP_OK

备注

  • 这次更新针对的是 opencode 默认模型策略,不等于废弃原有 subagent / worker 的本地模型拓扑说明
  • 后续涉及 opencode 默认模型时,应优先引用本日规则,而不是旧的“每机默认本地 oMLX”说法

工程目录默认规则确定

  • 已确定正式工程项目的默认根目录使用:~/project/workspace
  • 理由:
    • ~/openclawd 运行时目录分离
    • ~/project/collective-memory-repo 记忆系统分离
    • 便于 mac-5 / mac-6 / mac-7 统一使用相同路径语义
    • 便于 OpenClaw / ACP / OpenCode 默认按统一路径落盘与调度
  • 已确定每个正式项目使用项目容器结构:
    • ~/project/workspace/<project-name>/repos/
    • ~/project/workspace/<project-name>/worktrees/
    • ~/project/workspace/<project-name>/shared/
    • ~/project/workspace/<project-name>/docs/
    • ~/project/workspace/<project-name>/scripts/
    • ~/project/workspace/<project-name>/tmp/
  • 多机协作默认采用方案 A
    • 三台机器各自保留本地项目副本
    • 代码同步以 git remote 为主
    • 不以文件级实时同步 .git / worktree 元数据作为主协作方式
  • 项目环境管理规则已补充:
    • 每个正式项目默认优先使用 Pixi 管理环境
    • 每个项目应有 pixi.toml
    • .pixi/ 不纳入 git 跟踪
    • 若 Pixi 失效或不适用,可使用 UV 作为后备方案
    • 默认应把 Pixi 作为首选项目环境管理器
  • 已新增长期决策文档:shared/long-term/decisions/project-workspace-layout.md
  • 已新增可复用初始化脚本:scripts/init-project-workspace.sh
    • 用于快速创建标准项目容器目录
    • 会初始化 repos/worktrees/shared/docs/scripts/tmp/
    • 会生成项目级 docs/PROJECT-RULES.md
    • 该规则文档内已包含 Pixi 优先、.pixi/ 不跟踪、UV 作为后备方案的说明

自我提升技能与长期记忆的衔接规则

  • hotwa 明确要求自我提升self-improvingskill 在使用过程中形成的关键反思结论,不应只停留在 skill 局部记忆
  • 若反思结果具有长期指导意义(如:稳定偏好、持续纠错模式、工作流程规则、可复用经验结论),应同步写入正式记忆系统 collective-memory-repo
  • 若只是一次性、临时性、上下文强绑定的反思,则不必强行提升为长期记忆
  • 结论self-improving 负责发现与总结durable memory 负责沉淀长期有效规则
  • 已新增长期 lesson 文档:shared/long-term/lessons/self-improving-memory-sync.md

浏览器控制职责分流决策

  • hotwa 明确确认新的稳定浏览器策略:
    • mac-5 主要用于接管本机真实 Chrome 会话human-in-the-loop / signed-in session / existing-session 优先)
    • mac-7 主要用于自动化浏览器任务service-like / unattended automation / browser worker
  • 该分流的原因:
    • mac-5 = brain 适合本机控制与交互式接管
    • mac-7 = eyes 适合作为浏览器执行与验收节点
    • 不应把 user/existing-session 与远程 raw CDP 混成同一条默认路径
  • 实施建议:
    • mac-5 侧优先配置本机 user / existing-session profile用于接管当前登录浏览器
    • mac-7 侧优先作为独立自动化浏览器承载机,可采用 OpenClaw managed browser 或明确的 remote CDP 启动方式
    • mac-5 要控制 mac-7 的浏览器,应视为远程自动化路径,而不是 mac-5 本机会话接管路径
  • 已新增长期决策文档:shared/long-term/decisions/browser-role-split-mac5-mac7.md
  • 当日验证结果补充:
    • mac-5 本机 Chrome 接管(browser profile=user / existing-session / chrome-mcp)已测通
    • openclaw browser --browser-profile user status 返回 running: true
    • openclaw browser --browser-profile user tabs 可见当前本机标签页,说明 mac-5 本机会话接管可直接使用
    • mac-7 自动化 Chrome LaunchAgent 已建立:~/Library/LaunchAgents/com.lingyuzeng.chrome-cdp-mac7.plist
    • mac-7 持久化本地 CDP 监听端口为 127.0.0.1:9333
    • mac-7 自动化 Chrome profile 路径为 ~/.openclaw/browser/mac7-automation-profile
    • mac-7 持久化 tailnet 转发入口已建立:100.64.0.23:9223 -> 127.0.0.1:9333
    • 对应 LaunchAgent~/Library/LaunchAgents/com.lingyuzeng.chrome-cdp-tailnet-proxy-mac7.plist
    • 对应代理脚本:~/.openclaw/bin/chrome_cdp_tailnet_proxy.py
    • 已验证 http://100.64.0.23:9223/json/version 返回 200 OK,可直接提供标准 CDP 元数据与 webSocketDebuggerUrl
    • tailscale serve 当前仍未使用;正式持久化方案改为 LaunchAgent + Python TCP proxy
    • 因此后续引用时可直接视为:
      • 稳定本地自动化入口:mac-7 127.0.0.1:9333
      • 稳定 tailnet 远程入口:mac-7 100.64.0.23:9223

mac-7 automation Chrome LaunchAgent 修正

  • 用户观察到 mac-7 自动化 Chrome 会不断新增空白页;远程 remote-mac7 profile 看到的空白 tab 一度累积到大量 about:blank
  • 现场排查确认:问题不在 mac-5 的 remote CDP profile而在 mac-7 本地 LaunchAgent com.lingyuzeng.chrome-cdp-mac7
  • 原始问题配置特征:
    • KeepAlive = true
    • 直接执行 Chrome 二进制
    • ProgramArguments 包含 about:blank
  • 实际运行机理:
    • Chrome 发现 automation profile 的现有会话已存在
    • 输出“正在现有的浏览器会话中打开。”后退出 0
    • launchd 因 KeepAlive=true 立即再次拉起
    • 从而持续向同一会话注入新的 about:blank tab
  • 修正后的 durable 方案:
    • 去掉 KeepAlive
    • 不再由 launchd 直接反复 exec Chrome
    • 改为执行包装脚本:~/.openclaw/bin/start_chrome_cdp_mac7.sh
    • 包装脚本会先检查 127.0.0.1:9333 是否已监听;若已存在则直接退出,否则仅启动一次 automation Chrome
  • 修正后验证:
    • 127.0.0.1:9333 正常监听
    • /json/version 正常返回标准 CDP 信息
    • 远程 tabs 数复测稳定,不再持续增长
  • 运维提示:
    • 未来若再次出现空白 tab 不断增长,优先检查该 plist 是否误恢复为 KeepAlive + 直接执行 Chrome + about:blank 这一旧模式
  • 补充清理:
    • 已清空 mac-7 上相关历史日志:
      • ~/Library/Logs/chrome-cdp-mac7.stdout.log
      • ~/Library/Logs/chrome-cdp-mac7.stderr.log
  • 已新增长期 runbook
    • shared/long-term/projects/mac7-browser-worker-runbook.md
    • 用于集中记录 mac-7 browser worker 的 LaunchAgent、脚本、端口、验证命令、事故根因与排障入口