docs(codex-dashboard): streamline Codex guidance copy

This commit is contained in:
Tam Nhu Tran
2026-04-01 15:44:06 -04:00
parent 7dd0edb8cd
commit 7fd2acadbe
2 changed files with 108 additions and 88 deletions
@@ -107,25 +107,29 @@ export function CodexDocsTab({ diagnostics }: CodexDocsTabProps) {
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent className="space-y-3 text-sm text-muted-foreground"> <CardContent className="space-y-3 text-sm text-muted-foreground">
<p> <div className="space-y-1.5">
Use <code>ccsxp</code> if you want the built-in CCS Codex provider shortcut on native <p>
Codex. Use the saved recipe below if you want plain <code>codex</code> or a personal <strong>Built-in:</strong> Use <code>ccsxp</code> for the CCS provider shortcut.
alias like <code>cxp</code> to default to CLIProxy. </p>
</p> <p>
<strong>Native:</strong> Configure the recipe below to use CLIProxy directly with{' '}
<code>codex</code>.
</p>
</div>
<pre className="overflow-x-auto rounded-md border bg-muted/20 p-3 text-xs text-foreground"> <pre className="overflow-x-auto rounded-md border bg-muted/20 p-3 text-xs text-foreground">
{CLIPROXY_NATIVE_CODEX_RECIPE} {CLIPROXY_NATIVE_CODEX_RECIPE}
</pre> </pre>
<div className="space-y-1"> <ol className="ml-4 list-decimal space-y-1.5 [&>li]:pl-1">
<p> <li>
1. Save the <code>cliproxy</code> provider in your user config. Save the <code>cliproxy</code> provider in your user config.
</p> </li>
<p> <li>
2. Set top-level <code>model_provider</code> to <code>cliproxy</code>. Set top-level <code>model_provider</code> to <code>cliproxy</code>.
</p> </li>
<p> <li>
3. Export <code>CLIPROXY_API_KEY</code> in your shell before launching native Codex. Export <code>CLIPROXY_API_KEY</code> before launching native Codex.
</p> </li>
</div> </ol>
</CardContent> </CardContent>
</Card> </Card>
@@ -137,11 +141,13 @@ export function CodexDocsTab({ diagnostics }: CodexDocsTabProps) {
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent className="space-y-2 text-sm"> <CardContent className="space-y-2 text-sm">
{docsReference.notes.map((note, index) => ( {docsReference.notes.length > 0 && (
<p key={`${index}-${note}`} className="text-muted-foreground"> <ul className="ml-4 list-disc space-y-1.5 text-muted-foreground [&>li]:pl-1">
- {renderTextWithLinks(note)} {docsReference.notes.map((note, index) => (
</p> <li key={`${index}-${note}`}>{renderTextWithLinks(note)}</li>
))} ))}
</ul>
)}
<Separator /> <Separator />
<div className="space-y-2"> <div className="space-y-2">
<p className="text-xs uppercase tracking-wide text-muted-foreground">Codex docs</p> <p className="text-xs uppercase tracking-wide text-muted-foreground">Codex docs</p>
@@ -74,31 +74,23 @@ export function CodexOverviewTab({ diagnostics }: CodexOverviewTabProps) {
How Codex works in CCS How Codex works in CCS
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent className="space-y-2 text-sm text-muted-foreground"> <CardContent className="text-sm text-muted-foreground">
<p>Codex is a first-class runtime target in CCS, but it stays runtime-only in v1.</p> <ul className="ml-4 list-disc space-y-1.5 [&>li]:pl-1">
<p> <li>Codex is a first-class, runtime-only target in CCS v1.</li>
<code>ccs-codex</code> and <code>ccsx</code> launch native Codex against your saved <li>
native config, while <code>ccsxp</code> is the opinionated shortcut for{' '} <strong>Native config:</strong> <code>ccs-codex</code> and <code>ccsx</code> launch
<code>ccs codex --target codex</code>. native Codex using your saved defaults.
</p> </li>
<p> <li>
Plain <code>codex</code> or a personal alias like <code>cxp</code> needs{' '} <strong>Transient overrides:</strong> <code>ccsxp</code> (or{' '}
<code>model_provider = "cliproxy"</code> plus a matching{' '} <code>ccs codex --target codex</code>) uses the CCS provider shortcut.
<code>[model_providers.cliproxy]</code> entry if you want CLIProxy as the saved native </li>
default. <li>
</p> <strong>CLIProxy default:</strong> To make plain <code>codex</code> use CLIProxy,
<p> set <code>model_provider = "cliproxy"</code> and add the recipe below.
Built-in <code>openai</code> and <code>oss</code> providers are also valid native </li>
defaults and do not need a custom <code>[model_providers]</code> stanza. <li>API profiles continue to default to Claude or Droid.</li>
</p> </ul>
<p>
Saved default targets for API profiles and variants still remain on Claude or Droid.
</p>
<p>
CCS-backed Codex launches can apply transient <code>-c</code> overrides and inject
<code> CCS_CODEX_API_KEY</code>, so effective runtime values may not match this file
exactly.
</p>
</CardContent> </CardContent>
</Card> </Card>
@@ -145,32 +137,40 @@ export function CodexOverviewTab({ diagnostics }: CodexOverviewTabProps) {
<CardContent className="space-y-3 text-sm text-muted-foreground"> <CardContent className="space-y-3 text-sm text-muted-foreground">
{supportsManagedRouting ? ( {supportsManagedRouting ? (
<> <>
<p> <div className="space-y-1.5">
There are two supported paths. Use <code>ccsxp</code> if you want the built-in CCS <p>
Codex provider shortcut. Use the saved recipe below if you want plain{' '} <strong>Two supported paths:</strong>
<code>codex</code> or a personal alias like <code>cxp</code> to default to </p>
CLIProxy. <ul className="ml-4 list-disc space-y-1 [&>li]:pl-1">
</p> <li>
<strong>Built-in:</strong> Use <code>ccsxp</code> for the CCS provider
shortcut.
</li>
<li>
<strong>Native:</strong> Configure the recipe below to use CLIProxy directly
with <code>codex</code>.
</li>
</ul>
</div>
<div className="rounded-md border bg-muted/20 p-3"> <div className="rounded-md border bg-muted/20 p-3">
<p className="font-medium text-foreground">Saved native Codex recipe</p> <p className="font-medium text-foreground">Saved native Codex recipe</p>
<pre className="mt-2 overflow-x-auto rounded-md bg-background p-3 text-xs text-foreground"> <pre className="mt-2 overflow-x-auto rounded-md bg-background p-3 text-xs text-foreground">
{CLIPROXY_NATIVE_CODEX_RECIPE} {CLIPROXY_NATIVE_CODEX_RECIPE}
</pre> </pre>
</div> </div>
<div className="space-y-1"> <ol className="ml-4 list-decimal space-y-1.5 [&>li]:pl-1">
<p> <li>
1. Save a provider named <code>cliproxy</code> with the base URL and env key Save a provider named <code>cliproxy</code> with the base URL and env key above.
above. </li>
</p> <li>
<p> In <strong>Top-level settings</strong>, set <strong>Default provider</strong> to{' '}
2. In <strong>Top-level settings</strong>, set <strong>Default provider</strong>{' '} <code>cliproxy</code>.
to <code>cliproxy</code>. </li>
</p> <li>
<p> Export <code>CLIPROXY_API_KEY</code> in your shell before launching native
3. Export <code>CLIPROXY_API_KEY</code> in your shell before launching native
Codex. Codex.
</p> </li>
</div> </ol>
</> </>
) : ( ) : (
<p> <p>
@@ -320,30 +320,44 @@ export function CodexOverviewTab({ diagnostics }: CodexOverviewTabProps) {
</CardTitle> </CardTitle>
</CardHeader> </CardHeader>
<CardContent className="grid gap-3 md:grid-cols-2"> <CardContent className="grid gap-3 md:grid-cols-2">
<div className="rounded-md border p-3 text-sm"> <div className="flex flex-col rounded-md border p-3 text-sm">
<p className="font-medium">Native Codex runtime</p> <p className="font-medium text-foreground">Native Codex runtime</p>
<p className="mt-1 text-muted-foreground"> <ul className="mt-2 flex-grow list-disc space-y-1.5 pl-4 text-muted-foreground [&>li]:pl-1">
Use <code>ccs-codex</code>, <code>ccsx</code>, or <code>--target codex</code> when <li>
you want the local Codex CLI to honor your saved native user config. <code>ccs-codex</code>
</p> </li>
<li>
<code>ccsx</code>
</li>
<li>
<code>--target codex</code>
</li>
</ul>
<Badge variant="secondary" className="mt-4 w-fit justify-center font-normal">
Honors saved native user config
</Badge>
</div> </div>
<div className="rounded-md border p-3 text-sm"> <div className="flex flex-col rounded-md border p-3 text-sm">
<p className="font-medium">CCS Codex provider / bridge</p> <p className="font-medium text-foreground">CCS Codex provider / bridge</p>
<p className="mt-1 text-muted-foreground"> {supportsManagedRouting ? (
{supportsManagedRouting ? ( <>
<> <ul className="mt-2 flex-grow list-disc space-y-1.5 pl-4 text-muted-foreground [&>li]:pl-1">
Use <code>ccsxp</code> or <code>ccs codex --target codex</code> when you want <li>
the built-in CCS Codex provider on native Codex. That path uses transient <code>ccsxp</code>
CCS-managed overrides and is separate from the saved <code>cliproxy</code>{' '} </li>
recipe above. <li>
</> <code>ccs codex --target codex</code>
) : ( </li>
<> </ul>
The CCS Codex provider route is currently unavailable because the detected Codex <Badge variant="secondary" className="mt-4 w-fit justify-center font-normal">
build does not expose <code>--config</code> overrides. Uses transient overrides
</> </Badge>
)} </>
</p> ) : (
<p className="mt-2 text-muted-foreground">
Unavailable (Codex build lacks <code>--config</code> support).
</p>
)}
</div> </div>
</CardContent> </CardContent>
</Card> </Card>