├── .biome.json ├── .cursor └── rules │ └── new-tool.mdc ├── .eslintrc.json ├── .github └── workflows │ ├── chromatic.yml │ └── claude.yml ├── .gitignore ├── .mcp.json ├── .storybook ├── main.ts └── preview.ts ├── CLAUDE.md ├── README.md ├── app ├── (root1) │ ├── (home) │ │ ├── app │ │ │ └── page.tsx │ │ ├── article │ │ │ └── page.tsx │ │ ├── header.tsx │ │ ├── layout.tsx │ │ ├── line-item.tsx │ │ ├── menu.tsx │ │ ├── page.tsx │ │ ├── use-selected-page.ts │ │ └── work │ │ │ └── page.tsx │ ├── dict │ │ ├── Ctx.tsx │ │ ├── _follow-up.tsx │ │ ├── _persistence.tsx │ │ ├── _pronounce.tsx │ │ ├── consts.ts │ │ ├── error-boundary.tsx │ │ ├── follow-up.action.ts │ │ ├── follow-up.tsx │ │ ├── page.tsx │ │ ├── persistence.tsx │ │ ├── pronounce.tsx │ │ └── search-bar.tsx │ ├── fonts │ │ ├── GeistMonoVF.woff │ │ └── GeistVF.woff │ ├── globals.css │ └── layout.tsx ├── api │ └── news │ │ └── translate │ │ └── route.ts ├── chat │ ├── agent │ │ ├── _page.tsx │ │ ├── actions.tsx │ │ ├── brainstorm.tsx │ │ ├── draft.tsx │ │ └── feedback.tsx │ ├── conversation │ │ ├── @sidebar │ │ │ ├── [...catchAll] │ │ │ │ ├── conversation-preview.client.tsx │ │ │ │ ├── conversation-preview.tsx │ │ │ │ ├── conversations-list.tsx │ │ │ │ ├── conversations-loading-skeleton.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── sidebar-action.ts │ │ │ └── default.tsx │ │ ├── [id] │ │ │ ├── action.tsx │ │ │ ├── assistant-message-wrapper-v2.tsx │ │ │ ├── client-page.tsx │ │ │ ├── delete-all-nodes-with-message-id.tsx │ │ │ ├── font-size-control.tsx │ │ │ ├── get-new-response-context.tsx │ │ │ ├── markdown-parser.tsx │ │ │ ├── page.tsx │ │ │ ├── parser.tsx │ │ │ ├── render-from-pending.tsx │ │ │ ├── render-message.tsx │ │ │ ├── spinner.tsx │ │ │ └── tools │ │ │ │ ├── llm.ts │ │ │ │ ├── remove-reminder.tsx │ │ │ │ ├── supported-tools │ │ │ │ ├── (reminder) │ │ │ │ │ ├── add-reminder │ │ │ │ │ │ └── add-reminder.tsx │ │ │ │ │ ├── edit-reminder │ │ │ │ │ │ ├── edit-reminder-dialog.tsx │ │ │ │ │ │ ├── edit-reminder.tsx │ │ │ │ │ │ └── fuzzy-search.ts │ │ │ │ │ └── show-reminders │ │ │ │ │ │ ├── reminder-list.tsx │ │ │ │ │ │ ├── reminder.action.tsx │ │ │ │ │ │ └── show-reminders.tsx │ │ │ │ ├── calculator │ │ │ │ │ └── calculator.tsx │ │ │ │ ├── image-generation │ │ │ │ │ └── image-generation.tsx │ │ │ │ ├── message-summary │ │ │ │ │ └── message-summary.tsx │ │ │ │ ├── pronunciation │ │ │ │ │ └── pronunciation.tsx │ │ │ │ ├── tools.tsx │ │ │ │ ├── weather │ │ │ │ │ └── weather.tsx │ │ │ │ └── web-search │ │ │ │ │ └── web-search.tsx │ │ │ │ └── tool-call-group │ │ │ │ ├── tool-call-context.tsx │ │ │ │ ├── tool-call-group.action.tsx │ │ │ │ └── tool-call-group.tsx │ │ └── layout.tsx │ ├── fonts │ │ ├── GeistMonoVF.woff │ │ └── GeistVF.woff │ ├── globals.css │ ├── layout.tsx │ ├── login │ │ └── [[...catch-all]] │ │ │ └── page.tsx │ ├── notes │ │ └── [id] │ │ │ └── page.tsx │ └── page.tsx ├── components │ ├── collapsable.client.tsx │ └── full-height-container.tsx ├── db │ └── redis.ts ├── favicon.ico ├── head-pic.jpeg └── news │ ├── [id] │ ├── _news-chat.tsx │ ├── getStoryContentEffective.ts │ ├── loading.tsx │ ├── news-chat-wrapper.tsx │ ├── news-chat.action.ts │ ├── news-chat.tsx │ └── page.tsx │ ├── admin2 │ ├── actions.ts │ └── page.tsx │ ├── globals.css │ ├── layout.tsx │ ├── lib │ ├── getAndCacheTranslatedStory.ts │ ├── getTopStories.ts │ └── translateTopStories.ts │ ├── page.tsx │ └── translateToChinese.tsx ├── components.json ├── components ├── landing-page.tsx └── ui │ ├── button.tsx │ ├── card.tsx │ ├── theme-toggle-header.tsx │ └── theme-toggle.tsx ├── lib ├── models.ts └── utils.ts ├── next.config.mjs ├── package.json ├── patches └── katex@0.16.21.patch ├── pnpm-lock.yaml ├── postcss.config.mjs ├── prisma ├── migrations │ ├── 20250413150740_init │ │ └── migration.sql │ ├── 20250415035118_add_user_id_to_conversation │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── proxy.ts ├── stories └── chat │ ├── ChatPageLayout.stories.tsx │ ├── MessageComponents.stories.tsx │ └── Spinner.stories.tsx ├── tailwind.config.ts └── tsconfig.json /.biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.biome.json -------------------------------------------------------------------------------- /.cursor/rules/new-tool.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.cursor/rules/new-tool.mdc -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/chromatic.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.github/workflows/chromatic.yml -------------------------------------------------------------------------------- /.github/workflows/claude.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.github/workflows/claude.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.gitignore -------------------------------------------------------------------------------- /.mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.mcp.json -------------------------------------------------------------------------------- /.storybook/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.storybook/main.ts -------------------------------------------------------------------------------- /.storybook/preview.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/.storybook/preview.ts -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/README.md -------------------------------------------------------------------------------- /app/(root1)/(home)/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/app/page.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/article/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/article/page.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/header.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/layout.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/line-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/line-item.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/menu.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/page.tsx -------------------------------------------------------------------------------- /app/(root1)/(home)/use-selected-page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/use-selected-page.ts -------------------------------------------------------------------------------- /app/(root1)/(home)/work/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/(home)/work/page.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/Ctx.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/Ctx.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/_follow-up.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/_follow-up.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/_persistence.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/_persistence.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/_pronounce.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/_pronounce.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/consts.ts: -------------------------------------------------------------------------------- 1 | export const DICT_HOME = "/dict"; 2 | -------------------------------------------------------------------------------- /app/(root1)/dict/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/error-boundary.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/follow-up.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/follow-up.action.ts -------------------------------------------------------------------------------- /app/(root1)/dict/follow-up.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/follow-up.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/page.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/persistence.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/persistence.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/pronounce.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/pronounce.tsx -------------------------------------------------------------------------------- /app/(root1)/dict/search-bar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/dict/search-bar.tsx -------------------------------------------------------------------------------- /app/(root1)/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /app/(root1)/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/fonts/GeistVF.woff -------------------------------------------------------------------------------- /app/(root1)/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/globals.css -------------------------------------------------------------------------------- /app/(root1)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/(root1)/layout.tsx -------------------------------------------------------------------------------- /app/api/news/translate/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/api/news/translate/route.ts -------------------------------------------------------------------------------- /app/chat/agent/_page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/agent/_page.tsx -------------------------------------------------------------------------------- /app/chat/agent/actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/agent/actions.tsx -------------------------------------------------------------------------------- /app/chat/agent/brainstorm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/agent/brainstorm.tsx -------------------------------------------------------------------------------- /app/chat/agent/draft.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/agent/draft.tsx -------------------------------------------------------------------------------- /app/chat/agent/feedback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/agent/feedback.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/conversation-preview.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/conversation-preview.client.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/conversation-preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/conversation-preview.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/conversations-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/conversations-list.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/conversations-loading-skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/conversations-loading-skeleton.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/page.tsx -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/[...catchAll]/sidebar-action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/[...catchAll]/sidebar-action.ts -------------------------------------------------------------------------------- /app/chat/conversation/@sidebar/default.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/@sidebar/default.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/action.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/action.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/assistant-message-wrapper-v2.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/assistant-message-wrapper-v2.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/client-page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/client-page.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/delete-all-nodes-with-message-id.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/delete-all-nodes-with-message-id.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/font-size-control.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/font-size-control.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/get-new-response-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/get-new-response-context.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/markdown-parser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/markdown-parser.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/page.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/parser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/parser.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/render-from-pending.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/render-from-pending.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/render-message.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/render-message.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/spinner.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/llm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/llm.ts -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/remove-reminder.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/remove-reminder.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/add-reminder/add-reminder.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/add-reminder/add-reminder.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/edit-reminder-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/edit-reminder-dialog.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/edit-reminder.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/edit-reminder.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/fuzzy-search.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/edit-reminder/fuzzy-search.ts -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/reminder-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/reminder-list.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/reminder.action.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/reminder.action.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/show-reminders.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/(reminder)/show-reminders/show-reminders.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/calculator/calculator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/calculator/calculator.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/image-generation/image-generation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/image-generation/image-generation.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/message-summary/message-summary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/message-summary/message-summary.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/pronunciation/pronunciation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/pronunciation/pronunciation.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/tools.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/tools.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/weather/weather.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/weather/weather.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/supported-tools/web-search/web-search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/supported-tools/web-search/web-search.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/tool-call-group/tool-call-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/tool-call-group/tool-call-context.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/tool-call-group/tool-call-group.action.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/tool-call-group/tool-call-group.action.tsx -------------------------------------------------------------------------------- /app/chat/conversation/[id]/tools/tool-call-group/tool-call-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/[id]/tools/tool-call-group/tool-call-group.tsx -------------------------------------------------------------------------------- /app/chat/conversation/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/conversation/layout.tsx -------------------------------------------------------------------------------- /app/chat/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /app/chat/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/fonts/GeistVF.woff -------------------------------------------------------------------------------- /app/chat/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/globals.css -------------------------------------------------------------------------------- /app/chat/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/layout.tsx -------------------------------------------------------------------------------- /app/chat/login/[[...catch-all]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/login/[[...catch-all]]/page.tsx -------------------------------------------------------------------------------- /app/chat/notes/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/notes/[id]/page.tsx -------------------------------------------------------------------------------- /app/chat/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/chat/page.tsx -------------------------------------------------------------------------------- /app/components/collapsable.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/components/collapsable.client.tsx -------------------------------------------------------------------------------- /app/components/full-height-container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/components/full-height-container.tsx -------------------------------------------------------------------------------- /app/db/redis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/db/redis.ts -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/head-pic.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/head-pic.jpeg -------------------------------------------------------------------------------- /app/news/[id]/_news-chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/_news-chat.tsx -------------------------------------------------------------------------------- /app/news/[id]/getStoryContentEffective.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/getStoryContentEffective.ts -------------------------------------------------------------------------------- /app/news/[id]/loading.tsx: -------------------------------------------------------------------------------- 1 | export default function Loading() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /app/news/[id]/news-chat-wrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/news-chat-wrapper.tsx -------------------------------------------------------------------------------- /app/news/[id]/news-chat.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/news-chat.action.ts -------------------------------------------------------------------------------- /app/news/[id]/news-chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/news-chat.tsx -------------------------------------------------------------------------------- /app/news/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/[id]/page.tsx -------------------------------------------------------------------------------- /app/news/admin2/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/admin2/actions.ts -------------------------------------------------------------------------------- /app/news/admin2/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/admin2/page.tsx -------------------------------------------------------------------------------- /app/news/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/globals.css -------------------------------------------------------------------------------- /app/news/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/layout.tsx -------------------------------------------------------------------------------- /app/news/lib/getAndCacheTranslatedStory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/lib/getAndCacheTranslatedStory.ts -------------------------------------------------------------------------------- /app/news/lib/getTopStories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/lib/getTopStories.ts -------------------------------------------------------------------------------- /app/news/lib/translateTopStories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/lib/translateTopStories.ts -------------------------------------------------------------------------------- /app/news/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/page.tsx -------------------------------------------------------------------------------- /app/news/translateToChinese.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/app/news/translateToChinese.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components.json -------------------------------------------------------------------------------- /components/landing-page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components/landing-page.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components/ui/card.tsx -------------------------------------------------------------------------------- /components/ui/theme-toggle-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components/ui/theme-toggle-header.tsx -------------------------------------------------------------------------------- /components/ui/theme-toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/components/ui/theme-toggle.tsx -------------------------------------------------------------------------------- /lib/models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/lib/models.ts -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/lib/utils.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/package.json -------------------------------------------------------------------------------- /patches/katex@0.16.21.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/patches/katex@0.16.21.patch -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /prisma/migrations/20250413150740_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/prisma/migrations/20250413150740_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20250415035118_add_user_id_to_conversation/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/prisma/migrations/20250415035118_add_user_id_to_conversation/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /proxy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/proxy.ts -------------------------------------------------------------------------------- /stories/chat/ChatPageLayout.stories.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/stories/chat/ChatPageLayout.stories.tsx -------------------------------------------------------------------------------- /stories/chat/MessageComponents.stories.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/stories/chat/MessageComponents.stories.tsx -------------------------------------------------------------------------------- /stories/chat/Spinner.stories.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/stories/chat/Spinner.stories.tsx -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaojude/portfolio/HEAD/tsconfig.json --------------------------------------------------------------------------------