当前位置: 首页 > news >正文

Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活

Cursor 一直在 IDE 里用。你打开编辑器,按 Cmd+K,Agent 帮你写代码。很好用,但有个限制——你只能坐在 Cursor 编辑器前面用

现在变了。Cursor 发布了 @cursor/sdk,一个 TypeScript SDK(公测阶段),让你从自己的代码里直接调用 Cursor 的 AI Agent。不是模拟,不是套壳,是同一个 Agent——IDE 里用的那个。

本文提纲

  1. Cursor SDK 解决什么问题
  2. 三种运行时:本地、云端、自托管
  3. 核心能力一览
  4. 代码示例:5 个典型场景
  5. REST API:不用 TypeScript 也能调
  6. 和 Cursor IDE/CLI 的关系
  7. 定价和限制

Cursor SDK 解决什么问题

之前你想用 Cursor 的 Agent 能力,只有两条路:
- Cursor IDE — 坐在编辑器前手动操作
- Cursor CLI — 终端里用 cursor agent 命令

两条路都是交互式的。你想把 Cursor Agent 嵌到 CI 流水线里?想写个脚本让 Agent 自动修 bug 再提 PR?想在 cron job 里让 Agent 每天检查代码质量?做不到。

SDK 就是来解决这个问题的。从"人在 Cursor 里用 Agent"变成"代码调用 Agent 自动干活"。

几个典型场景:
- CI 流水线里跑 Agent 做代码审查
- 批量修 issue:遍历 GitHub Issues,每个丢给一个 Agent
- 自动化工作流:定时让 Agent 扫一遍代码库做健康检查
- 构建自己的 AI 编程产品:底层用 Cursor Agent 的能力

三种运行时:本地、云端、自托管

同一个 Agent.create() 接口,三种运行环境,代码几乎一样:

本地运行(Local):

const agent = await Agent.create({
  model: { id: "composer-2" },
  local: { cwd: process.cwd() },
});

Agent 在你的 Node.js 进程里跑,直接操作当前工作目录的文件。适合开发脚本、CI 检查、本地自动化。不需要额外资源,但 Agent 占你的机器。

云端运行(Cloud):

const agent = await Agent.create({
  model: { id: "composer-2" },
  cloud: {
    repos: [{ url: "https://github.com/your-org/your-repo", startingRef: "main" }],
    autoCreatePR: true,
  },
});

Agent 跑在 Cursor 托管的 VM 上。你传入 GitHub 仓库 URL 和分支,Agent 在云端操作,完事自动创建 PR。适合跑重任务、并行多任务、不想占本地资源。

自托管池: 文档里提到了自托管的 Cloud 选项,适合企业用户在自己基础设施上跑。

关键点:切运行时只改一个配置项。从本地切到云端,不需要重写业务逻辑。

核心能力一览

能力 说明
流式输出 实时接收 Agent 的文本、思考过程、工具调用状态
Delta 流 token 级别的细粒度流式,包括思考内容和工具参数
会话持久化 Agent 是持久容器,跨多轮 prompt 保持上下文
MCP 服务器 内联、文件配置、Dashboard 管理三种方式接入 MCP
子 Agent 定义 "code-reviewer"、"test-writer" 等角色,主 Agent 自动调度
图片输入 支持 base64 或 URL 发送图片给 Agent
模型选择 每次运行可指定模型和参数(如推理深度)
Agent 恢复 通过 Agent.resume() 重新连接已有 Agent 继续对话
Artifacts 列出和下载云端 Agent 生成的文件
Hooks 通过 .cursor/hooks.json 定义项目级策略边界

子 Agent 是个亮点。 你可以预定义多个专业 Agent,主 Agent 根据任务需要自动调度:

const agent = await Agent.create({
  model: { id: "composer-2" },
  local: { cwd: process.cwd() },
  agents: {
    "code-reviewer": {
      description: "Expert code reviewer for quality and security.",
      prompt: "Review code for bugs, security issues, and proven approaches.",
      model: "inherit",
    },
    "test-writer": {
      description: "Writes tests for code changes.",
      prompt: "Write comprehensive tests for the given code.",
    },
  },
});

