gaoziman
|
bd09e67988
|
fix(聊天页面): 思考模式开关仅在非Codex模型时显示
- 添加模型类型判断逻辑
- Codex 模型不支持思考模式,隐藏开关按钮
- 优化用户体验,避免无效操作
|
2025-12-24 00:09:05 +08:00 |
|
gaoziman
|
ec4f5f2dba
|
style(UI): 统一组件圆角样式
Modal:
- 圆角从 rounded-xl 调整为 rounded-md
ToolsDropdown:
- 按钮样式简化,移除条件样式
- 下拉菜单和列表项圆角统一为 rounded-md
|
2025-12-24 00:08:43 +08:00 |
|
gaoziman
|
16079af79d
|
feat(ChatInput): 集成快捷短语功能
- 添加快捷短语触发按钮和弹出层
- 实现短语内容插入到输入框功能
- 集成快捷短语管理模态框
- 添加点击外部和ESC键关闭弹出层
- 统一按钮圆角样式为 rounded-md
|
2025-12-24 00:08:17 +08:00 |
|
gaoziman
|
caf19f4c09
|
feat(快捷短语): 添加快捷短语UI组件
QuickPhraseItem:
- 快捷短语列表项组件
- 支持图标显示和内容预览
- 提供悬停时的编辑和删除操作
QuickPhrasesPopover:
- 快捷短语弹出层组件
- 包含触发按钮和数量徽章
- 支持快速插入、编辑和删除短语
QuickPhrasesModal:
- 快捷短语管理模态框
- 左侧列表右侧编辑的双栏布局
- 支持图标选择器和分类设置
|
2025-12-24 00:07:58 +08:00 |
|
gaoziman
|
4499f7befd
|
feat(快捷短语): 添加快捷短语核心功能模块
工具函数模块:
- 实现 localStorage 存储和加载功能
- 提供默认快捷短语模板(写作助手、代码解释、优化建议等)
- 添加数据验证和排序函数
Hook 模块:
- 实现增删改查功能
- 支持拖拽排序
- 自动同步到 localStorage
- 提供重置为默认值功能
|
2025-12-24 00:07:30 +08:00 |
|
gaoziman
|
92deb89e2a
|
feat(类型): 添加快捷短语 QuickPhrase 类型定义
- 定义快捷短语数据结构包含id、title、content、category等字段
- 支持自定义图标和排序
- 包含创建时间和更新时间戳
|
2025-12-24 00:07:06 +08:00 |
|
gaoziman
|
3265b66149
|
feat(工具组件): 扩展工具下拉菜单图标支持
- 新增FileText图标用于文档相关功能
- 新增Languages图标用于翻译相关功能
- 完善iconMap映射表
|
2025-12-23 21:12:07 +08:00 |
|
gaoziman
|
8392677cea
|
refactor(配置): 移除默认CCH服务地址配置
- 注册接口不再设置默认CCH URL,需用户自行配置
- 设置API默认值改为空字符串
- 更新设置页面placeholder为更通用的提示文本
- 增强用户配置的灵活性
|
2025-12-23 21:11:49 +08:00 |
|
gaoziman
|
b3d151c9f9
|
chore(安全): 强制环境变量配置并扩展路由保护
- auth.ts: JWT_SECRET必须通过环境变量配置
- crypto.ts: ENCRYPTION_KEY必须通过环境变量配置
- middleware.ts: 添加/assistants和/notes到受保护路由
- db.ts: 更新默认数据库名称
|
2025-12-23 14:33:37 +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
|
c776fb95b7
|
feat(前端): 聊天钩子支持文档上传和解析
- 集成文档类型检测工具
- 支持PDF/Word/Excel文件上传
- PDF文档转Base64传给后端API
- Office文档(Word/Excel)传给后端解析
- 文本文件直接读取内容
- 添加文档大小验证
|
2025-12-22 23:22:39 +08:00 |
|
gaoziman
|
2344024e84
|
feat(依赖): 添加word-extractor库支持.doc文件解析
- 安装 word-extractor@1.0.4 依赖
- 新增 src/types/word-extractor.d.ts 类型声明
- WordExtractor 类
- Document 类及其方法类型
- 支持 Buffer 和文件路径两种输入方式
|
2025-12-22 23:22:26 +08:00 |
|
gaoziman
|
fa260137ac
|
feat(文档解析): 添加PDF/Word/Excel文档解析工具
- 新增 src/lib/document-parser.ts: 后端文档解析器
- 支持 Word 文档(.doc/.docx)解析
- 支持 Excel 文档(.xlsx)转Markdown表格
- PDF文档直接传递给Claude API原生处理
- 新增 src/utils/document-utils.ts: 前端文档工具
- 文档类型检测函数
- 文件大小验证
- Base64编码转换
|
2025-12-22 23:22:13 +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
|
2852f746f0
|
feat(组件): 添加链接预览弹窗功能
- LinkPreviewModal: 浮岛浏览器风格链接预览组件
- 仿macOS窗口设计,三色圆点关闭按钮
- 地址栏显示域名和路径,支持点击复制
- 支持网页iframe嵌入预览
- 支持图片直接预览显示
- 加载状态和错误处理(不支持嵌入的站点)
- 支持亮色/暗色主题自适应
- ESC关闭和新窗口打开功能
- MarkdownRenderer: 添加链接点击回调
- 新增 onLinkClick 属性支持拦截链接点击
- 图片链接在灯箱打开,普通链接在预览窗口打开
|
2025-12-22 22:00:08 +08:00 |
|
gaoziman
|
ecf11e6b2b
|
feat(组件): 添加视频搜索结果展示和播放组件
- SearchVideosGrid: 视频搜索结果网格展示组件
- 支持3列响应式布局
- 显示视频封面、标题、时长、作者、平台标签
- 封面图片懒加载和加载状态动画
- 点击卡片打开播放弹窗
- VideoPlayerModal: 视频播放弹窗组件
- 支持B站、YouTube视频嵌入播放
- 悬浮选集面板(仿B站原生设计)
- 自动获取B站视频选集信息
- 支持选集切换和播放状态指示
- 不支持嵌入的视频显示跳转提示
- ESC关闭和键盘快捷键支持
- EpisodeList: 视频选集列表组件
- 显示选集编号、标题、时长
- 当前播放集高亮显示
- 支持滚动和加载状态
|
2025-12-22 21:59:25 +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
|
1e81e9151b
|
feat(工具): 秘塔搜索支持视频搜索功能
- metasoSearch.ts 添加视频搜索支持:
- 新增 MetasoVideoResult 接口定义视频搜索结果
- scope 参数支持 'video' 类型
- 添加视频搜索结果解析逻辑
- formatMetasoSearchResults 支持视频结果格式化
- formatMetasoSearchResultsShort 添加视频结果简短格式
- executor.ts 工具执行器更新:
- ToolExecutionResult 新增 searchVideos 字段
- mita_search 工具支持视频搜索 scope
- 视频搜索默认返回5条结果
|
2025-12-22 21:56:42 +08:00 |
|
gaoziman
|
159009dd56
|
feat(类型): 添加视频搜索类型定义和工具函数
- 新增 SearchVideoData 类型定义,包含视频标题、链接、时长、作者等字段
- 新增 Message 类型的 searchVideos 属性用于存储视频搜索结果
- 添加 videoUtils.ts 视频工具函数库:
- parseVideoUrl: 解析B站/YouTube/抖音视频链接
- formatDuration: 格式化视频时长显示
- getPlatformName/getPlatformColor: 获取平台名称和主题色
- detectPlatform: 检测视频平台类型
- supportsEmbed: 判断是否支持嵌入播放
- getEmbedUrlWithPage: 生成带选集参数的嵌入URL
- supportsEpisodes: 判断是否支持选集功能
|
2025-12-22 21:56:16 +08:00 |
|
gaoziman
|
92ec88e1a3
|
style(组件): 优化搜索图片网格卡片样式
- 调整圆角为更精致的 rounded 样式
- 更新背景色支持亮色/暗色主题
- 使用 ring 替代 border 实现更细腻的边框效果
- 添加精细的阴影层次感
- 优化 hover 状态的阴影过渡效果
|
2025-12-22 14:34:07 +08:00 |
|
gaoziman
|
cb05f06483
|
chore(配置): 更新 .gitignore 忽略规则
- 添加 .idea/ IDE配置目录忽略
- 添加 cchcode-ui/ 其他项目目录忽略
|
2025-12-22 12:55:11 +08:00 |
|
gaoziman
|
8bfe420676
|
feat(页面): 添加秘塔AI配置界面和聊天页面增强
设置页面:
- 新增秘塔AI配置区块
- 支持秘塔API Key的配置和清除
- 添加秘塔平台链接和工具使用说明
聊天页面:
- 从数据库加载搜索图片和使用工具数据
- 将数据传递给 MessageBubble 组件展示
|
2025-12-22 12:38:06 +08:00 |
|
gaoziman
|
615a59567d
|
feat(组件): 添加搜索图片展示和工具使用提示
SearchImagesGrid (新增):
- 瀑布流布局展示搜索图片
- 智能动态回填机制,自动替换加载失败的图片
- 支持图片灯箱预览
- 显示图片来源链接
MessageBubble:
- 添加工具使用提示栏,显示本次对话使用的工具
- 集成 SearchImagesGrid 展示图片搜索结果
- 支持 Markdown 中图片链接在灯箱中打开
MarkdownRenderer:
- 添加图片链接点击回调支持
- 识别并处理图片URL链接
|
2025-12-22 12:36:31 +08:00 |
|
gaoziman
|
3459f3821f
|
feat(Hooks): 支持秘塔配置和图片搜索结果处理
useSettings:
- 添加 metasoApiKeyConfigured 状态
- 支持秘塔API Key的更新操作
useStreamChat:
- 添加 SearchImageData 类型定义
- 处理 tool_search_images 事件,实时展示搜索图片
- 处理 tool_used 事件,追踪使用的工具
- 添加搜索图片的数据库持久化逻辑
- ChatMessage 接口添加 searchImages 和 usedTools 字段
|
2025-12-22 12:23:22 +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
|
f0cc0eb996
|
refactor(类型): 添加工具使用和图片搜索相关类型
- Message 接口添加 usedTools 和 searchImages 字段
- 新增 SearchImageData 接口定义搜索图片数据结构
|
2025-12-22 12:21:47 +08:00 |
|
gaoziman
|
97d89f44ac
|
feat(工具): 实现秘塔AI搜索和网页读取工具
秘塔搜索 (mita_search):
- 支持网页搜索和图片搜索两种模式
- 图片搜索包含智能验证和动态回填机制
- 自动过滤无效图片URL,确保返回有效结果
秘塔阅读 (mita_reader):
- 将网页内容转换为结构化Markdown格式
- 支持URL格式验证和错误处理
工具执行器更新:
- 添加 metasoApiKey 选项支持
- 集成秘塔搜索和阅读工具到执行流程
- 返回搜索图片数据供前端展示
|
2025-12-22 12:21:17 +08:00 |
|
gaoziman
|
baf27ceca6
|
feat(数据库): 添加秘塔AI工具配置和搜索图片支持
- 在 userSettings 表添加 metasoApiKey 和 metasoApiKeyConfigured 字段
- 更新默认工具列表,添加 mita_search 和 mita_reader
- 在 messages 表添加 usedTools 和 searchImages 字段
- 新增 SearchImageData 接口定义图片搜索结果类型
- 添加秘塔搜索和秘塔阅读器工具的种子数据
- 更新数据库名称配置从 lioncode_ui 到 cchcode_ui
|
2025-12-22 12:01:36 +08:00 |
|
gaoziman
|
5ad191684a
|
refactor(前端): 移除 useSettings 中的 code_execution 默认配置
- 从前端默认设置中移除 code_execution 工具
|
2025-12-22 00:21:33 +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
|
65028e37ed
|
refactor(数据库): 移除 code_execution 工具配置
- 从 userSettings 表的 defaultTools 默认值中移除 code_execution
- 从种子数据中移除 code_execution 工具定义
- 调整 web_fetch 工具的排序值
|
2025-12-22 00:21:02 +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
|
57bb1ffab7
|
feat(状态管理): 添加提示词优化 Provider
- 新增 PromptOptimizerProvider 管理优化后提示词状态
- 提供 setOptimizedPrompt 和 consumeOptimizedPrompt 方法
- 实现优化结果到输入框的状态传递
- 导出相关 hooks 和组件
|
2025-12-22 00:07:46 +08:00 |
|
gaoziman
|
31d227dca9
|
feat(组件): 添加提示词优化工具组件
- 新增 PromptOptimizer 浮动按钮组件
- 新增 PromptOptimizerModal 优化弹窗组件
- 支持简洁版和详细版两种优化模式
- 支持快捷键 Cmd/Ctrl + Shift + P 快速打开
- 支持优化历史记录查看和管理
- 支持一键使用优化后的提示词
|
2025-12-22 00:07:06 +08:00 |
|
gaoziman
|
4b4732a583
|
feat(API): 添加提示词优化相关接口
- 新增 /api/prompt/optimize 接口用于调用 AI 优化提示词
- 支持简洁版和详细版两种优化模式
- 支持 Claude 原生格式和 OpenAI 兼容格式
- 新增 /api/prompt/history 接口管理优化历史记录
- 支持查询和删除历史记录
|
2025-12-22 00:06:26 +08:00 |
|
gaoziman
|
fae1dfb7c9
|
feat(数据库): 添加提示词优化历史表
- 新增 prompt_optimizations 表存储用户的提示词优化历史
- 支持记录原始提示词、优化后提示词和优化模式
- 添加相应的数据库迁移文件
|
2025-12-22 00:05:44 +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
|
fbac280be3
|
style(组件): 调整新对话弹窗圆角样式
将弹窗圆角从 rounded-xl 改为 rounded-md,与其他弹窗保持一致
|
2025-12-21 16:53:52 +08:00 |
|
gaoziman
|
19bac12c9b
|
fix(代码执行): 修复沙箱引擎阻塞和超时问题
- 为 alert/confirm/prompt 提供 mock 实现,避免执行阻塞
- 为 DOM API 提供 fallback,防止元素不存在时报错
- 优化 TypeScript 转译,完善类型注解移除逻辑
- 添加 allow-same-origin 确保 postMessage 正常工作
- 改进危险 API 限制,提供友好错误提示
|
2025-12-21 16:51:33 +08:00 |
|
gaoziman
|
30156458ba
|
feat(代码执行): 增强远程引擎多语言 Unicode 支持
- 改进错误信息处理,提供更清晰的错误提示
- 添加 Go 语言非 ASCII 字符转义支持
- 添加 Kotlin、C#、C/C++ 标准 Unicode 转义
- 添加 Rust、Swift 大括号格式转义 \u{XXXX}
- 添加 Ruby、PHP 字符串转义支持
|
2025-12-21 16:34:07 +08:00 |
|
gaoziman
|
c2dcf9b23f
|
perf(代码执行): 优化 Pyodide 引擎加载机制
- 升级 Pyodide 版本从 v0.24.1 到 v0.27.0
- 添加多 CDN 备用机制,提高加载成功率
- 加载失败时自动切换到备用 CDN
- 改进加载进度提示和错误处理
|
2025-12-21 16:33:48 +08:00 |
|
gaoziman
|
79b871d203
|
feat(笔记): 实现完整的笔记管理功能
- 新增笔记列表页面,支持搜索、筛选和排序
- 新增笔记卡片组件,展示笔记摘要和标签
- 新增笔记详情弹框,支持查看和编辑
- 新增保存到笔记弹框,从 AI 回复快速保存
- 侧边栏添加我的笔记入口
- AI 消息添加保存到笔记按钮
|
2025-12-21 16:05:03 +08:00 |
|