Commit Graph

186 Commits

Author SHA1 Message Date
gaoziman
0b5b67174f feat(settings): 实现数据导出和清除聊天功能
- 添加导出聊天数据功能,支持 JSON 格式下载
- 添加清除所有聊天功能,带确认对话框
- 显示待删除对话和消息数量统计
- 优化 SettingsSection 组件支持暗色主题
2025-12-19 15:57:50 +08:00
gaoziman
749247affa feat(ui): 添加 ConfirmDialog 确认对话框组件
- 支持默认和危险两种样式变体
- 支持 ESC 键关闭和点击外部关闭
- 支持 loading 状态和自定义按钮文案
- 支持自定义内容区域
2025-12-19 15:57:31 +08:00
gaoziman
199772a95d feat(api): 添加对话数据导出和清除 API
- 新增 GET /api/conversations/export 导出所有对话数据
- 新增 GET /api/conversations/all 获取对话统计信息
- 新增 DELETE /api/conversations/all 清除所有对话和消息
2025-12-19 15:57:12 +08:00
gaoziman
8aab630af6 feat(theme): 添加暗色主题支持
- 新增 [data-theme="dark"] CSS 变量定义
- 设置暗色模式主背景色为 #29252B
- 配置暗色模式下的品牌色、背景色、文字色、边框色
- 调整暗色模式阴影效果
- 侧边栏宽度调整为 280px
2025-12-19 15:56:52 +08:00
gaoziman
b400781b89 refactor(sidebar): 用户区域集成弹出菜单
- 移除原有的用户信息链接样式
- 集成 UserMenu 组件替代原有设计
- 支持主题切换、设置导航、登出等功能
2025-12-19 13:58:54 +08:00
gaoziman
f81a1f0f2d refactor(settings): 重构设置页面布局和交互
- 优化页面布局,移除侧边栏采用独立页面设计
- 集成 ModelCardSelector 替代下拉选择
- 集成 FontSizePicker 支持字体大小调整
- 顶部导航栏添加主题切换按钮
- 移除冗余的偏好设置和危险区域板块
- 优化整体视觉效果和交互体验
2025-12-19 13:58:22 +08:00
gaoziman
6d1bf7275b style(css): 添加字体大小 CSS 变量和弹出动画
- 新增 --font-size-base CSS 变量支持全局字体大小
- body 使用 CSS 变量控制字体大小
- 添加 popUp 动画效果用于弹出菜单
2025-12-19 13:57:52 +08:00
gaoziman
5444e7a579 feat(providers): 添加全局设置提供者
- 新增 SettingsProvider 组件用于管理全局设置状态
- 在 Layout 中集成 SettingsProvider
- 应用启动时自动加载字体大小和主题设置
2025-12-19 13:57:22 +08:00
gaoziman
29b2d99a82 feat(ui): 新增设置相关 UI 组件
- FontSizePicker: 字体大小选择器,支持实时预览
- ModelCardSelector: 模型卡片选择组件(Haiku/Sonnet/Opus)
- UserMenu: 用户菜单弹出组件,支持主题切换和设置导航
2025-12-19 13:56:22 +08:00
gaoziman
2de8cd64e3 feat(hooks): useSettings 添加 fontSize 支持
- Settings 接口新增 fontSize 属性
- 默认设置中添加 fontSize: 15
2025-12-19 13:55:52 +08:00
gaoziman
9a27a11385 feat(api): Settings API 支持字体大小设置
- GET 接口返回 fontSize 字段
- PUT 接口支持更新 fontSize 设置
- 添加字体大小范围限制 (12-20)
2025-12-19 13:55:24 +08:00
gaoziman
b869a443e2 feat(database): 添加全局字体大小设置字段
- 在 user_settings 表中新增 font_size 字段 (12-20)
- 添加数据库迁移文件支持字段升级
- 默认字体大小设置为 15px
2025-12-19 13:54:56 +08:00
gaoziman
f405f298aa refactor(pages): 重构核心页面支持实时数据
首页 (page.tsx):
- 集成 useConversations 和 useSettings hooks
- 实现快捷操作创建新会话
- 添加加载状态处理

