基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/youzan/youzanyun-toolkit --skill yzy-app-env命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
结合有赞云 llms.txt 文档导航、云文档中心搜索接口和 wiki 关键词搜索接口查询有赞云开放知识。用于回答开放平台、开发者接入、开放 API、开放消息、扩展点、定制需求、集成方案、工单答疑和能力咨询;其他有赞云开发 Skill 需要官方依据时也应使用本 Skill。
有赞云前端场景定制落地技能。用于识别并路由开放 2.0 前端定制需求到页面定制、独立页面、整页替换、下单/支付 Hook 等场景,按需查询有赞云官方文档或 yzy-knowledge-search,读取目标工程配置和相邻实现,完成最小必要代码修改。
查询和预检有赞云开放 API 能力包授权。用于设计或调用有赞云开放 API 前,确认当前应用类目下的 API 能力包、能力包详情、目标 API 是否已授权;所有应用级 capability 操作前必须先解析应用上下文并使用 zancli 校验登录。
| name | yzy-app-env |
| description | 管理有赞应用环境变量。用于通过 zancli app env list/get/exec/create/update/delete 读取、脱敏查看、受控注入子进程,以及在明确授权后创建、更新或删除应用环境变量。 |
本 skill 用于读取、注入和变更有赞应用环境变量。所有操作都必须使用 zancli app env ...,并先确认当前 zancli 可用和已登录。
python3 <plugin-root>/tools/zancli/ensure_zancli.py --check
zancli 安装校验入口同时提供 PowerShell、Python 和 Bash 三种形式。Windows 原生优先尝试 powershell -ExecutionPolicy Bypass -File <plugin-root>/tools/zancli/ensure_zancli.ps1;通用环境优先尝试 python3 <plugin-root>/tools/zancli/ensure_zancli.py;如果当前环境没有可用 PowerShell/Python 但有 Bash,再尝试 bash <plugin-root>/tools/zancli/ensure_zancli.sh。
list、get、exec、create、update、delete 都必须显式传入 --env;缺失时 CLI 会在网络请求前返回 APP_CONTEXT_ENVIRONMENT_REQUIRED。不要默认环境,不要用目录名猜测生产或 QA。
需要应用选择参数时,优先使用用户给出的 --app-id 或 --app-name。目标不明确时,先使用 yzy-app-context 解析应用上下文,再把相同的应用与环境参数传给 app env 命令。
示例:
zancli app env list --app-name self-container-test --env dev
zancli app env list --app-name self-container-test --env dev --output json
默认读取必须依赖 CLI 展示层脱敏。包含 password、secret、token、auth、key、cert、credential、DSN 或连接 URL 等敏感含义的键,值应显示为 ***。
单键查询:
zancli app env get --app-name self-container-test --env prod --key opensdk.clientSecret
读取不套用写入键名规则,因此可以查询带下划线、数字等既有键。回答中不要输出敏感变量原值;只说明是否存在、是否脱敏、类型化现象和下一步建议。
--unmask 只允许用于 get,且必须有用户明确授权或命令中带 --confirm。明文只允许进入文本输出,禁止与 --output json 同用。
zancli app env get --app-name self-container-test --env prod \
--key opensdk.clientSecret --unmask --confirm
不得把明文值写入日志、CI 输出、文档、提交信息或最终回复。若用户要求展示明文,拒绝直接复述,改为说明命令已由 CLI 输出到本地终端或让用户在本机自行查看。
以下命令预期失败,机器可读输出禁止明文:
zancli app env get --app-name self-container-test --env prod \
--key opensdk.clientSecret --unmask --confirm --output json
exec 仅把远端变量注入指定子进程,不修改父 shell,也不由 zancli 回显变量值。始终把命令放在 -- 后:
zancli app env exec --app-name self-container-test --env dev -- printenv tenant_2E_id
键名会转换成合法且无冲突的 shell 变量名,例如 tenant.id 转为 tenant_2E_id。子进程退出码原样透传;命令无法启动时返回 127。不要用 exec 运行会批量打印全部环境的命令,除非用户明确需要且已经确认不会泄漏敏感信息。
create、update、delete 都会通过通用应用变量服务执行真实写操作,必须带 --confirm。生产环境只有在用户明确说明已取得写入授权时才能使用 --env prod;QA/回归默认使用 --env dev。
写入键名仅允许字母与点,最长 128 个字符。update 必须显式提供 --description,避免无意覆盖已有描述。服务端即使 HTTP 200 返回业务错误,CLI 也应非零退出,并且不会输出 complete 或传入值;遇到非零退出不得声称写入成功。
CRUD 示例:
zancli app env create --app-name self-container-test --env dev \
--key ops.e2e.example --value test-value-v1 \
--description 'temporary CRUD test' --confirm
zancli app env update --app-name self-container-test --env dev \
--key ops.e2e.example --value test-value-v2 \
--description 'temporary CRUD test updated' --confirm
zancli app env delete --app-name self-container-test --env dev \
--key ops.e2e.example --confirm
内部 --debug 不采集环境变量读写请求或响应 body,防止 trace 绕过脱敏。验证 CLI 行为时使用:
go test ./pkg/cmd/app ./pkg/client/typed/environment
go test -tags zancli_internal_debug ./pkg/client/typed/environment -run TestEnvironmentReadsDoNotCaptureSensitiveDebugBodies
重点回归:默认脱敏、--unmask 确认门槛、显式 --env、表格左对齐、debug body 抑制、服务端业务错误非零退出。