ACCESSING DATABANKS...
系统初始化中...
[000%]
ACCESSING DATABANKS...
在线访问 · 私有仓库
next-intl 管理 locale 路由和消息,每个项目都有本地化 MDX,缺失时按文档回退到英文。/api/chat 使用中立的主服务与备用服务路由、静态作品集数据和更深入的 MDX 上下文,以及明确的 UI 工具。portfolio.read scope 保护。next-intl 负责路由、消息、元数据和项目 MDX,并在缺少条目时使用英文回退。/api/chat,获得静态作品集数据和更深入的 MDX 上下文;流式响应返回文字或 UI action,支持的浏览器可选用本地语音。结果: 网站同时提供快速定位与对系统的深入说明。
质量与验证: ESLint、TypeScript 检查和生产构建是可重复的质量门槛。
安全控制: chat 使用签名临时锁定和速率边界,MCP 使用只读 scope 与一次性授权码。
比较与演进: 产品从早期 Portfolio: Glass 演进为可承载本地化叙事和 agent access 的模块化作品集。
影响: 它同时呈现创意前端与可维护的内容、集成、安全和部署决策。
首屏先传达身份和内容,再提供更深的交互层。
项目、技能、经历和联系信息无需账户即可浏览。
九个语言路由共享一致的信息架构。
Oz 助手用对话方式引导至同一组已验证作品集事实。
外部集成是可选增强,不会阻塞核心阅读。
突出细节: CRT 质感、glitch 排版、Canvas、聚焦的 3D hero、音乐控制和本地化内容共享清晰职责,没有过度的全局状态容器。
验证: lint、类型检查与生产构建作为质量门槛执行,responsive、reduced-motion 和 coarse-pointer 分支会随 UI 修改复核。
优化: client-only shell 隔离浏览器能力,MDX、数据模块与组件化结构避免加载非必要交互。
代码质量: TypeScript 类型、组织清晰的 handler、聚焦 provider、狭窄 store 以及服务和安全模块让代码所有权更明确。
链接与参考: 参见 components/sections、components/ui、components/chatbot、components/providers、content/projects、messages、data、lib/mcp、lib/security、lib/services 与 stores。
/api/chat 通过多提供方路由和受控回退为 Oz 提供流式回答。
助手读取静态作品集数据和 MDX 上下文,以保持公开内容的依据清晰可审阅。
浏览器语音为可选能力,文本体验始终可用。
MCP 为只读,主要传输方式是 Streamable HTTP,授权使用 OAuth 2.1 Authorization Code 和 PKCE S256。
Vercel 上由 Upstash Redis 完成原子的一次性授权码兑换,本地开发保留兼容行为。
主题、provider 状态、组件本地浏览器持久化和聊天筛选 store 各自保持作用域。
不同做法: 持续简化最耗费资源的视觉路径,同时保留编辑风格人格。
成功之处: 界面、本地化叙事、助手、音乐和发现面共同呈现为一个产品。
经验: 当服务端集成、仅浏览器行为与本地化内容边界明确时,丰富交互更容易维护。
内容层级优先,创意动效才会真正增强体验。
清晰的客户端和服务器边界比增加集成更重要。
本地化案例必须和代码库同步维护,而不是一次性翻译。
前端与设计: 设计视觉系统、响应式 section、HUD 构图、Canvas、3D hero 与内容呈现。
AI 与 Oz: 实现流式助手、主服务和备用服务路由、作品集与 MDX 上下文和 UI action。
交互与动画: 调校 motion、scroll、reduced-motion 与响应式互动。
设计并实现视觉系统、页面结构与响应式交互。
建立本地化内容管线、项目呈现和 MDX 组件。
集成 Oz、AI 回退策略及其安全控制。
实现 MCP 发现、OAuth、联系、媒体、分析和部署集成。
分层结构: server component 管理 locale 和文档结构,client component 管理浏览器交互,API route 隔离 chat、contact、media 与 MCP。
功能模块: 项目采用按功能组织的 Next.js 结构,使内容、UI、服务端集成和机器可读发现彼此分离。
分层: 路由与服务端组件管理 locale 和文档结构,客户端组件管理交互与浏览器 API。
src/app/[locale]: 本地化页面、layout、loading、error 与项目路由。
src/components/sections: Hero、About、Experience、Skills、Projects、Contact、Certification。
src/components/ui: GlitchText、Waves、CustomCursor、HeroModel、SkillGraph 等视觉原语。
src/components/layout: 导航、启动体验和返回顶部行为。
src/components/chatbot: 小部件、会话 UI 与客户端聊天服务。
src/components/providers: 仅客户端 shell 与音乐播放器 provider 边界。
src/content/projects: 各语言项目详情 MDX。
src/data 与 src/messages: 已验证静态事实与翻译目录。
src/lib、src/hooks 与 src/stores: 共享服务、复用行为和小范围 UI/filter state。
状态管理: providers 拥有主题、国际化与音乐,聊天偏好与 filter state 保持在所需的最小范围。
重构与改进: 模块边界让视觉功能、route handler、内容和集成可以独立演进。
状态不是单一全局容器:主题与 provider 使用各自 context,聊天偏好在合适时保存于浏览器,filter store 仅服务自身 UI。
模块化结构允许替换一个视觉效果或 provider,而不触碰本地化内容和服务端契约。
/[locale] 及其项目路径通过 next-intl 提供 locale-aware 页面层级。/api/mcp、OpenAPI 和 .well-known 提供只读 agent access,/api/chat 是 Oz 流式入口。/api/chat、/api/chat/health 与 /api/gallery/[slug] 提供助手的流式、健康检查与带速率限制的 project-media surface,获批的 UI 工具负责导航、项目筛选、已启用图库、联系审核、音乐、主题与语言操作。llms.txt、llms-full.txt、auth.md 和公共发现文件提供清晰上下文。layout 负责 fonts、providers 与 localized metadata boundary。/api/gallery/[slug] 是带速率限制的 project media 与 supported gallery surface。/api/chat 会验证 same-origin requests。abuse controls 激活时,独立的 signed temporary lockdown cookie 承载 restriction,request 本身并未签名。.well-known documents,而不是 client-only hints。portfolio.read,MCP 不会成为 write surface。托管说明: 该作品集在线运行于 franzdomingo.dev,以 Vercel 为部署目标,并使用 Node.js 24 LTS runtime。