Commit Graph

76 Commits

Author SHA1 Message Date
gaoziman
61fe53915c feat(API): 添加摘要生成接口
- 实现 POST /api/summary/generate 流式摘要生成
- 支持 Claude 和 OpenAI 两种 API 格式
- 配置摘要长度和风格的 Prompt 模板
- 自动保存生成的摘要到数据库
2025-12-28 01:31:07 +08:00
gaoziman
c48d05885a feat(集成): 集成快捷键系统到应用
- 在根布局添加 HotkeysProvider
- 重构 Sidebar 使用 useHotkeys 注册快捷键
- 移除原有的手动键盘事件监听
- 添加 N 键新建对话快捷键
- 添加 Cmd/Ctrl+K 和 Cmd/Ctrl+/ 搜索快捷键
2025-12-27 23:56:26 +08:00
gaoziman
ead84a1921 feat(组件): 新增 Mermaid 图表渲染组件
- 创建 MermaidBlock 组件支持流程图渲染
- 实现亮色/暗色双主题配色方案
- 支持主题切换时自动重新渲染
- 添加防抖处理优化流式输出体验
- 添加 Mermaid 背景色 CSS 变量
2025-12-27 22:31:52 +08:00
gaoziman
c5c16ee893 style(样式): 添加图片生成相关动画效果
- 新增 shimmer 闪光动画
- 添加 progress 进度条动画
- 定义图片生成加载状态样式
2025-12-27 15:02:34 +08:00
gaoziman
de0860a5aa feat(页面): 聊天页面集成图片生成功能
- 传递 isGeneratingImage 状态到消息气泡
- 传递 generatedImages 数据到消息组件
- 支持历史消息中的生成图片显示
2025-12-27 15:02:26 +08:00
gaoziman
c72b4ce3e2 feat(API): 集成 Gemini 图片生成能力
- 添加 Gemini 模型类型检测和初始化
- 实现图片生成请求处理逻辑
- 支持流式返回生成的图片数据
- 将生成的图片保存到数据库
2025-12-27 15:01:49 +08:00
gaoziman
4efee3a06a refactor(聊天头部): 简化 ChatHeaderInfo 组件
- 移除模型选择器功能及相关 UI
- 简化组件 props,只保留助手信息展示
- 清理未使用的导入和状态管理代码
2025-12-24 23:10:48 +08:00
gaoziman
0f8fd2ce1f feat(聊天页面): 实现搜索结果跳转高亮
- 聊天页面支持通过 URL 参数定位消息
- MessageBubble 组件添加高亮状态支持
- 新增消息高亮动画样式,支持亮色/暗色主题
- 跳转后自动滚动到目标消息并高亮闪烁
- 3秒后自动清除高亮效果
2025-12-24 22:51:04 +08:00
gaoziman
dcd757e584 feat(API): 添加消息全局搜索接口
- 新增 /api/messages/search 搜索 API
- 支持关键词模糊搜索消息内容
- 支持角色筛选(用户消息/AI回复/全部)
- 支持分页查询,返回结果总数
- 仅查询当前用户的未归档对话
2025-12-24 22:49:41 +08:00
gaoziman
56cd968219 feat(聊天页面): 集成对话分享功能
- 引入 ShareModal 组件
- 添加分享按钮点击事件处理
- 支持分享预览跳转
2025-12-24 15:59:27 +08:00
gaoziman
2acce36dbd feat(页面): 添加对话分享展示页面
- 新增 /share/[code] 分享页面
- 支持 Markdown 渲染和代码高亮
- 集成导航组件便于浏览长对话
- 添加分享信息展示和错误处理
2025-12-24 15:59:02 +08:00
gaoziman
abc6cdbcfd feat(API): 添加对话分享 API 路由
- 新增 /api/conversations/[id]/share 路由
  - POST: 创建分享链接
  - GET: 获取分享信息
  - DELETE: 删除分享
