如何让AI Agent安全执行高风险操作?portal-ai-plugins的actions五步dry-run防护机制完全指南
如何让AI Agent安全执行高风险操作portal-ai-plugins的actions五步dry-run防护机制完全指南【免费下载链接】portal-ai-plugins项目地址: https://gitcode.com/gh_mirrors/po/portal-ai-plugins你是否担心AI Agent在自由发挥时误删数据、误改线上配置portal-ai-plugins是一个为 Claude Code、Codex、Cursor 等 AI 编码助手提供 Spotify Portal 工作流的插件其中actions技能内置了五步 dry-run 防护机制AI 在真正执行任何高风险操作前必须先检查帮助、预览输入、向你展示变更、等你明确授权破坏性操作还需额外的--yes确认。本文将用通俗的方式带你完整理解这套安全设计让 AI 干活既高效又不敢乱来。为什么 AI Agent 需要先预览再动手想象你请一位新手助手操作生产系统你敢让他不确认就直接敲下删除命令吗AI Agent 面临的处境类似它能理解你的自然语言需求也能自己拼出命令行但它无法真正感受操作的后果。一个幻觉、一个参数写错就可能导致不可逆的变更。️ 因此安全的关键不是禁止 AI 做事而是给它一套强制流程每一步都有据可查、每一步都需要人确认。这就是 portal-ai-plugins 中 skills/actions/SKILL.md 所定义的防护机制。先认识 portal-ai-plugins 插件包这个插件仓库围绕 README.md 中定义的六条工作流组织工作流用途是否改变系统状态setup配置 Portal CLI 认证是仅本地认证doctor只读体检检查就绪状态否search自然语言搜索软件目录与文档否service生成服务简报否actions发现、预览并安全调用 Portal 操作是重点防护feedback向 Portal 团队提交反馈是需显式确认可以看到仓库在 AGENTS.md 中明确规定了两条设计红线doctor必须保持只读、文档中必须保留 JSON 输出与 dry-run 防护措施。也就是说安全不是事后补救而是从插件层面写进规范的架构约束。五步 dry-run 防护机制详解 当 Agent 需要执行一个**会修改数据的操作mutation**时必须走完以下五步一步都不能跳第一步检查命令帮助而不是凭记忆拼参数Agent 在调用任何操作前会先查看该操作自动生成的帮助信息actions action-id --help。这一步的价值在于参数以官方定义为准杜绝 AI 凭印象编造不存在的标志位。第二步用--dry-run --json精确预览输入这是整套机制的心脏。Agent 会把真实要提交的参数打包后加上--dry-run --json运行npx spotify/portal-cli actions action-id --input json --dry-run --json--dry-run让操作只模拟、不落地--json则让输出结构化方便 Agent 准确读取到底会发生什么。相当于先打印一张施工图纸而不是直接动锤子。第三步把将发生的变更展示给用户Agent 不能只给自己看预览结果——它必须把即将变更的内容用人话讲清楚改什么、影响什么、依据是什么。这一步解决的是信息不对称预览结果只有用户看懂了授权才是有意义的授权。第四步仅在用户明确授权后才执行 没有你的同意操作停在纸面。Agent 被要求等待明确授权而不是把没反对当成默认同意。第五步破坏性操作追加--yes双重确认如果该操作被标记为破坏性destructive即便你已经授权Agent 也只有在再次确认后才追加--yes标志执行。--yes在这里扮演的是最后一道闸它把破坏性操作与普通操作在命令层面区隔开日志与审计时一眼可见哪些是高危动作。⚠️ 一个容易踩的坑dry-run 成功 ≠ 执行成功skills/actions/SKILL.md 的最后一句值得划重点Never infer successful execution from a dry run.绝不能从 dry-run 推断执行成功。模拟通过只说明参数格式没问题、路径可达不代表正式执行不会遇到权限、配额等运行时问题。新手最容易犯的错误就是看到 dry-run 输出正常便向用户汇报已经完成了。正确的做法是预览归预览执行结果必须以真实执行后的输出为准。配套安全设计只读体检与最小凭证原则五步防护并非孤立存在它和另外两条安全规范互相咬合1.doctor只读体检skills/doctor/SKILL.md 定义了一套四步健康检查宿主插件是否就绪、CLI 命令面是否完整、认证实例是否明确、能否只读列举可用操作。整个过程禁止安装、禁止登录、禁止调用任何变更类操作且任何一项被阻塞时不得虚报整体就绪。这是你在动手前的安检门。2. 凭证最小化原则skills/setup/SKILL.md 明确规定永远不要让用户把令牌、授权码粘贴到聊天窗口登录走浏览器流程多实例时不许替用户猜默认实例必须询问。安全机制的边界画得非常清晰AI 可以预览、可以建议、可以等待唯独不可以替人拍板。如何快速在自己的环境里启用在你的 AI 编码助手插件市场中添加 portal-ai-plugins 仓库安装portal插件开启新会话运行/portal:setup按提示完成认证与实例选择遇到任何操作类需求时Agent 会自然走检查帮助 → dry-run 预览 → 展示变更 → 等待授权的流程——你只需要关注最后一步看清变更再决定同不同意。完整工作流说明见 skills/actions/SKILL.md 与仓库根目录的 README.md。小结防护步骤解决的核心风险① 检查命令帮助参数靠猜、标志位编造②--dry-run --json预览盲操作、变更不可预知③ 向用户展示变更信息不对称④ 用户授权后执行AI 越权决策⑤ 破坏性操作加--yes高危操作缺最后防线 portal-ai-plugins 的 actions 技能给我们的启示是驯服 AI Agent 的手靠的不是禁令而是一套可审计、可中断、可追溯的标准流程。五步走完高风险操作从听天由命变成了步步留痕。【免费下载链接】portal-ai-plugins项目地址: https://gitcode.com/gh_mirrors/po/portal-ai-plugins创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