聊天页 (chat/[id]/page.tsx):
- 集成 useStreamChat 实现流式对话
- 支持 AI 思考内容展示
- 优化消息发送和模型切换
- 添加错误处理和重试机制

设置页 (settings/page.tsx):
- 重构为完整的设置管理界面
- 支持 API 配置(URL、密钥)
- 支持默认模型和工具选择
- 支持主题和语言设置
- 添加设置保存和同步功能
2025-12-18 11:43:59 +08:00
gaoziman
bb5996240a feat(api): 添加后端 API 路由
- /api/chat: 流式聊天接口,支持 Claude API 调用
- /api/conversations: 会话列表和创建接口
- /api/conversations/[id]: 单个会话详情和删除
- /api/models: 可用模型列表接口
- /api/settings: 用户设置读写接口
- /api/tools: 可用工具列表接口
2025-12-18 11:43:32 +08:00
gaoziman
ab9dd5aff8 feat(services): 添加 AI 工具服务实现
- codeExecution: 代码执行工具定义
- webFetch: 网页抓取工具定义
- webSearch: 网络搜索工具定义
- executor: 工具执行器统一处理
2025-12-18 11:31:10 +08:00
gaoziman
e4cdcc5141 feat(hooks): 添加核心业务逻辑 hooks
- useConversations: 会话列表 CRUD 管理
- useSettings: 用户设置读取和更新
- useStreamChat: 流式聊天消息处理
  - 支持 SSE 流式响应
  - 支持思考内容显示
  - 支持错误处理和重试
2025-12-18 11:30:42 +08:00
gaoziman
3a244eb989 refactor(layout): 重构侧边栏支持实时会话管理
- 集成 useConversations 和 useSettings hooks
- 实现新建会话功能并自动跳转
- 实现删除会话功能及确认交互
- 按时间分组显示会话列表(今天、昨天、更早)
- 添加加载状态和操作菜单
- 优化会话列表的交互体验
2025-12-18 11:30:21 +08:00
gaoziman
a213cddf55 refactor(features): 优化聊天输入和消息气泡组件
ChatInput:
- 修复中文输入法回车误发送问题
- 移除未使用的历史记录按钮

