remnote-bridge 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -28
- package/README.zh-CN.md +368 -0
- package/dist/cli/commands/health.js +231 -112
- package/dist/cli/commands/read-rem-in-tree.js +84 -0
- package/dist/cli/config.js +2 -0
- package/dist/cli/daemon/registry.js +8 -0
- package/dist/cli/handlers/patch-engine.js +347 -0
- package/dist/cli/handlers/read-handler.js +2 -53
- package/dist/cli/handlers/rem-field-filter.js +102 -0
- package/dist/cli/handlers/tree-edit-handler.js +67 -7
- package/dist/cli/handlers/tree-read-handler.js +4 -1
- package/dist/cli/handlers/tree-rem-read-handler.js +73 -0
- package/dist/cli/main.js +53 -2
- package/dist/cli/server/ws-server.js +9 -1
- package/dist/mcp/daemon-client.js +22 -2
- package/dist/mcp/instructions.js +54 -7
- package/dist/mcp/tools/edit-tools.js +7 -2
- package/dist/mcp/tools/infra-tools.js +20 -11
- package/dist/mcp/tools/read-tools.js +88 -2
- package/package.json +1 -1
- package/remnote-plugin/dist/index-sandbox.js +24 -24
- package/remnote-plugin/dist/index.js +24 -24
- package/remnote-plugin/src/bridge/message-router.ts +3 -0
- package/remnote-plugin/src/services/read-rem-in-tree.ts +43 -0
- package/remnote-plugin/src/services/read-rem.ts +15 -0
- package/remnote-plugin/src/services/read-tree.ts +5 -0
- package/skills/remnote-bridge/SKILL.md +37 -4
- package/skills/remnote-bridge/instructions/connect.md +12 -1
- package/skills/remnote-bridge/instructions/disconnect.md +5 -0
- package/skills/remnote-bridge/instructions/edit-tree.md +71 -2
- package/skills/remnote-bridge/instructions/health.md +81 -53
- package/skills/remnote-bridge/instructions/overall.md +33 -8
- package/skills/remnote-bridge/instructions/read-rem-in-tree.md +100 -0
- package/skills/remnote-bridge/instructions/read-rem.md +30 -11
- package/skills/remnote-bridge-test/SKILL.md +847 -0
- package/skills/remnote-bridge-test/references/regression-suite.md +960 -0
- package/skills/remnote-bridge-test/references/verification-guide.md +161 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Chrome 截图验收指南
|
|
2
|
+
|
|
3
|
+
> **红线:宁可误杀,不可放过。CLI/MCP 返回 ok:true 不代表成功——只有 RemNote 界面中实际状态正确才算 PASS。**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 验收流程
|
|
8
|
+
|
|
9
|
+
### Step 1: 准备
|
|
10
|
+
|
|
11
|
+
1. 用 `mcp__claude-in-chrome__tabs_context_mcp` 获取当前浏览器 tab 信息
|
|
12
|
+
2. 找到 RemNote 页面(或用 `mcp__claude-in-chrome__navigate` 打开 RemNote)
|
|
13
|
+
3. 导航到测试页面:通过侧边栏或 URL 直达
|
|
14
|
+
|
|
15
|
+
### Step 2: 刷新
|
|
16
|
+
|
|
17
|
+
**必须刷新页面**——确保看到最新数据,而非浏览器缓存。
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
使用 mcp__claude-in-chrome__javascript_tool 执行: location.reload()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
等待页面加载完成(2-3 秒)。
|
|
24
|
+
|
|
25
|
+
### Step 3: 展开
|
|
26
|
+
|
|
27
|
+
测试数据可能处于折叠状态。必须展开所有相关节点:
|
|
28
|
+
|
|
29
|
+
1. 找到测试前缀(如 `[L2-01]`)标记的节点
|
|
30
|
+
2. 点击展开所有层级
|
|
31
|
+
3. 确保所有子节点都可见
|
|
32
|
+
|
|
33
|
+
### Step 4: 截图
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
使用 mcp__claude-in-chrome__computer 对 RemNote 页面截图
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
截图要求:
|
|
40
|
+
- 包含完整的测试数据区域
|
|
41
|
+
- 所有节点展开可见
|
|
42
|
+
- 如果数据较多,可分多次截图
|
|
43
|
+
|
|
44
|
+
### Step 5: 逐项对比
|
|
45
|
+
|
|
46
|
+
对照 subagent 报告的"最终状态",逐一检查以下维度:
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. 验证维度清单
|
|
51
|
+
|
|
52
|
+
### 2.1 文本内容 ⬜
|
|
53
|
+
|
|
54
|
+
| 检查项 | 方法 | 常见陷阱 |
|
|
55
|
+
|:-------|:-----|:---------|
|
|
56
|
+
| 文字完全一致 | 逐字对比截图中的文本与预期文本 | Unicode 全角/半角差异 |
|
|
57
|
+
| 无多余文字 | 确认没有意外的前缀、后缀 | 分隔符残留(:: ;; >> 等不应出现) |
|
|
58
|
+
| 无缺失文字 | 确认完整内容都在 | backText 未显示时需切换视图确认 |
|
|
59
|
+
|
|
60
|
+
### 2.2 结构层级 ⬜
|
|
61
|
+
|
|
62
|
+
| 检查项 | 方法 | 常见陷阱 |
|
|
63
|
+
|:-------|:-----|:---------|
|
|
64
|
+
| 父子关系正确 | 确认缩进层级匹配预期 | 节点挂到错误的父级下 |
|
|
65
|
+
| 节点数量正确 | 数一下实际节点数 | 创建部分失败(10 个只出现 8 个) |
|
|
66
|
+
| 顺序正确 | 确认兄弟节点的先后顺序 | 重排操作未生效 |
|
|
67
|
+
|
|
68
|
+
### 2.3 Rem 类型 ⬜
|
|
69
|
+
|
|
70
|
+
| 类型 | 界面表现 | 如何确认 |
|
|
71
|
+
|:-----|:---------|:---------|
|
|
72
|
+
| concept | **文字加粗** | 目视确认是否加粗 |
|
|
73
|
+
| descriptor | 正常字重 | 确认未加粗 |
|
|
74
|
+
| default | 正常字重 | 确认未加粗 |
|
|
75
|
+
|
|
76
|
+
### 2.4 闪卡 ⬜
|
|
77
|
+
|
|
78
|
+
| 检查项 | 方法 | 常见陷阱 |
|
|
79
|
+
|:-------|:-----|:---------|
|
|
80
|
+
| 方向正确 | 确认分隔符(:: ;; >> 等)或箭头方向 | practiceDirection 设错方向 |
|
|
81
|
+
| backText 存在 | 点击 Rem 查看是否有背面文本 | backText 为空 |
|
|
82
|
+
| 多行答案 | 展开子节点确认有答案行 | isCardItem 未设置 |
|
|
83
|
+
|
|
84
|
+
### 2.5 格式属性 ⬜
|
|
85
|
+
|
|
86
|
+
| 属性 | 界面表现 | 如何确认 |
|
|
87
|
+
|:-----|:---------|:---------|
|
|
88
|
+
| H1/H2/H3 | 标题大小不同 | 目视确认字体大小 |
|
|
89
|
+
| highlightColor | 整行背景色 | 确认颜色正确 |
|
|
90
|
+
| isTodo | 前面有复选框 | 确认复选框存在 |
|
|
91
|
+
| todoStatus | 复选框打勾/未打勾 | 确认状态正确 |
|
|
92
|
+
| isCode | 代码块样式 | 确认有代码块背景 |
|
|
93
|
+
|
|
94
|
+
### 2.6 Portal ⬜
|
|
95
|
+
|
|
96
|
+
| 检查项 | 方法 | 常见陷阱 |
|
|
97
|
+
|:-------|:-----|:---------|
|
|
98
|
+
| Portal 存在 | 界面中有紫色边框的嵌入区域 | Portal 创建成功但无引用 |
|
|
99
|
+
| 引用正确 | Portal 中显示了正确的 Rem | 引用了错误的 Rem |
|
|
100
|
+
| 实时同步 | 修改源 Rem 后 Portal 中内容更新 | 引用断裂 |
|
|
101
|
+
|
|
102
|
+
### 2.7 标签 ⬜
|
|
103
|
+
|
|
104
|
+
| 检查项 | 方法 | 常见陷阱 |
|
|
105
|
+
|:-------|:-----|:---------|
|
|
106
|
+
| 标签存在 | Rem 下方或右侧有标签显示 | tags 操作失败 |
|
|
107
|
+
| 标签内容正确 | 标签名称匹配预期 | 引用了错误的 tag Rem |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 3. 判定规则
|
|
112
|
+
|
|
113
|
+
### PASS 条件
|
|
114
|
+
|
|
115
|
+
**所有**验证维度的**所有**检查项都匹配预期。无例外。
|
|
116
|
+
|
|
117
|
+
### FAIL 条件
|
|
118
|
+
|
|
119
|
+
**任何一个**检查项不匹配即为 FAIL。包括但不限于:
|
|
120
|
+
|
|
121
|
+
- 文本有任何差异(哪怕一个字符)
|
|
122
|
+
- 结构层级有偏差
|
|
123
|
+
- 属性未生效
|
|
124
|
+
- 节点数量不对
|
|
125
|
+
- 顺序不对
|
|
126
|
+
|
|
127
|
+
### 可疑情况处理
|
|
128
|
+
|
|
129
|
+
如果无法确定某项是否匹配:
|
|
130
|
+
|
|
131
|
+
1. **截图放大检查**——用更高分辨率或更大范围截图
|
|
132
|
+
2. **通过工具确认**——用 `read_rem` 或 `read_tree` 获取当前实际数据对比
|
|
133
|
+
3. **仍然不确定**——标记为 FAIL 并注明原因
|
|
134
|
+
|
|
135
|
+
> ⚠️ 绝不能因为"看起来差不多"就标记 PASS。必须是"确认完全正确"。
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 4. 结果记录格式
|
|
140
|
+
|
|
141
|
+
验收结果统一记录在 `remnote-bridge-test-workspace/results.md` 中,使用 SKILL.md §6 定义的 Markdown 表格格式。
|
|
142
|
+
|
|
143
|
+
各维度标记:✅ PASS / ❌ FAIL / ⬜ 不涉及 / ❓ 无法确认
|
|
144
|
+
|
|
145
|
+
截图保存路径:`remnote-bridge-test-workspace/{test_id}-{interface}/screenshot-{N}.png`(如 `L2-01-MCP/screenshot-1.png`)
|
|
146
|
+
|
|
147
|
+
判定规则:所有相关维度都 PASS 才算 PASS,任一维度 FAIL 则整体 FAIL。
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 5. 辅助验证方法
|
|
152
|
+
|
|
153
|
+
当截图无法确认某些属性时(如 practiceDirection、backText 的确切内容),可以**补充使用工具验证**:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
1. 用 read_rem 获取目标 Rem 的完整属性
|
|
157
|
+
2. 与预期值逐字段对比
|
|
158
|
+
3. 特别关注:type、practiceDirection、backText、highlightColor、fontSize
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
⚠️ 工具验证是**补充**手段,不能替代截图验证。截图验证确认的是用户实际看到的界面,工具验证确认的是数据层面的正确性。两者都必须通过。
|