feat: add MCP research access and browser key management

This commit is contained in:
yuxuanhui
2026-09-09 16:18:27 +08:00
parent 4debca7dbd
commit 45238280e3
47 changed files with 2642 additions and 44 deletions
+29 -26
View File
@@ -30,6 +30,7 @@ const navigation = [
{ id: "pipeline", label: "研究流水线", icon: IconBeaker, group: "研究编排" },
{ id: "quantflow", label: "QuantFlow", icon: IconBeaker, group: "研究编排" },
{ id: "alphas", label: "Alpha 管理", icon: IconGridView, group: "研究成果" },
{ id: "mcp-keys", label: "MCP Key", icon: IconCommand, group: "系统管理" },
{ id: "account", label: "个人信息", icon: IconUser, group: "" },
] as const;
@@ -172,33 +173,35 @@ export function AppSidebar({
</div>
)}
<nav className="sidebar-nav" aria-label="主导航">
{["数据与素材", "研究实验", "研究编排", "研究成果"].map((group) => (
<div key={group}>
{!collapsed && (
<div className="sidebar-group-heading">{group}</div>
)}
{navigation
.filter((item) => item.group === group)
.map(({ id, label, icon: Icon }) => (
<Tooltip
key={id}
content={label}
position="right"
visible={collapsed ? undefined : false}
>
<button
className={`sidebar-nav-item ${id === page ? "active" : ""}`}
aria-label={label}
aria-current={id === page ? "page" : undefined}
onClick={() => navigate(id)}
{["数据与素材", "研究实验", "研究编排", "研究成果", "系统管理"].map(
(group) => (
<div key={group}>
{!collapsed && (
<div className="sidebar-group-heading">{group}</div>
)}
{navigation
.filter((item) => item.group === group)
.map(({ id, label, icon: Icon }) => (
<Tooltip
key={id}
content={label}
position="right"
visible={collapsed ? undefined : false}
>
<Icon style={{ fontSize: 17 }} />
{!collapsed && <span>{label}</span>}
</button>
</Tooltip>
))}
</div>
))}
<button
className={`sidebar-nav-item ${id === page ? "active" : ""}`}
aria-label={label}
aria-current={id === page ? "page" : undefined}
onClick={() => navigate(id)}
>
<Icon style={{ fontSize: 17 }} />
{!collapsed && <span>{label}</span>}
</button>
</Tooltip>
))}
</div>
),
)}
</nav>
<div className="sidebar-footer">
{!collapsed && (