关于 finding-dev-server-url
为 Cursor 编码 Agent 提供查找开发服务器地址的操作流程,可检查终端输出、端口和进程状态,并按需在内置浏览器中打开页面。
主要功能
- 01读取终端元数据与输出
- 02识别常见服务器地址和端口
- 03报告进程退出及端口冲突
- 04可选使用内置浏览器打开页面
适用场景
- 01查找正在运行的本地开发服务器
- 02确认服务器端口并打开应用
- 03排查服务器崩溃或端口占用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill finding-dev-server-url安装后在 Claude Code 中输入/finding-dev-server-url确认已加载。
详细介绍
查找开发服务器 URL
检测正在运行的开发服务器、它们使用的端口,并打开服务器。
工作原理
Cursor 会将实时终端输出存储在文本文件中。每个终端都有一个对应的文件,位于:
<terminals_folder>/<id>.txt
终端文件夹路径由系统上下文提供。每个文件都包含元数据(pid、cwd、last command),后面是完整的终端输出。
工作流
1. 列出所有终端
ls <terminals_folder>/*.txt
2. 读取每个终端的元数据
读取每个终端文件的前约 10 行,查看:
pid— 进程 IDcwd— 工作目录last_command— 正在运行的命令(例如npm run dev、pnpm dev、python manage.py runserver)
跳过最后一条命令明显不是服务器的终端(例如 git status、ls、cd)。
3. 扫描服务器 URL
读取看起来正在运行服务器的终端的完整内容。搜索以下模式:
| 框架 | 模式 |
|---|---|
| Next.js | Local: http://localhost:XXXX 或 ▲ Ready |
| Vite | Local: http://localhost:XXXX/ |
| Create React App | Local: http://localhost:XXXX |
| Express | listening on port XXXX 或 listening at http://... |
| Django | Starting development server at http://127.0.0.1:XXXX/ |
| Rails | Listening on http://127.0.0.1:XXXX |
| Flask | Running on http://127.0.0.1:XXXX |
| Go | Listening on :XXXX 或 http server started on :XXXX |
| PHP | Development Server (http://localhost:XXXX) started |
| Remix | http://localhost:XXXX |
| Astro | http://localhost:XXXX |
| Nuxt | http://localhost:XXXX |
用于匹配大多数服务器输出的正则表达式:
https?://(localhost|127\.0\.0\.1|0\.0\.0\.0)(:\d+)
还要检查独立的端口模式:
(listening|started|running|ready|serving).*(port\s*|:)\s*(\d{4,5})
4. 报告
打印摘要:
Dev servers found:
Terminal 1 (pid 12345) — npm run dev → http://localhost:3000 (cwd: /Users/me/app)
Terminal 3 (pid 67890) — python manage.py runserver → http://127.0.0.1:8000 (cwd: /Users/me/api)
如果未找到服务器,请说明这一点并建议启动一个服务器。
5. 在浏览器中打开(可选)
如果用户想查看应用,请使用 Cursor 内置的浏览器:
browser_navigate → http://localhost:<port>
然后截取屏幕截图,确认页面正常显示:
browser_take_screenshot
提示
- 如果找到多个服务器,请询问用户要打开哪一个
- 如果终端显示错误(例如
EADDRINUSE、address already in use),请报告冲突 - 如果服务器已崩溃(进程已退出),也请注明 — 检查终端文件末尾的
exit_code - 常见默认端口:Next.js(3000)、Vite(5173)、Django(8000)、Rails(3000)、Flask(5000)、Go(8080)
评论
支持 Markdown