workbuddy技能开发中应禁用明文密钥,优先使用环境变量、配置文件或内置密钥管理器。环境变量需启动前设置并正确定义引用格式;配置文件须设权限、加校验且忽略上传;内置管理器需启用沙箱、规范命名凭证并使用{{credential:name}}调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

WorkBuddy技能开发中,一旦把API密钥、数据库密码或RSA私钥明文写进SKILL.md,该技能就变成高危载体——不仅本地运行时可能被日志泄露,上传到SkillHub后更会永久暴露在公开仓库中,他人安装即获权限。
用环境变量替代硬编码密钥
第一步:在系统中设置环境变量,Windows PowerShell执行:$env:WB_API_KEY="sk-xxx";macOS/Linux终端执行:export WB_API_KEY="sk-xxx"。这一步必须在WorkBuddy启动前完成,否则进程无法继承变量。
第二步:修改SKILL.md正文,在调用脚本的命令行里用$WB_API_KEY(Linux/macOS)或%WB_API_KEY%(Windows)引用。例如:curl -H "Authorization: Bearer $WB_API_KEY" https://api.example.com/data。
第三步:在SKILL.md的description字段末尾加一句说明:“本技能依赖环境变量WB_API_KEY,未设置时将报401错误”。这样别人复用时一眼就知道要配什么。
用配置文件隔离敏感信息
方法一:在技能目录下新建.wbconfig.json(注意开头的点),内容为{"api_key": "sk-xxx"}。文件权限设为600(Linux/macOS)或禁用继承(Windows),确保只有当前用户可读。
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
方法二:让脚本读取该文件时加校验——先检查文件是否存在且大小不为0,再用jq '.api_key' .wbconfig.json提取值。如果jq未安装,WorkBuddy默认不报错而是静默跳过,这会导致后续请求全失败,所以务必在SKILL.md的步骤里写明依赖:需预装jq工具(可通过brew install jq或scoop install jq获取)。
方法三:把.wbconfig.json加入.gitignore和.skillignore(若存在)。WorkBuddy CLI打包发布时会自动跳过这些文件,避免误传。
用WorkBuddy内置密钥管理器
打开Claw页面 → 点击右上角齿轮 → 高级设置 → 勾选「启用凭证沙箱」。重启后,进入设置 → 安全 → 凭证管理,点击「+ 添加凭证」,类型选「API Key」,名称填salesforce_prod,值粘贴密钥字符串。保存后,SKILL.md里直接写{{credential:salesforce_prod}}即可调用。
【凭证名必须全小写字母+下划线,不能含空格或短横线】。否则WorkBuddy解析时会静默忽略,技能运行到此处直接卡住,Debug Panel里只显示“missing credential reference”,不会提示拼写错误。
这一步做完后,所有含{{credential:xxx}}的技能都自动走加密内存通道,密钥永不落盘、不进日志、不出沙箱。即使技能被导出分享,别人也看不到真实值。










