Skip to content

Releases: dcc123456/browser-copilot

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 16 Sep 11:02

v0.6.3 更新说明(自 v0.6.2 以来 / Changelog since v0.6.2)

仍提供两种安装包,按需下载:

  • browser-copilot-0.6.3-ocr.zip —— 完整版:内置本地 OCR(Tesseract.js),工作流 OCR 识别算子、离线验证码识别开箱即用。
  • browser-copilot-0.6.3-no-ocr.zip —— 精简版(约小 98%):不含 OCR 引擎与语言模型,其余功能完全一致;OCR 算子置灰不可用,图片文字仍可通过视觉模型识别(设置 → 图片识别模型)。

Two packages ship as usual: the full build with local OCR (Tesseract.js)
and a ~98% smaller lite build without it. Everything except local OCR is
identical.


✨ v0.6.3

这一版的主线是把"智能体"做成一个真正可被拆出去用的对象:内置代理可编辑、可见、可派发,
可分配到不同窗口互不串台;工作流的密钥处理也彻底从"明文嵌进工作流"改成"运行时按需拉取",
更符合安全直觉。顺带把工作流编辑器的体感、SEO 站点、定时任务那条"看起来没启动"的暗坑一并收掉。

🤖 内置智能体(Agents)

  • 派发后端 —— 新增 Agent 类型(区别于 Skill:智能体是可执行、可派发的活跃单元,技能仍是注入式说明),内置 6 个代理(1 个 supervisor + search / writing / ops / workflow / analysis 五个 specialist),每个代理有自己的 AGENT.md、import/export、后台命令。
  • delegate_to_agent 工具 —— 父代理的确认 / 作用域内,调用一个隔离的子代理循环(独立的会话 id / 历史、白名单工具、≤1200 字摘要 + 产物引用),并设有三道硬关:拒绝轻量任务不烧 LLM、每轮最多 4 次派发、每个 (agent, task) 最多重试 1 次。派发对侧边栏对话是默认开启的,但非交互式运行保持单代理
  • 侧边栏新增「代理」标签页(紧跟技能之后)—— 与技能同构的卡片 / 对话框:编辑名字、派发提示、角色、领域、工具白名单、关联技能、派发开关、轮次上限、指令;支持拖拽导入 / JSON 导出;内置代理默认只读,提供"复制为我的"。
  • 内置代理可编辑 + 一键还原 —— 内置代理不再只读:编辑后保留 id 与"内置"标记,但带真实的 updatedAt(升级时 seeder 用 id 优先匹配,所以改过名字的内置代理也能挺过升级)。新增 agents.reset 命令与 Restore default 按钮,把代理写回出厂版本(updatedAt: 0)。
  • 多窗口代理隔离 —— 多个 coding agent 通过本地 MCP 桥接时不再共用一个目标窗口:MCP 通道按 agentName → windowId 多对多绑定(schema v6),每个 worker 还有"本次会话 agentId → windowId"映射处理重命名;未分配且已有绑定的连接发来 tool/prompt 会被拒绝(双语可操作错误),ping / tools.list 保持开放。pin_tab 与目标标签页缓存按窗口隔离;新增 worker 命令 agent.windows.listagent.bindings.set
  • 内置代理 i18n —— 名字、提示、指令都随用户语言切换;用户改过的内置代理显示自定义内容。

🔐 工作流密钥:运行时按需拉取

  • 密钥不再嵌进工作流 —— 从对话历史生成工作流时,get_secret 算子现在发的是 get-secret 块(运行时拉取凭据 → 存到变量),后续 forms 块引用该变量;密文值再也不会以明文形式落进工作流定义。凭据更新后无需重发工作流,下一次运行自动拿到新值。
  • get-secret 块改成下拉选择 —— 编辑面板、目录数据、executor 全部重塑为「凭据 · 字段」对(credential="<id>::<field>" 编码,executor 端再拆回两半),用户从已存储的密钥里选,不再手敲 idstorage.blockDataFromArgs 在历史回放时也吐新格式,老工作流走向后兼容的回退链。MV3 service worker 里把动态 await import() 换成静态引用,顺手修掉 window is not defined 崩。
  • i18n 配套 —— BLOCK_FORM_STRINGS 加上凭据字段名、"加载中 / 暂无凭据"占位文案、运行时解析的提示。

