From 146055cad2f4bd0f483f29aa9bfead5343d87abb Mon Sep 17 00:00:00 2001 From: leeguooooo <9278645+leeguooooo@users.noreply.github.com> Date: Wed, 7 Oct 2026 10:45:53 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=8B=E6=9E=B6=20curl-crypto-plugin?= =?UTF-8?q?=EF=BC=8C=E8=A1=A5=E5=85=A8=20Codex=20=E5=85=A8=E5=AE=B6?= =?UTF-8?q?=E6=97=8F=E5=AE=89=E8=A3=85=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - marketplace.json / README 移除 curl-crypto-plugin,README 新增 Retired 段说明原因与卸载方式(源码仓库保留) - README 的 Codex 安装示例改为可直接复制的循环,名单与 use-family dependencies 一致,并说明只装插件、CLI 与账号初始化另做 - 新增 tests/readme-codex-list.test.sh,CI 校验 README 名单与 dependencies 一致、curl-crypto 未回到 marketplace Closes #27 Closes #28 --- .claude-plugin/marketplace.json | 12 ------------ .github/workflows/test.yml | 1 + README.md | 19 ++++++++++--------- tests/readme-codex-list.test.sh | 16 ++++++++++++++++ 4 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 tests/readme-codex-list.test.sh diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index b4a0053..f910aef 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -7,18 +7,6 @@ "email": "leeguooooo@gmail.com" }, "plugins": [ - { - "name": "curl-crypto-plugin", - "description": "Decrypt encrypted curl request parameters and encrypt payloads for test-service calls.", - "version": "0.1.3", - "category": "development", - "source": { - "source": "url", - "url": "https://github.com/leeguooooo/curl-crypto-plugin.git", - "ref": "main" - }, - "homepage": "https://github.com/leeguooooo/curl-crypto-plugin" - }, { "name": "wrangler-accounts", "description": "Cloudflare Wrangler multi-account helper. AWS-style profiles for Claude Code with a guard hook that blocks raw wrangler calls.", diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1ad1a56..36785a2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 - run: sh tests/install-use-family.test.sh + - run: sh tests/readme-codex-list.test.sh - name: install-use-family.ps1 parses shell: pwsh run: | diff --git a/README.md b/README.md index 53d258e..1722db7 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,6 @@ Developer plugins for Claude Code. ## Plugins -### [curl-crypto-plugin](https://github.com/leeguooooo/curl-crypto-plugin) - -Decrypt encrypted curl request parameters and encrypt payloads for test-service calls. - -**Claude Code:** `/plugin install curl-crypto-plugin@leeguooooo-plugins` - ### [wrangler-accounts](https://github.com/leeguooooo/wrangler-accounts) Cloudflare Wrangler multi-account helper. AWS-style profiles with a guard hook that blocks raw `wrangler` calls when local profiles are configured. @@ -54,14 +48,17 @@ Agent-native CLIs that let coding agents drive real, logged-in surfaces — a br `use-family` installs every `*-use` plugin below as a dependency, adds a `use-family` skill that tells the agent which one to reach for and how they combine, and checks at session start for any missing CLI (it only names the one-line installer; nothing runs without asking). -**Codex and the ChatGPT desktop app.** Add the same marketplace, then add the uses you want. Codex doesn't install plugin dependencies, so `use-family` there brings in the routing skill alone; add each `*-use` by name: +**Codex and the ChatGPT desktop app.** Codex doesn't install plugin dependencies, so `use-family` there brings in the routing skill alone and every `*-use` has to be added by name. To add the whole family: ```sh codex plugin marketplace add leeguooooo/plugins -codex plugin add use-family@leeguooooo-plugins -codex plugin add chrome-use@leeguooooo-plugins # and mail-use, memory-use, … +for plugin in use-family chrome-use cookie-use mail-use message-use paste-use wechat-use discord-use iphone-use profile-use memory-use ocs bitwarden-use chatgpt-use image-use motion-use; do + codex plugin add "$plugin@leeguooooo-plugins" || break +done ``` +The list is `use-family`'s `dependencies` in [plugins/use-family/.claude-plugin/plugin.json](plugins/use-family/.claude-plugin/plugin.json); drop the ones you don't want. This installs the plugins (skills) only. The CLIs still install themselves on first use or with the one-line installers below, and a few uses need a one-time setup of their own (for example `memory-use init`, adding a mailbox to `mail-use`). + The marketplace also shows up in the ChatGPT desktop app's Plugins Directory. `codex plugin marketplace upgrade leeguooooo-plugins` refreshes it. **Any other agent that reads `~/.agents/skills`.** Use the installer. It clones every `*-use` into `~/.agents/use-family` and links each skill into `~/.agents/skills`; run it again to update. @@ -212,6 +209,10 @@ Turn a ChatGPT web subscription into a coding-agent backend — no API key, no C +## Retired + +**curl-crypto-plugin** is no longer offered here: it needs a private runtime that the plugin doesn't ship, so a fresh install can't run. The source stays at [leeguooooo/curl-crypto-plugin](https://github.com/leeguooooo/curl-crypto-plugin). To remove an existing install: `/plugin uninstall curl-crypto-plugin@leeguooooo-plugins`. + ## More plugins coming New plugins will be added here as they are released. Star the repo to follow updates. diff --git a/tests/readme-codex-list.test.sh b/tests/readme-codex-list.test.sh new file mode 100644 index 0000000..92183ba --- /dev/null +++ b/tests/readme-codex-list.test.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# The README's Codex loop must name every use-family dependency, or Codex users silently miss one. +# sh tests/readme-codex-list.test.sh +set -eu +ROOT=$(cd "$(dirname "$0")/.." && pwd) +want=$(jq -r '.dependencies[]' "$ROOT/plugins/use-family/.claude-plugin/plugin.json" | sort) +line=$(grep '^for plugin in use-family ' "$ROOT/README.md") || { echo "FAIL: no Codex install loop in README.md"; exit 1; } +got=$(echo "$line" | sed 's/^for plugin in use-family //; s/; do$//' | tr ' ' '\n' | sort) +if [ "$want" != "$got" ]; then + echo "FAIL: README Codex loop differs from use-family dependencies" + echo "want:" $want; echo "got: " $got + exit 1 +fi +jq -e '[.plugins[].name] | index("curl-crypto-plugin") | not' "$ROOT/.claude-plugin/marketplace.json" >/dev/null \ + || { echo "FAIL: curl-crypto-plugin is back in marketplace.json"; exit 1; } +echo "ok README Codex list"