开发与工程 ✓ Microsoft · 官方 vscodecode-ossplaywrightcdpnode-debuggerui-automationdebugging

Code OSS 启动与调试

为 VS Code 源码构建提供隔离启动、Playwright 自动化和多进程调试端口。

FollowSkills 评估 · FSRS-2.0
不推荐
54/ 100 五分制 2.7 / 5
信任安全14 / 25 · 2.8/5

证据显示脚本使用独立临时 user-data-dir、extensions-dir、shared-data-dir,设置 umask 077,并明确说明会复制认证资料及保留 OS keychain 和 User/globalStorage;原始配置不会被修改,且数据流和排除项有披露。扣分原因是默认复制认证状态、依赖共享 OS keychain,启动会联网下载/编译,缺少启动前用户确认、敏感数据风险提示细化和自动回滚/清理机制。

可靠稳定9 / 20 · 2.3/5

SKILL.md 与 launch.sh 的参数、端口、JSON 输出、超时、错误日志和失败退出路径基本一致,并对缺失构建、CDP 不可用、错误目标和 Monaco 输入失败提供诊断建议。扣分原因是静态审查未执行,未见针对该 launcher 关键路径的专门测试,端口选择存在理论竞态,且外部工具和构建环境失败仍需用户排查。

适用触发10 / 15 · 3.3/5

目标用户、使用场景、输入参数、Playwright/dap-cli 集成、Agents 窗口差异和非适用平台均有说明;脚本明确仅支持 macOS/Linux,且文档提到中文粘贴。扣分原因是 Windows 不支持,认证、npm、Electron、Playwright 和 dap-cli 等依赖的网络可达性与中国大陆环境适配未说明,触发边界仍主要依赖用户自行判断。

规范维护9 / 15 · 3.0/5

文档包含前置条件、启动参数、数据复制规则、端口表、操作示例、并发模式、重启、清理和故障排查;仓库提供 MIT 许可证、Microsoft 归属、版本号及维护入口。扣分原因是该 skill 没有独立版本、变更记录、明确维护责任或更新路径,且部分依赖和外部工具安装说明不够集中。

有效结果7 / 15 · 2.3/5

技能明确产出可解析 JSON,提供隔离启动、动态调试端口、CDP 驱动、调试器附加和 Monaco 粘贴辅助,能够覆盖开发者调试和 UI 自动化核心任务。按静态校准最多 7 分;扣分原因是未执行验证,实际结果仍依赖完整构建、认证配置、系统工具和外部服务,且某些失败后需要手工恢复。

证据核验5 / 10 · 2.5/5

脚本、命令示例、错误信息和 JSON 字段使关键行为可审计,仓库还提供若干 CI 工作流和测试脚本作为一般性工程证据。扣分原因是提供的 CI 并未覆盖该 skill 的 launcher、认证复制、端口隔离或 Monaco helper 关键路径,文档中的“tested live”等声明在本次静态审查中无法独立复现,因此不超过静态上限。

证据充分度: 评估于 2026年7月20日 审查版本 5b3e1be7be9e
使用前请注意
  • 启动器会复制已认证的 VS Code 配置并继续使用当前用户 OS keychain;仅在确认临时目录权限、认证数据风险和本地进程可见性后使用。
  • 清理依赖手工 kill 和 rm -rf,异常退出时可能留下包含敏感状态的临时目录。
  • 核心流程依赖 macOS/Linux、Node、rsync、curl、npm/Electron/Playwright 下载及可能的外部认证服务;大陆网络环境下可能不可达。
  • 本次仅静态阅读,未验证实际启动、端口隔离、认证可用性或 Monaco 粘贴结果。
查看完整评分方法 →

它能做什么 & 适用场景

这是 microsoft/vscode 仓库中 .agents/skills/launch/ 下的单个技能,用于启动从源码构建的 Code OSS。它会把已认证的 Code OSS 用户数据目录复制到临时目录,分配独立的用户数据、扩展目录、共享数据目录和调试端口。启动完成后,它输出包含 CDP、扩展宿主、主进程和 Agent Host 端口的 JSON,便于使用 @playwright/cli 和 dap-cli。该技能适合 VS Code 本身的 UI 流程、聊天流程、截图和断点调试,但要求在 macOS 或 Linux 上具备完整构建环境和已认证的源用户配置。