🖱️ 工作流编辑器体感

  • 左键拖动 = 平移画布;按住空格 = 框选 —— 通过 [data-pan-mode] 切换光标样式,符合流程图工具的肌肉记忆。
  • 未保存保护 —— 关闭 / 刷新弹窗前若有未保存改动,弹原生 beforeunload 确认。
  • 生成节点用自然语言描述 —— 从聊天生成的工作流里,JavaScript 节点标题由"代码首行"换成作用短语(点击、填表、React 兼容赋值、跳转、本地存储、网络请求、派发事件、滚动等),按特异性排序,每节点上限若干条以保持可读;有现成注释就优先用注释。

🛠️ 修复

  • 定时工作流不再"看起来没启动" —— 同一个任务过去会记成两条 run(runTask 一条、executeWorkflow 一条),步骤只落到隐藏的那条,UI 只能看到两条 info log。executeWorkflow 接受 reuseRun,调度调用方已开的 run 步骤直接写进去、结束与清理交由调用方收尾;同时把 storage key 下的写入串行化(recordFinishedRun / addRun / saveTask 不会再相互覆盖),把硬编码的"Starting agent task…"换成按 task 种类来的文案,run 的 source 改用追踪值(之前一边写 schedule、一边写 manual)。
  • pnpm dev / pnpm build / pnpm package 恢复可用 —— 之前被指到未入库的 scripts/vite.mjs 包装,现在直接调用 vite

🌐 SEO 与官网

  • 扩展各页 SEO 补全 —— meta description、favicon 链接、lang 属性统一、清单加 short_name / author / homepage_urlpackage.json 加仓库 / bugs / author / keywords。
  • 双语官网与 GitHub Pages 自动发布 —— 新建 website/ 落地页(含完整 SEO meta、Open Graph、Twitter Card、JSON-LD 结构化数据),通过 .github/workflows/pages.yml 自动部署。
  • README 加 Shields 徽章

📚 文档

  • MCP 多窗口代理分配 —— 新增"按代理绑定浏览器窗口"小节,说明隔离语义、按窗口的 pin_tab、未分配连接的拒绝行为、BROWSER_COPILOT_AGENT_NAME 消歧字段,并在 WS 协议表里补齐 agentId / agentName 字段。

English summary

