测试报告
sip 全面测试报告(2026-08-11)
51 项功能测试 + 30+ 项边界/异常注入 + 安全渗透 + 数据量压测 + 并发测试。
▶ 完整报告:sip 全面测试报告(2026-08-11)
报告中的 11 项缺陷(-l 列表 O(n²)、SSRF、终端注入、主库损坏容错等)已在 v1.0 全部修复并逐项复测。
v1.0 安全与鲁棒性更新
- 🚀 性能:
-l N列表 O(n²) → 窗口函数 + 索引(5000 篇 30s+ → 0.6s) - 🔒 SSRF 防护:全文抓取仅允许 http/https + 拦截回环/链路本地/私网段;
ai_config.json设"allowPrivateNet": true可放行内网源;TUI 打开链接前校验协议(堵javascript:注入) - 🛡️ 终端注入:ESC/控制字符在 grep/列表/搜索/diff 等全部输出点剥离
- 💾 主库损坏自愈:rss.db 仿 telemetry 完整性检查,损坏 → 保留现场 → 重建,绝不崩溃
- 🩺 telemetry.db 并发误报修复:迁移 WAL + busy_timeout 重试 + 占用时静默跳过(实测 24 次并发启动零误报)
- 🤖 AI/Agent 友好:
--init非 TTY 降级不崩溃;退出码契约实测全对;--show --json合并全文缓存(fulltext字段) - 🔍 检索:
--grep通配符%/_按字面匹配;全文 sidecar 向量时序补齐(先抓全文后索引不再漏) - ✍️ 健壮性:
--export-opml坏路径容错;ai_config 端点自动补协议头 + camelCase 兼容;管道输入 UTF-8(中文同意短语不再编码错配)
长期测试清单
以下功能的行为要跨天/跨周才看得出问题,单次测试测不出来,建议纳入例行检查:
数据积累类
| 功能 | 观察点 |
|---|---|
| 版本追踪/归档 | 作者改文 → 新版本;长期积累后 Guid 分组、✎ 标记、--diff 是否正确;版本数膨胀后列表性能 |
| 更新调度 | 30m / daily@10:00 / weekly@Mon 08:00 是否按钟表/间隔正确到期;LastCheckedAt 重算;只更到期、不白刷 |
| 来源健康 | 失败计数累积 → 成功是否重置;「⚠ 长期未更新」标记(需 30 天或计划×3 才出现) |
| 阅读进度 | 多天多文章滚动位置恢复正确;reading_progress.json 增长、坏值(负数/超界)被拒 |
| 全文缓存 | 累积到 200 文件/200MB 自动清理是否触发;vecs.json 增长;删文/删源后孤儿清理 |
| 语言文件合并 | 多版本升级后新 key 持续自动合并、用户改过的 key 永不被覆盖 |
长期运行类
| 功能 | 观察点 |
|---|---|
| TUI 长时间挂着 | 每 15 分钟后台同步循环是否泄漏(内存/句柄);沉浸/折叠/管理页/版本对话框反复操作不崩 |
| 自动同步 | 长时间不操作时到期源按时更新、无卡死/重复 |
| SQLite 性能 | 文章上万后 -l / --grep / --search 延迟;WAL 下并发读写正常 |
稳定一致性类
| 功能 | 观察点 |
|---|---|
| AI 摘要/向量缓存 | 摘要缓存复用不重复调用;模型不可用→恢复后 sidecar 合并搜索仍正确 |
| OPML 往返 | 导出 → 导入 → 再导出,源不重复(幂等) |
| 全文抓取同意 | consent 一次性生效;--yes / 交互路径长期一致 |