gaoziman
|
5cc4fbb7a0
|
feat(API): 添加消息更新接口
- 新增 PATCH /api/messages/[messageId] 用于更新消息
- 支持更新消息的图片数据(用于保存 Pyodide 执行结果)
- 支持追加模式更新图片数组
- 新增 GET /api/messages/[messageId] 获取单个消息
|
2025-12-19 20:19:26 +08:00 |
|
gaoziman
|
68ba9b3204
|
feat(工具): 实现混合代码执行架构
codeExecution.ts:
- 实现 Pyodide + Piston 混合执行架构
- Python 图形代码使用 Pyodide 在浏览器端执行
- 其他代码使用 Piston API 在服务端执行
- 响应增加 images、engine、executionTime 字段
executor.ts:
- 集成代码分析工具判断执行方式
- 支持返回 requiresPyodide 标记浏览器端执行需求
- 传递图片数据到执行结果
|
2025-12-19 20:18:58 +08:00 |
|
gaoziman
|
ef45e14534
|
feat(工具): 添加 Pyodide 浏览器端 Python 运行时
- 实现基于 WebAssembly 的 Python 运行环境
- 支持 matplotlib 图形渲染并输出为 Base64 图片
- 实现中文字体加载(Noto Sans SC)
- 预注册 seaborn-whitegrid 等多种图表样式
- 单例模式管理 Pyodide 实例,优化加载性能
|
2025-12-19 20:18:34 +08:00 |
|
gaoziman
|
ba4e00a341
|
feat(工具): 添加代码分析工具模块
- 新增 codeAnalyzer.ts 用于分析代码特征
- 实现 detectGraphicsCode 检测图形绘制代码
- 实现 shouldUsePyodide 判断是否使用浏览器端执行
- 支持 matplotlib、seaborn、plotly 等可视化库检测
|
2025-12-19 20:18:11 +08:00 |
|
gaoziman
|
bfcaf5a53a
|
feat(类型): 添加工具调用相关类型定义
- 添加 ToolCall 接口定义工具调用记录
- 添加 ToolResult 接口定义工具执行结果
- 支持图片数据、执行引擎和执行时间属性
|
2025-12-19 20:17:50 +08:00 |
|
gaoziman
|
c59dee8db9
|
feat(数据库): 为消息表添加 images 字段支持
- 在 messages 表添加 images jsonb 字段用于存储代码执行产生的图片
- 新增迁移文件 0003_melted_shockwave.sql
- 更新迁移元数据和快照
|
2025-12-19 20:17:28 +08:00 |
|
gaoziman
|
aa469438c2
|
refactor(components): 全局组件适配暗色主题
- 聊天页面 header 和输入区域背景色使用 CSS 变量
- ChatInput 输入框背景色适配
- ModelSelector/ToolsDropdown 下拉菜单背景色适配
- QuickActions 按钮背景色适配
- Sidebar 侧边栏及下拉菜单背景色适配
- UserMenu 悬停效果颜色适配
|
2025-12-19 15:58:15 +08:00 |
|
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
|
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 |
|