关于 env-manager
env-manager 是通过 SDK 工具管理环境变量的技能,适用于需要跨工作区保存个人配置或维护项目级变量的场景。它支持查看、设置、删除和列出变量,并避免在结果中回显明文值。
主要功能
- 01设置、读取和删除变量
- 02列出不同范围的变量
- 03合并个人与工作区环境
- 04结果不显示明文值
适用场景
- 01检查某个变量是否已配置
- 02保存可跨工作区复用的个人变量
- 03为当前项目设置工作区变量
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dtyq/ magic --skill env-manager安装后在 Claude Code 中输入/env-manager确认已加载。
详细介绍
环境变量管理器
通过在 run_sdk_snippet 中调用 sdk.tool.call(...),使用此技能调用 set_env、get_env、unset_env 和 list_env。
默认情况下,保存和删除存储在 ~/.magic/super-magic.env 中的个人环境变量,以便在不同工作区之间复用。
只有当用户明确要求为当前工作区/项目保存或删除值时,才传入 "scope": "workspace"。
运行时的有效环境由工作区环境变量和个人环境变量合并而成。个人环境变量优先级最高,会覆盖具有相同键的工作区环境变量。 工具展示和结果绝不会回显明文值。
获取单个环境变量
如果只需要检查某个键是否已配置,优先使用 get_env。默认情况下,get_env 会查询最终有效环境(scope=all)。不要仅为检查单个键而调用 list_env,因为这样会向模型上下文暴露无关的环境变量名称和屏蔽后的值。
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("get_env", {
"key": "KEY_NAME",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
只有在需要检查某个键是否存在于特定存储范围时,才传入 "scope": "personal" 或 "scope": "workspace"。
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("get_env", {
"key": "KEY_NAME",
"scope": "workspace",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
设置个人环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("set_env", {
"key": "KEY_NAME",
"value": "value",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
设置工作区环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("set_env", {
"key": "KEY_NAME",
"value": "value",
"scope": "workspace",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
列出个人环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("list_env", {})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
列出工作区环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("list_env", {
"scope": "workspace",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
列出有效环境变量
"scope": "all" 表示工作区环境变量与个人环境变量合并后的最终有效环境。个人环境变量会覆盖具有相同键的工作区环境变量。
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("list_env", {
"scope": "all",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
取消设置个人环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("unset_env", {
"key": "KEY_NAME",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
取消设置工作区环境变量
run_sdk_snippet(python_code="""
from sdk.tool import tool
result = tool.call("unset_env", {
"key": "KEY_NAME",
"scope": "workspace",
})
if not result.ok:
raise SystemExit(result.content)
print(result.content)
""")
评论
支持 Markdown