qoderwake的skill调用外部工具必须通过shell command动作节点封装,需指定全路径命令、工作目录、错误处理策略,并通过环境变量或kms注入凭证,同时配置沙盒权限与审计日志。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让QoderWake的Skill调用本地curl、ffmpeg或企业内部Python脚本等外部工具,但默认情况下Skill无法直接执行系统命令——必须通过shell动作显式封装并声明执行约束,否则子进程会静默失败或被沙盒拦截。
配置shell动作封装外部命令
QoderWake不允许可信度未验证的任意命令执行,所有外部工具调用必须走shell动作节点,且需明确指定工作目录与错误处理策略。
第一步:在Skill编辑器中添加新动作节点,类型选择「Shell Command」。
第二步:在命令字段填写完整可执行路径,例如/usr/bin/curl -s https://api.example.com/health;【绝对禁止只写curl,必须用全路径,否则在容器化环境中大概率找不到二进制】
第三步:设置「Working Directory」为实际需要的路径,如/var/qoder/data;若留空,命令将在QoderWake运行时根目录执行,可能因权限不足导致写入失败。
第四步:勾选「Fail on non-zero exit code」——这一步决定任务是否中断:不勾选时,即使curl返回404或超时,Skill也会继续往下走;勾选后,任何非0退出码都会触发错误分支,可用于构建重试逻辑。
注入环境变量与凭证
当外部工具需要API密钥、数据库地址等敏感参数时,不能硬编码在命令里,必须通过环境变量注入。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
方法一:在shell动作的「Environment Variables」区域手动添加键值对,例如DB_HOST=10.1.2.3、API_KEY=sk-xxx。
方法二:对接KMS托管凭证——进入「Connector配置」→「凭证管理」,上传加密后的凭证文件,再在shell动作中引用变量名${CREDENTIAL_DB_PASSWORD};【该变量名必须与KMS中注册的别名完全一致,大小写敏感】
注意:环境变量值不会出现在日志中,但命令本身(含参数)默认会被记录,因此严禁在curl URL里拼接密钥。
绑定权限沙盒与审计策略
Shell动作默认受限于QoderWake的权限沙盒,无法访问/tmp以外的临时目录,也不能监听端口或fork守护进程。
第一步:打开数字员工配置页 → 「安全策略」→ 「沙盒限制」。
第二步:找到「允许的系统调用白名单」,勾选execve、read、write三项——这是shell动作运行的最小必要集;多选socket或clone将导致审核不通过。
第三步:启用「审计日志捕获」,确保每次shell动作执行时,命令摘要、退出码、耗时均写入D:\qoderwake\audit\下的结构化日志文件;该路径必须提前存在且QoderWake进程有写入权限。










