Skip to content

Commit 1d5c121

Browse files
committed
docs: 更新备忘录 - AI全代理模式 + 版本检查 + 服务器部署说明
1 parent 4b82bc6 commit 1d5c121

1 file changed

Lines changed: 75 additions & 1 deletion

File tree

开发备忘录.md

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,84 @@
11
# TestPilot AI 开发备忘录
22

3-
> 最后更新:2026-03-31(✅ 引擎下载 404 修复 + VSIX/引擎自托管
3+
> 最后更新:2026-04-01(✅ AI 全代理模式 + 版本自动检查
44
> 项目结构详见 README.md,此处不重复。
55
66
---
77

8+
## ✅ AI 全代理模式 + 版本自动检查(2026-04-01,v1.5.4)
9+
10+
### 背景
11+
12+
引擎打包成 exe 后没有 `.env` 文件,`TP_AI_API_KEY` 未配置 → AI 诊断功能不可用。同时也需要一个机制让后端切换 AI 模型而不要求用户更新插件。
13+
14+
### 架构设计
15+
16+
```
17+
用户引擎(exe)
18+
有 TP_AI_API_KEY → 直连豆包(开发模式,本地.env)
19+
无 TP_AI_API_KEY → ProxyAIClient → xinzaoai.com/api/ai/proxy → 豆包
20+
↑ 后端改 TP_ARK_MODEL/TP_ARK_API_KEY 即可切换模型,无需用户更新
21+
```
22+
23+
### 修改文件
24+
25+
**引擎端:**
26+
- `src/core/ai_client.py`:末尾新增 `ProxyAIClient` 类,接口与 `AIClient` 完全相同
27+
- 代理地址:`https://xinzaoai.com/api/ai/proxy`
28+
- 鉴权:`X-Engine-Secret: testpilot-engine-secret-2026`
29+
- `src/app.py`:无 `TP_AI_API_KEY` 时自动使用 `ProxyAIClient`
30+
31+
**服务器端(`xinzao/server/index.js`):**
32+
- `bodyParser.json({ limit: '10mb' })`:支持截图 base64 大请求体
33+
- `GET /api/version/check`:返回 `{ latest, minimum, model, changelog }`
34+
- `POST /api/ai/proxy`:验证 `X-Engine-Secret` → 转发到豆包 → 返回 OpenAI 格式响应
35+
- 环境变量:`TP_ARK_API_KEY``TP_ARK_BASE_URL``TP_ARK_MODEL``TP_ENGINE_SECRET`
36+
37+
**插件端(`extension/src/engineManager.ts`):**
38+
- `_checkVersion()` 方法:启动时异步调 `/api/version/check`
39+
- 低于 `minimum` → 弹出模态强制更新提示
40+
- 低于 `latest` → 弱提示,用户可选择忽略
41+
42+
### 服务器部署待做
43+
44+
SSH 被 fail2ban 临时封锁,手动解封后执行:
45+
46+
```bash
47+
# 1. 上传 server/index.js
48+
scp -i "D:\Projects\xinzao\key\xinzao_ai.pem" D:\Projects\xinzao\server\index.js ubuntu@115.159.71.197:/home/ubuntu/xinzao/server/
49+
50+
# 2. 设置服务器环境变量
51+
ssh ubuntu@115.159.71.197
52+
cat >> /home/ubuntu/xinzao/server/.env << 'EOF'
53+
TP_ARK_API_KEY=98c755a5-2ae7-47b1-8904-a990482cfab2
54+
TP_ARK_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
55+
TP_ARK_MODEL=doubao-seed-1-8-251228
56+
TP_ENGINE_SECRET=testpilot-engine-secret-2026
57+
EOF
58+
59+
# 3. 重启服务
60+
pm2 restart xinzao-server # 或 node index.js
61+
62+
# 4. 上传新 VSIX
63+
scp testpilot-ai-1.5.4.vsix ubuntu@115.159.71.197:/var/www/xinzao/downloads/
64+
```
65+
66+
### 版本管理说明
67+
68+
服务器 `index.js` 里的两个常量控制版本策略:
69+
```javascript
70+
const TP_LATEST_VERSION = '1.5.4'; // 弱提示更新
71+
const TP_MINIMUM_VERSION = '1.5.0'; // 低于此版本强制更新
72+
```
73+
**切换 AI 模型**:只需 SSH 改服务器 `.env``TP_ARK_MODEL`,重启服务,用户无感知。
74+
75+
### Git 信息
76+
77+
- Commit: `4b82bc6` — "feat: AI全代理模式 + 版本自动检查(v1.5.4)"
78+
- Tag: `v1.5.4`
79+
80+
---
81+
882
## ✅ 引擎下载 404 修复 + 插件自托管发布(2026-03-31)
983

1084
### 问题背景

0 commit comments

Comments
 (0)