一键导入
install-ulanzi-plugin
Register an Ulanzi plugin in mise.toml as an install task and run it to deploy the plugin folder into the UlanziDeck Plugins directory
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Register an Ulanzi plugin in mise.toml as an install task and run it to deploy the plugin folder into the UlanziDeck Plugins directory
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | install-ulanzi-plugin |
| description | Register an Ulanzi plugin in mise.toml as an install task and run it to deploy the plugin folder into the UlanziDeck Plugins directory |
Use this skill when the user asks to install, deploy, or register an Ulanzi plugin into the local UlanziDeck Plugins folder via mise.
The repo's mise.toml is the single source of truth for installation. Each plugin gets its own install:{shortName} task, and a top-level install task fans out via depends = ["install:*"].
Resolved at task time from APPDATA:
{{env.APPDATA}}\Ulanzi\UlanziDeck\Plugins
Defined once as a var:
[vars]
plugins_dir = '{{env.APPDATA}}\Ulanzi\UlanziDeck\Plugins'
For a plugin folder {author}.{plugin}.ulanziPlugin/ at the repo root, append a task to mise.toml:
[tasks."install:{shortName}"]
description = "Install {author}.{plugin}.ulanziPlugin into UlanziDeck Plugins folder"
shell = "pwsh -NoProfile -Command"
run = '''
$dst = Join-Path '{{vars.plugins_dir}}' '{author}.{plugin}.ulanziPlugin'
if (Test-Path $dst) { Remove-Item -Recurse -Force $dst }
New-Item -ItemType Directory -Force -Path '{{vars.plugins_dir}}' | Out-Null
Copy-Item -Recurse -Force '{author}.{plugin}.ulanziPlugin' $dst
'''
Conventions:
{shortName} is the final segment of the plugin folder (camelCase), e.g. clashTraffic from me.iany.clashTraffic.ulanziPlugin."install:foo") — the colon needs it in TOML.'{{vars.plugins_dir}}' so the rendered Windows path with backslashes survives unescaped.shell = "pwsh -NoProfile -Command" — Windows-only repo, matches the existing pattern.The aggregate install task already exists and picks up new tasks automatically:
[tasks.install]
description = "Install all plugins into UlanziDeck Plugins folder"
depends = ["install:*"]
Do not edit it when adding a new plugin.
mise run install:{shortName} # one plugin
mise run install # all plugins
Restart UlanziStudio (or refresh the simulator) after install for the host to pick up changes.
.ulanziPlugin.[tasks."install:{shortName}"] block added to mise.toml.mise tasks lists the new task.mise run install:{shortName}, the folder appears under %APPDATA%\Ulanzi\UlanziDeck\Plugins\.