mcpField
O
ops-settings

ops-settings

github.com/davepoonAgent 工作流3.7k69 次安装今天更新
代码仓库

关于 ops-settings

ops-settings 是用于管理 preferences 文件中凭据和集成设置的 Claude 技能。它可显示集成状态、更新或清除凭据,并在修改后运行列出的冒烟测试。

主要功能

  1. 01查看集成凭据状态
  2. 02检查指定集成是否有效
  3. 03更新或清除已存凭据
  4. 04更新后运行冒烟测试

适用场景

  1. 01检查已配置的集成
  2. 02替换集成凭据
  3. 03修改凭据后进行测试

MCP 相关

配置了 Doppler MCP 时,该技能可检查其配置,并使用 Doppler MCP 服务解析密钥。

安装

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill ops-settings

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

详细介绍

运行时上下文

PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
cat "$PREFS" 2>/dev/null || echo '{}'

OPS ► SETTINGS

在初始设置后管理凭据和集成配置。

解析参数

  • --status 或留空 → 显示完整的凭据状态仪表板
  • <integration-name> → 直接跳转到更新该集成(例如,/ops:settings stripe)
  • --status <integration-name> → 仅显示一个集成的状态

凭据状态仪表板

读取 preferences.json。对于每个已知集成,检查密钥是否存在且非空。此外,尽可能探测其是否正常运行。

以表格形式显示:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► SETTINGS — Integration Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Integration         Status        Last Updated
 ─────────────────── ────────────  ─────────────
 GitHub (gh cli)     ✅ active     (always active if gh auth status)
 Stripe              ✅ configured  2026-04-14
 RevenueCat          ✅ configured  2026-04-14
 Telegram            ✅ configured  2026-04-13
 Slack               ⚠️  missing    —
 Linear              ✅ configured  2026-04-11
 Sentry              ⚠️  missing    —
 AWS                 ✅ active     (always active if aws sts works)
 Shopify             ⚠️  missing    —
 Klaviyo             ⚠️  missing    —
 Meta Ads            ⚠️  missing    —
 GA4                 ⚠️  missing    —
 ElevenLabs          ⚠️  missing    —
 Datadog             ⚠️  missing    —
 New Relic           ⚠️  missing    —
 ...

 ✅ N configured   ⚠️ N missing
──────────────────────────────────────────────────────

探测运行状态

对于具有低成本健康检查的集成,运行检查,以区分“已配置但已过期”和“已配置且正常运行”:

集成探测正常运行信号
Stripecurl -s -o /dev/null -w "%{http_code}" -u "${stripe_key}:" https://api.stripe.com/v1/balance200
GitHubgh auth status 2>&1"已登录"
AWSaws sts get-caller-identity --output text 2>/dev/null退出码为 0
Linear`cat "$PREFS"jq -r .linear_team`
Doppler MCP检查是否设置了 DOPPLER_TOKEN 且有效令牌存在且 MCP 服务有响应

如果之前配置过密钥,但探测失败,则显示 🔴 已过期。

更新集成

选择特定集成时(通过参数指定或从仪表板中选择):

  1. 显示当前值(已屏蔽):sk_live_••••••••••••••••(显示最后 4 个字符)
  2. 使用 AskUserQuestion 确认更新操作:
    [Enter new value]  [Test current value]  [Clear this credential]  [Back to dashboard]
    
  3. 对于“输入新值”:使用 AskUserQuestion 文本输入提示
  4. 通过 jq 更新 preferences.json 中的新值:
    tmp=$(mktemp)
    jq --arg v "$NEW_VALUE" --arg k "$KEY_NAME" '.[$k] = $v' "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"
    
  5. 更新后立即运行冒烟测试(参见“冒烟测试”部分)
  6. 报告:✅ Stripe 密钥已更新 — 冒烟测试通过 或 ⚠️ 密钥已保存,但冒烟测试失败:<reason>

冒烟测试

集成冒烟测试命令
Stripecurl -s -u "${new_key}:" https://api.stripe.com/v1/balance | jq .object → 必须为 "balance"
RevenueCatcurl -s -H "Authorization: Bearer ${new_key}" "https://api.revenuecat.com/v2/projects" | jq '.items | length' → 非零
Telegramnode ${CLAUDE_PLUGIN_ROOT}/telegram-server/index.js --health 2>&1 → "healthy"
Slackcurl -s -H "Authorization: Bearer ${new_token}" https://slack.com/api/auth.test | jq .ok → true
Shopifycurl -s -H "X-Shopify-Access-Token: ${new_token}" "https://${store_url}/admin/api/2024-01/shop.json" | jq .shop.name → 非空
Klaviyocurl -s -H "Authorization: Klaviyo-API-Key ${new_key}" https://a.klaviyo.com/api/accounts/ | jq '.data[0].id' → 非空
Datadogcurl -s -H "DD-API-KEY: ${new_key}" https://api.datadoghq.com/api/v1/validate | jq .valid → true
New Relic`curl -s -H "Api-Key: ${new_key}" https://api.newrelic.com/v2/applications.json | jq '.applications
Doppler MCP设置 DOPPLER_TOKEN 后运行 npx -y @dopplerhq/mcp-server --help 2>&1

CLI/API 参考

命令用途
cat "$PREFS" | jq 'keys'列出所有已配置的密钥
jq --arg v "$V" --arg k "$K" '.[$k] = $v' "$PREFS"更新单个密钥
gh auth status验证 GitHub CLI 身份验证
aws sts get-caller-identity验证 AWS 身份验证

评论

支持 Markdown