v0.6.3 — the theme is making "agents" a first-class object you can edit, see, delegate to and isolate per window, and moving workflow secrets out of the workflow body and into a runtime lookup.

  • Built-in agents: a new Agent type distinct from Skill (active, delegatable execution unit) ships with six built-ins (one supervisor + five specialists), per-agent AGENT.md persistence, import/export and background handlers. The new delegate_to_agent tool runs an isolated sub-agent loop (own namespaced conversation id, whitelisted tools, ≤1200-char summary + artifact references) under the parent's confirm/scope, with three hard gates (small-task refusal costing no LLM, ≤4 delegations per turn, ≤1 retry per (agent, task)). Delegation is opt-in for panel turns; unattended runs stay single-agent.
  • Agents tab in the side panel, mirroring the skills pattern: edit name / delegation hint / role / domain / tool whitelist / linked skills / delegation flag / round cap / instructions, drag-and-drop import + JSON export; built-ins are read-only with a "duplicate as mine" action.
  • Built-ins are editable now: edits keep the id and the built-in marker under a real updatedAt, and the seeder matches by id first so a renamed built-in survives upgrade. A new agents.reset command and a Restore default button write the shipped version back (updatedAt: 0).
  • Multi-window isolation: the local MCP bridge now binds agentName → windowId (N:N, schema v6) instead of sharing one global target window; an unassigned connection is refused with an actionable bilingual error once any binding exists, while ping / tools.list stay open. pin_tab and the resolved-tab cache are scoped per window, and two new worker commands (agent.windows.list, agent.bindings.set) replace the global selection with a per-window assignment surface.
  • Built-in agent i18n for display name, hint and instructions; user-edited built-ins show their custom content.
  • Secrets are no longer embedded in workflows: when a workflow is generated from chat history, get_secret actions now emit a get-secret block that fetches the credential at runtime and stores it in a variable, with a downstream forms block that references it. The value is never written into the workflow, so credential updates are picked up on the next run for free.
  • get-secret block becomes a dropdown: catalog data, edit form and executor all carry a (credential · field) pair from listPasswords() — no more typing raw ids. Older workflows keep working through a backward-compat fallback. Static imports in the executor fix the window is not defined crash the MV3 service worker hit on await import().
  • Workflow editor UX: left-drag pans the canvas; holding Space switches to rubber-band selection (cursor follows [data-pan-mode]); beforeunload guards unsaved changes; generated JavaScript nodes are now described by their effects (click, fill, React-compatible value set, navigation, storage, network, event dispatch, scroll, …) instead of by their first code line, with specificity-ordered phrases and a per-node cap.
  • Scheduled workflows no longer "look unstarted": executeWorkflow accepts reuseRun so the task runner's run is the one steps land on; per-storage-key write serialisation prevents recordFinishedRun / addRun / saveTask from losing each other; the per-kind opening line replaces the hardcoded "Starting agent task…"; the run's source is read from the tracked value so both halves stay in the same history section.
  • Build fix: pnpm dev / pnpm build / pnpm package are restored by pointing scripts directly at vite (the previous wrapper was never committed).
  • SEO & landing page: meta description / favicon / lang unified across extension HTML, short_name / author / homepage_url added to the manifest, repository / bugs / author / keywords added to package.json, Shields badges in both READMEs, and a bilingual website/ landing page (full SEO meta + Open Graph + Twitter Card + JSON-LD) auto-deployed by .github/workflows/pages.yml.
  • Docs: an MCP setup section now covers multi-window agent binding, isolation semantics, BROWSER_COPILOT_AGENT_NAME disambiguation, and the agentId / agentName identity fields in the WS protocol table.

Full changelog: v0.6.2...v0.6.3

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:13

v0.6.2 更新说明(自 v0.6.1 以来 / Changelog since v0.6.1)

仍提供两种安装包,按需下载:

  • browser-copilot-0.6.2-ocr.zip —— 完整版(约 32 MB):内置本地 OCR(Tesseract.js),工作流 OCR 识别算子、离线验证码识别开箱即用。
  • browser-copilot-0.6.2-no-ocr.zip —— 精简版(约 0.5 MB,小 98%):不含 OCR 引擎与语言模型,其余功能完全一致;OCR 算子置灰不可用,图片文字仍可通过视觉模型识别(设置 → 图片识别模型)。

Two packages ship as usual: the full build with local OCR (Tesseract.js)
and a ~98% smaller lite build without it. Everything except local OCR is
identical.


✨ v0.6.2

这一版的主线是把 AI 调试从"能跑"变成"跑得成":给成功率装上可离线测量的标尺、
给中断的工作流一个真正安全的续跑入口,并堵住非幂等流程无限重试这个最烧 token 的坑。

🎯 AI 调试成功率

  • 离线成功率基准测试tests/bench/pnpm bench:debug)——8 个确定性场景驱动真实的
    runDebugSession,所有依赖均注入,不需要浏览器、模型或网络,可安全跑在 CI 里。
    判定口径很严:verified = 全程无人接管 AND 目标达成
  • 会话遥测 —— debugSessionStats / workflows.debugStats 加上面板展示:成功率、
    p50/p90 耗时、失败阶段与原因分布。
  • 全局重试预算 + 逃生舱 —— 接管次数现在按整个会话封顶(原来只按节点),
    超预算即带原因结束本轮,而不是继续烧模型调用。
  • 结构化校验结果 —— 调试失败会带上 failureReasonsuggestedAction
  • 性能/网络语义摘要 —— console 与 network 缓冲被压缩成一条"页面健康"信息,
    随工具结果一起回喂给模型。
  • 观察者预检(可选,BC_OBSERVER_PREFLIGHT=1)—— 首次接管前先做一次只读检查,
    遇到验证码/登录墙直接跳过 agent。
  • 检查点与失败记忆 —— 抽出共享的 checkpoints.ts / failure-memory.ts
    重试时会带上同节点此前失败的结构化记忆。
  • 逐步检查点并持久化 —— 引擎对每个已结束节点(ok / failed / cancelled)都产出检查点,
    插件写入 checkpoints/<runId>.json(配了数据目录则走文件区,否则 chrome.storage.local),
    服务端运行器写入 <dataDir>/checkpoints/checkpoint-<runId>.json,默认保留最近 20 次运行。
  • 逐节点幂等重试 —— 第 2 次及以后的尝试,从第 1 次尝试之前的变量状态开始,
    不再继承失败尝试写了一半的状态(表单填了一半、计数器已经加过),把同一个非幂等陷阱再往下压一层。
  • 会话关联(M4) —— 一个 sessionId 打在一次调试会话产出的所有运行上
    (接管轮、修复验证、重写验证)及其待修复记录上,运行、检查点与接管统计因此可以互相关联。
  • 预算可配置 —— BC_TAKEOVER_MAX_ATTEMPTSBC_TAKEOVER_TOOL_ROUNDS
    BC_TAKEOVER_AUTORUN_BUDGET

