Commit Graph

342 Commits

Author SHA1 Message Date
Henry Li a66f76f43d fix: update TooltipContent component to handle sideOffset correctly and add shadow styling 2026-02-02 09:23:24 +08:00
Henry Li 90104291ae docs: add comments 2026-02-02 09:11:05 +08:00
Henry Li 54277b9d9e feat: add skeleton 2026-02-02 09:05:33 +08:00
Henry Li a0a3a3fc02 feat: dynamic title 2026-02-02 09:05:24 +08:00
Henry Li b540ad4505 feat: use `create skill` as title 2026-02-02 08:43:37 +08:00
Henry Li 9b77070406 feat: update skills 2026-02-01 11:12:08 +08:00
Henry Li ec444e1f8b docs: update artifacts 2026-02-01 11:05:00 +08:00
Henry Li 22ef5fb5ba feat: add new demo 2026-02-01 10:58:27 +08:00
Henry Li e1ecf62afa feat: add tooltip for installation 2026-02-01 10:55:08 +08:00
Henry Li f5b1412ac0 fix: add translations 2026-01-31 22:49:59 +08:00
Henry Li ca83ed00f8 docs: rephrasing 2026-01-31 22:42:17 +08:00
Henry Li bdd2e25e14 feat: implement create skill 2026-01-31 22:31:25 +08:00
hetaoBackend 06511f38e1 feat: add .skill file preview support
Enable previewing .skill files (ZIP archives) by extracting and displaying
their SKILL.md content. Add caching to avoid repeated ZIP extraction.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:27:06 +08:00
hetaoBackend a9e11f6341 feat: add skill installation API endpoint
Add POST /api/skills/install endpoint to install .skill files from
thread's user-data directory. The endpoint extracts the ZIP archive,
validates SKILL.md frontmatter, and installs to skills/custom/.

Frontend Install buttons now call the API instead of downloading.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:10:05 +08:00
Henry Li d3ff5f9d3c fix: fix eslint errors and warnings 2026-01-31 21:46:31 +08:00
Henry Li cf961328a9 feat: preview the message if possible 2026-01-31 20:22:15 +08:00
Henry Li e858ef0250 fix: fix eslint errors 2026-01-31 11:11:13 +08:00
Henry Li 5295f5b5b9 feat: add notification 2026-01-31 11:08:27 +08:00
Henry Li 835fd4d0c7 feat: change email 2026-01-30 22:32:47 +08:00
Henry Li c07c0228f6 fix: fix condition of displaying artifacts 2026-01-30 21:51:18 +08:00
Henry Li c1182c680c feat: support Github Flavored Markdown 2026-01-30 16:41:18 +08:00
Henry Li 7d024326dc chore: remove 2026-01-30 11:01:09 +08:00
Henry Li 4dffad89ca feat: re-arrange icons 2026-01-29 16:17:41 +08:00
Henry Li a4f749f939 fix: add max width 2026-01-29 16:12:30 +08:00
Henry Li a135ddfa48 feat: display mode 2026-01-29 15:57:08 +08:00
Henry Li 62ac3b6b03 feat: use "mode" instead of "thinking_enabled" and "is_plan_mode" 2026-01-29 15:48:50 +08:00
Henry Li 4411af68f5 fix: fix renaming 2026-01-29 15:31:56 +08:00
Henry Li 9d889434c4 feat: add placeholder for image 2026-01-29 15:01:18 +08:00
hetao 75801d9817 fix: fix frontend bug 2026-01-29 13:55:30 +08:00
LofiSu 588673d043 merge: upstream/experimental with citations feature
- Merge upstream changes including image search, tooltips, and UI improvements
- Keep citations feature with inline hover cards
- Resolve conflict in message-list-item.tsx: use upstream img max-width (90%) while preserving citations logic
- Maintain file upload improvements with citations support

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-29 12:55:43 +08:00
LofiSu 849cc4d771 feat: improve file upload message handling and UI
Backend:
- Handle both string and list format for message content in uploads middleware
- Extract text content from structured message blocks
- Add logging for debugging file upload flow