主 Agent 收到任务后,可以自行决定是调用 code-reviewer 还是 test-writer,或者两个都调。这是多 Agent 协作的轻量实现——不需要外部的编排框架,SDK 自带。

代码示例:5 个典型场景

1. 一句话提问(最简用法):

const result = await Agent.prompt(
  "What does the auth middleware do?",
  { local: { cwd: process.cwd() } }
);
console.log(result);

Agent.prompt() 是一个便捷方法,创建 Agent、发送消息、等待结果,一步完成。适合一次性问答。

2. 流式输出(实时看 Agent 在干什么):

const agent = await Agent.create({ local: { cwd: process.cwd() } });
const run = await agent.send("Find the bug in src/auth.ts");for await (const event of run.stream()) {
  switch (event.type) {
    case "assistant":
      // Agent 输出的文本
      break;
    case "thinking":
      // Agent 的思考过程
      break;
    case "tool_call":
      // Agent 调用的工具和状态
      break;
    case "status":
      // 运行状态变化
      break;
  }
}

7 种事件类型:systemuserassistantthinkingtool_callstatustask。覆盖了 Agent 运行的全生命周期。

3. 云端 Agent + 自动创建 PR:

const agent = await Agent.create({
  cloud: {
    repos: [{ url: "https://github.com/our-org/api", startingRef: "main" }],
    autoCreatePR: true,
  },
});const run = await agent.send("Fix the null pointer exception in UserService.ts");
await run.wait();
// PR 自动创建

autoCreatePR: true 让云端 Agent 改完代码直接提 PR。你甚至不需要 clone 仓库。

4. 恢复已有会话:

const agent = await Agent.resume("bc-abc123");
const run = await agent.send("Also update the changelog");
await run.wait();

Agent 是持久化的。上次聊到一半的对话,用 Agent.resume() 接着来。

5. 接入 MCP 服务器:

const agent = await Agent.create({
  local: { cwd: process.cwd() },
  mcpServers: {
    docs: {
      type: "http",
      url: "https://example.com/mcp",
    },
    filesystem: {
      type: "stdio",
      command: "npx",
      args: ["-y", "@modelcontextprotocol/server-filesystem", process.cwd()],
    },
  },
});

Agent 自动获得 MCP 服务器提供的工具。HTTP 类型和 stdio 类型都支持。

REST API:不用 TypeScript 也能调

不是 TypeScript 项目?Cursor 同时提供了 REST API(api.cursor.com/v1/),支持任何语言。

关键端点:

端点 说明
POST /v1/agents 创建 Agent + 提交首次运行
POST /v1/agents/{id}/runs 发送后续 prompt
GET /v1/agents/{id}/runs/{runId}/stream SSE 流式获取运行结果
GET /v1/agents/{id}/artifacts 列出生成的文件
POST /v1/agents/{id}/runs/{runId}/cancel 取消运行
GET /v1/models 列出可用模型
GET /v1/repositories 列出已连接的 GitHub 仓库

认证用 Basic Auth,API Key 当用户名:

curl --request POST \
  --url https://api.cursor.com/v1/agents \
  -u YOUR_API_KEY: \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": { "text": "Add a README with setup instructions" },
    "model": { "id": "composer-2" },
    "repos": [{ "url": "https://github.com/your-org/repo", "startingRef": "main" }],
    "autoCreatePR": true
  }'

一条 curl 就能创建云端 Agent、让它干活、自动提 PR。Python、Go、Ruby 随便调。

和 Cursor IDE/CLI 的关系

把它们放在一起看就清楚了:

工具 交互方式 适合场景
Cursor IDE 图形界面 人坐在编辑器前写代码
Cursor CLI 终端命令行 快速命令式交互
Cursor SDK 代码调用 自动化、CI/CD、产品集成
REST API HTTP 调用 非 TypeScript 项目