⏯ 从检查点续跑(Resume)

  • 续跑点推导(M4) —— resumePointOf 算出中断的运行该从哪里接上:最后一个干净结束的节点之后,
    并带上该节点的变量。executeWorkflow({ resumeFrom: runId }) 与新的 workflows.resume
    命令使用它,先读内存态、再回落到持久化副本,所以重启不会丢掉续跑点。这是非幂等流程的复原路径
    已经登录过再重放登录只会失败,因此续跑会跳过已经落地的部分。
  • 面板上的「继续」按钮(M4) —— 上次运行失败的工作流,会在「运行」旁多出一个继续
    面板会先通过新的 workflows.resumePoint 命令确认存在干净检查点,只有确认后才展示该入口,
    因此绝不会出现"点了继续却整条重跑"的情况。续跑点背后的运行会通过持久化索引解析——
    MV3 的 worker 会在运行结束后被回收,而那恰恰是用户去找「继续」的时刻。

🛑 非幂等流程不再无限重试

登录 / 提交订单 / 发消息 / 注册 / 支付这类流程,之前会被判成"目标未达成"然后重试,
而它的前置条件其实已经消失(登录过就没有登录页了),于是每次重试都以同样方式失败,
直到轮次耗尽再绕回复放阶段。现在有三道防线:

  • 目标判定在终态已满足时返回 alreadySatisfied,失败的运行按这个口径重新判定(runFailed);
  • 会话在每次重试前、回放升级前、重写验证判定前都会先查终态,已满足则立即报成功;
  • 重复死路断路器(REPEAT_FAILURE_LIMIT)在同一失败特征反复出现时终止会话,
    提示用户重置页面状态,而不是继续打转。
  • 回放提示词也要求 agent 识别"已经完成"的目标,而不是去找一个已经不存在的表单。
  • 新增基准场景 S9-non-idempotent 固化该行为:一次接管后即以 ✅ 终态已满足 结束,
    无回放、无重试。

🔒 独立运行器(Runner)加固

  • 使用 crypto.timingSafeEqual 做 Bearer Token 校验;移除 ?token= 查询串兜底
    未配置 token 时默认拒绝启动(可用 BC_ALLOW_UNAUTHENTICATED=1 放开)。
  • CORS 白名单(BC_CORS_ORIGIN)与按 IP 限流(BC_RATE_LIMIT_MAX / BC_RATE_LIMIT_WINDOW)。
  • POST /api/runsPOST /api/hooks/:idPUT /api/config 增加 zod 请求校验
    (结构化 400 + 字段级错误)。
  • 全量改用 pino 结构化日志(替换 console.*),带 request id 透传与统一错误出口
    server/src/observability.ts)。
  • server/config.json0600 权限写出。