Frontend:
- Separate file display from message bubble for human messages
- Show uploaded files outside the message bubble for cleaner layout
- Improve file card border styling with subtle border color
- Add debug logging for message submission with files

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-29 12:51:21 +08:00
Henry Li eff241f9f2 feat: enable images in content 2026-01-29 12:51:04 +08:00
LofiSu e2e0fbf114 fix: hide incomplete citations block during streaming
Improve UX by hiding citations block while it's being streamed:
- Remove complete citations blocks (existing logic)
- Also remove incomplete citations blocks during streaming
- Prevents flickering of raw citations XML in the UI

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-29 12:50:09 +08:00
LofiSu c14378a312 feat: refine citations format and improve content presentation
Backend:
- Simplify citations prompt format and rules
- Add clear distinction between chat responses and file content
- Enforce full URL usage in markdown links, prohibit [cite-1] format
- Require content-first approach: write full content, then add citations at end

Frontend:
- Hide <citations> block in both chat messages and markdown preview
- Remove top-level Citations/Sources list for cleaner UI
- Auto-remove <citations> block in code editor view for markdown files
- Keep inline citation hover cards for reference details

This ensures citations are presented like Claude: clean content with inline reference badges.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-29 12:29:13 +08:00
Henry Li 6b030d7589 feat: add tooltips 2026-01-29 09:23:06 +08:00
Henry Li c700bd6841 feat: enhance search_image 2026-01-29 09:19:43 +08:00
Henry Li 8359d842b5 feat: support image_search 2026-01-29 08:59:55 +08:00
Henry Li 7decdbcc83 fix: improve hasPresentFiles function to check for multiple tool calls 2026-01-29 08:59:45 +08:00
hetaoBackend d4bfed271b feat: display ask_clarification tool messages directly in frontend
Simplify clarification message handling by having the frontend detect and
display ask_clarification tool messages directly, instead of relying on
backend to add an extra AIMessage.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 01:25:31 +08:00
LofiSu ad85b72064 feat: add inline citations and thread management features
Citations:
- Add citations parsing utilities for extracting source references from AI responses
- Render inline citations as hover card badges in message content
- Display citation cards with title, URL, and description on hover
- Add citation badge rendering in artifact markdown preview
- Update prompt to guide AI to output citations in correct format

Thread Management:
- Add rename functionality for chat threads with dialog UI
- Add share functionality to copy thread link to clipboard
- Share links use Vercel URL for production accessibility
- Add useRenameThread hook for thread title updates

