@4meta5/pi-zsh
白名单式zsh脚本安全运行器
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:@4meta5/pi-zsh。 它的用途是:白名单式zsh脚本安全运行器 完整的 Skill 内容见:https://321skill.com/skills/4meta5-pi-zsh/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
'运行cron_review脚本检查定时任务状态',它会调用zsh_script_run工具,传入script_id为cron_review,执行允许列表中对应的.zsh脚本,返回截断后的输出摘要和结构化详情。
介绍
这个Skill解决了AI编码代理执行shell脚本时的安全风险问题。在实际开发中,开发者经常需要让AI代理运行自定义脚本,但直接暴露shell权限可能导致任意命令执行、数据泄露等安全隐患。pi-zsh通过强制白名单机制,只允许执行预先授权的.zsh脚本,并限制环境变量范围,从源头杜绝越权操作。
使用方式很简单,你只需要先安装npm包,然后创建一个JSON格式的允许列表文件,在其中定义每个脚本的路径、默认参数和工作目录模式。接着设置环境变量PI_ZSH_ALLOWLIST_FILE指向该文件,最后将pi-zsh作为pi扩展加载。之后就可以通过自然语言指令调用zsh_script_run工具,指定script_id来执行对应脚本,所有输出会被自动截断以保护上下文安全。
它非常适合需要为AI编码代理(如pi)添加安全shell执行能力的团队或个人。尤其是那些已经使用pi作为开发助手、但又担心代理越权执行危险命令的运维工程师、智能体开发者和后端开发人员。对于需要严格控制脚本执行范围、防止代理行为失控的场景,这个Skill是理想选择。
建议在配置允许列表时,只添加经过严格审查的脚本,并尽量缩小环境变量白名单。需要注意的是,它主要专注于单一职责——运行白名单脚本,不支持任意命令执行、调度或编排功能。如果代理需要更复杂的shell交互,可能需要配合其他工具使用。
常见问题
如何添加新的可执行脚本?
在允许列表JSON文件的allowlist对象中新增一个script_id条目,指定绝对路径、默认参数和cwd_mode,然后重新加载扩展即可。
环境变量白名单为空会怎样?
如果envAllowlist设为空数组,pi-zsh会要求运行时交互决策;在非UI模式下会返回错误并提示用户补充白名单。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/4meta5-pi-zsh/raw/index.md 读取 @4meta5/pi-zsh 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/4meta5-pi-zsh/raw/index.md(查看排版版本)