🧩 侧边栏与对话

  • 思考过程与工具调用分离展示 —— 模型推理(think 块)用独立的折叠样式渲染,
    工具调用不再插在助手回复中间,一轮对话不再被切成好几段。仅给模型看的信封内容
    (激活技能指令、页面选择块)通过 displayContent 字段从用户自己的气泡里隐藏,
    该字段在发起请求前会被剥离。
  • 对话回答下载改为走 chrome.downloads.download:原来用 <a download>.click()
    并在 setTimeout(0) 里 revoke blob URL,会和浏览器的异步下载启动竞争,
    在侧边栏里表现为"点了下载没反应"。现在改为下载被接受后再回收 URL,
    锚点方式仅作为非扩展环境的降级路径。
  • 工作流触发器编辑终于生效 —— 编辑器保存时通过 triggerFromNodes 把触发块反规范化到
    工作流的顶层 trigger,列表角标与后台监听器随之反映修改后的启动方式;
    列表角标现在读取有效触发类型,并补齐 6 个触发类型的中文标签
    (间隔 / 定时 / 每周 / 启动 / 快捷键 / 元素变化)。工作流的「导入」收进 新建按钮的悬浮气泡菜单。
  • 助手气泡上的复制/下载按钮在回答流式输出期间隐藏,轮次结束后才出现。

⚙️ 工程化

  • CI 工作流(typecheck、test、lint、format、build、benchmark、server 各项门禁)、
    Dependabot、CODEOWNERS、ESLint flat config、Prettier、覆盖率基线。

🔧 其他修复与调整

  • 交互区块现在每次运行都会等待(原来只在调试首轮等待)。
  • 瞬时 LLM 失败(429 / 5xx / 网络)带退避重试,且绝不在流已消费后再重试。
  • 快照元素上限遵循请求的 maxElements(上限 250)。
  • 判定解析不再把被截断的载荷当成成功。
  • 自动接管运行(takeoverOnRun)限制为单次接管(成本上限)。
  • workflows.takeoverApply 支持可选 verify 参数,在应用修复后跑一次无接管的验证(默认关闭)。
  • 服务端接管可在 BC_TAKEOVER_APPLY_PATCH=1(默认关闭)时把 agent 的 paramsPatch
    应用到内存副本并写出审计产物。

English summary

v0.6.2 — the theme is turning AI debugging from "it runs" into "it succeeds".

  • Measurable success rate: an offline benchmark (pnpm bench:debug, tests/bench/) drives
    the real runDebugSession with every dependency injected — no browser, model or network —
    using a strict verified = takeover-free AND goal achieved metric. Session telemetry
    (debugSessionStats / workflows.debugStats) surfaces success rate, p50/p90 duration and
    failure phases in the panel.
  • Retries that cannot burn money: a global takeover budget caps the whole session; structured
    failureReason + suggestedAction; per-step persisted checkpoints and a failure memory that
    primes retries; idempotent per-node retries that start from the variables the node saw before
    the first attempt; an opt-in observer preflight that skips the agent on a captcha/login wall;
    and console/network buffers compressed into one "page health" line.
  • Resume from checkpoint: resumePointOf derives the exact node where an interrupted run
    continues (with its variables), exposed via workflows.resume / workflows.resumePoint, with a
    Resume action on the panel that only appears when a clean checkpoint really exists. This is
    the recovery path for non-idempotent flows, where replaying a completed login can only fail.
  • Non-idempotent workflows no longer loop forever: the goal judge reports alreadySatisfied,
    the session consults the terminal-state check before every retry / escalation / verdict, and a
    repeated-dead-end breaker stops the run and tells the user to reset page state. Pinned by the new
    S9-non-idempotent benchmark scenario.
  • Runner hardening: timing-safe Bearer auth with the ?token= fallback removed (refuses to boot
    without a token), CORS allow-list, per-IP rate limiting, zod request validation, structured
    pino logging with request ids, and config.json written as 0600.
  • Side panel: model reasoning renders as its own collapsed block with tool calls out of the
    reply body; answer downloads go through chrome.downloads.download (the anchor + immediate
    revokeObjectURL raced the browser and silently dropped the file); workflow trigger edits are
    denormalized on save so the chip and background listeners honour them, with six more localized
    trigger labels and Import folded into the New button's bubble menu.
  • Engineering: CI workflow, Dependabot, CODEOWNERS, ESLint flat config, Prettier, coverage
    baseline. Plus fixes for interaction-block waits, transient LLM retries, the snapshot element
    cap, truncated verdict parsing, and a single-episode cap on automatic takeover runs.

Full changelog: v0.6.1...v0.6.2

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 11:41