i18n:
- Add translations for rename, share, cancel, save, and linkCopied

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-28 19:15:11 +08:00
Henry Li dd2c2011f1 feat: update a new demo 2026-01-28 14:19:00 +08:00
Henry Li d84a34b7cd feat: add Leica demo 2026-01-28 13:52:41 +08:00
Henry Li a249b7178a feat: add another Kimi K2.5 demo 2026-01-28 12:17:21 +08:00
Henry Li e2bcc70a84 feat: add kimi-k2.5 demo with vercel deployment 2026-01-28 10:13:32 +08:00
Henry Li dab4093103 feat: fallback to textarea when loading 2026-01-28 10:13:17 +08:00
Henry Li 28361ca03c feat: add scroll indicator 2026-01-27 13:15:49 +08:00
Henry Li ed31dc6aab fix: hide chats when sidebar is not open 2026-01-27 10:41:08 +08:00
Henry Li cc1fe4e50e fix: eslint 2026-01-27 10:39:44 +08:00
Henry Li eca2b139cc fix: bugfix 2026-01-27 09:50:42 +08:00
Henry Li 3ce4968e95 feat: auto select the first model as default model 2026-01-26 17:13:34 +08:00
Henry Li f629e134d4 feat: adjust button 2026-01-25 22:10:50 +08:00
Henry Li 598fed797f fix: many minor fixes 2026-01-25 21:57:57 +08:00
Henry Li af4fc800ee feat: update demo 2026-01-25 21:57:22 +08:00
Henry Li 87200d1ad1 feat: update translations 2026-01-25 11:54:49 +08:00
Henry Li c82f705541 fix: fix artifacts in demo mode 2026-01-25 11:42:25 +08:00
Henry Li 74dd09b364 feat: update demos 2026-01-25 11:41:48 +08:00
Henry Li 78bba47769 feat: add Titanic ADA demo 2026-01-25 00:35:42 +08:00
Henry Li 3ac6e58d4f fix: remove tooltip 2026-01-25 00:06:49 +08:00
Henry Li 03b380cb8b fix: fix auto select first artifact 2026-01-24 23:59:41 +08:00
Henry Li 35f2aea510 feat: add new demo 2026-01-24 23:51:38 +08:00
Henry Li a83e5e238d feat: auto expand in demo mode 2026-01-24 23:51:11 +08:00
Henry Li 2698c26768 chore: update translation 2026-01-24 22:41:40 +08:00
hetao 6e147a772e feat: add environment variable injection for Docker sandbox
- Add environment field to sandbox config for injecting env vars into container
- Support $VAR syntax to resolve values from host environment variables
- Refactor frontend API modules to use centralized getBackendBaseURL()
- Improve Doraemon skill with explicit input/output path arguments
- Add .env.example file

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 22:36:05 +08:00
Henry Li 869af570c9 feat: add i18n 2026-01-24 22:19:37 +08:00
Henry Li 2bdda01657 Merge remote-tracking branch 'refs/remotes/origin/experimental' into experimental 2026-01-24 22:05:15 +08:00
Henry Li 5a27a3beeb feat: expand by default in demo mode 2026-01-24 22:03:38 +08:00
JeffJiang 38081306fe feat: adds docker-based dev environment (#18)
* feat: adds docker-based dev environment

* docs: updates Docker command help

* fix local dev
2026-01-24 22:01:00 +08:00
Henry Li cae7e67a1f feat: remove over-scroll 2026-01-24 21:14:33 +08:00
Henry Li 72e0f3d081 feat: add new demo 2026-01-24 20:59:06 +08:00
Henry Li 08f1af00b6 feat: support absolute path as image src 2026-01-24 20:58:56 +08:00
Henry Li cdcadc3fe3 style: update tooltip background class for consistency 2026-01-24 20:58:36 +08:00
Henry Li 6485ed2a50 chore: add new demo 2026-01-24 19:44:06 +08:00
Henry Li e88b34c0cb chore: delete 2026-01-24 19:43:44 +08:00
Henry Li 2c8a41dc6c style: reformat 2026-01-24 19:40:44 +08:00
Henry Li 72e3ba9b79 feat: add new demo 2026-01-24 19:38:17 +08:00
Henry Li 27df1b5f73 feat: add uploads 2026-01-24 19:38:08 +08:00
Henry Li a3eb03b105 chore: add new demo 2026-01-24 18:53:13 +08:00
Henry Li 930e6bd46f feat: remove background 2026-01-24 18:48:35 +08:00
Henry Li 6f24a71e1e feat: update save-demo 2026-01-24 18:33:30 +08:00
Henry Li 584c88f0dd feat: add more links 2026-01-24 18:21:50 +08:00
Henry Li cd63f41b4c feat: support static website 2026-01-24 18:01:27 +08:00
hetao f6a20a69e3 feat: implement file upload feature 2026-01-23 18:47:39 +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 459d9d0287 fix: fix menu item in side bar collapsed mode 2026-01-22 15:18:42 +08:00
Henry Li e9ab427326 feat: adjust styles 2026-01-22 14:28:10 +08:00
Henry Li c48a3f499d docs: rewording 2026-01-22 14:21:03 +08:00
Henry Li e0f491dcdb feat: add main menu 2026-01-22 14:19:54 +08:00
Henry Li 80b07bcac0 feat: update opacities 2026-01-22 13:50:09 +08:00
Henry Li 8c994293a8 feat: make `reasoning` mode as default 2026-01-22 13:46:43 +08:00
Henry Li ec4b3a0ead docs: update description 2026-01-22 13:46:31 +08:00
Henry Li 7d4d706738 feat: put all options into '+' 2026-01-22 13:43:45 +08:00
hetao 31bf49917c feat: add unified development environment with nginx proxy
Add a root-level Makefile to manage frontend, backend, and nginx services:
- `make check` validates required dependencies (Node.js 22+, pnpm, uv, nginx)
- `make install` installs all project dependencies
- `make dev` starts all services with unified port 2026
- `make stop` and `make clean` for cleanup

Update nginx configuration:
- Change port from 8000 to 2026
- Add frontend upstream and routing (port 3000)
- Add /api/langgraph/* routing with path rewriting to LangGraph server
- Keep other /api/* routes to Gateway API
- Route non-API requests to frontend

Update frontend configuration:
- Use relative URLs through nginx proxy by default
- Support environment variables for direct backend access
- Construct full URL for LangGraph SDK compatibility

Clean up backend Makefile by removing nginx and serve targets.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-22 12:00:46 +08:00
Henry Li 16a499190b feat: show `in-progress` 2026-01-22 11:56:45 +08:00
Henry Li aa7436db2f feat: adjust input background in light mode 2026-01-22 11:51:56 +08:00
Henry Li 93842e81a4 feat: adjust styles 2026-01-22 11:42:25 +08:00
Henry Li 54710960cb docs: remove '/' 2026-01-22 11:31:23 +08:00
Henry Li e8e522c2fe feat: add animations 2026-01-22 09:41:01 +08:00
Henry Li 37e2c3d3c9 feat: update skill settings 2026-01-22 00:38:20 +08:00
Henry Li 1e4e51a80c feat: add Todos 2026-01-22 00:26:11 +08:00
Henry Li fbe4d27ddd feat: use `resolvedTheme` instead of `systemTheme` 2026-01-21 10:48:29 +08:00
Henry Li 11c562eb98 refactor: move 2026-01-21 10:46:43 +08:00
Henry Li 54d29e254f docs: rewording 2026-01-21 10:46:18 +08:00
Henry Li e3d5b4960f feat: adjust colors 2026-01-21 10:35:50 +08:00
Henry Li 26587ee970 feat: bring back the deer 2026-01-21 10:31:54 +08:00
Henry Li 220fc1c489 feat: auto open artifact 2026-01-21 09:45:55 +08:00
Henry Li 48742d1b59 feat: add code editor 2026-01-21 09:33:33 +08:00
Henry Li 7c6eb4cc8b feat: enlarge shadow 2026-01-21 08:52:30 +08:00
Henry Li d77b9922a6 feat: make artifact "floating" 2026-01-21 08:50:15 +08:00
Henry Li a2ca682b0c feat: change color themes 2026-01-21 08:37:30 +08:00
Henry Li 10d253f461 feat: support settings 2026-01-20 23:43:21 +08:00
Henry Li faba2784e1 feat: save locale in cookies 2026-01-20 16:00:39 +08:00
Henry Li 32a45eb043 feat: implement i18n 2026-01-20 14:06:47 +08:00
Henry Li a18f37779e docs: rewording 2026-01-20 09:26:29 +08:00
Henry Li b8f9678d07 feat: use code block to display bash commands 2026-01-19 21:59:23 +08:00
Henry Li fb265f2b1f feat: support NEXT_PUBLIC_LANGGRAPH_BASE_URL 2026-01-19 21:51:40 +08:00
Henry Li d7dfffad90 feat: add ToggleGroup 2026-01-19 19:41:46 +08:00
Henry Li 541586dc66 feat: support dynamic loading models 2026-01-19 18:54:04 +08:00
Henry Li 1ef04c94ee fix: fix getBackendBaseURL() 2026-01-19 15:42:19 +08:00
Henry Li f3f66ee924 feat: add NEXT_PUBLIC_BACKEND_BASE_URL 2026-01-19 11:23:40 +08:00
Henry Li d8391ca3ea feat: make `new chat` always on top 2026-01-19 00:00:35 +08:00
Henry Li 63fa500716 fix: decode URL 2026-01-18 20:26:01 +08:00
Henry Li dc04042b53 feat: support clarification tool 2026-01-18 20:17:32 +08:00
Henry Li 69b225082b feat: re-implement message group 2026-01-18 19:56:07 +08:00
Henry Li dd80348b76 feat: support SSE write_file(0 2026-01-18 17:13:15 +08:00
Henry Li 8f0bd828d5 feat: add recursion_limit 2026-01-18 13:16:27 +08:00
Henry Li 6bf187c1c2 fix: fix message grouping issues 2026-01-18 13:07:56 +08:00
Henry Li 23dc64fab1 feat: enhance message display 2026-01-18 11:25:46 +08:00
Henry Li 59683fc12e feat: dim the placeholder 2026-01-18 09:57:30 +08:00
Henry Li 92fc19a3aa feat: remove model icon 2026-01-18 09:55:17 +08:00
Henry Li 3f1f6af30c feat: change back to 60px height 2026-01-17 22:01:17 +08:00
Henry Li 7ea7a7864e feat: use default sidebar width 2026-01-17 22:01:08 +08:00
Henry Li caf761be59 fix: fix z index 2026-01-17 21:34:32 +08:00
Henry Li 5cda2b90fc feat: refine theme 2026-01-17 21:24:49 +08:00
Henry Li 70cd664d3f feat: adjust dark theme 2026-01-17 21:08:05 +08:00
Henry Li 32a77cce84 feat: the DeerFlow theme is back 2026-01-17 20:59:42 +08:00
Henry Li 094553ea42 feat: change light theme 2026-01-17 20:32:27 +08:00
Henry Li df65010e5f fix: remove unused imports 2026-01-17 19:47:51 +08:00
Henry Li 2bc5f30c4d feat: welcome, again 2026-01-17 19:46:02 +08:00
Henry Li 06068dd07b feat: add reasoning check to message list item rendering 2026-01-17 18:02:19 +08:00
Henry Li b705a44f3c feat: pull up the input box when creating new thread 2026-01-17 18:02:01 +08:00
Henry Li 85d9baf2b1 feat:enhance focus status 2026-01-17 17:52:15 +08:00
Henry Li a64b0d226b feat: redesign step counter 2026-01-17 17:45:13 +08:00
Henry Li 97dbcc4bd6 fix: remove unused imports 2026-01-17 17:37:36 +08:00
Henry Li d8f0f91238 feat: extract ThreadTitle component 2026-01-17 17:37:12 +08:00
Henry Li f1c6991194 feat: integrated with artifacts in states 2026-01-17 17:21:37 +08:00
Henry Li 384353d613 feat: remove ring 2026-01-17 17:21:05 +08:00
Henry Li a663bcc37b feat: merge the last thinking with the previous group 2026-01-17 16:10:58 +08:00
Henry Li 584eed0166 fix: do not display 'Untitled' 2026-01-17 15:48:43 +08:00
Henry Li 56da1c990a feat: implement '/chats' 2026-01-17 15:44:49 +08:00
Henry Li 228ec49f70 feat: add date time util 2026-01-17 15:44:38 +08:00
Henry Li 0e8fdf6234 feat: shrink card size 2026-01-17 15:22:00 +08:00
Henry Li 5dc40a9ade feat: add `open in new window` 2026-01-17 15:19:53 +08:00
Henry Li 962d8f04ec feat: support artifact preview 2026-01-17 15:09:44 +08:00
Henry Li ec5bbf6b51 feat: set artifacts layout 2026-01-17 11:02:33 +08:00
Henry Li 9d1cf89532 chore: remove unused components 2026-01-17 10:09:43 +08:00
Henry Li a973c82a1f chore: downgrade `shiki` since breaking changes 2026-01-17 10:05:55 +08:00
Henry Li 664ccb922f style: format 2026-01-17 00:13:24 +08:00
Henry Li 4e7256a9d8 feat: make BETTER_AUTH_* optional 2026-01-17 00:13:17 +08:00
Henry Li bb92dec8d5 feat: ignore components from 3rd parties 2026-01-17 00:12:57 +08:00
Henry Li 4613d6e16e refactor: rename 2026-01-17 00:05:19 +08:00
Henry Li 9d64c7e076 feat: integrated with artifacts 2026-01-17 00:02:03 +08:00
Henry Li 34ca58ed1b fix: fix broken when SSE 2026-01-16 23:15:53 +08:00
Henry Li 6464a67230 feat: remember sidebar state 2026-01-16 23:03:39 +08:00
Henry Li f9853f037c feat: support basic file presenting 2026-01-16 22:35:20 +08:00
Henry Li 93a231cfb1 feat: integrated with artifact resizable 2026-01-16 21:55:31 +08:00
Henry Li 68fbf53fb2 chore: add resizable 2026-01-16 21:54:54 +08:00
Henry Li 91eff99f01 feat: add flip display effect 2026-01-16 20:40:09 +08:00
Henry Li c265734c6e feat: adjust layout 2026-01-16 20:06:30 +08:00
Henry Li 03f0e3f0c7 refactor: move biz logic to core 2026-01-16 19:51:39 +08:00
Henry Li 7066a3b691 feat: adjust layout and style of tooltip 2026-01-16 19:51:14 +08:00
Henry Li b72eb61302 refactor: simplify parameter 2026-01-16 19:50:41 +08:00
Henry Li df396fc246 feat: add copy button 2026-01-16 19:50:23 +08:00
Henry Li 6bd49ab411 chore: remove 2026-01-16 19:50:17 +08:00
Henry Li f19e3ae8ac fix: lastStep could be empty 2026-01-16 14:38:49 +08:00
Henry Li 52b9d0cffc feat: remove scroll button 2026-01-16 14:38:33 +08:00
Henry Li 2105170d39 Merge remote-tracking branch 'refs/remotes/origin/experimental' into experimental 2026-01-16 14:04:21 +08:00
Henry Li faf80bb429 feat: rename 'model' to 'model_name' 2026-01-16 14:03:34 +08:00
DanielWalnut 7284eb15f1 feat: add gateway module with FastAPI server (#5)
* chore: add .claude/ to .gitignore

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add gateway module with FastAPI server

- Add new gateway module with FastAPI app for API routing
- Add gateway and serve commands to Makefile
- Add fastapi, httpx, uvicorn, sse-starlette dependencies
- Fix model config retrieval in lead_agent (support both model_name and model)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 13:22:26 +08:00
Henry Li 1f03fb3749 fix: navigate to home only in open-mode 2026-01-16 09:58:16 +08:00
Henry Li 7c6189668c feat: link to home page 2026-01-16 09:56:30 +08:00
Henry Li 028f402ff5 feat: store the local settings 2026-01-16 09:55:02 +08:00
Henry Li 3f2bfded41 feat: enable edit context options 2026-01-16 09:37:04 +08:00
Henry Li 956f8f0cfb refactor: rename 2026-01-16 09:15:04 +08:00
Henry Li 08e0a1da16 chore: remove 2026-01-16 09:14:25 +08:00
Henry Li e9846c1dda refactor: refine folder structure and rename 2026-01-16 09:13:02 +08:00
Henry Li 61499624a0 feat: adjust message group layout 2026-01-15 23:56:42 +08:00
Henry Li 00ad4206c4 feat: enhance label 2026-01-15 23:47:36 +08:00
Henry Li c3cb4c348d feat: remove max-w- 2026-01-15 23:47:28 +08:00
Henry Li 9f2b94ed52 feat: implement basic web app 2026-01-15 23:40:21 +08:00
Henry Li 57dfc89ca1 chore: specify project name 2026-01-14 09:58:53 +08:00
Henry Li c628c7f8db chore: create frontend project from boilerplate 2026-01-14 09:50:26 +08:00