Skip to content

Releases: devcxl/browser-agent

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 07 Aug 12:07

1780d85 fix: 升级 AI SDK 修复 Deepseek 流式工具调用 hasFinished 崩溃并发布 v0.2.1
e6baef0 docs: update extension store links
56ca0bb fix: 修复 ESLint error 和清理无用的 eslint-disable 指令
99babe0 Merge pull request #190 from devcxl/fix/logo-web-accessible
4fa5c89 fix(manifest): add logo files to web_accessible_resources
9846a70 Merge pull request #189 from devcxl/fix/button-visibility
ab8a149 fix(floating-widget): add semi-transparent background and text fallback
0f0762c Merge pull request #188 from devcxl/feat/logo-button
e2c5f67 feat(floating-widget): use project logo as button, remove white background
e63252c Merge pull request #187 from devcxl/fix/floating-button-position
250be18 fix(floating-widget): change button position from relative to fixed
ff11f64 Merge pull request #186 from devcxl/feat/manifest-e2e-integration
5d99244 fix(e2e): replace no-op assertion with real close-panel verification (#186)
32085da feat: add web_accessible_resources for sidepanel, e2e test (#179)
9c02025 Merge pull request #184 from devcxl/feat/widget-mounting-and-panel
e541870 fix(floating-widget): language propagation and re-mount after destroy (#184)
acd1ba6 Merge pull request #185 from devcxl/feat/settings-floating-section
bcec5e1 feat(floating-widget): DOM mounting, draggable button and iframe panel (#178)
7429f91 feat(settings): add floating button configuration section (#177)
bc65533 Merge pull request #183 from devcxl/feat/sidepanel-embedded-mode
3c131dc Merge pull request #182 from devcxl/feat/drag-blacklist-pure-logic
3f01d59 Merge pull request #181 from devcxl/feat/storage-extend-floating-settings
aa39ba3 feat(storage): add floatingButtonSettings to StorageSchema (#174)
9fc36b7 feat(floating-widget): drag, blacklist and strings pure logic (#175)
af07e29 feat(sidepanel): support embedded mode with close header (#176)
f73c593 Merge pull request #180 from devcxl/chore/plan-tasks-floating-chat-entry
17e2f15 docs: 浮动聊天入口 — 任务定义 (DAG + 6 任务) (#172)
f80230a Merge pull request #173 from devcxl/chore/plan-floating-chat-entry
ddc644e docs: 浮动聊天入口 — PRD + 技术方案 + ADR (#172)
2565159 chore: replace logo with new design and update README
e55fb67 ci(release): 支持手动补发商店版本
5cd9cb5 ci(release): split draft build and store publishing

变更详情: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 20:46

What's Changed

  • feat(agent): Token 预算截断,防止上下文窗口溢出 by @devcxl in #132
  • feat(agent): 工具结果微压缩,减少大工具输出占用 by @devcxl in #133
  • feat(agent): 结构化增量摘要,改进摘要质量 by @devcxl in #134
  • feat(agent): ToolLoopAdapter 包装器,实现 IAgentRuntime 接口 by @devcxl in #149
  • feat(shared): JSON Schema → Zod 转换器 by @devcxl in #150
  • feat(agent): Feature Flag 控制 AgentLoop → ToolLoopAdapter 切换 by @devcxl in #151
  • feat(agent): prepareStep 上下文管理替代 ContextBuilder by @devcxl in #152
  • feat(agent): risk→toolApproval 映射,替代 Guardrail 确认流程 by @devcxl in #153
  • feat(provider): STT 迁移到 AI SDK transcribe() by @devcxl in #154
  • feat(provider): 标记 audio-utils 为废弃 by @devcxl in #156
  • feat(chat): useChat + DirectChatTransport 替代 useAgent by @devcxl in #157
  • feat(agent): toolApproval 确认弹窗流程迁移 by @devcxl in #158
  • feat(guardrail): 删除 requiresConfirmation 冗余,toolApproval 接管确认 by @devcxl in #159
  • feat(chat): 聊天组件迁移到 AI SDK message.parts 模型 by @devcxl in #160
  • docs: 聊天首次体验与响应式布局 — 技术方案 + ADR by @devcxl in #162
  • feat(provider): 提取就绪度纯函数、ProviderWizard 支持 initialStep、完整 i18n by @devcxl in #168
  • feat(chat): 共享响应式聊天内容容器,移除 ChatView 固定最大宽度 by @devcxl in #169
  • feat(chat): ChatSelect 替换 MessageInput 原生 select,Portal Listbox 实现 by @devcxl in #170
  • feat(chat): 首次 Provider 引导、CTA 重开、ChatContentContainer 接入、SettingsPanel 互斥 by @devcxl in #171

Full Changelog: v0.1.2...v0.2.0

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 04 Jul 20:10

40e6b85 fix(test): i18n.test.tsx 异步竞态 — I18nProvider 异步读 ConfigStore,用 waitFor 等待内容更新
3806350 fix(test): useAgent.test.ts 缺少 ConfigStore mock 导致测试全部失败
e0aa6ba feat(ui): 添加扩展图标 logo(16/32/48/128/256/512),配置 manifest icons
3e4e93c chore: bump version to 0.1.2
0ab80b6 test: 更新测试用例 — identity 移除后的计数/字段调整 + grantedPermissions 上下文
e65c358 feat(guardrail): 可选权限运行时校验 — 工具执行前检查 management/debugger/clipboard 权限是否已授予
2c83b44 refactor: 移除 identity API 所有相关代码(OAuth2 身份认证暂不需要)
fc2a3c6 perf(manifest): 将 management/debugger/clipboard 拆分为 optional_permissions,移除 identity 权限
82bc086 fix: remove unused PreflightResult import in proxy-tools
b409f0f feat(settings): Expert Mode 设置面板 — 8 个 API 域开关(含功能说明),合并语言选择器到 Language tab
9b97943 feat(expert): 添加 14 个 Expert API 工具定义 + 注册(management/privacy/proxy/debugger/dnr/identity)
e361e12 feat(expert): 添加 RPC 代理(management/privacy/proxy/debugger/dnr/identity)+ background 注册
fe85f87 feat(expert): 实现 Expert API 适配器(management/privacy/proxy/debugger/dnr/identity)Chrome + Firefox
4c292d4 feat(guardrail): Expert Mode 子开关检查 — expertOnly + critical 工具需对应 expertSwitch 开启
d4f95c3 feat(expert): 添加 Expert Mode 类型定义、常量、Guardrail 逻辑和 Agent Loop 接入
951c9c3 chore: 添加 coverage 到 gitignore;声明 Expert API 权限(management/privacy/proxy/debugger/declarativeNetRequest/identity)
40b2af4 fix: isolate browser mock per test file to avoid vi.stubGlobal conflicts
704903a fix: remove vi.unstubAllGlobals from setup to avoid interfering with test-specific browser mocks
79cbd14 fix: wrap tests in I18nProvider and add global browser mock for vitest
213a181 style: suppress no-console warnings for intentional debug logs
804c5a3 fix: add missing t deps in useVoiceInput, extract lastMsgContent in ChatView
648fb5a fix: fix exhaustive-deps and hoist handleSync before handleAddSubscription
aad712a fix: remove duplicate SettingsPanel declaration and stray bracket (lint error)
fdc2fd0 docs(i18n): add PRD, design, dev docs, review reports for i18n support
b1ab0ca feat(i18n): i18n for SettingsPanel + language selector
85d1d9e feat(i18n): i18n for BrowserState/Token/Skill panels (#130)
d783dd0 feat(i18n): i18n for SettingsPanel + language selector (#128)
84ca99c T8: MessageInput 国际化 (closes #114) (#127)
e2fb2ea feat(i18n): i18n for ChatView/MessageBubble/ToolCallCard (#126)
f35fd33 feat(i18n): i18n for ConversationSidebar (#125)
0b7a9aa feat(i18n): integrate I18nProvider into App entry (#124)
cd310e4 feat(i18n): i18n for useVoiceInput error messages (#131)
ec95945 feat(i18n): i18n for ConfirmDialog and ErrorBoundary (#129)
15d67b3 fix(i18n): use raw storage check in detectAndSetLanguage to avoid default value interference (#121)
ee45915 feat(i18n): implement I18nProvider and useI18n hook (#123)
63be25a feat(i18n): markdown-viewer i18n support (#122)
b55a3b2 refactor(utils): add locale param to formatTime/formatDateTime, export formatNum (#120)
7618133 T1: 创建类型定义 + 中英文语言包 (closes #106) (#119)
ce13944 fix(ci): build matrix 使用浏览器专属 zip 命令
a7d9bb4 ci: 重组 workflow — 命名清晰化
e79df52 ci: build 依赖 lint + test 双重检查
f50b317 ci: 拆分 lint.yml 和 ci.yml — 职责分离
4a5ee36 ci: build.yml 移除 tags 触发 — tag 仅用于 release
58d1af3 ci: 分支名 main → master,PR 仅走 lint
569f149 fix(amo): 修复 Firefox AMO 审核错误
aec7f2f feat(ci): 支持发布时自动签名并提交 Firefox AMO


构建时间: 2026-07-04 19:31:56 UTC

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 28 Jun 23:58

f56ec61 chore: 移除 shared 和 tools 测试中未使用的导入和变量
32f87cb chore: 移除 sidepanel 测试中未使用的导入和变量
d8e61ff chore: 移除 background/conversation/provider 测试中未使用的导入和变量
36f1098 chore: 移除 agent 测试中未使用的导入和变量
3218ffd chore: 移除 agent 和 adapter 测试中未使用的导入和变量
1316851 chore: 移除 sidepanel UI 组件中未使用的变量和导入
ace29af chore: 移除 background 和 db 中未使用的变量和导入
f534fbf chore: 移除 agent 核心模块未使用的类型导入
830e51c fix: 移除 lamejs 改用纯 JS WAV 编码 — 无需外部依赖,API 兼容性更广
a4d327d refactor: 录音 → 统一转 MP3 → 发 API; 新增 lamejs + audio-utils 转换层
b493c2f feat: Provider 支持 audioFormat 配置 — 用户可手动指定音频格式,留空则自动检测
5d4cfa3 fix: 语音输入 MIME 类型降级 — Safari 不支持 webm,回退 mp4/aac/ogg/wav


构建时间: 2026-06-28 23:21:05 UTC

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 23:18

构建时间: 2026-06-27 00:56:19 UTC