- 新增 /api/share/[code] 路由获取分享内容
- 支持选择性消息分享和内容控制
2025-12-24 15:58:12 +08:00
gaoziman
6047af071c feat(聊天页面): 集成对话导出功能
- 添加 html2canvas 和 jspdf 依赖用于 PDF 导出
- 在聊天页面头部集成 ExportDropdown 组件
- 替换原有的更多选项按钮为导出下拉菜单
2025-12-24 09:41:17 +08:00
gaoziman
2c292b0a8f feat(导出功能): 添加对话导出 API 路由
- 实现 GET /api/conversations/[id]/export 接口
- 支持 markdown/json/html/pdf 四种导出格式
- 添加用户身份验证和权限检查
- PDF 格式返回数据供客户端生成
2025-12-24 09:40:28 +08:00
gaoziman
bd09e67988 fix(聊天页面): 思考模式开关仅在非Codex模型时显示
- 添加模型类型判断逻辑
- Codex 模型不支持思考模式,隐藏开关按钮
- 优化用户体验,避免无效操作
2025-12-24 00:09:05 +08:00
gaoziman
8392677cea refactor(配置): 移除默认CCH服务地址配置
- 注册接口不再设置默认CCH URL,需用户自行配置
- 设置API默认值改为空字符串
- 更新设置页面placeholder为更通用的提示文本
- 增强用户配置的灵活性
2025-12-23 21:11:49 +08:00
gaoziman
a7972f8768 feat(配置): 集成翻译工具到默认配置
- seed.ts: 添加翻译工具到种子数据
  - 配置工具ID、名称、图标
  - 定义输入参数schema
  - 设为默认启用工具

- register/route.ts: 新用户默认启用翻译工具
2025-12-23 14:33:17 +08:00
gaoziman
d16f72c035 feat(工具): 添加有道智云翻译功能
- 新增 translate.ts: 实现有道翻译API调用
  - 支持100+种语言互译
  - 自动语言检测
  - SHA256签名验证
  - 完善的错误码处理

- executor.ts: 添加翻译工具执行器
  - 支持源语言/目标语言参数
  - 格式化翻译结果输出

- route.ts: 添加翻译工具定义
  - Claude/OpenAI/Codex三种格式支持
2025-12-23 14:33:00 +08:00
gaoziman
98dacf273c feat(API): 聊天接口支持文档解析和多模态输入
- 支持PDF文档使用Claude原生document类型
- 集成Office文档解析(Word/Excel)
- 支持图片+文档+文本混合输入
- 改进错误处理: 文档解析失败时通知用户
- 解析后的文档内容添加到AI上下文
2025-12-22 23:22:54 +08:00
gaoziman
be03aebb09 feat(页面): 聊天页面集成视频展示和链接预览
- MessageBubble.tsx 消息气泡组件:
  - 新增 searchVideos 属性接收视频搜索结果
  - 新增 onLinkClick 属性支持链接点击回调
  - 在消息内容中渲染 SearchVideosGrid 组件
  - 将 onLinkClick 传递给 MarkdownRenderer
- chat/[id]/page.tsx 聊天页面:
  - 添加 LinkPreviewModal 链接预览弹窗状态管理
  - 新增 handleLinkClick 处理链接点击打开预览
  - MessageBubble 传递 searchVideos 和 onLinkClick
  - 渲染 LinkPreviewModal 组件
2025-12-22 22:01:19 +08:00
gaoziman
e0b82b6257 feat(聊天): 集成视频搜索功能和优化Stream处理
- useStreamChat.ts Hook更新:
  - 新增 SearchVideoData 类型定义
  - StreamMessage 支持 tool_search_videos 事件类型
  - ChatMessage 添加 searchVideos 属性
  - 添加 saveMessageSearchVideos 函数保存视频到数据库
  - pendingSearchVideosRef 临时存储等待messageId的视频
  - 处理视频搜索事件更新UI状态
