ZCode Large Task Fixture 是一个用于性能测试的技能,作用是创建一个大型本地任务,其行为类似长时间运行的 ZCode Agent 任务,便于对 UI 和会话性能进行测试。
用途与写入位置 该技能会同时写入两层持久化数据:应用任务索引 ~/.zcode/v2/tasks-index.sqlite,以及 Agent 会话数据库 ~/.zcode/cli/db/db.sqlite。生成的任务属于合成测试数据。
使用前提与安全事项 写入前应始终做好备份,并记录 manifest 路径。脚本在生成前默认使用 SQLite .backup,除非传入 --no-backup。备份存放在 ~/.zcode/perf-task-backups/<timestamp>/,manifest 存放在 ~/.zcode/perf-task-manifests/<sessionId>.json。删除时请使用 --delete <sessionId> 处理生成的夹具,它会从 tasks-index.sqlite 删除并级联删除 agent 会话记录。不要在未检查 manifest、未确认任务 id 以 sess_perf_large_ 开头的情况下手动删除。
快速命令
在 z-code 仓库根目录下生成:
node .agents/skills/zcode-large-task-fixture/scripts/generate-large-task-fixture.mjs
--workspace "$PWD"
--turns 3000
校验已有生成任务:
node .agents/skills/zcode-large-task-fixture/scripts/generate-large-task-fixture.mjs
--verify sess_perf_large_YYYYMMDDHHMMSS_xxxxxxxx
删除生成任务:
node .agents/skills/zcode-large-task-fixture/scripts/generate-large-task-fixture.mjs
--delete sess_perf_large_YYYYMMDDHHMMSS_xxxxxxxx
工作流程 确认目标 workspace 路径,除非用户指定其他 workspace,否则使用仓库根目录;使用 --turns 3000 生成大型夹具,约产生 6000 条消息和 20000 个 parts;读取脚本输出,报告 sessionId、manifest 路径、计数和备份目录;用 --verify <sessionId> 进行校验;如果应用已在运行,提示用户重启或刷新应用,然后打开标题为 Performance Fixture Large Mixed Task 的置顶任务。
覆盖内容 生成的会话包括:用户文本与文件 parts;助手文本与推理 parts;具有 completed、running、pending、error 状态的工具 parts;Bash、Read、Grep、Glob、Edit、Write、TodoWrite、AskUserQuestion、Agent、WebSearch、WebFetch 等工具形态;patch、compaction、subtask、agent、retry、step-start、step-finish parts;以及 todo 行、session target 行、model usage 行、turn usage 行和任务索引可搜索文本。
限制 该技能只生成合成测试数据,不面向真实业务任务;生成规模受 --turns 参数控制;具体运行环境与兼容性要求资料暂未提供。