docs(plan): v0.2 adds Pi subagents and scheduled-jobs board

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
rootandClaude Fable 5.1 committed 2026-09-28 02:09:39 +08:00
1 parent b839ed4056
commit 16ab2a6c84
97 files changed
+592 -648

No files matched your search

@@ -147,14 +147,14 @@ function TotpDialog({ open, onOpenChange }: { open: boolean; onOpenChange: (o: b
try {
if (enabled) {
if (!password) {
setError("请输入当前密码");
setError("输入当前密码");
return;
}
await action.mutateAsync({ action: "disable", password, code });
toast.success("已关闭二次验证");
} else {
await action.mutateAsync({ action: "enable", code });
toast.success("已开启二次验证,下次登录需要输入验证码");
toast.success("已开启二次验证");
}
reset();
onOpenChange(false);
@@ -174,8 +174,8 @@ function TotpDialog({ open, onOpenChange }: { open: boolean; onOpenChange: (o: b
{status.isLoading
? "读取状态…"
: enabled
? "已开启:登录时需要验证器里的 6 位验证码。关闭需要当前密码和验证码。"
: "未开启:开启后登录除密码外还需要验证器(如 1Password、Google Authenticator)里的 6 位验证码。"}
? "已开启。关闭需要当前密码和验证码。"
: "未开启。开启后登录还要输入验证器里的 6 位验证码。"}
</DialogDescription>
</DialogHeader>
{!enabled && !setup ? (
@@ -190,8 +190,7 @@ function TotpDialog({ open, onOpenChange }: { open: boolean; onOpenChange: (o: b
{setup ? (
<div className="mb-2 grid gap-1.5">
<p className="text-meta text-muted-foreground">
在验证器里选“手动输入密钥”,填入下面的密钥(基于时间,6 位);或把 otpauth
链接粘贴到支持的验证器。密钥只显示这一次。
在验证器里手动输入下面的密钥,或粘贴 otpauth 链接。密钥只显示这一次。
</p>
<code className="rounded-md bg-muted px-2 py-1.5 font-mono text-sm break-all select-all">
{grouped}
@@ -46,7 +46,7 @@ export function ApiKeyDialog() {
<Input
type="password"
autoComplete="off"
placeholder={hasKey ? "已设置,输入新值以替换" : "粘贴 API Key"}
placeholder={hasKey ? "输入新值替换" : "粘贴 API Key"}
value={value}
onChange={(e) => setValue(e.target.value)}
/>
@@ -11,11 +11,7 @@ export function WorkspacePlaceholder({ milestone = "W3" }: { milestone?: string
return (
<>
<PageHeader title={item?.label ?? "未命名页面"} description={item?.description} />
<EmptyState
icon={item?.icon ?? Construction}
title="这个工作区还在建设中"
description={`计划在 ${milestone} 接入真实数据。`}
/>
<EmptyState icon={item?.icon ?? Construction} title="尚未接入" description={`计划在 ${milestone} 接入。`} />
</>
);
}