用户在千里之外的 iPhone 上说「页面白屏了」。 你对 AI 说一句「看看怎么回事」——它展开组件树、读 console、查网络请求, 定位到那行报错,执行代码验证,全程不需要用户装任何东西。
这就是 silkpulse 做的事。
把任意远程页面的"现场"搬到你的浏览器和 AI 面前:
- 看 —— 页面快照、console 日志、网络请求、报错堆栈(自动还原压缩代码的真实出错位置)
- 看组件树 —— Vue / React 组件树、state / props / hooks,生产构建的线上页面也能看,体验与本地 DevTools 一致
- 动 —— 在远程页面执行 JS、点击元素、填表单、滚动、模拟按键,AI 可以直接操作并验证
- AI 闭环 —— 自带 AI skill:诊断 → 定位 → 操作 → 验证,一句话让 AI 自己排查线上问题
- 多设备管理 —— 多台设备同时接入,标签/备注区分、错误自动高亮、断线重连历史不丢
- 排查线上 H5 / 移动端 webview 问题,但用户那边打不开 DevTools
- 用户说"白屏了 / 点不了",你却拿不到现场
- 想让 AI agent 直接读懂并操作远程页面
- 控制台:https://silkpulse.heartstack.space(输入密钥或以访客身份登录)
- 测试页(已接入 SDK,可直接在控制台中看到):https://silkpulse.heartstack.space/test-page.html
三种方式任选,线上站不改一行源码也能接:
- script 标签 —— 能改源码时加一行:
<script src="https://your-server/sdk.js"></script>
- bookmarklet —— 访问
/inject/bookmarklet,拖到书签栏,任意页面点击即接入 - userscript —— 访问
/inject/userscript,装进 Tampermonkey,自动匹配所有页面
vp install
vp run -r build # 构建
vp run start # 启动,默认端口 8080浏览器打开 http://localhost:8080 即是控制台。
构建产物自包含,无需 node_modules:
# 方式一:Node 直接跑
rsync -avz --delete packages/server/dist/ root@<server>:/app/silkpulse/dist/
rsync -avz --delete packages/server/public/ root@<server>:/app/silkpulse/public/
SILKPULSE_ADMIN_KEY=<你的密钥> node /app/silkpulse/dist/bin/silkpulse.mjs --port 8080
# 方式二:Docker
docker build -t silkpulse .
docker run -d -p 8080:8080 -e SILKPULSE_ADMIN_KEY=<你的密钥> -v ./data:/data silkpulseNginx 反代时记得放行 WebSocket 升级(Upgrade / Connection 头)。
AI agent 通过 silkpulse skill 一句话排查问题:
node tools/skill/scripts/silkpulse.mjs devices # 在线设备
node tools/skill/scripts/silkpulse.mjs inspect <id> # 一键诊断聚合(AI 最高效入口)
node tools/skill/scripts/silkpulse.mjs exec <id> # 在远程页面执行 JS完整用法见 tools/skill/SKILL.md。
- 架构与实现细节:SILKPULSE_KNOWLEDGE.md
- 项目结构:
packages/(server、sdk、shared)+apps/console(控制台 UI)+tools/skill(AI skill)
感谢 LINUX DO 社区佬友们的支持与反馈 🙏
MIT

