mcpField
C
configuring

configuring

github.com/oaustegard开发15742 次安装1 天前更新
代码仓库

关于 configuring

用于从多种 AI 编码环境读取环境变量、密钥和配置的 Python 工具。它会检测当前环境,并按规定优先级合并受支持的配置来源。

主要功能

  1. 01检测当前编码环境
  2. 02跨配置来源读取变量
  3. 03加载指定或全部环境文件
  4. 04掩码处理密钥以便安全记录

适用场景

  1. 01在不同编码环境中获取凭据
  2. 02加载项目和平台配置
  3. 03调试时检查配置来源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oaustegard/claude-skills --skill configuring

安装后在 Claude Code 中输入/configuring确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

__init__.py
.gitignore
CHANGELOG.md
README.md
assets/
example.env
examples/
turso_refactored.py
scripts/
__init__.py
getting_env.py

详细介绍

配置

在 AI 编码环境中统一管理配置。从任何 AI 编码平台加载环境变量、密钥和其他固化的配置设置。

快速入门

import sys
sys.path.insert(0, '/path/to/claude-skills')  # or wherever skills are installed
from configuring import get_env, detect_environment

# Get a variable (searches all sources automatically)
token = get_env("TURSO_TOKEN", required=True)

# With default
port = get_env("PORT", default="8080")

# What environment are we in?
env = detect_environment()  # "claude.ai", "claude-code-desktop", "codex", "jules", etc.

支持的环境

环境配置来源
Claude.ai Projects/mnt/project/*.env、/mnt/project/*-token.txt
Claude Code~/.claude/settings.json(env 块)、.claude/settings.json
OpenAI Codex~/.codex/config.toml、设置脚本 → ~/.bashrc、shell_snapshots/*.sh
Jules环境设置界面、仓库中的 .env
通用os.environ、.env、.env.local

API 参考

# Core
get_env(key, default=None, *, required=False, validator=None) -> str | None
load_env(path) -> dict[str, str]           # Load specific file
load_all(force_reload=False) -> dict       # Load all sources

# Utilities
detect_environment() -> str                 # Current platform
mask_secret(value, show_chars=4) -> str    # Safe logging
debug_info() -> dict                        # Troubleshooting
get_loaded_sources() -> list[str]          # What was checked

凭据文件格式

.env 文件(KEY=value):

TURSO_TOKEN=eyJhbGciOiJFZERTQSI...
EMBEDDING_API_KEY=sk-svcacct-...

单值文件(*-token.txt、*-key.txt):

eyJhbGciOiJFZERTQSI...

文件名将成为键:turso-token.txt → TURSO_TOKEN

Claude Code settings.json:

{
  "env": {
    "TURSO_TOKEN": "eyJhbGciOiJFZERTQSI..."
  }
}

优先级顺序

后面的来源会覆盖前面的来源:

  1. 操作系统环境变量
  2. 平台特定来源(自动检测)
  3. 当前工作目录中的 .env 文件
  4. 操作系统环境变量(再次读取——显式导出的变量始终优先)

调试

import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import debug_info
print(debug_info())
# {'environment': 'claude.ai', 'sources': ['os.environ', 'claude.ai:/mnt/project/'], ...}

CLI:

cd /path/to/claude-skills/configuring
python scripts/getting_env.py                    # Show debug info
python scripts/getting_env.py TURSO_TOKEN        # Get specific key

从 api-credentials / getting-env 迁移

替换为:

# Old (api-credentials)
from credentials import get_anthropic_api_key
key = get_anthropic_api_key()

# Old (getting-env)
from getting_env import get_env
key = get_env("ANTHROPIC_API_KEY")

# New (configuring)
import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import get_env
key = get_env("ANTHROPIC_API_KEY", required=True)

评论

支持 Markdown