技能通过相对于 SKILL.md 的 scripts/launch.sh 启动 Code OSS。启动器读取源码仓库和源用户数据目录,将认证配置复制到临时目录;默认采用精简复制,排除工作区存储、历史记录、日志、缓存和其他可再生成数据,同时保留认证所需的 OS keychain 和部分 User/globalStorage 内容。它为每次启动创建独立的 user-data-dir、extensions-dir、shared-data-dir 和临时运行目录,选择空闲的 CDP、扩展宿主、主进程及 Agent Host 调试端口,并在渲染器 CDP 可用后输出 JSON。技能还提供使用 @playwright/cli 连接、列出或切换 Electron 页面、生成快照和截图、通过 Monaco 粘贴脚本输入聊天内容,以及把 dap-cli 连接到相应 Node 调试端口的操作说明。

  1. 正在修改 VS Code 源码的开发者,需要启动完整构建并通过 CDP 检查工作台 UI。
  2. 需要自动化聊天或 Agents 窗口流程、验证 UI 功能并保存截图的测试人员。
  3. 需要在渲染器、扩展宿主、Electron 主进程或 Agent Host 中设置断点的调试者。
  4. 需要在同一台机器上运行多个独立 Code OSS 实例并避免端口、配置和共享数据库冲突的工程团队。

优缺点一览

优点
  • 启动器会等待渲染器 CDP 响应后再输出 JSON,调用方通常不需要自行轮询。
  • 每次启动都使用独立临时配置、扩展目录、共享数据目录和动态端口,适合并行实例。
  • 同一会话支持 @playwright/cli UI 驱动与 dap-cli Node 调试。
  • 默认精简复制配置,保留认证相关数据,同时排除工作区状态、缓存和日志等大型内容。
局限
  • 只明确支持 macOS 或 Linux;材料没有提供 Windows 支持证据。
  • 必须先安装依赖、构建完整 VS Code 客户端和内置扩展,并准备已认证的 Code OSS 用户数据目录。
  • 默认 extensions/ 为空,因此启动实例没有第三方扩展;复制源扩展需要显式使用 --clone-extensions。
  • 技能依赖 shell、本地文件系统和多个命令行工具;dap-cli 不是启动器本身提供的组件。
  • 原生操作系统文件对话框无法通过 @playwright/cli over CDP 驱动,启动配置会在临时配置中启用简单对话框。
  • 材料没有附带独立测试套件或跨平台验证结果。

如何安装

该仓库将技能放在 .agents/skills/launch/,但提供的材料没有说明独立安装命令或发布包安装流程。使用前应在 VS Code 源码检出目录安装依赖(缺少时运行 npm install),并运行 npm run compile 或 npm run watch 构建完整客户端及 extensions/ 下的内置扩展;还需准备已认证的 Code OSS 用户数据目录。调试器工作另外需要将 dap-cli 放到 PATH;材料建议在缺少该技能时从 https://github.com/roblourens/dap-cli 安装。

如何使用

将 LAUNCH 指向该技能目录中的 scripts/launch.sh,例如 LAUNCH=<SKILL.md 所在目录>/scripts/launch.sh。然后运行 INFO=$("$LAUNCH" | tail -n1),并用 jq -r .cdpPort <<<"$INFO" 读取 CDP 端口;再使用 npx @playwright/cli -s=唯一会话名 attach --cdp=http://127.0.0.1:$CDP 连接。可用 "$LAUNCH" --agents 启动 Agents 窗口,使用 --source-user-data-dir <path> 指定认证源,使用 --repo <vscode-repo-root> 指定仓库,使用 --clone-extensions 复制源扩展,或使用 --full 跳过精简排除。要调试扩展宿主、主进程或 Agent Host,分别将 dap-cli 连接到 JSON 中的 extHostPort、mainPort 或 agentHostPort;工作台渲染器使用 cdpPort。每个并行实例和 Playwright 会话都应使用独立名称,结束后关闭 Playwright 会话、终止 Code OSS 进程并删除临时运行目录。

