关于 1password-environments
此技能通过本地 1Password MCP 服务管理 Developer Environment 变量,并将其挂载为 `.env` 文件;检查结果不包含秘密值。
主要功能
- 01列出 Developer Environment
- 02创建和重命名 Environment
- 03仅查看变量名,不返回值
- 04添加或更新变量
- 05将 Environment 挂载为 `.env` 文件
适用场景
- 01从 1Password 配置项目 `.env`
- 02安全检查已配置的变量名
- 03添加或更新项目凭据
- 04检查现有本地环境挂载
MCP 相关
此技能使用本地 1Password MCP 服务进行身份验证并管理 Developer Environment。服务只返回变量名,不返回秘密值,也可创建本地 `.env` 挂载。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ 1password/ 1password-codex-plugin --skill 1password-environments安装后在 Claude Code 中输入/1password-environments确认已加载。
附带文件agents/openai.yamlassets/icon.svg
详细介绍
1Password 环境
所有环境变量配置均使用本地 1Password MCP 服务。其工具只会返回变量名,不会返回机密值,因此机密信息会保留在 1Password 中。
适用场景
- 用户提到 1Password Environments、1Password Developer Environments、1Password MCP 服务,或来自 1Password 的本地
.env文件。 - 用户要求从机密管理器设置、挂载、创建或同步项目
.env文件,且 1Password 可用。 - 用户要求使用 1Password 安全地配置仓库环境变量、API 密钥、令牌、凭据或机密信息。
- 用户想要列出或比较 Environment 变量名,但不暴露机密值。
对于无关的密码管理器任务、任意本地 .env 文件解析,或非 1Password 机密存储,请勿使用此技能,除非用户要求将该配置迁移到 1Password。
要求
此技能依赖本地 1Password MCP 服务。如果当前会话中无法使用其工具,请帮助用户完成设置,不要自行臆测:
-
安装 1Password 桌面应用,前往 Settings > Developer,并启用 Integrate with MCP clients。
-
桌面应用会在
PATH上安装1password-mcp别名(支持 macOS、Windows 和 Linux)。 -
将客户端配置为启动
1password-mcp作为本地 MCP 服务。对于 Codex,将以下内容添加到~/.codex/config.toml:[mcp_servers.1password] command = "1password-mcp"
如果 Settings > Developer 中没有 Integrate with MCP clients,请更新
1Password。如果仍然没有该复选框,账户可能没有
ai-local-mcp-server 功能标志。如果该功能被管理员禁用,请让
管理员检查 Policies > Sharing and permissions > Agentic permissions > Local MCP server。
1Password 桌面应用会要求用户批准每个客户端连接,访问环境也可能需要额外批准。
工具
本地服务提供以下工具:
authenticate:向 1Password 桌面应用进行身份验证,并返回账户 ID。list_environments:列出账户的 Developer Environments。create_environment:创建新的 Developer Environment。rename_environment:重命名现有的 Developer Environment。list_variables:列出 Environment 中的变量名,不返回变量值。append_variables:添加或更新 Environment 变量。create_local_env_file:在 macOS 或 Linux 上将 Environment 挂载为本地.env文件。list_local_env_files:列出 Environment 的本地.env挂载。
它还提供以下文档资源:
1password://docs/getting-started1password://docs/environments-guide
工作流
- 如果当前轮次尚无账户 ID,请先调用
authenticate。1Password 桌面应用会要求用户批准连接。 - 后续调用使用
accountId。服务文档中返回值可能写作account_id;MCP 工具调用使用accountId和environmentId等驼峰式参数。 - 在操作 Environment 前,使用返回的
accountId调用list_environments,除非用户已提供当前的environmentId。 - 如果目标 Environment 不明确,请询问用户要使用哪个 Environment,不要猜测。
- 环境级调用使用服务返回的
environmentId。 - 用户想要查看 Environment 时,优先使用
list_variables。它只返回名称,不返回机密值。 - 仅当用户明确要求添加或更新变量时,才使用
append_variables。 - 在 macOS 或 Linux 上挂载本地
.env文件时,使用create_local_env_file,并传入用户指定的绝对路径mountPath。 - 创建重复挂载前,使用
list_local_env_files检查现有的本地挂载。
常见流程
将 1Password 挂载为此仓库的 .env
- 调用
authenticate。 - 调用
list_environments。 - 如果请求未明确指定 Environment,请让用户选择一个 Environment。
- 对选定的 Environment 调用
list_local_env_files,以避免重复挂载。 - 如果用户说“这里”“此仓库”或“此项目”,请将当前工作区的绝对
.env路径用作mountPath。 - 调用
create_local_env_file,并传入accountId、environmentId、environmentName和绝对mountPath。 - 告知用户挂载路径和 Environment 名称,但不要读取已挂载的
.env文件进行验证。
检查变量
- 调用
authenticate。 - 除非用户已提供
environmentId,否则调用list_environments。 - 对环境级调用使用服务端返回的
environmentId。 - 调用
list_variables,并且只总结变量名称。
添加或更新变量
- 确认用户明确希望创建或更新变量,并收集任何缺失的名称或值。
- 调用
authenticate并确定目标 Environment。 - 优先先调用
list_variables,以便确认请求的变量名称是否已存在。 - 使用当前会话中实际公开的 MCP 工具架构,调用
append_variables。 - 如果当前架构接受结构化变量对象,机密信息请使用
{ "name": "API_KEY", "value": "...", "concealed": true },仅对 URL 或功能标志等非敏感值使用concealed: false。 - 如果当前架构将
variables定义为string[],请勿发送不受支持的对象字段。请使用该架构要求的字符串格式;如果用户请求的变量格式不明确,请向用户确认。
错误处理
- 如果身份验证或环境访问失败,请告知用户可能需要在 1Password 桌面应用中批准请求、解锁应用或访问账户。
- 如果 MCP 工具不可用,请遵循上文“要求”部分,帮助用户启用并配置本地 MCP 服务。
- 本地
.env挂载仅记录了 macOS 和 Linux 的说明。
安全
- 不要泄露、记录或回显机密值。
- 不要仅为确认文件存在而读取已挂载的
.env文件;请改用 MCP 工具。 - 除非用户的请求已明确表达这一意图,否则在创建或修改 Environment 变量前请先询问。
- 即使 1Password 不会将明文机密内容持久化到磁盘,也要将本地
.env挂载视为敏感信息。 - 如果用户在聊天中粘贴了机密信息,请避免再次复述;改用变量名称指代。
说明
- 官方文档:https://www.1password.dev/environments 和 https://www.1password.dev/environments/mcp-codex-server
- 此技能也作为 1Password Codex 插件(https://github.com/1Password/1password-codex-plugin)的一部分分发,该插件会自动配置 MCP 服务。