cursor-to-pi1.1.0
pi extension: Cursor models as a pi provider, with one Cursor agent per pi session
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
cursor-to-pi
Use Cursor models as the
cursorprovider in pi, through the official@cursor/sdkand your own Cursor API key. pi keeps the agent loop, tools and permissions; Cursor is only the model. Install withpi install npm:cursor-to-pi. The docs are in Chinese.
把 Cursor 注册为 pi 的模型 provider(cursor)。pi 负责 agent 循环和工具,Cursor 只当模型。
让 agent 帮你装:把下面这句话发给你的 coding agent(pi、Claude Code、Codex、Cursor 等):
按 https://github.com/lukeinx/cursor-to-pi 的 README「Agent 安装步骤」给我的 pi 安装 cursor-to-pi,key 由我自己填过程中你只需要创建一个 Cursor API Key,并在 pi 里
/login粘贴。
特点
- 缓存复用:只发增量,中途换工具也不重放历史,缓存命中率实测 42% → 88%。
- ctx 准确:不重复计缓存,不误判溢出,中文估算更准。
- 自动适配:默认最大上下文档位,不支持则降档;思考强度按模型映射;始终
fast=false。 - 首轮预热:选中 Cursor 模型(启动或切换)后在后台预热 SDK,首轮首字实测 ~11s → ~4.5s;不发模型请求,不耗 token。
- 兼容 pi:支持 pi 1.1 及以上、请求钩子和其他扩展的旁路调用;工具全由 pi 执行,Cursor 内置工具关闭。
变更见 CHANGELOG.md。
安全合规
- 官方 SDK + 自己的 key:只通过 Cursor 官方
@cursor/sdk调用,用你在 Cursor 后台创建的 API Key,用量计入你自己的 Cursor 账号;不逆向私有协议,不读取 Cursor IDE 的登录态或本地凭据。 - pi 官方接口:以 pi 扩展的 provider 机制注册,不改宿主代码。
- 工具与权限归 pi:Cursor 内置工具全部关闭,读写文件、执行命令都由 pi 执行,沿用 pi 的权限控制。
- key 不外泄:key 存在 pi 的
/login凭据或环境变量里,不写进日志、不进仓库。
原理
- 每个 pi 会话对应一个 Cursor agent,按消息指纹只发新增内容。
- pi 的工具以自定义工具挂给 Cursor,调用转交 pi 执行,结果回填后同一 run 继续;工具变化时在同一 agent 上重开 run。
- Cursor 只在 run 结束给累计用量:单次调用直接用,多次调用的 ctx 用对话估算。
安装
pi install npm:cursor-to-pi
获取 key:打开 cursor.com/dashboard → API Keys → New API Key,创建后立即复制(只显示一次)。用个人 key 或 service account key,Team Admin key 不支持。
只能装一个 cursor provider。key 用 CURSOR_API_KEY 或 /login 配置,然后在 /model 选 cursor/... 模型;配置 key 后可用 /cursor-refresh-models 拉取完整模型列表。更新用 pi update --extensions 后重启 pi。
可选环境变量:PI_CURSOR_CONTEXT=min|max|300k 选上下文档位(默认 min,最小档;max 为最大档),PI_CURSOR_DEBUG=1 输出调试日志,PI_CURSOR_CWD=<目录> 指定 Cursor agent 的工作目录(默认 pi 进程的当前目录,宿主进程目录不是工作目录时用),PI_CURSOR_PREWARM=0 关闭启动预热。
Agent 安装步骤
给 coding agent 的操作说明。每一步都可以重复执行;下文的 <agent-dir> 指 $PI_CODING_AGENT_DIR,未设置时为 ~/.pi/agent。
- 前置检查:
pi --version不低于 1.1.0。不满足就停下来告诉用户。 - 安装:
pi install npm:cursor-to-pi。 - 清理冲突:只能有一个
cursorprovider。pi list里如果还有别的 Cursor provider 扩展(如pi-cursor-auth),告诉用户,经同意后用pi remove <source>移除。 - 配置 key:环境变量
CURSOR_API_KEY已设置时跳过。否则请用户:打开 cursor.com/dashboard → API Keys → New API Key 创建 key(个人 key 或 service account key),然后在 pi 里运行/login选 Cursor 粘贴。不要让用户把 key 发到对话里,也不要读取或输出auth.json。等用户确认完成再继续。 - 验证:
pi --list-models cursor能列出模型,任选一个运行pi --no-session --model cursor/<模型 id> -p "Reply with exactly: ok",输出ok。 - 告诉用户:已在运行的 pi 要重启才会加载扩展;在 pi 里
/cursor-refresh-models拉取完整模型列表,/model选cursor/...;以后用pi update --extensions更新。
开发
src/session.ts:会话复用、工具回传、中途换工具src/models.ts:模型目录与参数映射src/prompt.ts/src/usage.ts/src/reply.ts:提示词、用量与 ctx、回复事件src/index.ts:扩展入口
改完跑 npm test && npm run check;推 GitHub 或发 npm 前跑 npm run check:public(不含内网链接和本机路径)。约束见 AGENTS.md:不开 Cursor 内置工具;不改 cursor provider id、模型 id 和 PI_CURSOR_*;不安装 pi-ai 实体副本。
版权
MIT,见 LICENSE。Copyright (c) 2026 Luke。