feat(context): 添加上下文压缩 API 和 UI 组件

Server API:
- 扩展 Agent Adapter 接口添加压缩相关方法
- 新增 context.ts 路由 (GET /sessions/:id/context, POST /sessions/:id/compress)
- 扩展 config.ts 添加摘要模型配置接口 (GET/PUT /config/summary)

UI 组件:
- 新增 ContextUsage 组件显示上下文使用情况
- 扩展 ConfigPanel 添加摘要模型配置区域
- 添加 API 客户端方法和类型定义

Web 集成:
- 在 Chat 页面头部集成 ContextUsage 紧凑模式显示
This commit is contained in:
2025-12-14 20:33:51 +08:00
parent f54f24b079
commit 70a9a154a4
13 changed files with 934 additions and 10 deletions
+11
View File
@@ -12,6 +12,7 @@ import {
TypingIndicator,
ChatInput,
PermissionDialog,
ContextUsage,
} from '@ai-assistant/ui';
interface ChatPageProps {
@@ -138,6 +139,16 @@ export function ChatPage({
<div className="flex items-center justify-between px-4 md:px-6 py-3 border-b border-gray-700 bg-gray-800">
<h1 className="text-lg font-medium">Chat</h1>
<div className="flex items-center gap-3">
{/* 上下文使用情况 - 紧凑模式 */}
{sessionId && (
<ContextUsage
sessionId={sessionId}
compact
showCompressButton={false}
refreshInterval={30000}
/>
)}
{/* 连接状态 */}
<ConnectionStatus />