feat: chat uploads, vision turn isolation, and MindSpace agent improvements
Add chat file/image upload UX, attachment proxying, vision thumbnails, and per-turn image scoping so agents only use the current upload. Extend MindSpace asset context, billing token state, OA/scenario verify scripts, and related runtime config. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
---
|
||||
name: memind-page-data-survey-verify
|
||||
description: >-
|
||||
Verify Page Data survey update chains (e.g. john4 children-hobby q4_diet_meals)
|
||||
without manual chat input. Use when the user asks to 验证问卷链路, 饮食偏好测试,
|
||||
page-data-collect 回归, 儿童爱好问卷验证, or after agent-run / MCP / page-data changes.
|
||||
---
|
||||
|
||||
# Page Data 问卷链路自动验证
|
||||
|
||||
用户说「**帮我验证问卷 / 饮食偏好链路**」「**不用我手动测**」时,**必须**走本 skill,不要只在浏览器里手点。
|
||||
|
||||
## 两条路径
|
||||
|
||||
| 路径 | 何时用 | 命令 | 耗时 |
|
||||
|------|--------|------|------|
|
||||
| **A. 产物验证(默认)** | Agent 已跑完,或只改 Page Data / HTML / 策略 | 见下方 | ~5s |
|
||||
| **B. 全链路 E2E** | 要测 Agent 聊天 + 工具 + 交付 | 见下方 | ~3–10min |
|
||||
|
||||
### A. 产物验证(推荐日常)
|
||||
|
||||
前提:Portal 已运行(`pnpm dev`),默认 `http://127.0.0.1:8081`。
|
||||
|
||||
```bash
|
||||
npm run verify:children-hobby-diet-survey
|
||||
```
|
||||
|
||||
等价:
|
||||
|
||||
```bash
|
||||
node scripts/verify-children-hobby-diet-survey.mjs
|
||||
```
|
||||
|
||||
可选:
|
||||
|
||||
```bash
|
||||
node scripts/verify-children-hobby-diet-survey.mjs --no-insert # 不写测试提交
|
||||
node scripts/verify-children-hobby-diet-survey.mjs --no-runs # 不查 orphan running
|
||||
```
|
||||
|
||||
**自动检查项:**
|
||||
|
||||
1. SQLite 表 `children_hobby_survey` 含 `q4_diet_meals`
|
||||
2. dataset 注册 insert 列含 `q4_diet_meals`
|
||||
3. 问卷 / 后台 HTML 含饮食字段与 Page Data 客户端
|
||||
4. 公开页 policy 允许 insert `q4_diet_meals`
|
||||
5. MindSpace URL HTTP 200
|
||||
6. 公开 insert API 实测提交(默认开启)
|
||||
7. 无 orphan `running` agent run(避免前端一直 loading)
|
||||
|
||||
### B. 全链路 E2E(测 Agent)
|
||||
|
||||
```bash
|
||||
npm run test:scenario:john4-diet
|
||||
```
|
||||
|
||||
场景文件:[`scenarios/john4-children-hobby-diet-update.json`](../../../scenarios/john4-children-hobby-diet-update.json)
|
||||
|
||||
- 账户:`john4` / `888888`(可用 `JOHN4_PASSWORD` 覆盖)
|
||||
- 话术:**「问卷页面再增加一个饮食偏好,比如每日几顿这种」**
|
||||
- 技能:`page-data-collect`
|
||||
- 超时:10 分钟
|
||||
- 结束后自动跑与路径 A 相同的产物验证
|
||||
|
||||
## Agent 工作流
|
||||
|
||||
1. **确认 Portal**:`curl -sf http://127.0.0.1:8081/auth/status`
|
||||
2. **默认跑路径 A**;用户明确要测 Agent 再跑路径 B
|
||||
3. **失败时**:读失败项 → 修代码/环境 → 重跑同一条命令
|
||||
4. **汇报**:用下方模板
|
||||
|
||||
## 已知链路风险(非权限问题)
|
||||
|
||||
验证通过仍可能出现过这些**过程性**问题,写入排查结论时一并说明:
|
||||
|
||||
| 现象 | 根因 | 是否权限 |
|
||||
|------|------|----------|
|
||||
| 前端一直 loading | agent run 孤儿化(Portal 重启) | ❌ |
|
||||
| 工具 `-32603: Transport closed` | sandbox-fs MCP 子进程断开 | ❌ |
|
||||
| insert 403 columns_not_allowed | policy 未更新(bind 失败) | ⚠️ 策略,非用户账号 |
|
||||
| Agent 用 shell 写 HTML | MCP 不稳定时的绕路 | ❌ |
|
||||
|
||||
## 结果模板
|
||||
|
||||
```markdown
|
||||
## 问卷饮食偏好链路验证
|
||||
|
||||
- 模式:产物验证 / E2E
|
||||
- Portal:http://127.0.0.1:8081
|
||||
- 用户:john4
|
||||
- 结果:通过 / 失败
|
||||
|
||||
### 检查项
|
||||
1. SQLite q4_diet_meals — 通过/失败
|
||||
2. HTML 问卷+后台 — 通过/失败
|
||||
3. Page Data policy — 通过/失败
|
||||
4. 公开 insert API — 通过/失败
|
||||
5. Agent run 无 orphan — 通过/失败
|
||||
|
||||
### 失败项与下一步
|
||||
```
|
||||
|
||||
## 与其它 skill 分工
|
||||
|
||||
| 诉求 | 用哪个 |
|
||||
|------|--------|
|
||||
| 验证已有问卷增量(本案例) | **本 skill** |
|
||||
| 通用聊天+做页面场景 | `memind-scenario-test` |
|
||||
| 改代码后单测/守卫 | `memind-test` |
|
||||
| Page Data 单元测试 | `npm run verify:page-data` |
|
||||
Reference in New Issue
Block a user