ObjectverseDiary / docs /01-prd.md
qqyule's picture
feat: initialize project structure for Objectverse Diary
6f8d8d9
# Objectverse Diary — PRD(产品需求文档)
## 目标用户
### Primary Users
| 用户 | 需求 |
| -------------------- | ---------------------------------------- |
| Hackathon judges | 快速理解创意,看到 AI 必要性和技术完整度 |
| AI builders | 体验小模型也能做出有趣产品 |
| Social media users | 上传自己的物品,生成可截图分享的结果 |
| Designers / creators | 获得有趣的角色设定、物品拟人灵感 |
### Secondary Users
| 用户 | 需求 |
| ------------------- | ------------------------------ |
| 中文用户 | 通过中文辅助说明快速理解玩法 |
| 设计师 / 文案创作者 | 用它做脑洞练习 |
| 教育 / 亲子场景 | 把物品拟人化,变成故事创作工具 |
## 核心用户故事
```text
As a curious user,
I want to upload a photo of an everyday object,
so that I can discover its secret personality and diary.
```
```text
As a judge,
I want to understand within 30 seconds why AI is essential,
so that I can evaluate originality and technical quality quickly.
```
```text
As a builder,
I want to see transparent traces and model decisions,
so that I can learn from and reproduce the project.
```
---
## MVP 功能
### P0:必须完成
| 功能 | 描述 | 验收标准 |
| ------------------ | ------------------------ | ----------------------------------------- |
| Image Upload | 用户上传物品图片 | 支持 JPG / PNG |
| Object Recognition | 识别物品名称、材质、状态 | 输出结构化 JSON |
| Persona Generation | 生成物品人格 | 至少包含 name、mood、backstory、complaint |
| Secret Diary | 生成第一人称日记 | 英文主输出,中文辅助翻译 |
| Chat with Object | 用户可追问物品 | 角色保持一致 |
| Share Card | 生成可截图结果卡片 | 包含标题、物品人格、3 个标签 |
| Trace Logger | 保存示例运行轨迹 | JSON 格式,可公开 |
| Gradio UI | 完成可用界面 | 不像默认 Gradio |
| README | 完整说明 | 包含模型、部署、徽章说明 |
| Demo Video | 2 分钟内视频 | 讲清玩法 + 技术 + 勋章 |
### P1:强加分
| 功能 | 描述 |
| ----------------------- | ---------------------------------------------------- |
| Personality Modes | Cynical / Dramatic / Lonely / Philosopher / Romantic |
| Bilingual Toggle | English first / Chinese subtitle |
| Advanced Model Panel | temperature、top_p、seed |
| Example Gallery | 预置 6 个示例物品 |
| Export Trace | 一键保存 trace |
| Dataset Preview | 展示部分训练样本 |
| Local Mode Instructions | 本地 llama.cpp 运行说明 |
### P2:时间充足再做
| 功能 | 描述 |
| ------------------- | ---------------- |
| Voice Reading | 朗读日记 |
| Multi-object Drama | 多个物品互相吐槽 |
| Poster Export PNG | 下载结果卡片 |
| Leaderboard | 最奇怪物品排行榜 |
| Daily Object Prompt | 今日物品挑战 |
---
## 输出内容设计
### 识别结果 JSON
```json
{
"object": {
"name": "coffee mug",
"visible_features": ["white ceramic", "small crack", "coffee stain"],
"likely_context": "developer desk",
"confidence": 0.86
}
}
```
### 人格设定 JSON
```json
{
"persona": {
"object_name": "coffee mug",
"character_name": "Mugworth the Overcaffeinated",
"mood": "tired but sarcastic",
"secret_fear": "being replaced by a stainless steel tumbler",
"core_memory": "witnessed 47 unfinished side projects",
"complaint": "I am not a personality substitute. I am ceramic.",
"tags": ["burnt optimism", "desk survivor", "caffeine witness"]
}
}
```
### 日记输出示例
```text
Secret Diary — Day 417
He filled me again before sunrise. No apology. No eye contact.
Just another bitter liquid and the soft panic of a person
pretending deadlines are a lifestyle...
```
中文辅助:
```text
秘密日记 — 第 417 天
天还没亮,他又把我倒满了。没有道歉,没有眼神交流,
只有苦咖啡和一个假装 deadline 是生活方式的人……
```