OpenClaw 小白安装指南|本地 AI 自动化一键整合包实操与 TaoToken 接入

OpenClaw 小白安装指南|本地 AI 自动化一键整合包实操与 TaoToken 接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:12:16 阅读更多 →
UDS诊断0x31例程失效?S3Server超时与安全访问状态排查指南

UDS诊断0x31例程失效?S3Server超时与安全访问状态排查指南

1. 线还插着,0x31例程却不认你了:先分清物理连接和诊断会话 在UDS诊断协议的项目现场,有一种现象最磨人:CAN线和诊断设备都连得好好的,总线上一片绿色,万用表量下来通路也正常,可刚才还能跑起来…

2026/10/4 19:12:16 阅读更多 →
Qwen-Image-2512 升级图像真实感与可用性:从 Open Schematics 数据集看 AI 电路理解新路径

Qwen-Image-2512 升级图像真实感与可用性:从 Open Schematics 数据集看 AI 电路理解新路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:12:16 阅读更多 →

最新新闻

如何看懂无线流量实时脉搏:wifit3 packet_stats 包统计与 AP 识别计数逻辑完整指南

如何看懂无线流量实时脉搏:wifit3 packet_stats 包统计与 AP 识别计数逻辑完整指南

如何看懂无线流量实时脉搏:wifit3 packet_stats 包统计与 AP 识别计数逻辑完整指南 【免费下载链接】wifit3 Wifite but USB-only & cross-platform. 项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3 wifit3 是一款跨平台、仅依赖 USB 网卡的 …

2026/10/4 19:56:49 阅读更多 →
TaoToken 统一 Key 接入小程序 AI 开发链路:从 401 报错到全生命周期调优

TaoToken 统一 Key 接入小程序 AI 开发链路:从 401 报错到全生命周期调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:56:49 阅读更多 →
Aider LLM性能排行榜最新动态:AI编程助手能力全面评测与TaoToken接入实践

Aider LLM性能排行榜最新动态:AI编程助手能力全面评测与TaoToken接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:56:49 阅读更多 →
Linux thermal framework 通用架构:从 thermal_zone 到 governor 的散热策略解析

Linux thermal framework 通用架构:从 thermal_zone 到 governor 的散热策略解析

刚开始接触 thermal framework 那阵子,我也一度被thermal_zone、cooling_device、trip_point、governor这些词绕得头晕。后来啃完整套源码、又亲手调过几块板子的散热策略,才意识到这个框架其实没有想象中复杂:它本质上是把“温度采集、阈值判…

2026/10/4 19:56:49 阅读更多 →
URP中Sprite深度写入与景深后处理完全指南

URP中Sprite深度写入与景深后处理完全指南

1. 项目背景:为什么需要在URP里给Sprite单独写深度先说结论:Unity的URP(Universal Render Pipeline,通用渲染管线)在处理Sprite的深度写入上,默认行为和Built-In管线不一样。如果你在URP项目里用Camera的De…

2026/10/4 19:56:49 阅读更多 →
90DaysOfDevOps 第 29 天:Microsoft Azure 基础概念与资源组实战

90DaysOfDevOps 第 29 天:Microsoft Azure 基础概念与资源组实战

文档/教程 【免费下载链接】90DaysOfDevOps This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Pri…

2026/10/4 19:55:48 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →