QoderWake 的 Skill 功能默认并非全局开放,你需要主动为其划设明确的使用范围,才能确保它精准地按你的预期生效。否则,它可能在非预期的场景中被意外触发,或被不具备权限的成员违规调用。

其实理解起来并不复杂——你希望某个 Skill 仅对特定项目、团队成员或运行环境生效,从而避免误触发或越权调度。那么具体该如何配置?下面分三个层次进行说明。
设置 Skill 项目级可见范围
这种方式适用于单仓库开发场景,能够确保 Skill 只在指定的代码库路径下被识别和执行,防止跨项目造成上下文污染。
首先,打开目标项目的根目录,在其中创建一个.qoder子目录(如果尚未存在),然后进入该目录,新建一个skills.yaml文件。
接下来,在该文件中声明范围约束:
关键字段是【scope: project】,它必须存在且值设为project,否则 QoderWake 会忽略整条配置。同时,还需要填写workspace_path,指向当前 Git 工作区的绝对路径,例如/home/user/myapp。路径填写错误会导致 Skill 加载直接失败,这一点需要特别留意。
保存文件后,在 Qoder IDE 中执行qoder skill reload --scope=project,系统就会重新扫描并绑定该路径下的所有 Skill。
配置 Skill 团队级调用权限
当多个开发者共享同一个 QoderWake 实例时,你可能需要控制谁有权触发某个 Skill——尤其是涉及审批、部署等敏感操作的 Skill。此时,可以通过角色和成员白名单来管理权限。
方法一:基于内置角色授权
登录 QoderWake 管理控制台,进入「Skill 管理」,找到目标 Skill 卡片,点击「权限设置」。在「可调用角色」栏中勾选对应的岗位角色,例如“数字运维”或“数字测试”。有一点需要特别注意:如果你没有勾选任何角色,那么这个 Skill 对所有人都是不可见的。
方法二:指定用户邮箱白名单
在同一页面点击「高级权限」,展开「成员白名单」输入框。然后逐行填入允许调用者的阿里云邮箱,例如zhangsan@alibaba-inc.com,每行一个,不支持通配符或域名匹配。填写完成后点击「保存策略」,变更会立即生效,无需重启服务。
限定 Skill 运行环境(生产/测试/开发)
有些 Skill,比如数据库清理、灰度发布,只应该在测试环境中运行,如果误用于生产环境,后果可能非常严重。QoderWake 通过环境标签来强制隔离执行域。
第一步:确认当前设备已经打上了环境标识。在终端执行qoder config get env.tag,如果返回为空,就需要先执行qoder config set env.tag staging(可选值包括dev、staging、prod)。
第二步:为 Skill 注入环境约束。编辑该 Skill 对应的skill.yaml文件,在metadata区块下添加以下内容:
allowed_environments:
- dev
- staging
第三步:提交注册并验证。执行qoder skill register --file skill.yaml,之后在任意环境触发该 Skill 前,QoderWake 会先校验env.tag是否在允许列表中,不匹配就会直接拒绝执行并返回 403 错误。
