-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(sponsors): PackyCode preset, placement and overview links #3915
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
d63fe37
a0ecea9
e313c1b
b6be26a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -347,6 +347,14 @@ router, `orcarouter/auto`, that grades each prompt and picks the model. Create a | |
| [OrcaRouter console](https://www.orcarouter.ai/console); the preset pins the row near the top of the | ||
| Add provider picker and marks it as a sponsor, and nothing else about routing or defaults changes. | ||
|
|
||
| **PackyCode** ([sponsor](https://github.com/lidge-jun/opencodex/blob/main/SPONSORS.md)) is an API | ||
| relay for Claude Code, Codex, Gemini and more. The preset targets their OpenAI-compatible Chat | ||
| Completions endpoint, `https://cf.api.fan/v1`, with live model discovery narrowed to what your | ||
| token group allows (`gpt-5.5` and `gpt-5.1-codex` are seeded). Register at | ||
| [packyapi.com](https://www.packyapi.com/register?aff=k5KT) and create a Codex-group token; the preset | ||
| pins the row near the top of the Add provider picker and marks it as a sponsor, and nothing else about | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Identify PackyCode as a Standard sponsor. The paragraph says only “sponsor”. The provider guidance requires PackyCode to be identified as a Standard-sponsored relay so the documentation matches the picker and CLI sponsor tiers. Add “Standard sponsor” near the provider name. As per path instructions: PackyCode must be documented as a Standard-sponsored OpenAI-compatible relay. 🤖 Prompt for AI AgentsSource: Path instructions |
||
| routing or defaults changes. | ||
|
|
||
|
Comment on lines
+350
to
+357
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -euo pipefail
while IFS= read -r file; do
case "$file" in
*/ja/*|*/ko/*|*/ru/*|*/zh-cn/*)
printf '\n== %s ==\n' "$file"
rg -n 'PackyCode|packyapi|cf\.api\.fan|gpt-5\.5|gpt-5\.1-codex' "$file" || true
;;
esac
done < <(fd -t f 'providers\.md$' docs-site/src/content/docs | sort)Repository: lidge-jun/opencodex Length of output: 210 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== translated provider pages =='
git ls-files 'docs-site/src/content/docs/**/providers.md' | sort
printf '%s\n' '== PackyCode-related content =='
while IFS= read -r file; do
case "$file" in
*/ja/*|*/ko/*|*/ru/*|*/zh-cn/*)
printf '\n== %s ==\n' "$file"
rg -n -i 'PackyCode|packyapi|cf\.api\.fan|gpt-5\.5|gpt-5\.1-codex' "$file" || true
;;
esac
done < <(git ls-files 'docs-site/src/content/docs/**/providers.md' | sort)Repository: lidge-jun/opencodex Length of output: 1216 🏁 Script executed: #!/bin/bash
set -euo pipefail
git ls-files 'docs-site/src/content/docs/**/providers.md' | sortRepository: lidge-jun/opencodex Length of output: 1099 🏁 Script executed: #!/bin/bash
set -euo pipefail
for file in \
docs-site/src/content/docs/guides/providers.md \
docs-site/src/content/docs/ja/guides/providers.md \
docs-site/src/content/docs/ko/guides/providers.md \
docs-site/src/content/docs/ru/guides/providers.md \
docs-site/src/content/docs/zh-cn/guides/providers.md
do
printf '\n== %s ==\n' "$file"
rg -n -i -C 3 'PackyCode|packyapi|cf\.api\.fan|gpt-5\.5|gpt-5\.1-codex' "$file" || true
doneRepository: lidge-jun/opencodex Length of output: 3847 Add PackyCode to the maintained provider guides. The English guide documents PackyCode at lines 333-340, but these files contain no PackyCode entry,
Add a localized equivalent to each guide. Include the token-group setup, model discovery, registration URL, picker placement, sponsor label, and unchanged routing/default behavior. 🤖 Prompt for AI AgentsSource: Path instructions |
||
| | Provider | Base URL | | ||
| | --- | --- | | ||
| | **OpenAI (API key)** | `https://api.openai.com/v1` | | ||
|
|
@@ -370,6 +378,7 @@ Add provider picker and marks it as a sponsor, and nothing else about routing or | |
| | Baseten Model APIs | `https://inference.baseten.co/v1` | | ||
| | Command Code | `https://api.commandcode.ai/provider/v1` | | ||
| | OrcaRouter | `https://api.orcarouter.ai/v1` | | ||
| | PackyCode | `https://cf.api.fan/v1` | | ||
| | Meta Model API | `https://api.meta.ai/v1` | | ||
| | Meta Muse Code (CLI credential) | `https://api.meta.ai/v1` | | ||
| | SambaNova Cloud | `https://api.sambanova.ai/v1` | | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1940,6 +1940,25 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ | |
| preserveReasoningContentModels: ORCAROUTER_TEXT_ONLY_MODELS, | ||
| note: "OpenAI-compatible adaptive router. Models and multimodal capabilities are discovered live from the public chat catalog. Use the OrcaRouter account entry for PKCE login.", | ||
| }, | ||
| { | ||
| // PackyCode: API relay (packyapi.com) for Claude Code, Codex, Gemini and more. Codex traffic | ||
| // uses the OpenAI-compatible host from their Codex/Kimi Code guides (docs.packyapi.com): | ||
| // https://cf.api.fan/v1 — GET /v1/models answers 401 without a key, so the host is live and | ||
| // discovery narrows to what the key's token group allows. Model ids are bare OpenAI-style | ||
| // ids (the Codex token group lists gpt-5.5 / gpt-5.1-codex). | ||
| // Standard sponsor under SPONSORS.md; the dashboardUrl carries their affiliate code. | ||
| id: "packycode", label: "PackyCode", adapter: "openai-chat", baseUrl: "https://cf.api.fan/v1", | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| authKind: "key", dashboardUrl: "https://www.packyapi.com/register?aff=k5KT", | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
If an existing installation already has a custom key provider named AGENTS.md reference: AGENTS.md:L357-L362 Useful? React with 👍 / 👎. |
||
| sponsor: { tier: "standard", url: "https://www.packyapi.com/register?aff=k5KT" }, | ||
| defaultModel: "gpt-5.5", | ||
| models: ["gpt-5.5", "gpt-5.1-codex"], | ||
| liveModels: true, | ||
| // New key preset: opt into collision preservation so a row named `packycode` that a user | ||
| // points at a different PackyCode host keeps its own destination instead of being pulled | ||
| // back onto the Codex endpoint below. | ||
| preserveCustomDestination: true, | ||
| note: "API relay for Claude Code, Codex, Gemini and more. Create a Codex-group token at packyapi.com; live discovery lists what the token group allows.", | ||
| }, | ||
| { | ||
| // BizRouter: Korean enterprise LLM gateway (api.bizrouter.ai). Model ids are | ||
| // vendor-namespaced (`<vendor>/<model>`) and pass through to the upstream as-is. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use a repository-relative link for
SPONSORS.md.This link hard-codes
blob/main, so a branch or documentation preview can point to a different revision than the page under review. Use the repository-relative link form used bydocs-sitefor repository files.As per path instructions: “Use repository-relative links for repository files.”
🤖 Prompt for AI Agents
Source: Path instructions