3.3 KiB
3.3 KiB
Dirigent 测试记录报告(阶段性)
日期:2026-02-25
一、测试范围
本轮覆盖:
- Dirigent 基础静态与脚本测试
- no-reply-api 隔离集成测试
- (历史)discord-control-api 功能测试(dryRun + 实操,当前版本已迁移为 in-plugin)
未覆盖:
- Dirigent 插件真实挂载 OpenClaw 后的端到端(E2E)
二、测试环境
- 代码仓库:
/root/.openclaw/workspace-operator/Dirigent - OpenClaw 配置来源:本机已有配置(读取 Discord token)
- Discord guild(server)ID:
1368531017534537779 - allowlist user IDs:
5619211204086989101474088632750047324
三、已执行测试与结果
A. Dirigent 基础测试
命令:
make check check-rules test-api
结果:
make check✅- 输出:
plugin file check: ok
- 输出:
make check-rules✅- 4 条规则用例全部通过
make test-api✅- 输出:
test-no-reply-api: ok
- 输出:
结论:
- 插件文件结构完整
- 规则决策逻辑正确
- no-reply API 基础行为正常
B. (历史)discord-control-api dryRun + 实操测试(当前版本已迁移)
执行内容与结果:
channel-private-create(dryRun)✅channel-private-create(真实创建)✅
- 生成频道 ID:
1476341726108192919
channel-private-update(dryRun)✅member-list(真实查询)✅
limit=2,字段裁剪user.id,user.username- 返回样例用户:
561921120408698910 / hangman0414
channel-private-update(真实更新)✅
清理:
- 直接 Discord REST 删除频道时遇到:
HTTP 403 / code 1010 - 改用 OpenClaw 内置
channel-delete删除成功 ✅- 删除频道:
1476341726108192919
- 删除频道:
结论:
- 两个新增能力已完成核心实测:
- 私密频道创建/更新
- 成员列表查询
- 功能在当前环境可用
四、问题与处理
问题:
- 直接调用 Discord REST 删除临时频道出现
403 / code 1010
处理:
- 使用 OpenClaw 内置工具
channel-delete成功清理
说明:
- 不影响本次新增功能有效性
五、待测项(下一阶段)
1) Dirigent 插件 E2E(需临时接入 OpenClaw 配置)
目标:验证插件真实挂载后的完整链路。
待测场景:
- 场景 1:非 Discord 消息 -> 不触发 no-reply
- 场景 2:Discord + 白名单发送者 -> 注入
🔚指令 - 场景 3:Discord + 结束符消息 -> 注入
🔚指令 - 场景 4:Discord + 非结束符且非白名单 -> 走 no-reply override
验收要点:
before_model_resolve命中时 provider/model 确实被覆盖- no-reply provider 返回
NO_REPLY - 决策 TTL/one-shot 不串轮
2) 回归测试
- (历史结论)discord-control-api 引入后,不影响 Dirigent 原有流程;现已迁移为 in-plugin 实现
- 规则校验脚本在最新代码继续稳定通过
3) 运行与安全校验
AUTH_TOKEN+REQUIRE_AUTH_TOKEN=true场景下鉴权验证ALLOWED_GUILD_IDS/ALLOWED_CALLER_IDS拒绝路径验证- 大响应保护(
MAX_MEMBER_RESPONSE_BYTES)触发与提示验证
六、当前结论
- 新增 Discord 管控能力(私密频道 + 成员列表)已完成核心测试,可用。
- 项目剩余主要测试工作集中在 Dirigent 插件与 OpenClaw 的真实 E2E 联调。