网页聊天桥接工具

ActCLI Web Chat Bridge 是一个实验性工具,旨在通过网页聊天界面让精算师参与ActCLI研讨会,支持元素选择器、验证流程和存储功能。

  • by llm-case-studies
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 llm-case-studies/ActCLI-Extensions

使用说明

ActCLI网络聊天桥(实验)

概述

  • 目的:人类协作桥梁,让精算师从任何网络聊天UI加入ActCLI研讨会。
  • 范围:元素选择器+选择器配置文件(每个源),验证流,存储。没有特定于提供商的自动化。
  • 集成:未来MCP将调用Semhost的participants.register/eparticipants.message/events.log。

状态

  • 仅限MVP脚手架:清单、弹出窗口、背景、内容覆盖和本地游乐场页面。
  • ToS安全:仅限OSS测试;没有提及专有聊天提供商。

装载未包装

  1. 打开chrome://extensions → 启用开发者模式
  2. 装载时未包装→ 选择 ActCLI-Extensions/
  3. 打开测试页面(请参阅 playground/)然后单击扩展图标。

基本流程

  • 拾取元素:单击输入→ send → 历史。
  • 验证:模拟打字和发送;观察历史。
  • 配置文件:通过按来源存储 chrome.storage.local.
  • MCP:在弹出窗口中配置Semhost URL,操作将POST到 /mcp/rpc 并简要流 /mcp/sse 完成作业(记录到的事件 out/audit.json).
  • 提示:如果聊天是通过键盘提交的(例如,Enter或Ctrl+Enter),在“发送”阶段选择时,请按输入上的实际组合键。配置文件存储了一个基于键盘的发送操作,Validate将在输入上合成该击键(带有表单提交回退)。

游乐场

  • 启动静态服务器或直接打开文件:
    • playground/textarea.html
    • playground/contenteditable.html
    • playground/virtualized.html
    • playground/iframe.html

选择器发动机测试(A2)

  • 打开 tests/selectors.spec.html 在浏览器中。该页面报告了核心启发式的通过/失败。
  • 无依赖关系;完全在客户端运行。

学期整合(A5)

  • 宣传工具: participants.register, participants.message, events.log.
  • 连接:使用生成的id注册参与者并记录事件。
  • 验证:记录 events.log 记录包括是否观察到历史附加。

编剧技巧(PW精通)

  • 始终使用持久的Chromium上下文加载MV3扩展;保持 headless: false.
  • 通过HTTP(而非file://)为Playground提供服务: python -m http.server 4400 → http://127.0.0.1:4400.
  • 集 EXTENSION_PATH 指向此文件夹的绝对路径(包含 manifest.json).
  • 在交互之前,请等待MAIN‑world调试API:
    • await page.waitForFunction(() => Boolean(window.__actcli_bridge?.pick)).
  • 首选通过MAIN‑world调试API驱动流,以避免弹出交互。
  • 对于iframe,请使用 frameLocator 并且在帧的页面上下文中调用API。
  • 捕获控制台/页面错误以加速调试:
    • page.on('console', ...) 和 page.on('pageerror', ...).
  • 如果环境缓慢,则碰撞超时: --timeout=60000 或按步骤等待。
  • 清除过时的配置文件:删除 .pw-chrome-profile* 在 tests/e2e/ 在重新运行之前。
  • 看 tests/e2e/README.md 了解完整的故障排除和示例。

备注

  • 这是普通的JS/HTML;不需要bundler。保持最小权限。
  • 该代码有意避免后台自动化,并尊重人类节奏的使用。