Skip to content

feat: configurable thinking animation with file upload#823

Open
taoxu0903 wants to merge 1 commit into
EKKOLearnAI:mainfrom
taoxu0903:feat/configurable-thinking-video
Open

feat: configurable thinking animation with file upload#823
taoxu0903 wants to merge 1 commit into
EKKOLearnAI:mainfrom
taoxu0903:feat/configurable-thinking-video

Conversation

@taoxu0903
Copy link
Copy Markdown

Add a new display setting that lets users upload a custom GIF or video to replace the default thinking animation shown while the AI is responding.

Changes:

  • config.ts: add thinking_video_url to DisplayConfig interface
  • MessageList.vue: use custom URL when set (img for GIF, video for mp4/webm), fall back to bundled thinking-light/dark.mp4 based on theme
  • DisplaySettings.vue: replace URL text input with upload button; uploads file to server and auto-saves the resulting URL
  • upload.ts (controller): add handleThinkingAnimationUpload — validates ext (gif/mp4/webm/png/jpg/webp), saves to uploadDir with random filename, returns /user-uploads/ URL
  • upload.ts (routes): register POST /api/hermes/upload/thinking-animation
  • index.ts: serve /user-uploads/* from config.uploadDir (persists across builds)
  • i18n en/zh: add thinkingVideoUrl, thinkingVideoUrlHint, thinkingVideoUrlUpload, thinkingVideoUrlReplace, thinkingVideoUrlClear keys

Add a new display setting that lets users upload a custom GIF or video
to replace the default thinking animation shown while the AI is responding.

Changes:
- config.ts: add thinking_video_url to DisplayConfig interface
- MessageList.vue: use custom URL when set (img for GIF, video for mp4/webm),
  fall back to bundled thinking-light/dark.mp4 based on theme
- DisplaySettings.vue: replace URL text input with upload button; uploads
  file to server and auto-saves the resulting URL
- upload.ts (controller): add handleThinkingAnimationUpload — validates ext
  (gif/mp4/webm/png/jpg/webp), saves to uploadDir with random filename,
  returns /user-uploads/<name> URL
- upload.ts (routes): register POST /api/hermes/upload/thinking-animation
- index.ts: serve /user-uploads/* from config.uploadDir (persists across builds)
- i18n en/zh: add thinkingVideoUrl, thinkingVideoUrlHint, thinkingVideoUrlUpload,
  thinkingVideoUrlReplace, thinkingVideoUrlClear keys
werserk added a commit to kira-project-lab/hermes-web-ui that referenced this pull request May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant