kurihada
|
0e693842a6
|
fix: Login 页面进入时自动检测登录状态(通过轻量 cookie-check)
|
2026-03-01 16:37:16 +08:00 |
|
kurihada
|
785ec84e56
|
feat: API Tester 支持 MCP 模式 + 修复多个 bug
MCP 模式:
- 新增浏览器端 MCP 客户端 (SSE + JSON-RPC + initialize 握手)
- API Tester 页面双模式: REST API tab + MCP Tools tab
- 连接后自动发现 13 个 tools,支持参数编辑和调用
- 与 AI 客户端走完全相同的协议路径
后端修复:
- 每个 SSE 连接创建独立 McpServer 实例,支持多客户端并发
- express.json() 移到 SSE 路由之后,避免消费 MCP 请求体
- 新增 GET /api/xhs/login/cookie-check 轻量接口(不打开浏览器)
前端修复:
- QR 轮询改用 cookie-check 接口,不再重复打开浏览器窗口
- useLoginStatus 默认不自动请求,避免页面加载触发浏览器
- Header 添加 Token 未配置警告横幅
- tsup clean:false 保护 dist/web 不被清除
|
2026-03-01 16:33:33 +08:00 |
|
kurihada
|
f464333a53
|
fix: 登录状态检查改为手动触发,避免自动请求不断弹出浏览器窗口
- useLoginStatus 默认 auto=false,不再挂载时自动请求
- Dashboard 登录状态卡片改为 "Click to check" 手动触发
- Login 页面初始显示 "Click Refresh to check" 提示
- Header 添加 Token 未配置警告横幅,引导用户去 Settings
|
2026-03-01 14:51:17 +08:00 |
|
kurihada
|
31329905e2
|
fix: 修复 SPA fallback 路径匹配,/api-tester 不再被误拦截
- startsWith('/api') 改为 startsWith('/api/'),避免前端路由 /api-tester 被跳过
- 修正 webDir 解析路径,指向 dist/web 而非源码 web/
|
2026-03-01 14:17:30 +08:00 |
|
kurihada
|
c6a8177718
|
feat: 添加 Admin Dashboard — React 19 SPA,包含 7 个页面
- Dashboard: 健康状态轮询、状态卡片、内存统计、快捷操作
- Login: 二维码展示 + 3 秒自动轮询 + 倒计时 + 登出
- Browser: 探索/搜索/用户三标签页,Feed 网格、详情面板、评论树
- Publish: 图文/视频发布表单,支持标签、可见性、定时发布
- Interactions: 点赞/取消点赞、收藏、评论、回复 + 操作日志
- API Tester: 端点选择器、请求体编辑器、cURL 生成、响应查看、历史记录
- Settings: Token 配置、服务器 URL 设置
后端改动:
- app.ts: 生产环境提供 dist/web/ 静态文件服务 + SPA fallback
- Dockerfile: 添加 web 构建阶段
- package.json: 添加 build:web、build:all、dev:web 脚本
技术栈: React 19 + TypeScript + Vite 6 + Tailwind CSS(暗色主题)
产物: 85.5 KB gzip JS + 4 KB gzip CSS,零重型依赖
|
2026-03-01 13:58:55 +08:00 |
|
kurihada
|
6d35387e2b
|
fix: 清除运行时代理环境变量(构建时代理不应泄漏到运行时)
|
2026-03-01 12:03:54 +08:00 |
|
kurihada
|
ca26f36f9b
|
fix: playwright 锁定 1.52.0 匹配 rebrowser-playwright 版本
|
2026-03-01 11:56:34 +08:00 |
|
kurihada
|
2538a19e98
|
fix: 移除 playwright devDep 解决 Chromium 版本冲突
rebrowser-playwright@1.52 需要 chromium-1169,但 playwright@1.58 的存在
导致 CLI 安装了 chromium-1208,补丁不兼容导致 session closed 崩溃。
移除 playwright,让 rebrowser-playwright 安装正确版本的浏览器。
|
2026-03-01 11:54:35 +08:00 |
|
kurihada
|
a767400400
|
fix: Chromium 添加 --no-sandbox 等 Docker 必要参数
|
2026-03-01 00:40:03 +08:00 |
|
kurihada
|
5489c0bb50
|
fix: 指定 Chromium 路径解决版本不匹配
|
2026-03-01 00:37:26 +08:00 |
|
kurihada
|
d7d3735405
|
fix: 用 rebrowser-playwright CLI 安装 Chromium(修复版本不匹配)
|
2026-03-01 00:32:53 +08:00 |
|
kurihada
|
e13ace58e5
|
fix: 移除 DNS rebinding 防御(Bearer token 认证已足够)
|
2026-03-01 00:29:35 +08:00 |
|
kurihada
|
bfb29bfd2a
|
fix: 生产阶段 apt 源换阿里云镜像
|
2026-03-01 00:15:33 +08:00 |
|
kurihada
|
cfe1d54ba2
|
fix: 生产阶段也接收代理加速 apt-get
|
2026-03-01 00:13:20 +08:00 |
|
kurihada
|
f4b31b303b
|
fix: 代理地址改为 172.17.0.1(Linux Docker 网桥网关)
|
2026-03-01 00:09:33 +08:00 |
|
kurihada
|
c8e9c66f09
|
fix: Docker 构建走代理加速 Chromium 下载
|
2026-03-01 00:05:50 +08:00 |
|
kurihada
|
0ac26b5ea3
|
fix: 去掉 Chromium 国内镜像(npmmirror 未同步该版本)
|
2026-02-28 23:52:27 +08:00 |
|
kurihada
|
32a5ed52f6
|
fix: Chromium 下载使用国内镜像加速
|
2026-02-28 23:49:48 +08:00 |
|
kurihada
|
1188dffc15
|
refactor: 从 pnpm 切换到 npm
- 去掉 corepack/pnpm,Docker 构建不再卡在下载 pnpm
- Dockerfile 使用 npm ci + npm prune --omit=dev
- 删除 pnpm-lock.yaml,新增 package-lock.json
|
2026-02-28 23:48:09 +08:00 |
|
kurihada
|
ab623d12da
|
fix: Dockerfile 添加国内镜像加速和 Chromium 预装
- npm/pnpm 使用 registry.npmmirror.com 镜像
- 构建阶段预装 Chromium 并复制到生产镜像
|
2026-02-28 23:39:46 +08:00 |
|
kurihada
|
28d870b158
|
fix: 添加 playwright 依赖修复 Chromium 安装
rebrowser-playwright CLI 依赖原版 playwright 模块才能安装浏览器
|
2026-02-28 23:25:59 +08:00 |
|
kurihada
|
a6c36442b2
|
feat: 添加 Jenkins 部署配置
- Jenkinsfile: GenericTrigger webhook 触发,构建镜像并部署
- docker-compose.yml: nginx 外部网络,shm_size 1g
- 宿主机端口映射 3010:3000
|
2026-02-28 23:11:47 +08:00 |
|
kurihada
|
8da5f40c9f
|
feat: social-mcp 初始实现
多平台社交自动化 MCP 服务,首批支持小红书。
- 13 个 MCP 工具:登录管理、内容浏览、发布、互动
- 13 个 REST API 端点,支持 Bearer token 认证和限流
- BrowserManager:串行队列、背压、崩溃恢复
- Cookie 持久化:原子写入、0600 权限
- 安全:DNS rebinding 防御、错误脱敏、深层日志 redact
- Docker 部署支持
- 28 个单元测试全部通过
|
2026-02-28 22:57:22 +08:00 |
|