Commit Graph

96 Commits

Author SHA1 Message Date
肖应宇 081adb34b3 fix:修复了thread_id会读到new的错误 2026-04-01 13:37:50 +08:00
肖应宇 eabc0995b9 feat(exit): 不要重定向到/new而是刷新 2026-04-01 08:59:11 +08:00
肖应宇 248bf67ec9 fix(workspace): 兼容缺失 threadId 并移除建议请求 2026-03-31 13:45:31 +08:00
肖应宇 fbe52a7780 fix(workspace): 修复线程与预览布局问题 2026-03-31 12:35:01 +08:00
肖应宇 ffd10063a9 fix(workspace): control history rendering and preview sizing 2026-03-31 11:32:46 +08:00
肖应宇 ad5c77e534 fix(chat): xclaw_used=false 不加载历史且 /new 先空置 2026-03-31 10:09:46 +08:00
肖应宇 6062b994a9 fix: restore isnew handling and frontend dockerfile path 2026-03-30 17:54:02 +08:00
肖应宇 7fe6d57316 feat():detail界面换行;监听XClawUsed,如果有就用thread_id替换嵌入页路由; 2026-03-30 17:15:51 +08:00
肖应宇 724a5aca31 feat(ui): 第二版样式 2026-03-30 16:02:13 +08:00
肖应宇 e1cd6fc3ca feat(ui): 详细对齐第一版 2026-03-30 15:16:08 +08:00
肖应宇 43355677f9 feat(frontend): 对齐聊天页与消息流类型接口 2026-03-29 00:24:34 +08:00
肖应宇 a34622c45c feat(frontend): 合并线程流与工件详情并兼容聊天页 2026-03-29 00:04:46 +08:00
肖应宇 99cdbcd466 fix(frontend): 保留 legacy use-chat-mode 路径 2026-03-28 23:27:22 +08:00
肖应宇 87bdb58a9e chore(frontend): 稳定增量集成的 lint 与 typecheck 2026-03-28 23:08:45 +08:00
肖应宇 036f8fb3b1 fix(frontend): 对齐线程接口并恢复类型检查 2026-03-28 22:57:56 +08:00
肖应宇 09c6a74ea3 revert(frontend): 回滚错误的 frontend 同步提交 2026-03-28 22:26:27 +08:00
肖应宇 42ad3f8336 merge(frontend): sync frontend files from github/main into feat/originui-frontend-integration 2026-03-28 22:23:00 +08:00
肖应宇 fd43a7ae68 fix: 删除正在初始化skill的文字;注释侧边栏 2026-03-23 17:25:17 +08:00
肖应宇 269d65ff98 fix: 将等待复制的内容data重命名为text 2026-03-23 14:05:38 +08:00
肖应宇 8dac856258 fix: 修复复制功能,向主页面发送信息;修复user的信息离复制按钮太远的问题; 2026-03-23 13:34:49 +08:00
肖应宇 b97e96d29e fix: 修复点击退出按钮没有中断的问题;兼容了工具调用中断后过滤一遍message; 2026-03-23 10:23:09 +08:00
肖应宇 e4c31b3b1e fix: 修复容器宽度错误的问题 2026-03-20 16:53:19 +08:00
肖应宇 03e95aee91 feat(ui): 调整聊天页布局比例及 artifacts 滚动条遮挡处理
- 修改 artifactsOpen 时容器宽度从 70% 改为 50%
- 文件阅读区添加圆角样式
- 文件阅读区添加滚动条顶部遮挡层,优化视觉体验
- 代码编辑器增加 py-[20px] 内边距
- InputBox 已提交状态强制显示阴影效果
2026-03-20 16:31:28 +08:00
肖应宇 fb226f85a8 feat(ui): 重构聊天页布局并规范化 iframe 通信
- 移除 ResizablePanel 组件,改用自定义 flex 布局实现聊天区与 artifacts 面板
- 调整 artifacts 面板样式,支持全屏模式下的布局切换
- 新增 iframe-messages.ts 统一 postMessage 通信协议,定义 FULLSCREEN、SELECT_SKILL 等消息类型
- 优化 artifacts 工具栏图标为 SVG 内联实现,调整 zoom 默认值为 80%
- 重构 dropdown-selector 组件,支持展开/收起状态指示器
- 修改 layout.tsx 中 geist variable 的 className 拼接方式
- 新增 package.json prettier 格式化命令
2026-03-20 10:09:42 +08:00
肖应宇 6335424aca Merge remote-tracking branch 'origin/feat/originui' into feat/originui 2026-03-20 09:22:19 +08:00
Titan f67aa27434 fix: 等待 thread 状态可读以避免过早展示chat页面 2026-03-19 19:15:51 +08:00
肖应宇 4df604d491 style: prettier 2026-03-19 17:33:47 +08:00
肖应宇 cb0ebf41bb feat(ui): 重构聊天页布局并规范化iframe 通信 2026-03-19 17:32:19 +08:00
肖应宇 3a7940654c debug: 修复时序问题导致 的获取历史记录为[] 2026-03-19 11:39:50 +08:00
肖应宇 0ad91e1bab build:lint 2026-03-18 23:52:40 +08:00
肖应宇 1c4a4525b3 feat: 旧版系统第一版 2026-03-18 23:29:50 +08:00
肖应宇 aee59b978b prettier 2026-03-18 16:44:03 +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
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