- chat/route.ts API更新:
  - 创建 createSafeStreamWriter 安全写入器
  - 解决客户端断开连接时的"Controller is already closed"错误
  - 所有 controller.enqueue 替换为 safeWriter.write
  - 添加 tool_search_videos 事件发送逻辑
  - mita_search 工具描述更新支持视频搜索
  - Claude/OpenAI/Codex格式工具定义添加video scope
2025-12-22 22:00:50 +08:00
gaoziman
cab19672e0 feat(API): 添加视频选集信息获取接口
- 新增 /api/video/episodes 端点
- 支持解析B站视频链接(BV号和AV号格式)
- 调用B站 API 获取视频分P信息
- 返回选集列表包含: 分P编号、标题、时长、cid等
- 对非B站视频返回空选集列表
2025-12-22 21:57:25 +08:00
gaoziman
8bfe420676 feat(页面): 添加秘塔AI配置界面和聊天页面增强
设置页面:
- 新增秘塔AI配置区块
- 支持秘塔API Key的配置和清除
- 添加秘塔平台链接和工具使用说明

聊天页面:
- 从数据库加载搜索图片和使用工具数据
- 将数据传递给 MessageBubble 组件展示
2025-12-22 12:38:06 +08:00
gaoziman
5a6a147bd8 feat(API): 集成秘塔AI工具和工具追踪功能
聊天API (chat/route.ts):
- 添加秘塔API Key解密和传递
- 集成工具使用追踪,记录每次对话使用的工具
- 支持图片搜索结果的流式返回
- 添加 tool_used 和 tool_search_images 事件类型

设置API (settings/route.ts):
- 支持秘塔API Key的加密存储和清除
- 更新默认工具列表包含秘塔工具

