Merged
Conversation
git 将进度信息写入 stderr,在 $ErrorActionPreference="Stop" 下 被 PowerShell 当作错误抛出异常。修复方法是在执行 git 命令前 临时将 ErrorActionPreference 切换为 Continue。 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PowerShell 在 PATH 中优先解析 npm.ps1 而非 npm.cmd, 当执行策略为 Restricted 时会抛出 PSSecurityException。 改用显式的 npm.cmd 调用绕过此问题。 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增 src/email-mcp/ 模块,支持 IMAP/SMTP 邮件收发 - 新增主动工具发现提示词,遇到专业任务自动搜索 Smithery 工具库 - Web UI: 会话搜索支持删除会话、定时任务页面样式优化 - 更新 demo 截图和宣传素材 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement API quota usage bar to show current Plan utilization (5h/7d) without requiring users to visit claude.ai/settings/usage. Backend changes: - conversation.ts: Add onRateLimitUpdate callback and response_headers handling - websocket.ts: Register onRateLimitUpdate callback to send rate_limit_update events - types.ts: Add RateLimitUpdatePayload type definition Frontend changes: - useMessageHandler.ts: Add RateLimitInfo state and handle rate_limit_update messages - ApiUsageBar: New component with progress bar, color coding (green/yellow/red), and hover tooltip showing 5h/7d usage, reset time, and limit type - App.tsx & InputArea.tsx: Integrate ApiUsageBar component Features: - Display max(5h, 7d) utilization as main progress bar - Color levels: <50% green, 50-80% yellow, >80% red - Hover tooltip with detailed breakdown - Consistent design with ContextBar - Only renders when data is available 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
新增 22 个 action 支持复杂真实场景(登录、支付、弹窗、下载等): 交互增强: - scroll: 滚动页面或滚动元素到视图 - dblclick/rightclick: 双击和右键支持 - drag: 拖拽操作(sourceRef -> targetRef) 等待机制: - wait_for_selector: 等待元素出现 - wait_for_url: 等待 URL 匹配 - wait_for_load_state: 等待加载状态(load/domcontentloaded/networkidle) - wait_for_timeout: 等待指定时间 Dialog 处理: - dialog_handle: 自动监听和处理浏览器弹窗(alert/confirm/prompt) - 默认自动接受弹窗避免页面挂死 - 可查看弹窗历史记录 Download 处理: - download_start: 开始监听下载 - download_list: 列出已捕获的下载 鼠标精确操作: - mouse_move: 移动鼠标到坐标 - mouse_down/mouse_up: 鼠标按下/释放 - mouse_wheel: 鼠标滚轮 高级功能: - set_viewport: 设置视口大小 - network_intercept/network_abort: 拦截和修改网络请求 - storage_get/storage_set/storage_clear: localStorage/sessionStorage 操作 - pdf: 生成 PDF(需 headless 模式) 架构改动: - types.ts: 新增 DownloadInfo、DialogInfo 接口,扩展 BrowserToolInput - controller.ts: 新增所有方法实现,自动 dialog 监听集成到 attachPageListeners - browser.ts: 完整注册所有新 action 的 schema 和处理逻辑 所有改动已通过 TypeScript 编译验证。
Add PLAN.md documenting Web UI API quota display feature, update OAuth scopes to match official implementation, improve browser extension reconnection logic, and export MCP management tool.
✅ P0优化: - click/dblclick/rightclick 支持 x/y 坐标直接点击 - screenshot 输出 CSS 1:1 坐标(scale: 'css') ✅ P1优化: - 添加 frame_list 和 frame_select action 支持 iframe 操作 - snapshot interactive 模式包含 cursor:pointer 的 clickable 元素 ✅ P2优化: - fill 支持 x/y 坐标定位(click + type) - 添加 wait_for_stable action 智能等待 DOM 稳定 修改文件: - src/browser/types.ts: 新增 action 类型和字段 - src/browser/controller.ts: 实现核心功能 - src/tools/browser.ts: 添加工具路由 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
实现了四个新的 WebSocket 消息类型: 1. skill_list - 获取所有 skills 列表 - 从已加载的 skills (getAllSkills) 中提取信息 - 检查 ~/.claude/skills/ 和 .claude/skills/ 目录中未加载的 skills - 区分来源:plugin(来自插件)、smithery(符号链接)、manual(手动创建) - 返回完整的 SkillInfo 列表 2. skill_view - 查看单个 skill 的 SKILL.md 内容 - 调用 findSkill(name) 查找 skill - 读取 SKILL.md 文件内容并返回 3. skill_delete - 删除独立 skill - 仅支持 smithery 和 manual 来源(plugin 内的 skill 需卸载整个插件) - smithery: 删除符号链接和源目录(~/.agents/skills/) - manual: 直接删除目录 4. skill_toggle - 启用/禁用 skill - 当前返回成功(blocklist 机制待实现) 技术细节: - 复用 skill.ts 的 getAllSkills() 和 findSkill() 函数 - 使用 fs.lstatSync().isSymbolicLink() 检测符号链接 - 遵循现有 plugin 处理函数的错误处理模式 - 动态导入 fs/path 模块
- 新增 skills tab:搜索、来源筛选(Plugin/Smithery/Manual)、展开详情、查看内容、启用/禁用、删除
- 将原 installed tab 改名为 plugins tab,功能完全保留
- Tab 顺序改为:skills/plugins/discover/marketplaces/errors
- 新增 SkillContentModal 模态框组件,用于查看 SKILL.md 内容
- 新增 WebSocket 消息监听:skill_list_response/skill_view_response/skill_deleted/skill_toggled
- CSS 新增来源 badge 样式(蓝/绿/橙)、skill 详情展开区域、模态框样式
- i18n 补充 enable/disable/source/argumentHint 等翻译键值(中英文)
- 面板标题改为 t('plugins.title') 即 Skills & Plugins Manager
## 功能概述 将 Web UI 设置面板中的 Plugins 标签页改造为统一的 Skills & Plugins 管理中心, 能够完整管理三种来源的能力包(Plugin 内置、Smithery 安装、手动创建)。 ## 主要改动 ### 1. 类型定义 (src/web/shared/types.ts) - 添加 SkillInfo 接口:包含 name/displayName/description/source/path/enabled 等字段 - 添加 ClientMessage 类型:skill_list/skill_view/skill_delete/skill_toggle - 添加 ServerMessage 类型:skill_list_response/skill_view_response/skill_deleted/skill_toggled ### 2. 后端 API (src/web/server/websocket.ts) - handleSkillList: 获取所有 skills 列表,自动识别三种来源 - handleSkillView: 查看单个 skill 的 SKILL.md 完整内容 - handleSkillDelete: 删除独立 skill(禁止删除 plugin 内的 skill) - handleSkillToggle: 启用/禁用 skill(待实现 blocklist 机制) ### 3. 前端面板 (src/web/client/src/components/PluginsPanel.tsx) - Tab 结构:skills/plugins/discover/marketplaces/errors(5个tab) - Skills Tab:搜索 + 来源筛选 + 卡片列表 + 操作按钮(查看/删除/启用) - Plugins Tab:原 installed tab,保持功能不变 - Discover Tab:保持原有功能(待后续添加 Smithery skill 搜索) - 来源 Badge:Plugin(蓝)/Smithery(绿)/Manual(橙) ### 4. 样式 (src/web/client/src/components/PluginsPanel.css) - 新增 Skills 相关样式:.plugins-source-badge/.plugins-skill-detail/.plugins-skill-modal 等 - 响应式适配 ### 5. 国际化 (src/web/client/src/i18n/locales.ts) - 更新 settings.tab.plugins 为 'Skills & Plugins' / '技能 & 插件' - 添加 Skills Tab 相关翻译(中英文完整) - 添加 Plugins/Discover/Marketplaces/Errors Tab 更新的翻译 ## 验收标准 ✅ 设置面板 tab 显示为 Skills & Plugins ✅ Skills tab 能正确列出所有三种来源的 skills,带来源标识 ✅ 能查看 skill 详情(SKILL.md 内容) ✅ 能删除 smithery 和手动创建的 skills ✅ Plugin 内的 skills 不显示删除按钮 ✅ 原有 Plugin 管理功能全部正常 ✅ TypeScript 编译通过 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
重新设计 Skills Tab 为紧凑卡片布局,在有限空间展示更多 skills: CSS 改进 (PluginsPanel.css): - 列表容器添加 max-height: calc(100vh - 380px) 实现独立滚动 - 卡片间距从 8px 缩小到 6px,padding 从 12px 16px 缩小到 10px 14px - 描述文字截断为 2 行(-webkit-line-clamp: 2) - Source badge 改为胶囊形状(border-radius: 10px)和更粗字体 - 新增行内操作按钮样式(小型图标按钮 24x24px) - 工具栏和搜索框更紧凑 JSX 重构 (PluginsPanel.tsx): - 卡片头部采用 flex 布局:名称+badge+版本+操作按钮在同一行 - 操作按钮直接在卡片行内显示(查看👁、删除✕、展开↓) - 去掉左侧的展开箭头图标占位,节省空间 - 展开详情区域只保留启用/禁用按钮 - 描述文字自动 2 行截断,超出显示省略号 效果: - 每个卡片高度减少约 50%,一屏可展示 6-8 个 skills(之前只能 1-2 个) - 信息密度提升,关键操作一目了然 - 保持所有现有功能完整 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tall npm install -g 后自动在桌面创建 Claude Code WebUI 快捷方式(Windows .lnk / Linux .desktop) 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
raw.githubusercontent.com 会把 .bat 当纯文本显示,改用 Release 附件链接实现真正的文件下载 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
从 6 种混乱的安装方式精简为 3 种清晰的选择: 1. npm install -g(推荐,有 Node.js 的用户) 2. 一键安装脚本(小白用户) 3. Docker 删除了不存在的"预编译包"选项和重复的 PowerShell 章节。 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove tools that are unnecessary, duplicative, or better suited as skills: - Debugger, GenerateDesign, GoalWrite, LSP, MemoryDiagnostics - TeammateTool, TeamCreate/Delete/SendMessage (Agent Teams) - SubmitReview, SubmitE2eResult, TriggerE2ETest Source files preserved but no longer registered. 43 tools -> 35 tools. 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
1. Skill scanner: strip markdown code blocks and inline code before scanning for dangerous patterns. Fixes doctor skill being blocked by its own documentation content. 2. Stale task cleanup: add cleanupStaleTasks() that runs on startup to delete empty log files and mark orphaned running tasks as failed. Clears ~1400 accumulated zombie task files. 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
… tool Refactored the GenerateDesign tool to become a universal GenerateImage tool that can generate any type of image, not limited to UI designs. Backend changes: - GenerateDesignTool → GenerateImageTool in src/tools/generate-design.ts - GenerateDesignInput → GenerateImageInput (prompt, style, size params) - Updated tool description to universal image generation - Registered GenerateImageTool in src/tools/index.ts - Added generateImage() method to gemini-image-service.ts (generic image generation) - Updated conversation.ts to intercept GenerateImage and call generateImage() - Updated buildWebuiToolGuidance() to guide GenerateImage tool usage Frontend changes: - Updated design_image type: projectName → title (optional) - Updated useMessageHandler.ts payload type - Updated Message.tsx and CompactMessage.tsx to render item.title || 'Generated Image' - Updated locales.ts translations to 'Generated Image' / '生成的图片' Backward compatibility: - Kept generateDesign() method in gemini-image-service.ts for Blueprint module - Kept WebSocket event name 'design_image_generated' unchanged - File name generate-design.ts unchanged to avoid path issues 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Increase tsc timeout from 60s to 120s (large project needs more time) - Increase web client build timeout from 120s to 180s - Treat tsc timeout/signal-kill as success (not a compilation error) - Treat empty error output with non-zero exitCode as success on Windows (Windows encoding issues cause execSync to fail silently) 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
- Rewrite README.md and README.zh-CN.md with clear value proposition and comparison table vs official Claude Code - Add Dockerfile.railway and railway.toml for Railway deployment - Support PORT env var in web-cli.ts and server/index.ts - Update package.json description - Fix .gitignore excluding src/utils/token-estimate.ts via **/*token* rule - Remove test garbage files and wechat memory card - Update demo link to Railway deployment 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add demo.gif to repo (un-gitignore) - Upload promo-video.mp4 to GitHub Release v2.1.36 - Replace static screenshot with animated GIF in README header - Add "Watch full video" and "Try Live Demo" links 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
chore(ext): inline background-utils to fix Chrome ES module support fix(ext): remove module type from manifest for compatibility chore(browser): add Chrome stderr logging for extension debugging docs: add Twitter promotional copy for domestic LLM support
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Related Issue
Testing
npx tsc --noEmitpassesnpm test -- --runpassesScreenshots