File size: 7,684 Bytes
9bbe096 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | # Dream Customs / 梦境海关 Product Spec
Last updated: 2026-06-05
## 1. One-Line Concept
梦境海关帮用户和昨晚的梦结盟:用户用语音、图片或文字申报梦境,系统把不安转成第二天的小建议,把怪梦转成一件 5 分钟能完成的有趣小事。
## 2. Contest Fit
- Event: Build Small Hackathon.
- Build window: 2026-06-05 to 2026-06-15.
- Deployment target: Gradio app on Hugging Face Space.
- Model constraint: total model parameters must be <= 32B.
- Primary track fit: An Adventure in Thousand Token Wood, because the AI is the load-bearing delight of the experience.
- Secondary story: Backyard AI, because the concept comes from a real sleep problem: frequent vivid dreams and poor sleep.
- Model family constraint: prioritize MiniCPM models before considering any unrelated small model.
## 3. Core User Problem
The user wakes up after vivid or unsettling dreams and wants a quick, non-clinical way to make sense of the dream before the day begins. Existing dream tools often feel either too mystical, too diagnostic, or too generic. This product should feel like a playful ritual that gives emotional order without pretending to be therapy.
## 4. Product Principles
1. Do not diagnose.
2. Do not frighten the user.
3. Convert dream residue into a small next-day action.
4. Keep the output weird enough to show a friend.
5. Make the AI the main experience, not a helper hidden behind a form.
6. Keep the MVP stable enough for Gradio Space and demo-video recording.
## 5. User Inputs
All inputs are normalized into one `DreamIntake` object so the app does not become three separate products.
### 5.1 Text Input
The user writes:
- Dream narrative.
- Wake-up mood.
- Repeated symbols.
- Any second-day concern or wish.
### 5.2 Image Input
The user uploads:
- A dream sketch.
- A bedside note.
- A screenshot or photo related to the dream.
- A quick doodle drawn after waking.
MiniCPM-V-4.6 extracts visual clues and returns structured text.
### 5.3 Voice Input
The user speaks the dream immediately after waking.
Implementation note: MiniCPM-V-4.6 and MiniCPM5-1B are not raw audio ASR models. Voice input needs a small transcription adapter. The adapter only converts audio to text; dream understanding remains MiniCPM-driven.
## 6. Dream Intake Schema
```json
{
"dream_text": "我梦见自己一直赶不上电梯,楼层按钮会融化。",
"voice_transcript": "我梦见我一直赶不上电梯...",
"visual_clues": ["歪斜电梯门", "蓝色楼道", "融化的数字 14"],
"mood": "焦虑但有点滑稽",
"recurring_symbols": ["电梯", "迟到", "融化的按钮"],
"uncertainty": "梦的后半段记不清",
"user_context": "最近晚上常做梦,睡醒后想获得第二天建议"
}
```
## 7. Model Responsibilities
### MiniCPM-V-4.6
Role: dream witness.
Responsibilities:
- Read sketches, notes, screenshots, and photos.
- Extract objects, locations, visible text, colors, spatial relationships, and emotional cues.
- Return concise JSON-compatible visual clues.
Non-responsibilities:
- Do not generate the final alliance card.
- Do not provide psychological interpretation.
### MiniCPM5-1B
Role: dream diplomat.
Responsibilities:
- Merge dream text, voice transcript, and visual clues.
- Name the dream visitor.
- Ask 2-3 alliance negotiation questions.
- Generate the final alliance card.
- Keep tone playful, gentle, and non-clinical.
## 8. MVP User Flow
1. User opens Gradio app.
2. User submits any combination of text, image, and voice.
3. App transcribes voice if present.
4. App calls MiniCPM-V-4.6 if image is present.
5. App builds `DreamIntake`.
6. MiniCPM5-1B generates a dream visitor profile and 2-3 follow-up questions.
7. User answers questions or clicks "skip / refuse cooperation".
8. MiniCPM5-1B generates a final alliance card.
9. App renders the card as a shareable visual block and plain text.
## 9. Output Contract
The final card must include:
- Dream visitor name.
- Entry permit number.
- Carried emotional contraband.
- Risk level, phrased playfully.
- Alliance reading: what the dream may be trying to protect.
- One practical next-day suggestion.
- One 5-minute weird task.
- One bedtime release phrase.
- Safety note if the input indicates severe distress.
Example:
```json
{
"visitor_name": "迟到的电梯",
"permit_id": "DC-0605-014",
"contraband": ["未申报的焦虑", "融化的按钮", "一小袋没来得及开始的事"],
"risk_level": "橙色:需要被安置,但不需要被害怕",
"alliance_reading": "这个梦像是在提醒你,今天不要把启动一件事和完成一件事混成同一个压力。",
"practical_suggestion": "提前 10 分钟开始一件最小的任务,只要求打开它。",
"weird_task": "给电梯写一句道歉信:抱歉总让你替我背迟到的锅。",
"bedtime_release": "今日电梯已停靠,未完成事项明日再报关。",
"safety_note": ""
}
```
## 10. UX Structure
### Screen 1: Dream Declaration Desk
Inputs:
- Textbox for dream notes.
- Image upload for dream sketch or bedside note.
- Audio input for spoken dream.
- Optional mood selector.
Primary action:
- "Submit to Customs"
### Screen 2: Alliance Negotiation
Content:
- Dream visitor name.
- 2-3 questions from the customs officer.
- Buttons: answer, skip, refuse cooperation.
### Screen 3: Today's Pact Card
Content:
- Card-style result.
- Copy text button.
- Download/share image target if feasible.
- "Release this dream for tonight" reset action.
## 11. Safety Boundaries
The app must:
- Avoid diagnoses, medical claims, or certainty about dream meaning.
- Avoid telling users that a dream proves trauma, illness, or danger.
- Use language such as "may be", "could be treated as", and "for today, try".
- If the user mentions self-harm, intent to harm others, severe insomnia, panic, or inability to function, show a supportive escalation note.
Escalation copy:
> This dream sounds heavier than a playful customs ritual should handle. If you feel unsafe, unable to sleep for many nights, or worried you may hurt yourself or someone else, please reach out to a trusted person or professional support now.
## 12. Recommended MVP Scope
Included:
- Gradio app.
- Text input.
- Image input through MiniCPM-V-4.6.
- Voice input through small ASR adapter.
- MiniCPM5-1B prompt flow.
- Result card in HTML.
- Example mode for demo stability.
- Basic safety classifier prompt or rule layer.
Excluded from MVP:
- Voice output.
- Long-term account system.
- Medical sleep tracking.
- Dream history database.
- Personalized therapy plans.
- Multi-user social feed.
## 13. Grill Questions And Recommended Answers
1. Is this a therapy tool?
- Recommended answer: no. It is a playful reflection and next-day ritual tool.
2. Which track should the submission emphasize?
- Recommended answer: Thousand Token Wood first, Backyard AI second.
3. Should voice be core?
- Recommended answer: voice input yes, voice output no for MVP.
4. Should the image input be mandatory?
- Recommended answer: no. Image is a strong MiniCPM-V demo path but text alone must work.
5. What is the winning demo moment?
- Recommended answer: user speaks a dream, uploads a quick sketch, and receives a strange but useful "Today's Pact" card.
## 14. Open Questions
- Which ASR adapter should be used on Hugging Face Space for the MVP?
- Should the first demo be in Chinese, English, or bilingual?
- Do we want to submit under the same team/repo as the earlier Ordinary Relics MVP, or create a new Space?
- Should the visual card support image download in MVP or only screenshot-friendly HTML?
|