Cursor Sdk Bridge
Map Cursor SDK agents to VibeOS API and ACP.
Skill metadata
| Source | Bundled (installed by default) |
| Path | skills/software-development/cursor-sdk-bridge |
| Version | 1.0.0 |
| Author | VibeOS |
| License | MIT |
| Platforms | linux, macos, windows |
| Tags | cursor, sdk, api, acp, automation, openai |
| Related skills | vibeos-api-automation, cursor-capabilities-bridge, analytical-ui, open-webui-vibeos |
Reference: full SKILL.md
The following is the complete skill definition that VibeOS loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.
Cursor SDK Bridge
Cursor’s Agent SDK (@cursor/sdk / cursor-sdk) runs agents from scripts or
CI (local cwd or Cursor cloud VM). VibeOS does not clone Cursor’s cloud VM.
Map the same jobs onto the OpenAI-compatible API server + ACP.
When to Use
- User asks for Cursor SDK /
Agent.create/ programmatic agents in VibeOS - Scripts, bots, or Open WebUI need to drive an agent over HTTP
- Choosing between API (remote-friendly) and ACP (IDE-embedded)
Prerequisites
# ~/.vibeos/.env (secrets only)
API_SERVER_ENABLED=true
API_SERVER_KEY=change-me-local-dev
Gateway running (vibeos gateway / vibeos gateway). Docs:
website/docs/user-guide/features/api-server.md. Skill vibeos-api-automation
has the full CLI cheat sheet.
How to Run
Local / scripted agent (≈ Cursor SDK local runtime)
vibeos api health
vibeos api chat "Summarize AGENTS.md in 3 bullets"
vibeos api run "Investigate flaky test X" --wait
RUN=$(vibeos api run "…" | jq -r .run_id)
vibeos api stream "$RUN"
vibeos api stop "$RUN"
HTTP (OpenAI-compatible):
curl -s http://127.0.0.1:8642/v1/chat/completions \
-H "Authorization: Bearer $API_SERVER_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"default","messages":[{"role":"user","content":"hi"}]}'
Long runs: POST /v1/runs + events stream (see API docs). Summary UI:
vibeos api runs --summary / skill analytical-ui.
IDE-embedded agent (≈ Cursor in-editor agent)
./scripts/run-coding-acp.sh --status
./scripts/run-coding-acp.sh # VIBEOS_HOME=…/profiles/coding
ACP is the IDE bridge — not a second chat product. Use coding profile policy.
What we deliberately do not clone
| Cursor SDK | VibeOS |
|---|---|
| Cloud VM + auto-clone repo | No — use your VPS/Timeweb + local/git cwd |
Agent.create cloud runtime | API server on your machine/host |
| Marketplace Bugbot binary | skill cursor-review-bridge |
| Cursor-hosted secrets vault | ~/.vibeos/.env only |
Quick Reference
| Cursor SDK idea | VibeOS |
|---|---|
Agent.prompt / sync | vibeos api chat or /v1/chat/completions |
Agent + stream | vibeos api stream / SSE on runs |
| Resume session | vibeos api session-create + prompt --session |
| Cancel | vibeos api stop <run_id> |
| List runs | vibeos api runs / --summary |
| IDE agent | ACP + run-coding-acp.sh |
| Open WebUI front-end | skill open-webui-vibeos |
Procedure
- Enable API server + key in
.env; start gateway. - Smoke
vibeos api health. - Pick sync (
chat) vs async (run+ stream). - For IDE work, use ACP coding profile instead of spawning a second UI.
- New HTTP clients: read
/v1/capabilitiesbefore assuming endpoints.
Pitfalls
- Expecting Cursor cloud VMs — not shipped; host your own runner
- Leaving
API_SERVER_KEYempty or committed to git - Mixing ACP session and API session IDs — different stores
- Enabling GitHub Actions as the only ship path — Timeweb is the online path
Verification
vibeos api health
vibeos api chat "ping"
./scripts/run-coding-acp.sh --check