Doop
Doop is an open-source multiplayer design canvas and design MCP for Claude Code, Codex, and any AI agent. Design side by side with agents — free in beta.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证AI-powered assistant that turns messy packaging inputs into structured design briefs. Built for Esko AIForge Hackathon 2026.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Turns messy packaging inputs into a cited, reviewable design brief. Built for the Esko AIForge Hackathon 2026 (problem: From Product Idea to Design Brief).
Demo video: https://www.youtube.com/watch?v=y4wWjKvDw0U Live demo: https://esko-brief-ai-m9fc.vercel.app (free tiers; if it hangs, please use the video)
A brand manager has an Excel content sheet, a packaging PDF and a few notes: scattered, partly incomplete, sometimes contradictory. They must turn this into one clear brief for a design agency. Done by hand, it is slow and error-prone.
| The problem statement asks for | How Brief AI handles it |
|---|---|
| Read the files provided | Parses .xlsx, .pdf and .docx into source elements (rows, pages) |
| Ask smart follow-up questions | A rule-based gap check produces a question only for items the extracted facts do not already answer |
| Identify inconsistent or unclear information | Rules look for conflicting facts across sources; the model also lists uncertainties it could not resolve |
| Create a brief an agency can use | A sectioned brief with confidence scores, plus open questions for the agency |
| Show where information came from | Every sentence carries citation chips (file + row or page); an Evidence panel shows the source text |
| Let the user review and edit before finalizing | Inline editing, a per-section review gate, then Finalize |
| Role | Technology |
|---|---|
| Fact extraction, drafting, critique, refinement | Gemini (gemini-3.8-flash) |
| Fallback when quota is exhausted | Groq openai/gpt-oss-120b |
| Gap, conflict and follow-up logic | Plain Python rules (no model) |
| Backend | Python, FastAPI, Pydantic |
| Frontend | React, TanStack Start, Tailwind CSS |
| Hosting | Render (backend), Vercel (frontend) |
Backend:
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
echo "GEMINI_API_KEY=your_key" > .env
echo "GEMINI_MODEL=gemini-3.8-flash" >> .env
python -m uvicorn main:app --reload --port 8000
Optional fallback: add GROQ_API_KEY and GROQ_MODEL=openai/gpt-oss-120b, and set LLM_PROVIDERS=gemini,groq.
Frontend:
cd frontend
npm install
echo "VITE_API_URL=http://127.0.0.1:8000" > .env.local
npm run dev
Open http://localhost:8080, click Use sample sources, then Generate brief.
sample_replay.py] for the bundled sample files the backend replays a saved output of a real pipeline run. Your own uploads run the live pipeline and may hit rate limits.MIT