Waker必须通过rules.yaml配置文件绑定规则,否则按默认策略随机调度;需执行qoderwake reload-waker热加载,支持同步组织规则、引用模板或CLI注入,并可启用enforce_rules强制校验。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

创建Waker后需通过配置文件绑定固定规则,否则Waker将按默认策略随机调度、动态降级或跳过高风险操作,导致任务行为不可预测。
修改Waker专属规则配置文件
每个Waker在初始化时会生成独立的规则配置文件,路径固定为~/.qoderwake/wakers/{waker_id}/rules.yaml,必须在此文件中声明规则才能生效。
1、打开终端,执行qoderwake list-wakers确认目标Waker的ID(如wkr-8a3f-d9e2)→ 进入对应目录:cd ~/.qoderwake/wakers/wkr-8a3f-d9e2/
2、用文本编辑器打开rules.yaml,若文件不存在则手动创建。
3、写入基础规则结构,至少包含execution与governance两个顶层区块:
execution: max_retries: 2 timeout_sec: 120governance: allow_dangerous_ops: false require_human_approval: ["DROP_TABLE", "SEND_EMAIL_TO_CLIENT"]
4、保存文件,执行qoderwake reload-waker wkr-8a3f-d9e2使规则热加载。不执行该命令,修改不会生效。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
绑定预设规则集(方法一)
适用于已定义好通用策略的团队场景,可直接复用组织级标准规则,避免逐条手写。
方法一:从组织规则库同步
1、确认组织规则库已启用:进入「组织设置」→「规则中心」→ 查看「Standard Production Rules」状态是否为“Active”
2、在Waker配置目录下执行:qoderwake sync-rules --from org:standard-production --to wkr-8a3f-d9e2
3、系统自动覆盖当前rules.yaml,并保留原有custom_overrides区块(如有)
方法二:引用本地规则模板
1、将模板文件(如/opt/qoder/rules/templates/db-maintain.yaml)复制到Waker目录:cp /opt/qoder/rules/templates/db-maintain.yaml rules.yaml
2、编辑rules.yaml,在metadata:下添加template_ref: db-maintain@v2.1字段
【template_ref必须与模板发布版本严格一致,否则reload时校验失败】
通过CLI命令行注入规则(方法二)
适合CI/CD流水线中动态生成Waker并注入规则,无需人工编辑文件。
1、准备规则内容为YAML字符串,注意缩进与引号转义:rule_str='execution:\n max_retries: 1\n timeout_sec: 60\ngovernance:\n allow_dangerous_ops: false'
2、执行注入命令:qoderwake set-rules --waker-id wkr-8a3f-d9e2 --rules "$rule_str"
3、验证是否写入成功:qoderwake show-rules --waker-id wkr-8a3f-d9e2 | head -10,输出应含刚设置的max_retries: 1
这一步操作起来很简单,直接把YAML字符串传进去就行,但注意双引号必须包裹整个字符串,否则换行符会被shell截断。
启用规则强制校验模式
防止规则被意外绕过,确保所有任务执行前都经过规则引擎检查。
第一步:打开Waker配置目录下的config.yaml
第二步:找到runtime:区块,在其下新增一行:enforce_rules: true
第三步:保存后重启该Waker:qoderwake stop-waker wkr-8a3f-d9e2 && qoderwake start-waker wkr-8a3f-d9e2
第四步:触发一次测试任务,观察日志中是否出现[RULES] enforced: execution.max_retries=2字样

















