| # Objectverse Diary — 开发规范 |
|
|
| ## 代码规范 |
|
|
| ### Python |
|
|
| - 使用 type hints |
| - 保持函数简短 |
| - 避免隐藏的网络调用 |
| - 不硬编码 secrets |
| - 使用 Pydantic 验证模型 JSON 输出 |
| - Prompts 放在 `src/prompts/`,不要内联到 UI 代码中 |
| - UI 文案放在 `src/ui/copy.py` |
|
|
| ### Gradio |
|
|
| - 使用 `gr.Blocks`,不使用 `gr.Interface` 做主应用 |
| - 所有主要组件必须有 `elem_id` 或 `elem_classes` |
| - 自定义 CSS 放在 `src/ui/styles.css` |
| - 英文文案优先,中文辅助在后 |
| - 应用需在 1366px 桌面和移动端宽度下可用 |
|
|
| ### Model |
|
|
| - 总模型参数量必须有文档记录 |
| - 不调用商业 API |
| - 文本生成支持本地 llama.cpp 路径 |
| - VLM 降级方案必须有文档 |
| - 输出必须是结构化 JSON,渲染前验证 |
|
|
| ### Data |
|
|
| - 不包含个人敏感数据 |
| - Sample traces 必须匿名化 |
| - 公开数据集使用合成或已授权的示例 |
| - 原始图片与公开 trace 数据分离 |
|
|
| --- |
|
|
| ## Git 规范 |
|
|
| ### 分支策略 |
|
|
| ```text |
| main: stable submission branch |
| dev: active development branch |
| feat/*: feature branches |
| fix/*: bug fixes |
| docs/*: documentation |
| ``` |
|
|
| ### Commit 格式 |
|
|
| ```text |
| feat: add object persona generator |
| fix: repair malformed diary JSON |
| docs: add field notes draft |
| style: improve off-brand gradio theme |
| chore: update model config |
| ``` |
|
|
| --- |
|
|
| ## AGENTS.md 模板 |
|
|
| > 直接放到项目根目录 `AGENTS.md` |
|
|
| ```md |
| # AGENTS.md |
| |
| ## Project |
| |
| Objectverse Diary is a Build Small Hackathon project. |
| It is an English-first, Chinese-second Gradio application where users upload |
| everyday object photos and small AI models generate secret object personas, |
| diary entries, conversations, and shareable cards. |
| |
| ## Primary Goals |
| |
| 1. Compete in the "An Adventure in Thousand Token Wood" track. |
| 2. Keep total model parameters <= 32B. |
| 3. Use Gradio for all UI and interaction. |
| 4. Host the final app as a Hugging Face Space. |
| 5. Avoid commercial cloud AI APIs. |
| 6. Maximize hackathon badges. |
| 7. Use English as the main UI language and Chinese as secondary helper text. |
| |
| ## Non-Negotiable Rules |
| |
| - Do not use OpenAI, Anthropic, Gemini, Cohere, or other commercial model APIs. |
| - Do not leak private credit codes, tokens, emails, or credentials. |
| - Do not hardcode secrets. |
| - Do not remove Gradio. |
| - Do not make the UI Chinese-first. |
| - Do not exceed the 32B total model parameter limit. |
| - Do not add large features that risk missing the submission deadline. |
| - Do not store unconsented personal user data. |
| |
| ## Tech Stack |
| |
| - Python |
| - Gradio Blocks |
| - Hugging Face Spaces |
| - llama.cpp / llama-cpp-python for text generation |
| - MiniCPM-V or fallback lightweight VLM for object understanding |
| - LoRA / PEFT for fine-tuning |
| - Markdown documentation |
| |
| ## UI Requirements |
| |
| The interface must be English-first and Chinese-second. |
| Visual style: strange object archive, not default Gradio demo. |
| Recommended UI mood: mysterious archive, typewriter diary, warm dark paper, |
| amber highlight, museum label, strange but polished. |
| |
| ## Architecture |
| |
| 1. Image upload → 2. Object understanding → 3. Persona generation → |
| 4. Secret diary generation → 5. Object chat → 6. Share card rendering → |
| 7. Trace export |
| |
| ## Coding Guidelines |
| |
| - Use type hints |
| - Prefer small, composable functions |
| - Prompts under src/prompts |
| - UI copy under src/ui/copy.py |
| - CSS under src/ui/styles.css |
| - Runtime code under src/models |
| - Trace code under src/traces |
| - Use Pydantic schemas for model outputs |
| - Add clear fallback behavior when model output is invalid |
| |
| ## Testing Requirements |
| |
| - App runs locally |
| - App runs on HF Space |
| - At least 6 sample objects work |
| - Share card renders correctly |
| - Trace export works |
| - No secret keys committed |
| - README links valid |
| - Demo video flow reproducible |
| ``` |
|
|
| --- |
|
|
| ## Codex Skills 模板 |
|
|
| 以下 Skills 文件放在 `.codex/skills/` 对应目录下。 |
|
|
| ### `.codex/project.md` |
|
|
| 项目上下文文件,包含 hackathon 信息、核心创意、硬性约束和开发优先级。 |
|
|
| ### `.codex/skills/gradio-ui/SKILL.md` |
|
|
| Gradio Off-Brand UI 规范:布局结构(Hero → Object Intake → Object File → Secret Diary → Chat → Share Card → Trace)、视觉方向(dark paper / amber / typewriter / museum)。 |
|
|
| ### `.codex/skills/model-runtime/SKILL.md` |
|
|
| 模型运行时规范:Vision Runner、Text Runner、Schema 三层架构,以及降级策略(VLM 失败 → 手动描述、文本模型失败 → 模板降级、JSON 异常 → 修复重试)。 |
|
|
| ### `.codex/skills/dataset-trace/SKILL.md` |
|
|
| 数据集与 Trace 规范:训练数据格式、trace 格式、隐私规则、验收标准(≥100 训练样本、≥6 公开 traces)。 |
|
|
| ### `.codex/skills/hf-space/SKILL.md` |
|
|
| HF Space 部署规范:必要文件、README YAML header、部署检查清单。 |
|
|
| ### `.codex/skills/submission/SKILL.md` |
|
|
| 提交规范:8 项交付物、Demo 视频结构、社交文案模板、最终检查清单。 |
|
|