mcpField
E
env-manager

env-manager

github.com/dtyq开发5.1k35 次安装4 天前更新
代码仓库

关于 env-manager

env-manager 是通过 SDK 工具管理环境变量的技能,适用于需要跨工作区保存个人配置或维护项目级变量的场景。它支持查看、设置、删除和列出变量,并避免在结果中回显明文值。

主要功能

  1. 01设置、读取和删除变量
  2. 02列出不同范围的变量
  3. 03合并个人与工作区环境
  4. 04结果不显示明文值

适用场景

  1. 01检查某个变量是否已配置
  2. 02保存可跨工作区复用的个人变量
  3. 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