Remote control your Cursor AI coding sessions via Telegram, Gmail, Feishu, and a local HTTP webhook.
Overview
Tericflow captures Cursor chat summaries, pushes them to your preferred channels, and lets you inject replies back into Cursor (including via a local webhook for your own backend).
Installation
Marketplace (recommended)
| Step |
Cursor |
| 1 |
Open Cursor. |
| 2 |
Search for Tericflow in the Extensions Marketplace (Ctrl/Cmd+Shift+X). |
| 3 |
Click Install. |
| 4 |
Open a project folder in Cursor. |
| 5 |
Tericflow creates .tericflow.json and .cursor/rules/after_each_chat.mdc (when missing). |
| 6 |
Configure adapters in .tericflow.json. |
[!NOTE]
If you install from the Visual Studio Marketplace website, confirm the extension is installed inside Cursor, not only in VS Code.
Manual (VSIX)
- Clone this repo and install dependencies:
git clone <your-fork-or-repo-url>
cd <repo>
npm install
- Compile and package:
npm run compile
npx vsce package
- Install the VSIX:
code --install-extension tericflow-0.1.0.vsix
- Restart Cursor.
.tericflow.json is created on first run when no config exists.
Configuration
Tericflow ensures these files when you open a workspace:
.tericflow.json — adapters, webhook, and options (see .tericflow.json.example).
.cursor/rules/after_each_chat.mdc — rule so each chat turn can write tmp/summary-*.json.
Legacy: If you still have .autopilot.json and no .tericflow.json, that file is read until you migrate.
Example structure:
{
"enabled": true,
"adapters": ["telegram"],
"telegram": {
"token": "YOUR_BOT_TOKEN_HERE",
"chatId": "YOUR_CHAT_ID_HERE"
},
"email": {
"host": "smtp.gmail.com",
"port": 587,
"secure": false,
"user": "your-email@gmail.com",
"pass": "your-app-password",
"to": "recipient@example.com"
},
"feishu": {
"appId": "cli_xxxxxxxxxxxxxxxxx",
"appSecret": "your_app_secret_here",
"useWebhook": false
},
"webhook": {
"enabled": false,
"port": 37531,
"secret": ""
}
}
Cursor rule
The rule file is kept in sync when needed. Keep alwaysApply: true in the rule front matter.
Local HTTP webhook (backend → Cursor chat)
When webhook.enabled is true in .tericflow.json, Tericflow listens on 127.0.0.1 only:
- POST
http://127.0.0.1:<port>/chat — body { "text": "your prompt" } (also message or prompt).
- GET
http://127.0.0.1:<port>/health
- If
webhook.secret is set, use Authorization: Bearer <secret> or X-Webhook-Secret: <secret>.
See examples/webhook-backend/ for a small FastAPI relay. Remote machines need SSH port forwarding (or similar) to reach your loopback.
Usage
- Start a Cursor AI chat.
- Receive summaries on your configured channel(s).
- Reply:
1 = continue, 2 = stop, or any other text as instructions.
More detail: docs/SETUP_GUIDE.md.
Testing
- Command Palette → Tericflow: Test chat injection (
tericflow.test).
- Tericflow: Inject text into Cursor Chat (
tericflow.injectChat). The legacy command id cursorInject.send still works.
Documentation
docs/SETUP_GUIDE.md
Support
Open an issue on the project’s GitHub repository.
License
MIT — see LICENSE.
Acknowledgments
Built for the Cursor editor. Previously distributed under a different name; Tericflow is the current product name for this extension.