Commit Graph

89 Commits

Author SHA1 Message Date
肖应宇 917f0ef591 style: prettier 2026-03-18 12:03:36 +08:00
肖应宇 83511dee5f feat(ui): UI 样式调整
- sonner.tsx: 修改 toast 为灰色圆角样式,禁用图标
- globals.css: 添加 toast 居中样式
- layout.tsx: 使用本地 Toaster 组件
- dev-dialog.tsx: 添加 singleColumn 属性支持单列布局
- prompt-input.tsx: 提交按钮添加 tooltip 提示
- suggestion.tsx: 修改建议按钮样式为 ghost + 浅灰背景
- input-box.tsx: 调整输入框高度200px样式
- zh-CN.ts: 更新建议列表文案和 skill_id
2026-03-18 11:32:21 +08:00
肖应宇 7342cc08d3 feat: 移植 Titan main 分支 skill 初始化相关功能 2026-03-18 11:28:53 +08:00
肖应宇 37f309931c debug: 注释侧边栏 2026-03-17 17:10:49 +08:00
肖应宇 7e3901fe21 feat: 清除header的阴影;取消发送按钮的空值disabled检查;新增删除clearSkill,tag的逻辑; 2026-03-17 17:05:41 +08:00
肖应宇 32f581cf50 feat:全屏功能 2026-03-17 16:40:02 +08:00
肖应宇 bc20208d0f style: 运行 prettier 格式化代码 2026-03-17 14:46:40 +08:00
肖应宇 5afe834b53 feat(ui): 重构输入框附件预览与布局优化
- 将附件预览改为方形缩略图样式,图片支持悬浮遮罩和删除按钮
- 输入框宽度固定为 720px,附件预览区域移至输入框上方
- 提交按钮添加禁用状态逻辑(无内容或流式传输时禁用)
- 添加 Streamdown Markdown 样式(标题、列表项字号)
- 调整图标颜色、圆角和间距细节
2026-03-17 14:43:27 +08:00
肖应宇 4318b8392a fix(artifact): 调整 artifact 文件预览底部间距
- 注释掉 ArtifactContent 中的 paddingBottom 占位 div
- 为 markdown 预览容器添加 cn 工具函数支持
2026-03-17 10:27:14 +08:00
肖应宇 6130f12790 feat: 优化输入框交互与添加技能选择按钮
- 重构输入框展开/收缩逻辑,支持 isNewThread 时保持展开
- 添加 onFocusChange 回调支持
- 新增 IframeSkillDialogButton 替换原有的 ModeHoverGuide
- 为 AddAttachmentsButton 和 IframeSkillDialogButton 添加 hover 变色效果
- 调整输入框布局结构,移出 PromptInputSubmit 到外层
- 优化 Footer 工具栏的过渡动画
- 添加 selectSkill 国际化文本
2026-03-16 17:48:52 +08:00
肖应宇 4897a4da58 feat: 优化聊天界面UI与交互体验
- 新增退出确认对话框,点击返回时提示用户保存
- Artifact 面板改用 DropdownMenu 选择文件,优化头部布局
- 添加微软雅黑字体支持,调整主题配色
- Todo 按钮添加 Tooltip 提示
- 调整面板分割比例为 50/50,优化样式细节
2026-03-15 15:07:19 +08:00
SuperManTouX 1fd5405f42 feat:初步修改布局 2026-03-13 20:13:38 +08:00
肖应宇 dbef018fd1 Update frontend from deer-flow and add frontend_backup to gitignore 2026-03-13 20:08:11 +08:00
Titan ef9a071aa1 对接skill平台接口,获取skill.yaml并创建文件、目录结构 2026-03-13 11:11:02 +08:00
Titan e2fdfa75d7 保持new路由下的空白引导页 2026-03-12 11:54:43 +08:00
Titan 4119fdcba7 已实现由外部创建会话 2026-03-12 10:43:56 +08:00
LofiSu b3a1f018ab fix: 修复新建技能后输入框无法编辑的问题
问题:点击新建技能按钮后,对话框中预设的文字无法删除或修改
原因:useEffect 依赖项包含 promptInputController.textInput,该对象在每次输入时都会重新创建,导致 useEffect 重复执行并覆盖用户输入
解决:使用 useRef 保存 setInput 方法,并跟踪已设置的初始值,确保 useEffect 只在初始值变化时执行一次

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 12:39:44 +08:00
Henry Li df3668ecd5 fix: eslint 2026-02-09 23:28:36 +08:00
LofiSu 2f50e5d969 feat(citations): inline citation links with [citation:Title](URL)
- Backend: add citation format to lead_agent and general_purpose prompts
- Add CitationLink component (Badge + HoverCard) for citation cards
- MarkdownContent: detect citation: prefix in link text, render CitationLink
- Message/artifact/subtask: use MarkdownContent or Streamdown with CitationLink
- message-list-item: pass img via components prop (remove isHuman/img)
- message-group, subtask-card: drop unused imports; fix import order (lint)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 21:40:20 +08:00
LofiSu d9a86c10e8 fix(frontend): no half-finished citations, correct state when SSE ends
Citations:
- In shouldShowCitationLoading, treat any unreplaced [cite-N] in cleanContent
  as show-loading (no body). Fixes Ultra and other modes when refs arrive
  before the <citations> block in the stream.