底层是同一个 Agent。区别只是入口不同——IDE 里按快捷键、终端里打命令、代码里调 API。

定价和限制

定价: SDK 运行遵循和 IDE/Cloud Agents 相同的定价、请求池和隐私模式。费用显示在团队的 Usage Dashboard 里,标记为 SDK。

API Key 类型: 支持用户级和 Service Account 级 Key。Team Admin Key 暂不支持。

已知限制(公测阶段):
- 内联 MCP 服务器在 Agent.resume() 后不持久化,需要重新传入
- 本地 Agent 不支持 Artifact 下载(返回空列表)
- 工具调用的 schema(args、result)不稳定,应视为 unknown
- OAuth for local MCP 需要先在 Cursor App 里登录过

安装:

npm install @cursor/sdk

API Key 从 Cursor Dashboard → Integrations 获取。


Cursor SDK 做的事不复杂——把 IDE 里的 Agent 能力开放成 API。但这个"不复杂"的事情意义很大。AI 编程正在从"人用 AI 写代码"转向"系统用 AI 写代码",Cursor SDK 是这个转变的基础设施。以后你的 CI 跑的不只是测试和 lint,还有一个 AI Agent 在做代码审查和自动修复。


作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn,每日分享最前沿的AI新闻和技术。

本文首发于 AI人工智能时代,转载请注明出处。

http://www.jsqmd.com/news/730667/

相关文章:

  • stm32开发者如何通过curl快速测试大模型api接口
  • KLayout版图设计工具:从零开始掌握开源芯片设计的5个关键步骤
  • 从单机到集群:我是如何用三台旧笔记本搭建Hadoop 3.1.4学习环境的
  • Moss框架:统一接口构建LLM应用,从基础调用到Agent实战
  • 四个解析器引发的混乱:Cloudflare 如何用 Rust 统一全栈 Cron 解析
  • 大模型原理深度解析:从RNN到Transformer,揭秘AI如何生成内容!
  • 2026年导电袋制造企业排名,口碑好的有哪些? - mypinpai
  • CPPM证书多久拿到手?时间周期 - 众智商学院官方
  • 崩坏星穹铁道三月七小助手:5分钟学会全自动刷材料终极指南
  • **软件的本质是服务于持续演进的业务需求与用户期望,而非一次性静态交付品
  • 【408学习】数据结构——线性结构
  • 2026年曲轴连杆总成生产厂家靠谱推荐 - mypinpai
  • Dify插件开发实战:基于dify-plugin-sdks构建AI应用扩展工具
  • SVG2与TraSeR:视频场景图技术的突破与应用
  • 绝地求生压枪难题怎么破?罗技鼠标宏5分钟配置指南
  • 网盘下载太慢?试试这个开源工具,轻松获取直链下载地址
  • 建议建立专门的权限控制表实现特定时间访问特定网页功能
  • OneMore插件:让OneNote从普通笔记工具升级为专业生产力平台
  • OneMore:重新定义OneNote生产力,从基础笔记到专业知识管理的进化之路
  • 2026年高考志愿填报服务哪家好,排名来帮你 - 工业品网
  • 残差网络(ResNet)原理与知识表示机制解析
  • YOLO26-seg分割优化:小目标 |新颖的多尺度前馈网络(MSFN)
  • paperxie 本科论文智能写作实测:从选题到终稿,我用它搞定了毕业论文全流程
  • 揭秘番茄小说下载器:5个让你效率翻倍的架构设计创新
  • 2026年论文AI率降不下来?亲测免费降AI率指南,教你降到个位数 - 降AI实验室
  • 基于STM32单片机智能出租车计价器分时计费GPS定位蓝牙设计23-135
  • 大语言模型训练中记忆与泛化的动态平衡研究
  • 2026年想学裱花技术费用 - 工业品网
  • 【flutter for open harmony】第三方库Flutter 鸿蒙版 体重记录 实战指南(适配 1.0.0)✨
  • 第二十天打卡 | 150. 逆波兰表达式求值