v0.6.1 更新说明(自 v0.6.0 以来 / Changelog since v0.6.0)

仍提供两种安装包,按需下载:

  • browser-copilot-0.6.1-ocr.zip —— 完整版(约 32 MB):内置本地 OCR(Tesseract.js),工作流 OCR 识别算子、离线验证码识别开箱即用。
  • browser-copilot-0.6.1-no-ocr.zip —— 精简版(约 0.5 MB,小 98%):不含 OCR 引擎与语言模型,其余功能完全一致;OCR 算子置灰不可用,图片文字仍可通过视觉模型识别(设置 → 图片识别模型)。

Two packages ship as usual: the full build with local OCR (Tesseract.js)
and a ~98% smaller lite build without it. Everything except local OCR is
identical.


✨ v0.6.1

🔌 本地 Agent 接入:适配器内置,一键导出

  • mcp-server.mjs 适配器随插件打包 — 适配器从仓库 examples/ 移入插件包(public/,构建后位于插件根目录)。用安装包的用户无需克隆源码或单独下载文件:在「设置 → 本地 Agent 接入」卡片点一次「导出适配器」,文件保存到下载目录的 browser-copilot/ 下,Claude Code / Codex / Trae 三种现成配置片段会自动填入该绝对路径(Windows 反斜杠自动转义),复制即用;插件升级后重新导出一次即可。
  • 适配器支持独立常驻模式 — 除由 agent 经 stdio 自动拉起外,也可以常驻方式运行(含 EADDRINUSE 时自动切换代理模式)。
  • 安装指引、自动接线提示词(README / examples)同步改为「导出适配器」流程。

🖥️ 独立工作流服务器(新增,可选)

  • 仓库新增 browser-copilot-runner 服务包:无需开浏览器面板即可在服务端运行工作流,支持 HTTP 调用、cron 定时、Webhook、飞书触发,内置配置存储、调度总览与配置 API。
  • 新增 Web 控制台 SPA:浏览器中管理配置、工作流、定时计划与运行记录。
  • 提供 Docker 镜像(固定 pnpm 版本、集成控制台构建)与部署文档(含嵌套子工作流拷贝、secrets 配置示例)。
  • 工作流节点运行支持子工作流解析器注入,嵌套调用可解析到真实工作流。

🤖 Agent 提效与调试

  • 工具按需加载 — 低频工具不再全量挂载,agent 通过 load_tools 按需加载;直接调用某工具组时自动加载对应组,显著减少系统提示词与工具 schema 的 token 占用。
  • 调试会话回放 + 图审计 — 支持回放调试会话并进行执行图审计,给出目标达成判定与统计,排查自动化失败更直观。
  • 直接调用时引导结果自检(outcome checks),减少「虚报完成」。

🧩 编辑器与对话

  • 工作流编辑器表单全中文 — 所有区块表单标签、选项、描述完成中文化;抽取共享的选择器/输出变量组件,区块配置更一致。
  • 技能与设置编辑改为弹窗对话框,页面只保留状态卡片与「编辑」入口。
  • 对话「保存为工作流」提示收敛为按需弹出;工作流 AI 审查改为可选开启(默认关闭)。

🛠️ 修复

  • 设置对话框每 2 秒抢焦点 — 本地 Agent 状态轮询触发重渲染,导致对话框自动聚焦逻辑反复把焦点抢回第一个输入框,密钥无法输入;现已改为仅在弹窗打开时聚焦一次。
  • MiniMax 等预设端点「选不中」 — 端点下拉选择后立刻弹回占位符、毫无反馈;改为受控下拉,选中的端点(如中国大陆 / 国际)持续显示并同步 Base URL。
  • 测试连接成功提示改为绿色(原为灰底灰字,像失败态)。
  • OCR 截取 canvas / 验证码容器时捕获真实像素,修复截到空白/透明画面的问题。
  • 执行器报错更清晰 — worker JS 错误信息明确可读,元素读取能力改进。

English summary

