feat(desktop): 深色 AI 控制台视觉改造 + 工作台仪表盘
桌面端从扁平 dev 工具风改为深色高端 AI 控制台:分层表面 + 紫青强调 + 微光 + 首页仪表盘,提升第一印象与吸引力。 - 设计 tokens: tailwind ink 分层调色板 + glow/card 阴影; index.css 深色基底 + 品牌渐变 + 深色滚动条 - shell: TopBar(品牌渐变+毛玻璃+发光健康灯) / LeftNav(激活态紫色高亮+左光条) / BottomDrawer(深色+状态色) - 新 views/Home 工作台仪表盘: 渐变 hero + 4 状态卡 + 3 能力卡 + 快速开始(默认首页) - 画布: TypedNode 深色节点卡; StudioView ReactFlow colorMode=dark + 深色工具栏/面板/ MiniMap; Inspector 深色表单 - KbView/MemoryView/MemoryPanel/Placeholder 全深色化; 进度条改紫青渐变 - 纯前端改造, npm build✓; 浏览器验证: 仪表盘 + 编排画布深色呈现 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -19,32 +19,23 @@ export function MemoryPanel({ identity }: { identity: Identity }) {
|
||||
}
|
||||
};
|
||||
|
||||
const inputCls = "rounded-md border border-line bg-ink-800 px-2 py-1 text-sm text-slate-200 focus:border-violet-500/60 focus:outline-none";
|
||||
return (
|
||||
<section className="border-b p-4">
|
||||
<h2 className="mb-2 text-sm font-semibold text-gray-700">偏好记忆(让模型知道是我)</h2>
|
||||
<section className="border-b border-line p-4">
|
||||
<h2 className="mb-2 text-sm font-semibold text-slate-300">偏好记忆(让模型知道是我)</h2>
|
||||
<div className="flex flex-col gap-2">
|
||||
<input
|
||||
className="rounded border px-2 py-1 text-sm"
|
||||
value={key}
|
||||
onChange={(e) => setKey(e.target.value)}
|
||||
placeholder="键,如 称呼 / 回答偏好"
|
||||
/>
|
||||
<textarea
|
||||
className="h-16 resize-none rounded border px-2 py-1 text-sm"
|
||||
value={value}
|
||||
onChange={(e) => setValue(e.target.value)}
|
||||
placeholder="值"
|
||||
/>
|
||||
<button onClick={save} className="self-end rounded bg-emerald-600 px-3 py-1 text-sm text-white">
|
||||
<input className={inputCls} value={key} onChange={(e) => setKey(e.target.value)} placeholder="键,如 称呼 / 回答偏好" />
|
||||
<textarea className={`${inputCls} h-16 resize-none`} value={value} onChange={(e) => setValue(e.target.value)} placeholder="值" />
|
||||
<button onClick={save} className="self-end rounded-md bg-emerald-600 px-3 py-1 text-sm text-white hover:bg-emerald-500">
|
||||
记住
|
||||
</button>
|
||||
</div>
|
||||
{msg && <p className="mt-2 text-xs text-emerald-700">{msg}</p>}
|
||||
{msg && <p className="mt-2 text-xs text-emerald-400">{msg}</p>}
|
||||
{saved.length > 0 && (
|
||||
<ul className="mt-3 space-y-1">
|
||||
{saved.map((s) => (
|
||||
<li key={s.key} className="rounded bg-gray-50 px-2 py-1 text-xs text-gray-600">
|
||||
<span className="font-medium">{s.key}</span>:{s.value}
|
||||
<li key={s.key} className="rounded-md bg-ink-800 px-2 py-1 text-xs text-slate-400">
|
||||
<span className="font-medium text-slate-200">{s.key}</span>:{s.value}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user