360 Secure SkillHub
360 安全技能中心

VS Code Node

该 Skill 通过 OpenClaw Node 协议调用 VS Code/Cursor 扩展,提供文件读写编辑、语言智能(定义/引用/符号/重命名)、Git、测试、调试等 40+ 命令,并可将编码任务委派给 Cursor Agent;需 Gateway 白名单放行,多处引用的参考文档在文件列表中缺失。

xiaoyaner0201
xiaoyaner0201
热度 88.98
最近更新 2026-05-17 12:03:49
分类:开发依赖:MCP 服务应用场景:代码生成 / 代码审查 / 调试排错 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add vscode-node
Metadata
name
vscode-node
description
Operate on code through a VS Code/Cursor IDE connected as an OpenClaw Node. Provides 40+ commands for file operations, language intelligence, git, testing, debugging, and Cursor Agent CLI integration. Use when you need to read/write/edit code, navigate definitions/references, run tests, debug, or delegate coding tasks to Cursor Agent.
metadata
{"openclaw":{"requires":{"tools":["nodes"]}}}

VS Code / Cursor Node Skill

Control a VS Code or Cursor IDE remotely through the OpenClaw Node protocol.

Related

Prerequisites

  • Extension openclaw-node-vscode installed and connected (status bar 🟢)
  • Node visible in nodes status
  • Commands in Gateway's allowCommands whitelist

Invocation Pattern

nodes invoke --node "<name>" --invokeCommand "<cmd>" --invokeParamsJson '{"key":"val"}'

Both invokeTimeoutMs (Gateway internal) and timeoutMs (HTTP layer, must be larger) are required for long operations.

Timeout guide:

Type invokeTimeoutMs timeoutMs
File/editor/lang 15000 20000
Git 30000 35000
Test 60000 65000
Agent plan/ask 180000 185000
Agent run 300000 305000

Command Categories

Category Prefix Key Commands Reference
File vscode.file.* read, write, edit, delete commands/file.md
Directory vscode.dir.* list commands/file.md
Language vscode.lang.* definition, references, hover, symbols, rename, codeActions, format commands/language.md
Editor vscode.editor.* active, openFiles, selections commands/editor.md
Diagnostics vscode.diagnostics.* get commands/editor.md
Git vscode.git.* status, diff, log, blame, stage, commit, stash commands/git.md
Test vscode.test.* list, run, results commands/test-debug.md
Debug vscode.debug.* launch, stop, breakpoint, evaluate, stackTrace, variables commands/test-debug.md
Terminal vscode.terminal.* run (disabled by default) commands/terminal.md
Agent vscode.agent.* status, run, setup (Cursor only) commands/agent.md
Workspace vscode.workspace.* info commands/editor.md

Quick Examples

Read a file

nodes invoke --node "my-vscode" --invokeCommand "vscode.file.read" --invokeParamsJson '{"path":"src/main.ts"}'
→ { content, totalLines, language }

Find all references

nodes invoke --node "my-vscode" --invokeCommand "vscode.lang.references" --invokeParamsJson '{"path":"src/main.ts","line":10,"character":5}'
→ { locations: [{ path, line, character }] }

Git status + commit

nodes invoke --node "my-vscode" --invokeCommand "vscode.git.status"
→ { branch, staged, modified, untracked, ahead, behind }

nodes invoke --node "my-vscode" --invokeCommand "vscode.git.stage" --invokeParamsJson '{"paths":["src/main.ts"]}'
nodes invoke --node "my-vscode" --invokeCommand "vscode.git.commit" --invokeParamsJson '{"message":"fix: resolve type error"}'

Delegate to Cursor Agent

nodes invoke --node "my-vscode" --invokeCommand "vscode.agent.run" --invokeParamsJson '{"prompt":"Add error handling to all API endpoints","mode":"plan"}' --invokeTimeoutMs 180000 --timeoutMs 185000
→ { output, exitCode }

Common Workflows

See references/workflows.md for detailed step-by-step workflows:

  • Fix a type error
  • Safe cross-file refactor
  • Delegate complex task to Cursor Agent

Error Handling

Error Cause Solution
node command not allowed Not in Gateway whitelist Add to gateway.nodes.allowCommands
node not found Extension not connected Check extension status bar
timeout Operation too long Increase both timeout params
path traversal blocked Path outside workspace Use relative paths only
read-only mode Extension in read-only Disable openclaw.readOnly setting

Security

  • All paths are relative to workspace root — absolute paths and ../ blocked
  • Writes respect readOnly and confirmWrites extension settings
  • Terminal disabled by default, whitelist-only when enabled
  • Each device has unique Ed25519 identity, must be approved by Gateway