v0.6.1

  • The local-agent adapter (mcp-server.mjs) is now bundled inside the extension: one click on "Export adapter" in Settings → Local Agent saves it to your downloads folder and auto-fills its real absolute path into the ready-made Claude Code / Codex / Trae snippets — no source checkout or manual path hunting. The adapter also gains a standalone resident mode (auto proxy fallback on port conflict).
  • New optional standalone workflow server (browser-copilot-runner): run workflows without the side panel via HTTP, cron, webhook and Feishu triggers, with a config store, schedules API, a web console SPA (config / workflows / schedules / runs), and a Docker image plus deployment docs; node runners resolve nested sub-workflows.
  • Agent efficiency: low-frequency tools load on demand via load_tools (tool groups auto-load on direct call); slimmer system prompt and schemas cut token usage.
  • New debug-session replay + graph audit with goal verdict and stats; outcome self-checks on direct calls.
  • Editor block forms fully localized to Chinese with shared selector/output-variable components; skill and settings editing moved into dialogs; the save-as-workflow prompt is gated and AI workflow review is opt-in.
  • Fixes: settings dialog stole focus back to the first input every 2 seconds (API key untypeable); provider endpoint picker now keeps the chosen endpoint visible (e.g. MiniMax mainland/international); "test connection" success notice is green instead of gray; OCR now captures real pixels for canvas/captcha containers; clearer worker JS errors and improved element reading.

Full changelog: v0.6.0...v0.6.1

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 08:06

v0.6.0 更新说明(自 v0.5.1 以来的完整更新 / Full changelog since v0.5.1)

本版本起提供两种安装包,按需下载:

  • browser-copilot-0.6.0-ocr.zip —— 完整版(约 32 MB):内置本地 OCR(Tesseract.js),工作流 OCR 识别算子、离线验证码识别开箱即用。
  • browser-copilot-0.6.0-no-ocr.zip —— 精简版(约 0.5 MB,小 98%):不含 OCR 引擎与语言模型,其余功能完全一致;OCR 算子置灰不可用,图片文字仍可通过视觉模型识别(设置 → 图片识别模型)。

Starting with this release every GitHub Release ships two packages: the
full build with local OCR (Tesseract.js) and a ~98% smaller lite build
without it. Everything except local OCR is identical; in the lite build the
OCR operator is grayed out and disabled, and image text is still readable
through a vision model.


✨ v0.6.0

  • 双版本发布:完整版 / 无 OCR 精简版 — 构建期开关 --mode no-ocr 剥离 Tesseract.js 引擎与约 35 MB 语言模型资产,zip 体积从 31.8 MB 降到 0.5 MB;精简版中 OCR 算子在算子栏与画布上置灰、不可添加、执行时给出明确提示;manifest 同步收紧 CSP(移除 wasm-unsafe-eval)并以 version_name 标识变体。
  • 悬浮按钮可拖拽并记忆位置 — 最小化后的悬浮按钮支持拖拽,位置按窗口以视口百分比保存,翻页/新页面自动恢复。
  • 本地 Agent 桥接锁定窗口 — 在设置中选择由哪个接入 agent 控制时,同时记录所选窗口;此后该 agent 的标签解析与调试器附加只发生在该窗口内,其他窗口不再被触碰、也不会再出现"正在调试此浏览器"横幅;窗口失效时自动回退默认策略。
  • 工作流批量删除 — 工作流列表支持多选与批量删除。
  • 编辑器框选多选 — 画布支持 rubber-band 框选、Ctrl 多选、多节点整体移动/删除,连线高亮跟随整个选区。

🖼 v0.5.7

  • AI 接管替代自动调试 — 调试失败时不再盲目自动重试,改为交给 AI 接管分析并修复。
  • AI 算子输出清洗 — 去除模型输出中的思考过程与代码围栏,落库/执行更干净。

🧩 v0.5.6

  • 工作流保存前 AI 节点审查 — 保存工作流前由 AI 审查节点配置并给出修正;workflow-generator 内置算子 skill。
  • 工作流失败重试(循环语义补齐) — 新增 loop-breakpoint 提前跳出循环;循环块迭代结束后继续执行 end 分支;repeat-task 兼容编辑器 repeatFor。
  • 控制台日志查看工具 — 新增只读工具 list_console_messages(agent + MCP),被动捕获全部 console 级别。
  • 元素截取更稳 — 多框架探测与 img-src 直取,OCR 元素源更可靠。
  • 面板最小化悬浮按钮 + 多窗口选择策略 + 编辑器连线模块 + 输入框失焦校验

