79d7535c1c
后端: - ChatMessage 接口支持 text | image_url 多部分内容 - sandbox chat 接受 images[] 参数 - 自动将图片转为 image_url 格式发送到 AI - 上传模块支持 jpg/png/gif/webp/svg 前端: - 沙盒输入区 + 图片上传按钮 - 图片缩略图预览 + 删除 - 上传后随消息发送到 API - uploads/ 目录持久化存储
2.2 KiB
2.2 KiB
项目进度追踪
当前阶段:P3 — 体验增强
Phase 1-3 — 全部完成 ✅
P0 — 全局优化(全部完成 ✅)
| 子项 | 说明 | 状态 |
|---|---|---|
| P0a | i18n 基础设施 + 翻译文件 + LanguageProvider + useT hook | ✅ |
| P0b | UI 统一 — Design Token + 共享组件库 | ✅ |
| P0c | 逐页翻译 + 语言切换 — 沙盒页面 useT 化 | ✅ |
| P0d | 会员定价页重构(用量可视化) | ✅ |
| P0e | 模型选择器升级(卡片式 + 能力标签) | ✅ |
| P0f | 会话分享链接 — HMAC 签名 + 分享查看页 | ✅ |
P1 — 学习技能包(全部完成 ✅)
| 子项 | 说明 | 状态 |
|---|---|---|
| 后端 | SkillsModule + 8 技能定义 + 过滤/详情 API | ✅ |
| 前端 | /skills 市场 + /skills/[id] 详情 + header 入口 | ✅ |
| 沙盒集成 | 替代硬编码 SCENES,从 API 动态加载,?skill=xxx 支持 | ✅ |
P2 — CSS 统一(全部完成 ✅)
| 子项 | 说明 | 状态 |
|---|---|---|
| Mobile variables.css | Design Token 变量定义(Web/Mobile 统一) | ✅ |
| Mobile 全站 18 页 | 批量替换 hardcoded color → CSS vars | ✅ |
| PC 响应式 | header/compare/sandbox/member/workshop 移动端修复 | ✅ |
P3 — 体验增强(全部完成 ✅)
| 优先级 | 项目 | 说明 | 状态 |
|---|---|---|---|
| P3a | 代码语法高亮 | highlight.js + CodeBlock 组件,10+ 语言 | ✅ |
| P3b | 会话重命名 | PATCH endpoint + 双击编辑 | ✅ |
| P3c | LLM 集成层增强 | 模型能力目录 + 用量统计 + getModelInfo | ✅ |
| P3d | Mobile 样式复查 | 0 残留硬编码颜色 | ✅ |
| — | 多模态(文件上传/图片理解) | 远期规划 | 📋 |
| — | SDK / 共享 UI 包 | 远期规划 | 📋 |
参考来源
- opencode 源码克隆到
/tmp/opencode-source/(21 packages, 147MB)
关键决策
frontend/src/lib/models.ts作为模型列表单数据源- 所有颜色使用 CSS 变量(
text-foreground/text-muted-foreground/bg-card/bg-muted/border-border) nest build正常产出(--tsc遗漏 prisma 模块)- 沙盒 JWT 认证保留