Cursor Agent Chat
在 VS Code 侧边栏里打开一个聊天窗口,用自然语言描述你的需求,插件会调用本机安装的 cursor-agent(或 agent)命令行,结合你配置的 API Key 自动完成编码、改文件、跑命令等工作,并把过程和结果实时显示在聊天窗口中。
功能
- 侧边栏活动栏图标「Cursor Agent」,点开即是聊天界面。
- 发送消息 = 调用本地
cursor-agent -p --output-format stream-json --stream-partial-output ...,实时流式展示模型输出、工具调用(读文件/写文件/执行命令等)与最终结果。
- 自动维护会话(
--resume),多轮对话可以在同一会话里继续,"新建"按钮可开启新会话。
- 多会话窗口:顶部标签栏支持同时打开多个独立的会话窗口(各自维护自己的消息记录、模型与运行状态),点击「+」新建,点击标签切换,标签上的 × 可关闭。
- 恢复历史会话:点击「历史」按钮可查看之前使用过的会话列表(按更新时间排序),点击即可在新标签中恢复该会话的上下文与消息记录,继续对话;历史会话至少保留 30 天(超出 30 天才会被清理,另设 300 条的安全上限防止无限增长)。
- 停止后自动回填草稿:点击「停止」中断当前任务后,本次被中断的提示词(及其附带的图片)会自动放回输入框,方便直接修改后重新发送,无需重新输入或重新附加图片。
- 工具调用折叠显示:过程中产生的「读文件/写文件/执行命令」等工具调用提示默认折叠为一条可展开的记录(点击展开查看细节),避免大量收尾提示刷屏。
- 改动文件卡片:Agent 每次新增/修改/删除文件后,聊天记录中会出现一张可点击的卡片(文件名 +
+N -M 行数统计),点击即可直接打开「改动前 ↔ 改动后」的 Diff 视图并跳转到该文件,类似 Cursor 编辑器里的改动摘要。
- 图片附件:支持点击「附加图片」按钮选择图片、直接粘贴剪贴板截图(Ctrl/Cmd+V),或将图片拖拽到输入框,一条消息最多附加 8 张图片,发送前可预览并移除;点击缩略图或聊天记录中的图片可弹出大图预览(点击大图或按 Esc 关闭);图片会保存到本地并作为文件引用传给
cursor-agent。
- 拖拽文件生成 @ 引用:把文件拖到输入框会自动插入其路径作为
@ 引用;从 VS Code 的「资源管理器」/标签拖拽可直接生效,从系统文件管理器(Finder/Explorer)拖拽时需按住 Shift 键再拖入(这是 VS Code 自身的限制,不按住会被拦截去在编辑器里打开该文件)。若无法识别路径,可改用输入框里的 @ 文件提及列表选择工作区内文件。
- 模型选择记忆:切换模型后会自动记住,下次打开插件(含新开标签)默认沿用上次选择的模型;在多个会话窗口之间切换、或恢复历史会话时,各自的模型都会保持不变(即便该模型不在
modelList 展示列表中,也会作为一个额外选项保留,不会被悄悄改回默认模型)。
- 模式切换:输入框上方新增「模式」下拉框,与模型下拉框并列,可在「🤖 智能体」(默认,可读写文件)、「📝 计划」「💬 问答」(均为只读,对应
cursor-agent --mode plan / --mode ask,不会修改任何文件)之间切换;选择会像模型一样按会话窗口记住,并在下次打开时自动沿用。
- API Key 通过 VS Code 的 Secret Storage(系统密钥库)安全保存,不会明文写入配置文件。
- 可在设置中配置命令路径、模型(含可自定义的模型下拉列表)、是否自动放行工具调用(
--force/--auto-review)、沙盒模式、工作区目录等。
使用前提
本机已安装 cursor-agent(或 agent)命令行,且在终端可直接运行:
cursor-agent --version
拥有一个 Cursor API Key(也可以不配置,插件会退回使用本机 cursor-agent login 的登录态,取决于命令行版本行为)。
使用方法
安装本插件后,点击左侧活动栏的 Cursor Agent 图标,打开「需求对话」面板。
点击面板右上角「API Key」按钮,粘贴你的 Cursor API Key(可留空,回车即清除)。
在底部输入框描述需求,例如:
帮我在 src 目录下加一个 utils/date.ts,实现一个格式化日期的函数,并写好单元测试
回车(或点击「发送」)即可,插件会在当前工作区目录下运行 cursor-agent,过程中产生的文本、工具调用会实时显示。
需要中断时点击「停止」;需要开启全新话题时点击「新建」或标签栏的「+」,可同时保留多个会话窗口互不影响。
点击「历史」按钮可以从历史会话列表中选择一个,在新标签里恢复其上下文继续对话。
配置项(settings.json)
| 配置项 |
说明 |
默认值 |
cursorAgentChat.agentCommand |
本地可执行命令名或绝对路径 |
cursor-agent |
cursorAgentChat.model |
指定模型,留空使用命令默认 |
"" |
cursorAgentChat.modelList |
限定模型下拉列表展示的模型 ID(对应 model.txt 中的 ID),按数组顺序展示;留空展示 model.txt 中的全部模型 |
["composer-2.5-fast", "composer-2.5", "claude-sonnet-5-medium", "gpt-5.6-terra-medium"] |
cursorAgentChat.force |
是否传 --force,自动允许写文件/执行命令 |
true |
cursorAgentChat.autoReview |
是否传 --auto-review(Smart Auto) |
false |
cursorAgentChat.sandbox |
default/enabled/disabled |
default |
cursorAgentChat.trustWorkspace |
是否传 --trust |
true |
cursorAgentChat.workspacePath |
传给 --workspace 的目录,留空用当前打开的工作区 |
"" |
cursorAgentChat.extraArgs |
额外透传给命令行的参数数组 |
[] |
cursorAgentChat.apiKey |
明文 API Key(不推荐,优先用「设置 API Key」命令) |
"" |
从源码打包 .vsix
npm install
npm run package
打包产物为项目根目录下的 cursor-agent-chat.vsix。
发布到 VS Code Marketplace
首次发布前,先在 Azure DevOps 生成一个 Personal Access Token(Marketplace 权限),并登录发布者账号:
npx vsce login gogowang
确认 package.json 中的 version 已更新(Marketplace 不允许重复版本号),然后发布:
npm run compile
npx vsce publish
也可以在发布时直接指定版本号自动递增,例如 npx vsce publish patch(或 minor/major)。
若不想本地保存登录态,也可以用 --pat 参数一次性传入 Token:
npx vsce publish --pat <your-personal-access-token>
也可以把 Token 单独存到仓库根目录的 pat.txt 文件里,发布时读取该文件传参:
npx vsce publish --pat "$(cat pat.txt)"
⚠️ 安全提示:pat.txt 是明文保存的真实 Marketplace 发布凭证,一旦泄露,任何人都可以用你的身份发布插件。仅建议在私有仓库或本地环境使用;如果仓库会被推送到公开的 GitHub 等平台,请勿提交该文件,并定期在 Azure DevOps 上轮换/吊销 Token。
安装 .vsix
| |