Skip to content

测试与验证

自动化测试

108 个测试全部通过,覆盖核心模块:

测试文件测试数覆盖模块
loader.test.ts16BuiltinAdapter 解析、SkillLoader 加载/缓存、linkedFiles 提取(相对路径/HTTP 过滤/不存在文件/去重/e2e)
router.test.ts8KeywordAdapter 关键词匹配、SkillRouter 路由
executor.test.ts20PEP 723 解析、路径穿越防护、allowed-tools 校验、runtime 白名单、输出截断、strict 环境隔离、read_resource linkedFiles 白名单
sandbox.test.ts11V8 沙箱执行、CPU 超时、require 阻断、定时器阻断、env 权限控制、网络权限、错误处理
registry.test.ts7LocalRegistry 扫描/缓存、CompositeRegistry 合并/加载
remote-registry.test.ts5RemoteRegistry 创建、网络不可达降级、本地缓存回退
extensions.test.ts6x-hive 扩展解析、部分配置、类型过滤
integration.test.ts24createHiveMind 集成、技能列表/搜索、远程注册表配置、工作区、加载策略、运行时预检、适配器切换
llm-routed.test.ts11llm-routed 策略创建、技能目录注入、activate_skill 工具、两阶段调用、去重/数量限制、catalogueTokenBudget

运行测试:

bash
npm test              # 运行全部测试
npm run test:watch    # 监听模式

Demo 实测

使用 Express + OpenRouter 免费模型进行的端到端验证:

功能状态
渐进式三阶段加载✅ debug 日志观测 Phase 1→2→3
关键词路由(中文)✅ 中文查询匹配对应技能
call_skill 技能链✅ smart-assistant 编排 translator + summarizer
调用去重缓存[DEDUP] 标记,节省 token
多租户模型切换✅ 3 用户 × 3 模型
Node.js 脚本执行✅ text-analyzer → analyze.js
Python 脚本执行✅ json-tools → json_tool.py
Token 消耗对比✅ prompt 节省 74.3%
LLM 驱动路由✅ llm-routed 策略两阶段调用、无技能时直接回答

Token 消耗 Benchmark

使用 demo-hive-mind/src/benchmark.ts 对比传统模式与渐进式加载的真实 token 消耗:

bash
cd demo-hive-mind
npx tsx src/benchmark.ts

实测结果(6 技能,OpenRouter 免费模型):

指标传统模式渐进式节省
Prompt tokens3,24983674.3%
Total tokens3,6421,26365.3%

待端到端验证

以下功能代码已实现并有单元测试,但尚未在 Demo 中做端到端集成测试:

功能单元测试缺少的验证
三级安全隔离切换Demo 中演示 basic→strict→sandbox 行为差异
Sandbox 文件系统权限实际文件读写的权限拦截
Sandbox 网络权限真实 HTTP 请求的拦截
AgentRunner 多步执行Agent 即技能的多步工具调用循环
RemoteRegistry Git 安装部分实际 git clone 远程技能仓库
PEP 723 依赖自动安装✅ 解析uv run 实际安装依赖并执行
脚本审批流程Demo 中接入审批 UI 回调

Released under the MIT License.