常见问题

这个技能是否需要付费?
材料没有列出技能费用。仓库源代码采用 MIT 许可证;使用时仍需自行准备 Node.js、依赖、构建环境和相关命令行工具。
它会修改我的原始 Code OSS 用户配置吗?
不会。启动器把源用户数据目录复制到临时目录,并使用独立的 --user-data-dir;每次启动的临时配置应在使用后清理。
为什么启动后聊天或语言模型可能不可用?
源用户数据目录必须已认证。若启动实例仍要求登录,材料建议让用户完成登录;还应确认源目录包含 User/ 和 User/globalStorage/ 中的持久化状态。
能否同时运行多个实例?
可以。每次启动都会选择新端口和新的临时运行目录,并覆盖 shared-data-dir 以避免共享 SQLite 数据库冲突。但 macOS 在同时运行约 2 至 3 个以上 Code OSS 实例时可能遇到 Crashpad 的系统级 Mach-port 限制。

同仓库的其他 Skills

均来自 microsoft/vscode

开发与工程 ✓ Microsoft · 官方

工具重命名兼容性检查

防止内置工具重命名破坏现有提示词与工具配置。

开发与工程 ✓ Microsoft · 官方

Copilot Chat OpenTelemetry 埋点指南

为 Copilot Chat 统一设计和维护 OpenTelemetry 埋点。

开发与工程 ✓ Microsoft · 官方

VS Code 配置策略维护助手

规范 VS Code 企业配置策略的注册、导出与验证。

设计与前端 ✓ Microsoft · 官方

VS Code 设计哲学

用价值、原则和设计动作,把“看起来不对”转化为可执行的界面改进。

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

用严格的回放夹具维护 VS Code Agent 主机端到端测试。

开发与工程 ✓ Microsoft · 官方

VS Code 集成浏览器架构指南

帮助开发者安全理解和修改 VS Code 集成浏览器的跨进程架构。

开发与工程 ✓ Microsoft · 官方

VS Code Agents 窗口会话架构

帮助代理安全实现和修复 VS Code Agents 窗口功能。

开发与工程 ✓ Microsoft · 官方

智能提交助手

根据仓库惯例生成提交信息并安全提交代码变更。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

定位 Agent Host 导出日志中的会话、传输与主机问题。

开发与工程 ✓ Microsoft · 官方

VS Code 单元测试助手

在 VS Code 源码仓库中按文件、测试名称或匹配模式运行单元测试。

开发与工程 ✓ Microsoft · 官方

VS Code Agent 定制助手

帮助创建、修复和排查 VS Code Agent 定制文件及其加载问题。

开发与工程 ✓ Microsoft · 官方

VS Code 无障碍开发助手

为 VS Code 交互式功能提供可执行的无障碍实现规范。

设计与前端 ✓ Microsoft · 官方

VS Code CSS 布局规范

用 VS Code 规范构建稳健的 CSS 布局与文本截断体验

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

基准测试聊天渲染性能,并检测会话中的内存泄漏。

开发与工程 ✓ Microsoft · 官方

组件夹具与截图测试

帮助你为 VS Code 组件创建稳定、可主题化的截图测试夹具。

开发与工程 ✓ Microsoft · 官方

VS Code 冒烟测试助手

运行、筛选并调试 VS Code 端到端冒烟测试。

开发与工程 ✓ Microsoft · 官方

VS Code 崩溃转储符号化

将原生 VS Code 崩溃转储转换为带方法名的可读回溯。

开发与工程 ✓ Microsoft · 官方

VS Code 本地 Web 工作台

在本地 vscode.dev 中验证 VS Code 工作台和 Agents 窗口改动。

开发与工程 ✓ Microsoft · 官方

反馈执行器

读取当前会话反馈并落实对应代码修改。

开发与工程 ✓ Microsoft · 官方

VS Code 聊天定制编辑器开发技能

帮助开发者安全修改并测试 VS Code 的聊天定制管理界面。

相关 Skills