A blanket 'just do it' counts as pre-authorization for the whole flow, letting online env writes and collaborator permission changes run with --yes
Source references: 4The document says that if the user said 'don't ask / just do it / you decide' or 'finish it and deploy it for me', the agent treats the entire flow as pre-authorized and stops asking step by step (line 160). Under that rule, setting an online environment variable goes straight to --yes and 'do not ask again' once the user has said 'confirm / just execute' (line 64); member add/update/remove and collaboration-settings changes likewise execute with --yes because the flow was 'explicitly pre-authorized' (line 72). The only carve-outs are destructive DB operations, +role-delete, batch member removal and +cache-clear (line 161); online environment writes and single-member permission changes are not on that list.
After a single 'just do it' the agent may change a live app's production configuration/secrets, grant someone edit rights, or remove someone's edit rights without item-by-item confirmation. Such changes typically appear only as key/env or member type in the reply, so the user may not notice what was altered; a person granted edit rights can keep reading and modifying that app and its data.
The doc treats a blanket "just do it / don't ask / do it and deploy" as pre-authorization for the whole flow (line 160); online env-var writes then use --yes without re-confirming when the user said "confirm/execute directly" (line 64); single-member add/update/remove and collaboration settings may likewise run with --yes under that pre-authorization (line 72). The non-waivable list covers destructive DB work, +role-delete, batch member removal, oversize html publish and +cache-clear (line 161) but not online env writes or single-member permission changes. So one early vague approval can carry into production-config and collaborator-permission writes. Mitigations exist: dry-run still required for member writes, env --yes only for online with explicit confirmation, values not echoed. The user can ask the author to add these two categories to the non-pre-authorized list and to always restate app/env/key or target member before writing.
- **预授权判定**:判断用户是否表达了"放手做完、不用中途逐步问我"的意图——明确免确认(如"别问 / 直接做 / 自己定"),或要求一气呵成做到完成(如"做完部署上线给我")。是 → 整个流程按合理默认往下走、不再逐步确认(含 clone 到派生目录、发布等);否 → 缺失参数(如目录)该问就问、高影响动作先确认。- **禁止预授权判定底线**(即便已预授权也不豁免):① 会删/丢数据或不可逆的 DB 操作(判据见 [`lark-apps-db-execute.md`](references/lark-apps-db-execute.md))先 `--dry-run` 确认;② `+role-delete`、`+role-member-remove --all`、批量移除成员必须先确认 app、role、成员范围和后果,不能从泛化"直接做"推导出 `--yes`;命令式"删除/移除某对象"只确定操作目标,不等于用户已确认不可逆后果,未明确确认时应在说明影响后停下请求确认;③ `+html-publish` 体积超限时(判据见 [`lark-apps-html-publish.md`](references/lark-apps-html-publish.md)),立即停止并转述超限项;④ `+cache-clear` 会清空整个环境的缓存,「用户让我清缓存」只确定了操作目标、不等于确认了这次清空——未拿到对「清空该环境」的明确确认表述时,只出 `--dry-run` 预览或停下请求确认,不得首次调用即自带 `--yes`(判据表见 [`lark-apps-cache.md`](references/lark-apps-cache.md))。Show 3 other places
- **PV/UV/访问量/活跃用户**:先解析 `app_id`,再用 `+analytics-list`,不要误用 `+metric-list`。- **设置环境变量**:如果用户只给应用名,仍先 `+list --keyword` 解析 app_id;设置 online 环境且用户已经明确说“确认/直接执行”时,调用 `+env-set --environment online ... --yes`,不要再次要求确认。回复和日志摘要里只提 key / env / app,不回显真实 value;需要传复杂值时优先用 `@file` 或 stdin。- **删除环境变量**:`+env-delete` 是破坏性操作。除非用户在同一轮已经明确确认删除这个 app/env/key,否则先向用户确认应用、环境、key 和删除后果;确认后再加 `--yes`。不要因为认证失败/重登完成就自动继续删除,必须保留确认门槛。- `+member-list`、`+member-settings-get` 是只读命令,需要 `spark:app:read`。- `+member-add`、`+member-update`、`+member-remove`、`+member-settings-set` 是高风险写命令,需要 `spark:app:write`。先用 `--dry-run` 核对目标、URL 和请求体;dry-run 不需要 `--yes`。用户已确认具体应用、成员/设置及影响,或已按下方「高影响动作:确认与预授权」对整条流程明确预授权时,真实执行加 `--yes`;否则在 dry-run 后停下请求确认。批量移除成员仍执行「禁止预授权判定底线」,不能从泛化的“直接做”推导出 `--yes`。- 添加、更新、移除成员时必须显式提供匹配的外部 ID 类型,禁止传内部数字 ID、猜测类型或做隐式转换:用户 `--member-type openid --member-id ou_...`;群组 `--member-type openchat --member-id oc_...`;部门 `--member-type opendepartmentid --member-id od-...`。- **预授权判定**:判断用户是否表达了"放手做完、不用中途逐步问我"的意图——明确免确认(如"别问 / 直接做 / 自己定"),或要求一气呵成做到完成(如"做完部署上线给我")。是 → 整个流程按合理默认往下走、不再逐步确认(含 clone 到派生目录、发布等);否 → 缺失参数(如目录)该问就问、高影响动作先确认。- **禁止预授权判定底线**(即便已预授权也不豁免):① 会删/丢数据或不可逆的 DB 操作(判据见 [`lark-apps-db-execute.md`](references/lark-apps-db-execute.md))先 `--dry-run` 确认;② `+role-delete`、`+role-member-remove --all`、批量移除成员必须先确认 app、role、成员范围和后果,不能从泛化"直接做"推导出 `--yes`;命令式"删除/移除某对象"只确定操作目标,不等于用户已确认不可逆后果,未明确确认时应在说明影响后停下请求确认;③ `+html-publish` 体积超限时(判据见 [`lark-apps-html-publish.md`](references/lark-apps-html-publish.md)),立即停止并转述超限项;④ `+cache-clear` 会清空整个环境的缓存,「用户让我清缓存」只确定了操作目标、不等于确认了这次清空——未拿到对「清空该环境」的明确确认表述时,只出 `--dry-run` 预览或停下请求确认,不得首次调用即自带 `--yes`(判据表见 [`lark-apps-cache.md`](references/lark-apps-cache.md))。