MessageBubble:
- 集成 MarkdownRenderer 实现富文本渲染
- 添加 AI 思考内容折叠展示
- 添加流式输出状态和错误提示
- 优化复制功能添加成功反馈
2025-12-18 11:29:52 +08:00
gaoziman
227a96b232 feat(markdown): 添加 Markdown 渲染组件
- 添加 MarkdownRenderer 组件支持 GFM 语法渲染
- 添加 CodeBlock 组件支持代码块语法高亮
- 集成 Prism.js 实现多语言语法高亮
- 支持代码复制功能
2025-12-18 11:29:19 +08:00
gaoziman
e161da75c7 feat(ui): Toggle 组件添加 disabled 属性支持
- 添加 disabled 属性用于禁用开关
- 禁用状态下显示半透明效果和禁止光标
2025-12-18 11:28:55 +08:00
gaoziman
2d243a9f40 style(globals): 添加设置页输入框和代码高亮样式
- 添加 settings-input 输入框样式类
- 添加 Prism.js 代码语法高亮样式(VS Code Dark+ 主题)
- 支持多种代码 token 类型的颜色配置
2025-12-18 11:28:33 +08:00
gaoziman
9a96f98172 refactor(types): 更新 Settings 类型定义
- 添加 cchUrl 和 cchApiKeyConfigured 字段
- 添加 defaultTools 工具列表字段
- 添加 enableThinking 思考模式开关
- 重命名部分字段以保持命名一致性
- 保留旧字段兼容性
2025-12-18 11:28:11 +08:00
gaoziman
77ef569d34 feat(db): 添加 Drizzle ORM 数据库配置
- 添加 drizzle.config.ts 配置文件
- 添加数据库 schema 定义(会话、消息、设置等表)
- 添加数据库连接配置
- 添加数据库迁移文件
- 添加种子数据脚本
2025-12-18 11:27:49 +08:00
gaoziman
0d43d78317 chore(deps): 添加数据库和 Markdown 相关依赖
- 添加 drizzle-orm 和 drizzle-kit 用于数据库 ORM
- 添加 pg 驱动和类型定义
- 添加 react-markdown 和 remark-gfm 用于 Markdown 渲染
- 添加 prismjs 用于代码语法高亮
- 添加 nanoid 用于生成唯一 ID
- 添加 tsx 用于执行 TypeScript 脚本
- 添加数据库相关 npm scripts
2025-12-18 11:27:26 +08:00
gaoziman
2e03e08fee chore(config): 添加 docs 目录到忽略列表
- 忽略本地文档目录避免提交
2025-12-18 11:27:03 +08:00
gaoziman
bc1ad129d0 chore(deps): 添加项目依赖
- clsx: CSS 类名合并工具
- lucide-react: React 图标库
2025-12-17 22:55:38 +08:00
gaoziman
9356c87180 refactor(app): 重构应用入口和首页
- layout.tsx: 更新元数据,设置中文语言,简化布局结构
- page.tsx: 重构首页为 AI 聊天界面,集成欢迎、输入框和快捷操作
2025-12-17 22:55:22 +08:00
gaoziman
01777b3786 feat(pages): 添加聊天页面和设置页面
- chat/[id]/page.tsx: 动态路由聊天页面,支持消息展示和发送
- settings/page.tsx: 设置页面,包含模型、主题、语言等配置项
2025-12-17 22:55:03 +08:00
gaoziman
d055ec7473 style(globals): 重构全局样式配置
- 定义 CSS 变量:品牌色、背景色、文字色、边框色
- 添加阴影、布局、圆角、过渡等设计令牌
- 配置全局字体和抗锯齿渲染
- 添加按钮、输入框、下拉框等通用组件样式
- 添加自定义滚动条样式
- 参考原型图 https://openclaude.me/chat 设计
2025-12-17 22:54:45 +08:00
gaoziman
c2a48986b4 feat(features): 添加核心功能组件
- ModelSelector: 模型选择下拉框组件
- ToolsDropdown: 工具管理下拉框组件
- MessageBubble: 聊天消息气泡组件
- QuickActions: 快捷操作按钮组件
- Welcome: 欢迎页问候组件
- ChatInput: 聊天输入框组件,集成模型选择和工具管理
2025-12-17 22:54:26 +08:00
gaoziman
5347bc7c2f feat(layout): 添加应用布局组件
- AppLayout: 主应用布局,包含侧边栏和主内容区
- Sidebar: 侧边栏组件,包含新建对话、聊天历史、用户信息
2025-12-17 22:54:08 +08:00
gaoziman
ee9dc67708 feat(ui): 添加基础 UI 组件
- Avatar: 用户头像组件,支持图片和文字头像
- Toggle: 开关切换组件,用于设置项
- AILogo: AI 助手 Logo 组件,品牌标识
2025-12-17 22:53:52 +08:00
gaoziman
fefacff0d1 feat(data): 添加应用模拟数据
- 添加 Claude 模型列表配置
- 添加工具列表(网络搜索、代码执行等)
- 添加聊天历史记录模拟数据
- 添加当前用户信息
- 添加快捷操作列表
- 添加根据时间返回问候语的函数
2025-12-17 22:53:34 +08:00
gaoziman
05fd8e17f5 feat(utils): 添加通用工具函数
- 添加 cn 函数用于合并 Tailwind CSS 类名
- 集成 clsx 和 tailwind-merge 库
2025-12-17 22:53:05 +08:00
gaoziman
db418d0f0d feat(types): 添加应用核心类型定义
- 定义 Model 模型类型
- 定义 Tool 工具类型
- 定义 ChatHistory 聊天记录类型
- 定义 Message 消息类型
- 定义 User 用户类型
- 定义 Settings 设置类型
- 定义 QuickAction 快捷操作类型
2025-12-17 22:52:44 +08:00
gaoziman
75e7c957aa Initial commit from Create Next App 2025-12-17 22:19:41 +08:00