消息API (messages/route.ts):
- 支持搜索图片数据的追加保存
2025-12-22 12:22:34 +08:00
gaoziman
1c28484091 refactor(聊天): 移除 code_execution 工具完整实现
- 移除系统提示词中的代码执行相关说明
- 移除图表绘制规范说明
- 移除 Claude/OpenAI/Codex 格式的 code_execution 工具定义
2025-12-22 00:21:23 +08:00
gaoziman
d581b8668a refactor(API): 移除 code_execution 工具相关配置
- 用户注册时默认工具列表移除 code_execution
- 设置接口默认工具列表移除 code_execution
- 工具列表接口过滤掉 code_execution 工具
2025-12-22 00:21:13 +08:00
gaoziman
c18bb27794 fix(首页): 使用真实登录用户昵称显示问候语
- 移除 mock 数据中的 currentUser 引用
- 使用 AuthProvider 获取真实登录用户信息
- 未登录时显示默认昵称"用户"
2025-12-22 00:09:33 +08:00
gaoziman
d4de4381f2 style(样式): 添加细滚动条样式类
- 新增 scrollbar-thin 样式类用于小区域滚动
- 优化滚动条视觉效果,宽度更细更美观
2025-12-22 00:09:02 +08:00
gaoziman
249362a6eb feat(集成): 集成提示词优化功能到页面
- 在 layout.tsx 中添加 PromptOptimizerProvider
- 在 AppLayout 和聊天页面添加 PromptOptimizer 浮动按钮
- ChatInput 组件监听并消费优化后的提示词
- 优化结果可自动填入输入框
2025-12-22 00:08:30 +08:00
gaoziman
4b4732a583 feat(API): 添加提示词优化相关接口
- 新增 /api/prompt/optimize 接口用于调用 AI 优化提示词
- 支持简洁版和详细版两种优化模式
- 支持 Claude 原生格式和 OpenAI 兼容格式
- 新增 /api/prompt/history 接口管理优化历史记录
- 支持查询和删除历史记录
2025-12-22 00:06:26 +08:00
gaoziman
6e37e61420 feat(聊天): 支持 OpenAI 兼容格式的 API 调用
- 新增 handleOpenAICompatibleChat 处理函数
- 支持第三方中转站的 /v1/chat/completions 端点
- 优化处理器选择逻辑(apiFormat -> isCodex -> Claude原生)
- 过滤空内容消息避免 API 错误
- 规范化 URL 处理,避免双斜杠问题
- 支持多模态消息和工具调用
2025-12-21 21:15:07 +08:00
gaoziman
99ca472dd2 feat(设置): 添加 API 格式选择功能
支持在 Claude 原生格式和 OpenAI 兼容格式之间切换:
- 新增 api_format 数据库字段和迁移脚本
- 更新设置 Hook 类型定义
- 扩展设置 API 支持 apiFormat 读写
- 添加设置页面 API 格式选择 UI 组件
2025-12-21 21:14:41 +08:00
gaoziman
c341b0d67d chore: 更新默认模型版本为 claude-sonnet-4-5-20250929
- 更新注册接口默认模型配置
- 更新会话创建默认模型
- 更新助手页面默认模型
- 更新新对话弹窗默认模型
2025-12-21 21:14:06 +08:00
gaoziman
79b871d203 feat(笔记): 实现完整的笔记管理功能
- 新增笔记列表页面,支持搜索、筛选和排序
- 新增笔记卡片组件,展示笔记摘要和标签
- 新增笔记详情弹框,支持查看和编辑
- 新增保存到笔记弹框,从 AI 回复快速保存
- 侧边栏添加我的笔记入口
- AI 消息添加保存到笔记按钮
2025-12-21 16:05:03 +08:00
gaoziman
bd83bc501d feat(API): 实现笔记管理接口
- GET /api/notes: 获取用户笔记列表,支持搜索和筛选
- POST /api/notes: 创建新笔记
- PUT /api/notes/[noteId]: 更新笔记内容
- DELETE /api/notes/[noteId]: 删除笔记
- 支持置顶和归档操作
2025-12-21 16:04:28 +08:00
gaoziman
92ab731c62 feat(设置): 添加 CCH 服务地址配置功能
- 新增服务地址输入框,支持自定义 CCH 服务 URL
- 服务地址与 API Key 一起保存到用户设置
- 页面加载时自动填充已保存的服务地址
2025-12-21 16:03:46 +08:00
gaoziman
d6dc77f63a feat(聊天): 实现 AI 消息重新生成功能
- 消息 API 新增 DELETE 方法支持删除单条消息
- useStreamChat Hook 添加 regenerateMessage 方法
- 聊天页面添加 handleRegenerate 处理逻辑
- MessageBubble 组件添加重新生成按钮(仅 AI 消息显示)
- MessageBubble 使用 Tooltip 替代原生 title 属性
- 移除未使用的 ActionButton 组件和点赞/踩按钮
2025-12-21 14:33:08 +08:00
gaoziman
3b0683faf9 style(界面): 优化设置页面和 API Key 配置提示
- 聊天页面添加 API Key 未配置提示卡片
- 移除设置页面的 CCH URL 配置项(使用默认值)
- 简化保存配置逻辑
2025-12-21 14:04:08 +08:00
gaoziman
fd6c93cb30 fix(聊天): 添加用户认证和 API Key 解密
- 聊天前检查用户登录状态
- 获取当前用户的设置和 API Key
- 使用时解密 API Key
- 优化未配置 API Key 的错误提示
2025-12-21 14:04:01 +08:00
gaoziman
058ea85daa feat(设置): 实现用户级别设置隔离
- 设置 API 改为基于当前登录用户
- 注册时自动创建默认用户设置
- API Key 加密后存储到数据库
- 添加默认设置常量和格式化函数
2025-12-21 14:03:55 +08:00
gaoziman
d6f2c47ddc feat(API): 添加代码执行 API 路由
- 创建 /api/code/execute 接口
- 集成 Piston API 支持多语言远程执行
- 添加执行超时和错误处理
2025-12-21 03:20:24 +08:00
gaoziman
4eab17155e style(字体): 优化字体系统使用相对单位
- 移除 ChatInput 和 MessageBubble 中的固定字体大小类
- MarkdownRenderer 标题和内容使用 em 相对单位
- 表格字体大小改为相对单位保持比例
- 聊天输入框添加 z-20 层级避免被代码块遮挡
2025-12-21 02:47:13 +08:00
gaoziman
99660ae4f6 style(代码块): 添加代码块 CSS 变量和亮暗主题语法高亮
- 添加代码块相关 CSS 变量(背景色、边框、行号、阴影等)
- 实现亮色主题语法高亮(Claude Style)
- 实现暗色主题语法高亮(Mac Style 紫灰主题)
- 添加 Mac 红黄绿按钮显示控制变量
- 优化 Prism.js 代码高亮样式,支持主题切换
2025-12-21 01:56:32 +08:00
gaoziman
1ef4a31d5d style(界面): 优化聊天页面布局和用户菜单显示
- 调整聊天输入区域左内边距以适配侧边栏
- 移除用户菜单中的 plan 信息显示
- 简化用户信息展示
2025-12-21 01:15:55 +08:00
gaoziman
5307255844 style(界面): 优化聊天页面和侧边栏样式
- 聊天页面集成 ChatHeader 组件显示助手信息
- 添加淡入、滑入等动画效果样式
- 优化侧边栏布局和新对话按钮交互
- 统一分类标签的视觉样式
2025-12-20 20:46:51 +08:00
gaoziman
a5fcc9edae feat(对话): 扩展对话管理支持助手关联
- 对话创建接口支持关联助手ID和系统提示词
- 对话查询接口返回关联的助手信息
- 聊天接口支持使用助手系统提示词
- useConversations Hook 扩展助手相关参数
2025-12-20 20:46:35 +08:00
gaoziman
c987fcf909 feat(助手库): 添加助手库页面和组件
- 新增助手库页面,支持分类浏览和搜索
- 新增 AssistantCard 助手卡片组件
- 新增 AssistantDetailModal 助手详情弹窗
- 新增 AssistantEditModal 助手编辑弹窗
- 新增 AssistantSelector 助手选择器组件
- 集成 IconRenderer 组件显示 lucide 图标
2025-12-20 20:46:05 +08:00
gaoziman
34aa3e50cf feat(API): 添加助手管理接口
- 新增助手 CRUD 接口 (GET/POST/PUT/DELETE)
- 新增助手分类查询接口
- 新增助手收藏/取消收藏接口
- 新增最近使用助手查询接口
- 支持按分类、搜索关键词筛选助手
2025-12-20 20:45:56 +08:00
gaoziman
66a58a2d3d feat(API): 添加文件上传接口
- 实现 POST /api/files/upload 端点
- 支持图片、PDF、Word、Excel、文本、代码等格式
- 限制最大文件大小为 20MB
- 自动创建 public/uploads 目录存储上传文件
- 使用 nanoid 生成唯一文件名
- 返回文件信息包含 URL、大小、类型等
- 提供 GET 端点获取上传配置
2025-12-20 12:15:49 +08:00
gaoziman
cb86380e7f feat(页面): 聊天页面集成文件上传功能和动画样式
聊天页面更新:
- handleSend 方法扩展支持文件参数
- 将上传的文件转换为 sendMessage 所需格式
- 从数据库加载历史消息的上传图片和文档
- MessageBubble 组件传递 uploadedImages 和 uploadedDocuments

全局样式更新:
- 添加 fadeInFast 和 fadeOutFast 淡入淡出动画
- 添加 scaleInFast 缩放动画
- 用于模态框和灯箱的平滑过渡效果
2025-12-20 12:15:03 +08:00