From c57411f9a5b1c33b69d9d6086ac3480ebd52a041 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 7 Oct 2026 01:48:45 +0800 Subject: [PATCH] =?UTF-8?q?docs(copy):=20=E8=AE=BE=E7=BD=AE=E9=A1=B5?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E4=B8=8E=E6=99=BA=E8=83=BD=E4=BD=93=E5=88=86?= =?UTF-8?q?=E5=8C=BA=E6=96=87=E6=A1=88=E6=8C=89=20human-copy=20=E9=87=8D?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 改密码后的会话说法统一为「其他会话已退出」 - 模型服务向导里的 provider 统一写「提供方」 - 能力类别「提案」改「方案」;自动调查说明去掉「有界调查」 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei --- apps/web/app/components/settings/account.tsx | 10 +++++----- apps/web/app/components/settings/agent-tools.tsx | 4 ++-- apps/web/app/components/settings/agent.tsx | 2 +- apps/web/app/components/settings/pi-oauth.tsx | 2 +- apps/web/app/components/settings/pi-shared.tsx | 2 +- apps/web/app/components/settings/pi-wizard.tsx | 10 +++++----- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/web/app/components/settings/account.tsx b/apps/web/app/components/settings/account.tsx index 2fbaf3bc..0d8b5430 100644 --- a/apps/web/app/components/settings/account.tsx +++ b/apps/web/app/components/settings/account.tsx @@ -41,7 +41,7 @@ function PasswordBlock({ disabled }: { disabled: boolean }) { setErrors({}); try { const r = await change.mutateAsync({ currentPassword: form.currentPassword, newPassword: form.newPassword }); - toast.success(r.revokedSessions ? `密码已修改,注销了其它 ${r.revokedSessions} 个会话` : "密码已修改"); + toast.success(r.revokedSessions ? `密码已修改,其他 ${r.revokedSessions} 个会话已退出` : "密码已修改"); setForm(EMPTY_PWD); } catch (err) { const msg = errorMessage(err); @@ -58,7 +58,7 @@ function PasswordBlock({ disabled }: { disabled: boolean }) { section="account" anchor="password" title="修改密码" - description="修改后其它设备上的会话全部注销,当前会话保留。" + description="其他设备上的会话会退出登录,当前会话保留。" dirty={dirty} >
@@ -136,13 +136,13 @@ function SessionBlock() {
当前会话
{s?.expiresAt ? `到 ${formatDateTime(s.expiresAt)} 失效` : "未使用登录会话"}
-
其它会话
-
修改密码时全部注销
+
其他会话
+
修改密码时全部退出登录

本机 Token

- 只存在这个浏览器,有值时请求会带上它。{hasToken ? "已设置。" : "未设置。"} + 只保存在这个浏览器,有值时每个请求都会带上。{hasToken ? "已设置。" : "未设置。"}

= { read: "只读", preview: "预览", - propose: "提案", + propose: "方案", approve: "审批", execute: "执行", }; @@ -49,7 +49,7 @@ const RISK: Record = { }; const AUTH: Record = { - read_only: { label: "无需授权", tone: "neutral", hint: "只读或预览,不落变更,Key 有对应 scope 即可调用" }, + read_only: { label: "无需授权", tone: "neutral", hint: "只读或预览,不改数据;Key 有对应 scope 就能调用" }, granted: { label: "有持续授权", tone: "success", hint: "智能体、MCP、API Key 调用按持续授权放行" }, needs_approval: { label: "需审批", diff --git a/apps/web/app/components/settings/agent.tsx b/apps/web/app/components/settings/agent.tsx index fbae8051..29adea51 100644 --- a/apps/web/app/components/settings/agent.tsx +++ b/apps/web/app/components/settings/agent.tsx @@ -105,7 +105,7 @@ export const BUDGET_CARD: CardSpec = { export const INVESTIGATE_CARD: CardSpec = { anchor: "investigate", title: "自动处理", - description: "整理时识别不到作品就叫智能体识别;下载失败、集数对不上等问题出现时,自动发起一次有界调查。", + description: "整理时识别不到作品就叫智能体识别;下载失败、集数对不上时自动发起一次调查,受下面的上限约束。", fields: [ { name: "agent.autoIdentifyOrganize", diff --git a/apps/web/app/components/settings/pi-oauth.tsx b/apps/web/app/components/settings/pi-oauth.tsx index d2b10293..594cbfef 100644 --- a/apps/web/app/components/settings/pi-oauth.tsx +++ b/apps/web/app/components/settings/pi-oauth.tsx @@ -102,7 +102,7 @@ export function PiOAuthLogin({ abortRef.current = ac; while (!ac.signal.aborted) { if (Date.now() > new Date(s.expiresAt).getTime()) { - finish("expired", "授权已超时。"); + finish("expired", "授权已超时"); return; } try { diff --git a/apps/web/app/components/settings/pi-shared.tsx b/apps/web/app/components/settings/pi-shared.tsx index 01cd7e4f..faaeb49b 100644 --- a/apps/web/app/components/settings/pi-shared.tsx +++ b/apps/web/app/components/settings/pi-shared.tsx @@ -258,7 +258,7 @@ export function ModelFetchBar({ : remote ? `来源:远程 · ${formatRelative(data?.fetchedAt)}更新` : unsupported - ? "来源:静态(这个 provider 没有模型列表接口)" + ? "来源:静态(这个提供方没有模型列表接口)" : data ? "来源:静态" : null} diff --git a/apps/web/app/components/settings/pi-wizard.tsx b/apps/web/app/components/settings/pi-wizard.tsx index 33888752..12d4358b 100644 --- a/apps/web/app/components/settings/pi-wizard.tsx +++ b/apps/web/app/components/settings/pi-wizard.tsx @@ -70,7 +70,7 @@ export function PiUpstreamWizard({ open, onClose }: { open: boolean; onClose: () : (created?.name ?? ""); const description = step === "provider" - ? "第 1 步,共 3 步:选 provider" + ? "第 1 步,共 3 步:选提供方" : step === "config" ? "第 2 步,共 3 步:凭证与模型" : created?.authKind === "oauth" @@ -116,7 +116,7 @@ function ProviderPicker({ onPick }: { onPick: (p: PiProviderInfo) => void }) {
setFilter(e.target.value)} @@ -148,7 +148,7 @@ function ProviderPicker({ onPick }: { onPick: (p: PiProviderInfo) => void }) { ); })} - {list.length === 0 ?

没有匹配的 provider。

: null} + {list.length === 0 ?

没有匹配的提供方。

: null}
); } @@ -252,7 +252,7 @@ function ConfigStep({
{provider.note && !custom ?

{provider.note}

: null}
@@ -356,7 +356,7 @@ function ConfigStep({ htmlFor="pw-model" error={errors.defaultModel} required={custom} - hint={custom ? "端点上的模型 id" : "留空用 provider 的默认模型"} + hint={custom ? "端点上的模型 id" : "留空用提供方的默认模型"} className="sm:col-span-2" >