🪟 v0.5.5

  • 本地 OCR 识别管线 — Tesseract.js 全离线识别(验证码预处理:放大 + 对比度拉伸),整页/元素/变量三种图片来源。
  • 插件窗口作用域锁定 — agent 工具、driver、工作流执行器全链路携带面板窗口作用域:标签解析、导航、JS 注入、CDP 附加都限定在面板所在窗口,不跨窗口触碰用户其他页面;无人值守运行支持多窗口选择策略。

🔌 v0.5.4

  • 下载目录与保存算子 — 选择下载目录句柄,新增 save-local 工作流算子与对话 agent 的 save_local 工具,支持直接保存 / 另存为 / 追加三种模式。
  • 本地 Agent 接入、OCR 图片识别、Skill 生成器
  • 对话 agent 提速 — 常驻页内内核、CDP 事件监控、ref 缓存与 run_plan,显著减少冷启动。
  • MCP 修复 — 静态兜底工具列表对齐契约;schema 省略空 required。

💾 v0.5.3

  • 文件化持久存储 — 选择存储文件夹后,持久化状态写入磁盘真实文件(chrome.storage.local 作镜像),MV3 service worker 被回收也不丢数据;支持定时工作流运行。
  • Skill 以文件夹形式存储 — 每个 skill 一个文件夹 + SKILL.md
  • 对话增强 — 底部消息操作按钮、Skill 导入、更多 OpenAI 兼容 provider、表格 CSV 导出、每条消息 token 用量提示。

📎 v0.5.2

  • 对话附件 — 支持随消息附带图片/文件。
  • CDP 可信输入 — 通过 CDP 发送受信任的键盘事件,兼容更严苛的输入框。
  • 已保存工作流的 AI 预填 — 对话生成工作流时自动预填 AI 内容。

English summary

v0.6.0 — dual release variants (full -ocr ~32 MB / lite -no-ocr ~0.5 MB, OCR operator disabled in lite); draggable floating button with per-window position memory; local-agent bridge pinned to the window where "serve connection" was picked; workflow batch delete; editor rubber-band multi-select.
v0.5.7 — AI takeover replaces auto-debug; AI operator output cleaning (thinking/fences).
v0.5.6 — AI node review before workflow save; workflow retry semantics (loop-breakpoint, loop end branch); list_console_messages tool; robust multi-frame element capture; panel minimize floating button, multi-window picker, editor connection module.
v0.5.5 — fully offline local OCR pipeline (Tesseract.js) with captcha preprocessing; plugin-window automation scoping across agent tools, driver and workflow engine.
v0.5.4 — download directory handle + save-local operator/tool; local agent access, OCR image recognition, skill generator; resident-kernel agent speedups; MCP schema fixes.
v0.5.3 — file-backed persistence with scheduled workflow runs; per-folder SKILL.md skills; chat message actions, skill import, more providers, CSV export, token usage.
v0.5.2 — chat attachments; CDP trusted typing; AI prefill for saved workflows.

Full changelog: v0.5.1...v0.6.0

Full Changelog: v0.5.7...v0.6.0

v0.5.7

Choose a tag to compare

@github-actions github-actions released this 06 Sep 03:28

Full Changelog: v0.5.6...v0.5.7

v0.5.6

Choose a tag to compare

@dcc123456 dcc123456 released this 05 Sep 04:46

Full Changelog: v0.5.5...v0.5.6

Full Changelog: v0.5.5...v0.5.6

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 03 Sep 11:17

Full Changelog: v0.5.4...v0.5.5

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 03 Sep 02:46

What's Changed

  • feat(chat): CSV table export, per-message token usage, lucide icons & workflow block catalog refactor by @dcc123456 in #5
  • Main 0831 by @dcc123456 in #6

Full Changelog: v0.5.3...v0.5.4

v0.5.3

Choose a tag to compare

@github-actions github-actions released this 01 Sep 08:43

Full Changelog: v0.5.2...v0.5.3

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 30 Aug 10:17

Full Changelog: v0.5.1...v0.5.2