Web配置ACP

This commit is contained in:
2026-06-15 09:42:51 +08:00
parent 4c167b30e7
commit c6007c710d
2 changed files with 20 additions and 70 deletions
+18 -68
View File
@@ -1,92 +1,42 @@
<template> <template>
<header class="border-b border-gray-200 dark:border-gray-700 px-4 py-2 flex items-center gap-4"> <header class="border-b border-gray-200 dark:border-gray-700 px-4 py-2 flex items-center gap-4">
<h1 class="text-lg font-semibold"> <h1 class="text-lg font-semibold">Agent Coding Workflow</h1>
Agent Coding Workflow <nav v-if="auth.isAuthenticated" class="flex items-center gap-3 flex-1">
</h1> <RouterLink :to="{ name: 'home' }" class="text-sm hover:underline"> 首页 </RouterLink>
<nav <RouterLink :to="{ name: 'project-list' }" class="text-sm hover:underline"> 项目 </RouterLink>
v-if="auth.isAuthenticated" <RouterLink :to="{ name: 'chat-home' }" class="text-sm hover:underline"> 对话 </RouterLink>
class="flex items-center gap-3 flex-1" <RouterLink :to="{ name: 'prompt-templates' }" class="text-sm hover:underline">
>
<RouterLink
:to="{ name: 'home' }"
class="text-sm hover:underline"
>
首页
</RouterLink>
<RouterLink
:to="{ name: 'project-list' }"
class="text-sm hover:underline"
>
项目
</RouterLink>
<RouterLink
:to="{ name: 'chat-home' }"
class="text-sm hover:underline"
>
对话
</RouterLink>
<RouterLink
:to="{ name: 'prompt-templates' }"
class="text-sm hover:underline"
>
模板 模板
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'me-usage' }" class="text-sm hover:underline"> 我的用量 </RouterLink>
:to="{ name: 'me-usage' }"
class="text-sm hover:underline"
>
我的用量
</RouterLink>
<template v-if="auth.isAdmin"> <template v-if="auth.isAdmin">
<span class="text-neutral-300">|</span> <span class="text-neutral-300">|</span>
<RouterLink <RouterLink :to="{ name: 'admin-users' }" class="text-sm hover:underline">
:to="{ name: 'admin-users' }"
class="text-sm hover:underline"
>
用户 用户
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'admin-llm-endpoints' }" class="text-sm hover:underline">
:to="{ name: 'admin-llm-endpoints' }"
class="text-sm hover:underline"
>
LLM Endpoints LLM Endpoints
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'admin-llm-models' }" class="text-sm hover:underline">
:to="{ name: 'admin-llm-models' }"
class="text-sm hover:underline"
>
LLM Models LLM Models
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'admin-usage' }" class="text-sm hover:underline">
:to="{ name: 'admin-usage' }"
class="text-sm hover:underline"
>
全局用量 全局用量
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'admin-mcp-tokens' }" class="text-sm hover:underline">
:to="{ name: 'admin-mcp-tokens' }"
class="text-sm hover:underline"
>
MCP Tokens MCP Tokens
</RouterLink> </RouterLink>
<RouterLink <RouterLink :to="{ name: 'admin-acp-sessions' }" class="text-sm hover:underline">
:to="{ name: 'admin-acp-sessions' }"
class="text-sm hover:underline"
>
ACP 会话 ACP 会话
</RouterLink> </RouterLink>
<RouterLink :to="{ name: 'admin-acp-agent-kinds' }" class="text-sm hover:underline">
ACP 客户端
</RouterLink>
</template> </template>
</nav> </nav>
<span <span v-else class="flex-1" />
v-else
class="flex-1"
/>
<NotificationBell v-if="auth.isAuthenticated" /> <NotificationBell v-if="auth.isAuthenticated" />
<NDropdown <NDropdown v-if="auth.user" :options="menu" @select="onSelect">
v-if="auth.user"
:options="menu"
@select="onSelect"
>
<NButton text> <NButton text>
{{ auth.user.display_name }} {{ auth.user.display_name }}
</NButton> </NButton>
+2 -2
View File
@@ -107,8 +107,7 @@ const routes: RouteRecordRaw[] = [
{ {
path: '/prompt-templates', path: '/prompt-templates',
name: 'prompt-templates', name: 'prompt-templates',
component: () => component: () => import('@/views/prompt-templates/PromptTemplatesView.vue'),
import('@/views/prompt-templates/PromptTemplatesView.vue'),
meta: { requiresAuth: true }, meta: { requiresAuth: true },
}, },
{ {
@@ -162,6 +161,7 @@ const routes: RouteRecordRaw[] = [
}, },
{ {
path: '/admin/acp/agent-kinds', path: '/admin/acp/agent-kinds',
name: 'admin-acp-agent-kinds',
component: () => import('@/views/admin/AgentKindAdminListView.vue'), component: () => import('@/views/admin/AgentKindAdminListView.vue'),
meta: { requiresAuth: true, requiresAdmin: true }, meta: { requiresAuth: true, requiresAdmin: true },
}, },