Update copy (#1935)

Updated copy

---------

Co-authored-by: pap-openai <pap@openai.com>
This commit is contained in:
Ed Bayes
2025-08-07 03:29:33 -07:00
committed by GitHub
parent 5589c6089b
commit 1e4bf81653
10 changed files with 57 additions and 36 deletions

View File

@@ -854,7 +854,7 @@ export default function TerminalChatInput({
/> />
) : ( ) : (
<Text dimColor> <Text dimColor>
ctrl+c to exit | "/" to see commands | enter to send Ctrl+C to exit | "/" to see commands | Enter to send
{contextLeftPercent > 25 && ( {contextLeftPercent > 25 && (
<> <>
{" — "} {" — "}

View File

@@ -96,7 +96,7 @@ export default function HelpOverlay({
</Box> </Box>
<Box paddingX={1}> <Box paddingX={1}>
<Text dimColor>esc or q to close</Text> <Text dimColor>Esc or q to close</Text>
</Box> </Box>
</Box> </Box>
); );

View File

@@ -68,7 +68,7 @@ export function WaitingForAuth(): JSX.Element {
<Spinner type="ball" /> <Spinner type="ball" />
<Text> <Text>
{" "} {" "}
Waiting for authentication <Text dimColor>ctrl + c to quit</Text> Waiting for authentication <Text dimColor>Ctrl + C to quit</Text>
</Text> </Text>
</Box> </Box>
); );

View File

@@ -31,7 +31,7 @@ use crate::bottom_pane::textarea::TextAreaState;
use codex_file_search::FileMatch; use codex_file_search::FileMatch;
use std::cell::RefCell; use std::cell::RefCell;
const BASE_PLACEHOLDER_TEXT: &str = "..."; const BASE_PLACEHOLDER_TEXT: &str = "Ask Codex to do anything";
/// If the pasted content exceeds this number of characters, replace it with a /// If the pasted content exceeds this number of characters, replace it with a
/// placeholder in the UI. /// placeholder in the UI.
const LARGE_PASTE_CHAR_THRESHOLD: usize = 1000; const LARGE_PASTE_CHAR_THRESHOLD: usize = 1000;

View File

@@ -2,7 +2,7 @@
source: tui/src/bottom_pane/chat_composer.rs source: tui/src/bottom_pane/chat_composer.rs
expression: terminal.backend() expression: terminal.backend()
--- ---
"▌ ... " "▌ Ask Codex to do anything "
"▌ " "▌ "
"▌ " "▌ "
"▌ " "▌ "

View File

@@ -196,12 +196,11 @@ impl HistoryCell {
Span::raw(format!(" {cwd_str}")).dim(), Span::raw(format!(" {cwd_str}")).dim(),
]), ]),
Line::from("".dim()), Line::from("".dim()),
Line::from(" Try one of the following commands to get started:".dim()), Line::from(" To get started, describe a task or try one of these commands:".dim()),
Line::from("".dim()), Line::from("".dim()),
Line::from(format!(" 1. /init - {}", SlashCommand::Init.description()).dim()), Line::from(format!(" /init - {}", SlashCommand::Init.description()).dim()),
Line::from(format!(" 2. /status - {}", SlashCommand::Status.description()).dim()), Line::from(format!(" /status - {}", SlashCommand::Status.description()).dim()),
Line::from(format!(" 3. /compact - {}", SlashCommand::Compact.description()).dim()), Line::from(format!(" /diff - {}", SlashCommand::Diff.description()).dim()),
Line::from(format!(" 4. /new - {}", SlashCommand::New.description()).dim()),
Line::from("".dim()), Line::from("".dim()),
]; ];
HistoryCell::WelcomeMessage { HistoryCell::WelcomeMessage {

View File

@@ -104,7 +104,14 @@ impl AuthModeWidget {
Line::from(vec![ Line::from(vec![
Span::raw("> "), Span::raw("> "),
Span::styled( Span::styled(
"Sign in with your ChatGPT account?", "Sign in with ChatGPT to use Codex as part of your paid plan",
Style::default().add_modifier(Modifier::BOLD),
),
]),
Line::from(vec![
Span::raw(" "),
Span::styled(
"or connect an API key for usage-based billing",
Style::default().add_modifier(Modifier::BOLD), Style::default().add_modifier(Modifier::BOLD),
), ),
]), ]),
@@ -145,18 +152,18 @@ impl AuthModeWidget {
lines.extend(create_mode_item( lines.extend(create_mode_item(
0, 0,
AuthMode::ChatGPT, AuthMode::ChatGPT,
"Sign in with ChatGPT or create a new account", "Sign in with ChatGPT",
"Leverages your plan, starting at $20 a month for Plus", "Usage included with Plus, Pro, and Team plans",
)); ));
lines.extend(create_mode_item( lines.extend(create_mode_item(
1, 1,
AuthMode::ApiKey, AuthMode::ApiKey,
"Provide your own API key", "Provide your own API key",
"Pay only for what you use", "Pay for what you use",
)); ));
lines.push(Line::from("")); lines.push(Line::from(""));
lines.push( lines.push(
Line::from("Press Enter to continue") Line::from(" Press Enter to continue")
.style(Style::default().add_modifier(Modifier::DIM)), .style(Style::default().add_modifier(Modifier::DIM)),
); );
if let Some(err) = &self.error { if let Some(err) = &self.error {
@@ -179,8 +186,7 @@ impl AuthModeWidget {
let lines = vec![ let lines = vec![
Line::from(spans), Line::from(spans),
Line::from(""), Line::from(""),
Line::from(" Press Escape to cancel") Line::from(" Press Esc to cancel").style(Style::default().add_modifier(Modifier::DIM)),
.style(Style::default().add_modifier(Modifier::DIM)),
]; ];
Paragraph::new(lines) Paragraph::new(lines)
.wrap(Wrap { trim: false }) .wrap(Wrap { trim: false })
@@ -194,17 +200,30 @@ impl AuthModeWidget {
Line::from(""), Line::from(""),
Line::from("> Before you start:"), Line::from("> Before you start:"),
Line::from(""), Line::from(""),
Line::from(" Codex can make mistakes"), Line::from(" Decide how much autonomy you want to grant Codex"),
Line::from(" Check important info") Line::from(vec![
.style(Style::default().add_modifier(Modifier::DIM)), Span::raw(" For more details see the "),
Span::styled(
"\u{1b}]8;;https://github.com/openai/codex\u{7}Codex docs\u{1b}]8;;\u{7}",
Style::default().add_modifier(Modifier::UNDERLINED),
),
])
.style(Style::default().add_modifier(Modifier::DIM)),
Line::from(""), Line::from(""),
Line::from(" Due to prompt injection risks, only use it with code you trust"), Line::from(" Codex can make mistakes")
Line::from(" For more details see https://github.com/openai/codex") .style(Style::default().fg(Color::White)),
Line::from(" Review the code it writes and commands it runs")
.style(Style::default().add_modifier(Modifier::DIM)), .style(Style::default().add_modifier(Modifier::DIM)),
Line::from(""), Line::from(""),
Line::from(" Powered by your ChatGPT account"), Line::from(" Powered by your ChatGPT account"),
Line::from(" Uses your plan's rate limits and training data preferences") Line::from(vec![
.style(Style::default().add_modifier(Modifier::DIM)), Span::raw(" Uses your plan's rate limits and "),
Span::styled(
"\u{1b}]8;;https://chatgpt.com/#settings\u{7}training data preferences\u{1b}]8;;\u{7}",
Style::default().add_modifier(Modifier::UNDERLINED),
),
])
.style(Style::default().add_modifier(Modifier::DIM)),
Line::from(""), Line::from(""),
Line::from(" Press Enter to continue").style(Style::default().fg(LIGHT_BLUE)), Line::from(" Press Enter to continue").style(Style::default().fg(LIGHT_BLUE)),
]; ];
@@ -236,7 +255,10 @@ impl AuthModeWidget {
fn render_env_var_missing(&self, area: Rect, buf: &mut Buffer) { fn render_env_var_missing(&self, area: Rect, buf: &mut Buffer) {
let lines = vec![ let lines = vec![
Line::from("✘ OPENAI_API_KEY not found").style(Style::default().fg(Color::Red)), Line::from(
" To use Codex with the OpenAI API, set OPENAI_API_KEY in your environment",
)
.style(Style::default().fg(Color::Blue)),
Line::from(""), Line::from(""),
Line::from(" Press Enter to return") Line::from(" Press Enter to return")
.style(Style::default().add_modifier(Modifier::DIM)), .style(Style::default().add_modifier(Modifier::DIM)),

View File

@@ -18,9 +18,9 @@ pub(crate) struct WelcomeWidget {
impl WidgetRef for &WelcomeWidget { impl WidgetRef for &WelcomeWidget {
fn render_ref(&self, area: Rect, buf: &mut Buffer) { fn render_ref(&self, area: Rect, buf: &mut Buffer) {
let line = Line::from(vec![ let line = Line::from(vec![
Span::raw("> "), Span::raw(">_ "),
Span::styled( Span::styled(
"Welcome to Codex, OpenAI's coding agent that runs in your terminal", "Welcome to Codex, OpenAI's command-line coding agent",
Style::default().add_modifier(Modifier::BOLD), Style::default().add_modifier(Modifier::BOLD),
), ),
]); ]);

View File

@@ -27,15 +27,15 @@ impl SlashCommand {
/// User-visible description shown in the popup. /// User-visible description shown in the popup.
pub fn description(self) -> &'static str { pub fn description(self) -> &'static str {
match self { match self {
SlashCommand::New => "Start a new chat", SlashCommand::New => "start a new chat during a conversation",
SlashCommand::Init => "Create an AGENTS.md file with instructions for Codex", SlashCommand::Init => "create an AGENTS.md file with instructions for Codex",
SlashCommand::Compact => "Compact the chat history", SlashCommand::Compact => "summarize conversation to prevent hitting the context limit",
SlashCommand::Quit => "Exit the application", SlashCommand::Quit => "exit Codex",
SlashCommand::Diff => "Show git diff (including untracked files)", SlashCommand::Diff => "show git diff (including untracked files)",
SlashCommand::Status => "Show current session configuration and token usage", SlashCommand::Status => "show current session configuration and token usage",
SlashCommand::Logout => "Log out of Codex", SlashCommand::Logout => "log out of Codex",
#[cfg(debug_assertions)] #[cfg(debug_assertions)]
SlashCommand::TestApproval => "Test approval request", SlashCommand::TestApproval => "test approval request",
} }
} }

View File

@@ -238,7 +238,7 @@ impl WidgetRef for StatusIndicatorWidget {
Style::default().fg(Color::Gray).add_modifier(Modifier::DIM), Style::default().fg(Color::Gray).add_modifier(Modifier::DIM),
)); ));
spans.push(Span::styled( spans.push(Span::styled(
"Ctrl c", "Ctrl C",
Style::default() Style::default()
.fg(Color::Gray) .fg(Color::Gray)
.add_modifier(Modifier::DIM | Modifier::BOLD), .add_modifier(Modifier::DIM | Modifier::BOLD),