- Single rule: hasUnreplacedCitationRefs(cleanContent) => true forces loading;
  then isLoading && hasCitationsBlock(rawContent) for streaming indicator.

SSE end state:
- When stream finishes, SDK may set isLoading=false before client state has
  the final message content, so UI stayed wrong until refresh.
- Store onFinish(state) as finalState in chat page; clear when stream starts.
- Pass messagesOverride={finalState.messages} to MessageList when not loading
  so the list uses server-complete messages right after SSE ends (no refresh).

Chore:
- Stop tracking .githooks/pre-commit; add .githooks/ to .gitignore (local only).

Co-authored-by: Cursor <cursoragent@cursor.com>

---
fix(前端): 杜绝半成品引用,SSE 结束时展示正确状态

引用:
- shouldShowCitationLoading 中只要 cleanContent 仍含未替换的 [cite-N] 就
  只显示加载、不渲染正文,解决流式时引用块未到就出现 [cite-1] 的问题。
- 规则:hasUnreplacedCitationRefs(cleanContent) 为真则一律显示加载;
  此外 isLoading && hasCitationsBlock 用于流式时显示「正在整理引用」。

SSE 结束状态:
- 流结束时 SDK 可能先置 isLoading=false,客户端 messages 尚未包含
  最终内容,导致需刷新才显示正确。
- 在对话页保存 onFinish(state) 为 finalState,流开始时清空。
- 非加载时向 MessageList 传入 messagesOverride={finalState.messages},
  列表在 SSE 结束后立即用服务端完整消息渲染,无需刷新。

杂项:
- 取消跟踪 .githooks/pre-commit,.gitignore 增加 .githooks/(仅本地)。
2026-02-09 15:15:20 +08:00
Henry Li cebf2599c9 feat: add mode in welcome 2026-02-09 00:41:25 +08:00
Henry Li 3e2883e2a3 feat: support subtasks 2026-02-07 16:14:48 +08:00
hetao 449ffbad75 feat: add ultra mode 2026-02-06 17:48:14 +08:00
Henry Li f391060573 feat: adjust position 2026-02-06 09:39:20 +08:00
hetao b773bae407 fix: fix frontend rendering issue 2026-02-03 19:38:10 +08:00
Henry Li e84715831f fix: fix position 2026-02-02 16:40:43 +08:00
Henry Li 018241c203 fix: set default state for todo list collapse to true 2026-02-02 14:46:26 +08:00
Henry Li 6f6d799051 fix: set default state for todo list collapse to false 2026-02-02 14:46:10 +08:00
Henry Li b7c9bf557b feat: update button styling for artifacts tooltip 2026-02-02 11:43:02 +08:00
Henry Li 6c0e5fffd0 feat: integrate PromptInputProvider into ChatLayout and utilize prompt input controller in ChatPage 2026-02-02 10:18:02 +08:00
Henry Li 867749d7a3 feat: add file icons 2026-02-02 10:02:31 +08:00
Henry Li a0a3a3fc02 feat: dynamic title 2026-02-02 09:05:24 +08:00
Henry Li 9b77070406 feat: update skills 2026-02-01 11:12:08 +08:00
Henry Li bdd2e25e14 feat: implement create skill 2026-01-31 22:31:25 +08:00
Henry Li cf961328a9 feat: preview the message if possible 2026-01-31 20:22:15 +08:00
Henry Li 5295f5b5b9 feat: add notification 2026-01-31 11:08:27 +08:00
Henry Li c07c0228f6 fix: fix condition of displaying artifacts 2026-01-30 21:51:18 +08:00
Henry Li 62ac3b6b03 feat: use "mode" instead of "thinking_enabled" and "is_plan_mode" 2026-01-29 15:48:50 +08:00
hetao 75801d9817 fix: fix frontend bug 2026-01-29 13:55:30 +08:00
Henry Li 28361ca03c feat: add scroll indicator 2026-01-27 13:15:49 +08:00
Henry Li 598fed797f fix: many minor fixes 2026-01-25 21:57:57 +08:00
Henry Li c82f705541 fix: fix artifacts in demo mode 2026-01-25 11:42:25 +08:00
Henry Li 03b380cb8b fix: fix auto select first artifact 2026-01-24 23:59:41 +08:00
Henry Li a83e5e238d feat: auto expand in demo mode 2026-01-24 23:51:11 +08:00
Henry Li cae7e67a1f feat: remove over-scroll 2026-01-24 21:14:33 +08:00
Henry Li 930e6bd46f feat: remove background 2026-01-24 18:48:35 +08:00
Henry Li cd63f41b4c feat: support static website 2026-01-24 18:01:27 +08:00
Henry Li 3f4bcd9433 feat: implement the first version of landing page 2026-01-23 13:24:03 +08:00
Henry Li 307972f93e feat: implement the first section of landing page 2026-01-23 00:15:21 +08:00
Henry Li e9ab427326 feat: adjust styles 2026-01-22 14:28:10 +08:00