Commit Graph

69 Commits

Author SHA1 Message Date
Henry Li
37dcee41c0 feat: add file icon 2026-02-02 09:49:44 +08:00
Henry Li
51b4ed3124 feat: adjust tooltips 2026-02-02 09:32:18 +08:00
Henry Li
a0a3a3fc02 feat: dynamic title 2026-02-02 09:05:24 +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
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
c1182c680c feat: support Github Flavored Markdown 2026-01-30 16:41: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
Henry Li
4411af68f5 fix: fix renaming 2026-01-29 15:31:56 +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
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
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
3ce4968e95 feat: auto select the first model as default model 2026-01-26 17:13:34 +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
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
08f1af00b6 feat: support absolute path as image src 2026-01-24 20:58:56 +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
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
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
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
54d29e254f docs: rewording 2026-01-21 10:46:18 +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
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