diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json new file mode 100644 index 0000000..2932840 --- /dev/null +++ b/.agents/plugins/marketplace.json @@ -0,0 +1,20 @@ +{ + "name": "cjysa-free", + "interface": { + "displayName": "CJYSA 免费插件市场" + }, + "plugins": [ + { + "name": "cjysa-relay-basic", + "source": { + "source": "local", + "path": "./plugins/cjysa-relay-basic" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "ON_INSTALL" + }, + "category": "Developer Tools" + } + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..02a1ffe --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +## 0.1.0 - 2026-07-22 + +- 创建 CJYSA 免费插件市场。 +- 添加 `cjysa-relay-basic` 基础插件。 +- 添加 Codex 中转连接与能力诊断 Skill。 diff --git a/README.md b/README.md index 3fef8bb..637d846 100644 --- a/README.md +++ b/README.md @@ -1 +1,33 @@ -# codex- \ No newline at end of file +# CJYSA Codex Free Marketplace + +CJYSA 面向 Codex 用户提供的免费插件市场。 + +## 安装 + +在 Codex 中添加以下市场来源: + +```text +CJYSEX/codex- +``` + +添加后安装 `cjysa-relay-basic`。 + +## 当前插件 + +### cjysa-relay-basic + +提供基础的 Codex 中转连接与兼容性诊断,包括: + +- 模型列表与认证检查 +- Responses API 检查 +- SSE 流式输出检查 +- 首字延迟分层诊断 +- Web Search、图片生成和函数调用能力检查 + +## 安全 + +本仓库不包含任何客户 API Key、服务器密码或中转上游凭据。提交问题或诊断日志前,请先删除授权头、令牌、Cookie 和签名链接。 + +## 许可证 + +Apache-2.0 diff --git a/plugins/cjysa-relay-basic/.codex-plugin/plugin.json b/plugins/cjysa-relay-basic/.codex-plugin/plugin.json new file mode 100644 index 0000000..86252c8 --- /dev/null +++ b/plugins/cjysa-relay-basic/.codex-plugin/plugin.json @@ -0,0 +1,36 @@ +{ + "name": "cjysa-relay-basic", + "version": "0.1.0", + "description": "面向 Codex 中转用户的免费连接与兼容性诊断插件。", + "author": { + "name": "CJYSEX", + "url": "https://github.com/CJYSEX" + }, + "homepage": "https://github.com/CJYSEX/codex-", + "repository": "https://github.com/CJYSEX/codex-", + "license": "Apache-2.0", + "keywords": [ + "codex", + "relay", + "responses-api", + "diagnostics" + ], + "skills": "./skills/", + "interface": { + "displayName": "CJYSA 中转基础工具", + "shortDescription": "检测 Codex 中转连接、Responses、流式输出和工具能力。", + "longDescription": "提供不会泄露密钥的基础诊断流程,帮助用户检查 Codex 中转地址、模型列表、Responses API、SSE 流式输出和工具能力。", + "developerName": "CJYSEX", + "category": "Developer Tools", + "capabilities": [ + "Diagnostics", + "Read" + ], + "websiteURL": "https://github.com/CJYSEX/codex-", + "defaultPrompt": [ + "帮我检测当前 Codex 中转配置和可用能力。", + "检查 Responses API 和 SSE 流式输出是否正常。", + "排查 Web Search 或图片生成为什么不可用。" + ] + } +} diff --git a/plugins/cjysa-relay-basic/README.md b/plugins/cjysa-relay-basic/README.md new file mode 100644 index 0000000..a2972c5 --- /dev/null +++ b/plugins/cjysa-relay-basic/README.md @@ -0,0 +1,5 @@ +# CJYSA Relay Basic + +面向 Codex 中转用户的免费基础诊断插件。 + +插件只提供诊断工作流,不保存客户密钥,也不会在未经用户明确同意时修改 Codex 配置。 diff --git a/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/SKILL.md b/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/SKILL.md new file mode 100644 index 0000000..f9c5a80 --- /dev/null +++ b/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/SKILL.md @@ -0,0 +1,58 @@ +--- +name: diagnose-codex-relay +description: Diagnose Codex relay connectivity and compatibility without exposing credentials. Use when a user asks to test a custom API base URL, list available models, verify the Responses API or SSE streaming, investigate first-token latency, or check whether web search, image generation, and function calling are available through a relay. +--- + +# Diagnose Codex Relay + +Diagnose one layer at a time and report evidence instead of assuming a capability works. + +## Safety + +- Never print, quote, save, or commit an API key. +- Redact authorization headers, query tokens, cookies, passwords, and signed URLs. +- Prefer read-only health checks and minimal requests. +- Ask before running sustained concurrency or bandwidth tests. +- Do not modify Codex configuration unless the user explicitly asks for a change. + +## Workflow + +1. Identify the configured API base URL without displaying its secret. +2. Check DNS resolution, TLS validity, and basic HTTP reachability. +3. Request `/v1/models` and record status, elapsed time, and returned model IDs. +4. Send a minimal synchronous request to the requested model. +5. Test `/v1/responses` separately from Chat Completions. +6. Test SSE streaming and measure time to the first meaningful event. +7. Test function calling, web search, or image generation only when the user requests it. +8. Separate client, reverse-proxy, relay, and upstream latency when diagnosing delays. +9. Report results as passed, failed, unsupported, or not tested. + +## Evidence + +For each test, record: + +- Endpoint category, without secret query parameters. +- HTTP status or transport error. +- Total elapsed time and first-event latency where applicable. +- Whether valid response content was received. +- Whether the result proves the claimed capability. + +Do not claim web search succeeded without a returned search result or source. Do not claim image generation succeeded without a native image result or generated artifact. + +## Diagnosis Rules + +- `/v1/models` succeeding proves authentication and catalog access only. +- A synchronous response does not prove SSE streaming works. +- Chat Completions success does not prove the Responses API works. +- A model name appearing in the catalog does not prove tool support. +- Compare direct relay access with the public domain when isolating reverse-proxy delay. +- When context length affects latency, compare short and long prompts separately. + +## Output + +Return a compact table of tests, followed by: + +- The most likely fault layer. +- Tests that were not performed. +- The smallest next action. +- A reminder to rotate any credential accidentally exposed during testing. diff --git a/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/agents/openai.yaml b/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/agents/openai.yaml new file mode 100644 index 0000000..5b83aea --- /dev/null +++ b/plugins/cjysa-relay-basic/skills/diagnose-codex-relay/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Codex 中转诊断" + short_description: "检查中转连接、Responses、流式输出和工具能力" + default_prompt: "帮我检测当前 Codex 中转配置和可用能力。"