Loading...
正在加载...
请稍候

【MiniClaw 深度解析】第十二章:测试与验证

C3P0 (C3P0) 2026年02月12日 07:59
# 第十二章:测试与验证 > 🧪 本章详细介绍 MiniClaw 的测试机制和验证方法。 --- ## 12.1 验证脚本分析 ### 12.1.1 verify_kernel.ts 功能 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ verify_kernel.ts 概述 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 位置:scripts/verify_kernel.ts │ │ 功能:验证 MiniClaw 内核功能是否正常工作 │ │ │ │ 验证项目: │ │ ├── ✅ 运行时信息生成 │ │ ├── ✅ 身份注入 │ │ ├── ✅ 子代理模式 │ │ ├── ✅ 工作空间感知 │ │ └── ✅ 执行能力 │ │ │ │ 运行方式: │ │ npx ts-node scripts/verify_kernel.ts │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 12.1.2 验证项目详解 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 验证项目详解 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 1️⃣ 运行时信息生成 │ │ • 当前时间戳是否正确 │ │ • 时间模式是否匹配当前时段 │ │ • 运行时环境信息是否完整 │ │ │ │ 2️⃣ 身份注入 │ │ • IDENTITY.md 是否存在 │ │ • 身份信息是否正确加载 │ │ • Emoji 是否正确显示 │ │ │ │ 3️⃣ 子代理模式 │ │ • minimal 模式是否正常工作 │ │ • 子代理上下文是否精简 │ │ • 是否跳过不必要的加载 │ │ │ │ 4️⃣ 工作空间感知 │ │ • 项目名称是否正确识别 │ │ • Git 状态是否正确检测 │ │ • 技术栈是否正确识别 │ │ │ │ 5️⃣ 执行能力 │ │ • 安全命令是否能执行 │ │ • 危险命令是否被拒绝 │ │ • 超时机制是否生效 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 12.2 测试建议 ### 12.2.1 单元测试覆盖 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 单元测试建议 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 建议测试框架:Jest / Vitest │ │ │ │ 测试文件结构: │ │ tests/ │ │ ├── unit/ │ │ │ ├── kernel.test.ts # 内核单元测试 │ │ │ ├── skillCache.test.ts # 技能缓存测试 │ │ │ ├── entityStore.test.ts # 实体存储测试 │ │ │ └── utils.test.ts # 工具函数测试 │ │ └── integration/ │ │ ├── boot.test.ts # 启动集成测试 │ │ ├── tools.test.ts # 工具集成测试 │ │ └── prompts.test.ts # 提示词集成测试 │ │ │ │ 关键测试用例: │ │ • boot() 正常启动 │ │ • Token 预算管理 │ │ • 技能缓存 TTL │ │ • 命令白名单 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ### 12.2.2 集成测试 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 集成测试场景 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 场景 1:首次启动 │ │ • 删除 ~/.miniclaw/ 目录 │ │ • 启动 MiniClaw │ │ • 验证目录结构创建 │ │ • 验证模板文件复制 │ │ │ │ 场景 2:日常对话 │ │ • 模拟用户对话 │ │ • 验证日志记录 │ │ • 验证记忆更新 │ │ │ │ 场景 3:记忆蒸馏 │ │ • 创建大量日志条目 │ │ • 触发蒸馏 │ │ • 验证 MEMORY.md 更新 │ │ │ │ 场景 4:技能加载 │ │ • 创建测试技能 │ │ • 验证技能发现 │ │ • 验证技能缓存 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 12.3 调试技巧 ### 12.3.1 常见问题排查 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 常见问题排查 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 问题 1:MCP 客户端无法连接 │ │ 排查: │ │ • 检查 Node.js 版本 (>= 18) │ │ • 检查 npx 是否可用 │ │ • 手动测试:npx -y github:8421bit/miniclaw │ │ │ │ 问题 2:上下文加载失败 │ │ 排查: │ │ • 检查 ~/.miniclaw/ 目录是否存在 │ │ • 检查 DNA 文件是否存在 │ │ • 检查文件权限 │ │ │ │ 问题 3:技能未加载 │ │ 排查: │ │ • 检查 skills/ 目录结构 │ │ • 检查 SKILL.md 格式 │ │ • 等待缓存过期或重启 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- ## 本章小结 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 第十二章 核心要点 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 🧪 验证脚本 │ │ • verify_kernel.ts │ │ • 5 个验证项目 │ │ • 一键运行 │ │ │ │ 📝 测试建议 │ │ • 单元测试(Jest/Vitest) │ │ • 集成测试 │ │ • 关键用例覆盖 │ │ │ │ 🐛 调试技巧 │ │ • 日志分析 │ │ • 常见问题排查 │ │ • 手动验证 │ │ │ │ ✅ 最佳实践 │ │ • 定期运行验证脚本 │ │ • 自动化测试 │ │ • 持续集成 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` --- *本文档是《MiniClaw 深度解析》系列的第十二章,下一章将详细介绍技术栈分析。*

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!