From c67602f3017ea6e855e0095de4532d59706faabf Mon Sep 17 00:00:00 2001
From: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
Date: Fri, 21 Aug 2026 21:42:14 -0700
Subject: [PATCH] Improve custom agent onboarding with clearer copy and example
---
.../DataRecoveryPinExitCustomAgentExample.tsx | 42 ++++++++++---------
.../DataRecoveryPinExitNotice.test.tsx | 8 ++++
.../DataRecoveryPinExitNotice.tsx | 2 +-
src/renderer/src/i18n/locales/en.json | 3 +-
4 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/src/renderer/src/components/data-recovery/DataRecoveryPinExitCustomAgentExample.tsx b/src/renderer/src/components/data-recovery/DataRecoveryPinExitCustomAgentExample.tsx
index 070c4696feb..bf532a3479b 100644
--- a/src/renderer/src/components/data-recovery/DataRecoveryPinExitCustomAgentExample.tsx
+++ b/src/renderer/src/components/data-recovery/DataRecoveryPinExitCustomAgentExample.tsx
@@ -4,31 +4,36 @@ import { cn } from '@/lib/utils'
import { translate } from '@/i18n/i18n'
import type { BuiltInTuiAgent } from '../../../../shared/types'
-export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_NAME = 'gpt-5.6-luna-low'
+export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_NAME = 'Luna (low)'
export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_COMMAND =
'codex --model gpt-5.6-luna -c model_reasoning_effort="low"'
-export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_2_NAME = 'gpt-5.6-luna-high'
+export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_2_NAME = 'Luna (high)'
export const PIN_EXIT_CUSTOM_AGENT_EXAMPLE_2_COMMAND =
'codex --model gpt-5.6-luna -c model_reasoning_effort="high"'
-/** Static picker mock: shows custom agents as named rows among built-ins. */
+/** Static picker mock: customs sit under their base, with names a person would pick. */
export function DataRecoveryPinExitCustomAgentExample() {
return (
-
-
-
+
+ {translate('auto.components.dataRecovery.pinExitExampleCaption', 'Agent picker')}
+
+
+
+
+
+
)
}
@@ -51,8 +56,7 @@ function ExamplePickerRow({
className={cn(
'flex items-start gap-2.5 px-3 py-2',
selected &&
- 'bg-[color-mix(in_srgb,var(--foreground)_10%,var(--background))] shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--foreground)_12%,transparent)]',
- !selected && 'border-t border-border/60 first:border-t-0'
+ 'bg-[color-mix(in_srgb,var(--foreground)_10%,var(--background))] shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--foreground)_12%,transparent)]'
)}
data-current={selected ? 'true' : undefined}
>
diff --git a/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.test.tsx b/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.test.tsx
index f3dbae95bce..04976ee0cc8 100644
--- a/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.test.tsx
+++ b/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.test.tsx
@@ -88,10 +88,18 @@ describe('DataRecoveryPinExitNotice', () => {
render()
expect(await screen.findByRole('dialog')).toBeTruthy()
expect(screen.getByText('Custom agents are now available')).toBeTruthy()
+ expect(
+ screen.getByText(
+ 'Save a Codex, Claude, or other agent command under a name, then pick it from the agent list.'
+ )
+ ).toBeTruthy()
+ expect(screen.getByText('Agent picker')).toBeTruthy()
+ expect(screen.getByText('Codex')).toBeTruthy()
expect(screen.getByText(PIN_EXIT_CUSTOM_AGENT_EXAMPLE_NAME)).toBeTruthy()
expect(screen.getByText(PIN_EXIT_CUSTOM_AGENT_EXAMPLE_COMMAND)).toBeTruthy()
expect(screen.getByText(PIN_EXIT_CUSTOM_AGENT_EXAMPLE_2_NAME)).toBeTruthy()
expect(screen.getByText(PIN_EXIT_CUSTOM_AGENT_EXAMPLE_2_COMMAND)).toBeTruthy()
+ expect(screen.queryByText('Claude')).toBeNull()
expect(screen.getAllByText('Settings → Agents').length).toBeGreaterThanOrEqual(1)
expect(
screen.getByText('If you need to downgrade to a previous Orca version later')
diff --git a/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.tsx b/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.tsx
index c8864bc449c..448c98a4259 100644
--- a/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.tsx
+++ b/src/renderer/src/components/data-recovery/DataRecoveryPinExitNotice.tsx
@@ -99,7 +99,7 @@ export function DataRecoveryPinExitNotice() {
{translate(
'auto.components.dataRecovery.pinExitLead',
- 'A custom agent is saved arguments for a harness like Codex or Claude, picked by name.'
+ 'Save a Codex, Claude, or other agent command under a name, then pick it from the agent list.'
)}
diff --git a/src/renderer/src/i18n/locales/en.json b/src/renderer/src/i18n/locales/en.json
index 394549300da..fec69eb5103 100644
--- a/src/renderer/src/i18n/locales/en.json
+++ b/src/renderer/src/i18n/locales/en.json
@@ -16185,7 +16185,8 @@
"settingsRowHint": "You can restore the settings from before this update, then install the previous Orca.",
"settingsRowOpen": "Data recovery…",
"pinExitTitle": "Custom agents are now available",
- "pinExitLead": "A custom agent is saved arguments for a harness like Codex or Claude, picked by name.",
+ "pinExitLead": "Save a Codex, Claude, or other agent command under a name, then pick it from the agent list.",
+ "pinExitExampleCaption": "Agent picker",
"pinExitExampleBadge": "Custom",
"settingsAgents": "Settings → Agents",
"pinExitExampleHintPrefix": "Create them in",