diff --git a/csc-claude-anthropic-reference-report-ui-text-replacement-candidates.md b/csc-claude-anthropic-reference-report-ui-text-replacement-candidates.md new file mode 100644 index 000000000..9eeadf8b4 --- /dev/null +++ b/csc-claude-anthropic-reference-report-ui-text-replacement-candidates.md @@ -0,0 +1,28 @@ +# csc 项目 UI 文案可直接替换清单 + +- 目的:筛选出**只需要替换展示文案**、即可让 UI 页面显示 `CoStrict` 而不是 `Claude` / `Claude Code` / `Anthropic` 的内容。 +- 筛选原则: + 1. 仅保留用户可见文案,例如 `title`、`subtitle`、`message`、`placeholder`、`label`、`aria-label`、`` 文本。 + 2. 不纳入命令、包名、环境变量、URL、路径、主题 token、埋点名、注释说明。 + 3. 对账号体系、订阅体系、Desktop/Chrome 集成等文案,标记为“**可替换但需谨慎**”。 + +--- + +## 一、高置信:可直接文本替换的 UI 文案 + +这部分基本都属于纯展示文本,直接替换后主要影响界面显示,不会直接触发命令、配置或协议变更。 + +| 文件 | 行号 | 原文 | 建议替换为 | +| --- | ---: | --- | --- | +| `packages/remote-control-server/web/index.html` | L6 | `Remote Control — Claude Code` | `Remote Control — CoStrict` | +| `packages/remote-control-server/web/automation.js` | L280 | `Claude Code is in proactive mode and currently sleeping until the next wake-up or user message.` | `CoStrict is in proactive mode and currently sleeping until the next wake-up or user message.` | +| `packages/remote-control-server/web/automation.js` | L290 | `Claude Code is in proactive mode and waiting for the next scheduled check-in.` | `CoStrict is in proactive mode and waiting for the next scheduled check-in.` | +| `packages/remote-control-server/web/automation.js` | L299 / L309 | `Claude Code is in proactive mode and may continue working between user messages.` | `CoStrict is in proactive mode and may continue working between user messages.` | +| `packages/remote-control-server/web/automation.js` | L319 | `Claude Code is processing an automatic background trigger.` | `CoStrict is processing an automatic background trigger.` | +| `packages/remote-control-server/web/automation.js` | L361 | `aria-label="Claude Code status"` | `aria-label="CoStrict status"` | +| `packages/@ant/ink/src/theme/LoadingState.tsx` | L45 | `Fetching your Claude Code sessions...` | `Fetching your CoStrict sessions...` | +| `src/components/FeedbackSurvey/FeedbackSurveyView.tsx` | L26 | `How is Claude doing this session? (optional)` | `How is CoStrict doing this session? (optional)` | +| `src/components/FeedbackSurvey/TranscriptSharePrompt.tsx` | L43 | `Can Anthropic look at your session transcript to help us improve` | `Can CoStrict look at your session transcript to help us improve` | +| `src/components/CostThresholdDialog.tsx` | L12 | `You've spent $5 on the Anthropic API this session.` | `You've spent $5 on the CoStrict API this session.` | +| `src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx` | L47 | `Description (tell Claude when to use this agent)` | `Description (tell CoStrict when to use this agent)` | +| `src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx` | L68 | `When should Claude use this agent?` | `When should CoStrict use this agent?` | diff --git a/packages/@ant/ink/src/theme/LoadingState.tsx b/packages/@ant/ink/src/theme/LoadingState.tsx index ec1459cee..c209952f6 100644 --- a/packages/@ant/ink/src/theme/LoadingState.tsx +++ b/packages/@ant/ink/src/theme/LoadingState.tsx @@ -42,7 +42,7 @@ type LoadingStateProps = { * */ export function LoadingState({ diff --git a/packages/remote-control-server/web/automation.js b/packages/remote-control-server/web/automation.js index 801864c17..dc50c4004 100644 --- a/packages/remote-control-server/web/automation.js +++ b/packages/remote-control-server/web/automation.js @@ -277,7 +277,7 @@ export function getAutomationIndicator(state) { visible: true, label: "Autopilot", tone: "sleeping", - title: "Claude Code is in proactive mode and currently sleeping until the next wake-up or user message.", + title: "CoStrict is in proactive mode and currently sleeping until the next wake-up or user message.", iconVariant: "sleeping", }; } @@ -287,7 +287,7 @@ export function getAutomationIndicator(state) { visible: true, label: "Autopilot", tone: "proactive", - title: "Claude Code is in proactive mode and waiting for the next scheduled check-in.", + title: "CoStrict is in proactive mode and waiting for the next scheduled check-in.", iconVariant: "standby", }; } @@ -296,7 +296,7 @@ export function getAutomationIndicator(state) { visible: true, label: "Autopilot", tone: "proactive", - title: "Claude Code is in proactive mode and may continue working between user messages.", + title: "CoStrict is in proactive mode and may continue working between user messages.", iconVariant: "active", }; } @@ -306,7 +306,7 @@ export function getAutomationIndicator(state) { visible: true, label: "Autopilot", tone: "proactive", - title: "Claude Code is in proactive mode and may continue working between user messages.", + title: "CoStrict is in proactive mode and may continue working between user messages.", iconVariant: "active", }; } @@ -316,7 +316,7 @@ export function getAutomationIndicator(state) { visible: true, label: "Auto Run", tone: "auto-run", - title: "Claude Code is processing an automatic background trigger.", + title: "CoStrict is processing an automatic background trigger.", iconVariant: "active", }; } @@ -358,7 +358,7 @@ export function getAutomationActivity(state) { export function renderAutomationIcon(variant = "active", { className = "", decorative = true } = {}) { const classes = ["clawd-icon", `clawd-icon-${variant}`, className].filter(Boolean).join(" "); - const ariaAttrs = decorative ? 'aria-hidden="true"' : 'role="img" aria-label="Claude Code status"'; + const ariaAttrs = decorative ? 'aria-hidden="true"' : 'role="img" aria-label="CoStrict status"'; return ` diff --git a/packages/remote-control-server/web/automation.test.js b/packages/remote-control-server/web/automation.test.js index 144bbe213..ec03a5b5c 100644 --- a/packages/remote-control-server/web/automation.test.js +++ b/packages/remote-control-server/web/automation.test.js @@ -96,7 +96,7 @@ describe("automation helpers", () => { visible: true, label: "Autopilot", tone: "proactive", - title: "Claude Code is in proactive mode and may continue working between user messages.", + title: "CoStrict is in proactive mode and may continue working between user messages.", iconVariant: "active", }); @@ -154,7 +154,7 @@ describe("automation helpers", () => { visible: true, label: "Autopilot", tone: "proactive", - title: "Claude Code is in proactive mode and waiting for the next scheduled check-in.", + title: "CoStrict is in proactive mode and waiting for the next scheduled check-in.", iconVariant: "standby", }); expect(getAutomationActivity(state)).toEqual({ diff --git a/packages/remote-control-server/web/index.html b/packages/remote-control-server/web/index.html index dc83250ae..137e6fab8 100644 --- a/packages/remote-control-server/web/index.html +++ b/packages/remote-control-server/web/index.html @@ -3,7 +3,7 @@ - Remote Control — Claude Code + Remote Control — CoStrict diff --git a/src/components/CostThresholdDialog.tsx b/src/components/CostThresholdDialog.tsx index cf968f653..e9d426bdf 100644 --- a/src/components/CostThresholdDialog.tsx +++ b/src/components/CostThresholdDialog.tsx @@ -9,7 +9,7 @@ type Props = { export function CostThresholdDialog({ onDone }: Props): React.ReactNode { return ( diff --git a/src/components/FeedbackSurvey/FeedbackSurveyView.tsx b/src/components/FeedbackSurvey/FeedbackSurveyView.tsx index 5a8721e12..25abe9937 100644 --- a/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +++ b/src/components/FeedbackSurvey/FeedbackSurveyView.tsx @@ -23,7 +23,7 @@ const inputToResponse: Record = { export const isValidResponseInput = (input: string): input is ResponseInput => (RESPONSE_INPUTS as readonly string[]).includes(input) -const DEFAULT_MESSAGE = 'How is Claude doing this session? (optional)' +const DEFAULT_MESSAGE = 'How is CoStrict doing this session? (optional)' export function FeedbackSurveyView({ onSelect, diff --git a/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx b/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx index 35f623ce6..45c187448 100644 --- a/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +++ b/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx @@ -40,8 +40,8 @@ export function TranscriptSharePrompt({ {BLACK_CIRCLE} - Can Anthropic look at your session transcript to help us improve - CoStrict? + Can the CoStrict team look at your session transcript to help us + improve CoStrict? diff --git a/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx b/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx index 50a0d0590..778dbeeb4 100644 --- a/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +++ b/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx @@ -44,7 +44,7 @@ export function DescriptionStep(): ReactNode { return ( @@ -65,7 +65,7 @@ export function DescriptionStep(): ReactNode { } > - When should Claude use this agent? + When should CoStrict use this agent?