跳到主要内容
版本:Next

管理 Shell 预设

Shell 预设把常用脚本安装为可以直接调用的命令,支持 Bash、Zsh 和 PowerShell。 部分命令需要 Bun 等额外运行环境,请先确认预设的要求。

内置类别、平台限制、当前会话命令和所需环境变量见内置预设。

查看与安装​

先查看预设,再选择一种安装范围:

操作命令
查看 Shell 预设shine shell list
安装 proxy 类别shine shell install proxy
只安装这一个命令shine shell install utils/shine-env-export
安装当前平台可用的全部类别shine shell install

安装类别会启用其中适用于当前平台的全部命令;只需要一个命令时,使用 category/command。 不要仅传命令名,因为不同类别可能有同名命令。

执行前请审阅计划中的命令、配置改动、备份和所需权限,确认后才会安装,默认为否。 需要详细路径和权限时,添加 --verbose。

Shell 命令以你的权限运行,没有沙箱隔离。外部预设与覆盖层中的代码需要审阅和授权: 交互确认可以只批准本次操作;自动化中使用 --yes 前须已有信任授权。 该选项只跳过提示,不会跳过安全检查,且不能与 --dry-run 同用。 具体授权步骤见自定义预设。

安装后需打开新终端或重新加载 shell profile。需要补全时运行:

shine completions install

修复安装​

命令入口或 Shell 配置损坏时,先检查差异,再决定是否用预设内容替换:

shine info shell/proxy --diff
shine shell install proxy --replace-managed

--replace-managed 会覆盖受管内容,包括你的本地修改。

命令与已有文件冲突时,请先检查提示中的路径,再决定是否删除或替换。 切换预设来源或更新 Shine 后,可运行 shine upgrade shell/<CATEGORY> 更新已安装命令。 外部代码仍需审阅和授权。

安装、升级或卸载中断后怎么办​

若另一项 Shell 操作仍在运行,请等待它结束。如果 Shine 提示已审阅的变更发生变化, 请重新审阅 Plan 后再重试。

如果 Shell 预设操作意外中断,Shine 可能会暂停后续修改操作,并提示先执行恢复:

shine shell recover

查看恢复计划,确认后执行。Shine 会根据中断位置撤销未完成的变更,或保留已完成的操作并清理残留文件。 恢复 Shell 配置时,Shine 会保留无关内容。

如果相关文件在中断后被修改,Shine 会停止恢复并保留这些文件,避免覆盖你的修改。请保留报错信息和相关文件,根据提示排查,不要手动删除恢复记录或回滚文件。

自动化环境可使用 shine shell recover --yes 跳过交互确认;安全检查仍会执行。

卸载​

操作命令
预览卸载类别shine shell uninstall proxy --dry-run
审阅后执行shine shell uninstall proxy
另一种范围:仅卸载此命令shine shell uninstall utils/shine-env-export

卸载前同样需要审阅并确认计划。按命令卸载会保留同类别中其他已安装命令及它们需要的共享文件。 外部预设源目录和 ~/.shine/config.toml 始终保留;Shell 配置中的其他内容也会保留。

不指定目标的 shine shell uninstall 会卸载全部 Shell 预设,并清理剩余的受管启动配置和整个 内部 Shell 缓存,包括你额外放入缓存的文件。指定类别或命令时,额外缓存文件会保留。 请先用 shine shell uninstall --dry-run 核对范围。

卸载和恢复不需要先授权被移除的代码。旧脚本若仍使用 --purge,请按 升级与迁移移除该选项。

更新外部预设​

默认的 snapshot 模式只在你审阅并执行更新后,才让来源修改进入已安装命令。 使用 shine update shell/<CATEGORY> 查看变化,再运行 shine upgrade shell/<CATEGORY>。 共享文件的变化可能影响同类别其他已安装命令,请检查计划列出的完整范围;未安装命令不会被自动安装。

live 模式会在下次调用时直接使用修改后的来源,需要 --development 授权。 只有确实信任该来源的未来代码修改时才使用它;普通快照授权不能用于 live 模式。 如果 list 或 info 显示 development trust required,请先审阅来源并按提示重新授权。 设置方式见自定义预设。

内置常用命令​

类别命令用途
image-toolsimg-compress、img-resize、img-convert使用 Bun 1.3.14 或更高版本批量处理 JPEG、PNG、WebP
proxysetproxy、usetproxy设置或清除当前终端代理;也会修改 Yarn 的持久代理设置
utilscopyfile通过 OSC52 将文件内容复制到本地剪贴板
utilsshine-env-export将 Shine env 值载入当前 shell
utilsshine-theme-sync在当前会话应用终端明暗主题设置
agentccenv选择 Codex、DeepSeek 或 Qwen provider,并为启动的 Claude Code 设置专用环境变量;需要 Bun

某些类别按平台提供不同脚本;shine shell list 只显示当前平台可用的条目。

ccenv 默认通过本机 http://127.0.0.1:8317 的 CLIProxyAPI 使用 Codex,也可交互选择 DeepSeek 或 Qwen。相应凭据使用 CLIPROXYAPI_AUTH_TOKEN、DEEPSEEK_API_KEY 或 QWEN_API_KEY;加密值使用同名的 _SECRET 后缀,旧版 _GPG_SECRET 仍可读取。所选 provider 的变量只传给启动的 Claude 进程,不会修改当前终端。Claude 参数会原样转发;若首个参数与 ccenv 的 --run 兼容参数冲突,先写 --:

ccenv --print "hello"
ccenv -- --run

想用 Bun 编写跨平台命令预设?请参阅可选运行时的 Shell 入口。