植入 - 一个扩展 VS Code 的工具,向编码代理暴露其 API
为编码代理(Copilot Chat、Claude Code、Cursor、任何说 MCP 的东西——或者任何能够外壳化的东西)提供对 VS Code 及第三方扩展内所有内容的实时访问。使用编辑器已有的工具来探索代码:查找引用、转到定义、悬停类型、工作区诊断、git blame、符号轮廓,以及任何第三方扩展注册的命令。通过支持编辑器的相同语言服务器修改代码:结构重命名、快速修复和重构、整理导入、通过 WorkspaceEdit 安全创建/重命名/删除文件、格式化输出、源操作。编辑通过语言服务器传递——比在文件上使用 sed / awk 更安全,因为它们尊重作用域、导入和语义。植入暴露了一个单一的 MCP 工具,run_vscode_script,它在正在运行的 VS Code 扩展主机中执行 JavaScript 代码片段,并完全访问 vscode.* API。没有用户批准的确切代码片段,任何东西都不会运行。快速开始 安装扩展。打开您的项目。植入会主动提议将其安装到工作区——这会放置便携式规则文件,以教导代理何时寻找植入。您的代理会自动获取该工具——MCP 原生客户端(Copilot Chat 和其他 VS Code ≥ 1.101 的客户端)通过注册表发现它,而 CLI 代理则通过第 2 步中安装的工作区说明获取它。当代理调用该工具时,编辑器旁边会打开一个网页视图,显示带有语法高亮的脚本。单击运行、运行 + 信任会话或拒绝。调色板命令 命令 目的 Implant: 安装到工作区 写入五个便携、安全的提交文件:.vscode/implant/call.js (stdio↔HTTP MCP 代理)、.mcp.json (Claude Code / 通用 MCP 配置)、.cursor/mcp.json (Cursor MCP 配置)、.claude/skills/implant/SKILL.md (Claude Code 技能)、.cursor/rules/implant.mdc (Cursor 规则)。还会在 .github/copilot-instructions.md 中插入一个 <!-- BEGIN Implant --> … <!-- END Implant --> 部分。在覆盖之前提示;询问在多根工作区中的哪个文件夹。 Implant: 复制代理指令 将相同的指令复制到剪贴板——粘贴到 AGENTS.md、代理的系统提示,或任何您的设置所期望的位置。 设置 关键 默认 含义 implant.requireConfirmation true 在每个脚本运行之前显示批准网页视图。 implant.timeoutMs 0 硬执行超时(毫秒)。0 禁用它——运行时间较长的异步脚本将在 10 秒后通过通知被用户取消。设置为正值以强制执行自动上限。 implant.port 0 HTTP MCP 服务器的端口。0 选择一个临时端口;实际端口写入 .vscode/implant/session.yml 。批准网页视图有一个“运行 + 信任会话”按钮,可以跳过未来的提示,直到窗口重新加载。 安全注意事项 代码片段在与扩展本身相同的权限下在 VS Code 扩展主机中运行。没有沙盒——这正是重点。批准网页视图的存在是为了让您在其运行之前查看每个代码片段。仅在代理已经在紧密审查循环中时关闭确认。HTTP 服务器仅绑定到 127.0.0.1,并需要每个会话的令牌——令牌存储在 .vscode/implant/session.yml 中(模式 0600,git 忽略,在每次激活时重生)。没有有效令牌的请求会收到 401 响应并触发警告通知,让您注意到任何试图访问该端口的内容。即使有令牌保护,也不要在共享计算机上运行此程序:任何以您的用户身份运行的进程都可以读取会话文件。确认提示是最后一道防线。仅在代理已经在您信任的紧密审查循环中时才能关闭 implant.requireConfirmation。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