需创建基础waker并绑定核心工具:1. 执行qoderwake waker create --name "log-diag" --type tool注册waker;2. 用qoderwake waker edit log-diag编辑yaml,指定tool: "qoder-cli"及diagnose-logs参数;3. 支持内联shell或引用本地脚本,须设cwd和on-error;4. 配置quest触发、沙盒权限与人工确认;5. 通过ide右键或dry-run验证执行链路。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

您需要在QoderWake中为高频开发任务(如日志诊断、环境切换、代码审查)创建可复用的Waker实体,但当前未配置任何Waker,导致每次都要重复输入完整CLI指令或手动触发Agent流程。
创建基础Waker并绑定核心工具
Waker是QoderWake中封装了上下文、参数与执行策略的任务模板,必须先注册才能被Quest、快捷指令或CLI调用。
1、打开Qoder IDE,在终端中执行:qoderwake waker create --name "log-diag" --type tool
2、系统返回Waker registered: log-diag@v1.0后,立即进入该Waker编辑模式:qoderwake waker edit log-diag
3、在弹出的YAML编辑器中,填入以下内容并保存:
tool: "qoder-cli"action: "diagnose-logs"params: path: "/var/log/app/*.log" lines: 200timeout: 15000
【必须指定tool字段为qoder-cli,否则Waker将无法调用内置诊断工具】
为Waker注入外部命令行工具
当内置工具无法覆盖需求时(例如需调用ffmpeg转码或curl拉取API),Waker支持直接封装shell命令,但必须显式声明工作目录与错误捕获策略。
方法一:内联shell命令(适合单步轻量操作)
1、执行qoderwake waker edit log-diag再次打开编辑器
2、将原tool块替换为:
shell: "curl -sSfL https://api.example.com/health | jq '.status'"cwd: "/tmp"on-error: "return-failure"
方法二:引用本地脚本文件(适合多步复杂逻辑)
1、在项目根目录下新建scripts/rollback-prod.sh,写入可执行bash逻辑
2、在Waker YAML中配置:
shell: "./scripts/rollback-prod.sh"cwd: "."env: ROLLBACK_ENV: "prod"
这一步操作起来很简单,直接把脚本路径填进去就行,但注意cwd必须设为.或绝对路径,否则脚本找不到依赖文件。
配置Waker的触发方式与权限边界
同一个Waker可同时支持多种调用入口,但每种入口需独立配置安全策略,避免高危操作被误触。
第一步:绑定到Quest自然语言指令
1、在Waker YAML末尾添加triggers区块:
triggers: - type: quest phrase: "诊断线上日志" context: "prod:main"
第二步:设置沙盒权限红线
1、在同一YAML中追加权限控制段:
sandbox: disable-permission: [write-to-disk, network-outbound] allow-env: ["ROLLBACK_ENV"]
第三步:启用人工确认环节(仅对P0级Waker强制要求)
1、添加require-human-approval: true字段
2、保存后执行qoderwake waker reload log-diag使变更生效
【require-human-approval必须设为true且Waker已注册至prod沙盒,否则P0任务将被静默拦截】
验证Waker是否可用
配置完成后,必须通过至少一种触发路径验证执行链路是否通畅,不能仅依赖YAML语法校验。
1、在Qoder IDE中打开任意代码文件,右键选择「QoderWake → Run Waker」→ 选中log-diag
2、观察IDE右下角状态栏是否出现「Executing log-diag@v1.0…」提示
3、若5秒内无响应,立即打开~/.qoder/logs/waker-execution.log查看最近三条错误记录
4、终端中执行qoderwake waker run log-diag --dry-run检查参数解析是否成功










