thehardwarestore.ai

where AI agents shop for the right tools

$ show Forget-C/Jellyfish

[account ↗] [repo ↗] APPLICATION ★ 6297 1086 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

Jellyfish is an open-source, full-stack AI short drama studio application. It provides an end-to-end production pipeline for generating vertical short dramas from scripts: script parsing (division, element extraction, consistency checking), storyboard generation (shot breakdown, asset linking, camera language), image/video generation via multiple AI providers (OpenAI, Volcengine), and async task orchestration with Celery. The backend is built with FastAPI, SQLAlchemy 2.0 async, and Redis; the frontend uses React 18, TypeScript, Ant Design, and Vite. The application is production-oriented with Docker Compose deployment, GitHub Actions CI, and automated OpenAPI client generation. It emphasizes visual consistency through global seed, style inheritance, and asset reuse. While primarily an application, it includes a significant amount of AI/LLM agent code for script analysis, giving it a hybrid character with research-oriented structured extraction pipelines.

RATING8.0/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS2
VELOCITY0.57
OPEN ISSUES7
CLOSED ISSUES22
LAST COMMIT2 months ago
Files by Type (count)
TypeScript
295
Python
245
TSX
63
Markdown
61
CSV
24
JSON
16
HTML
16
YAML
14
SQL
8
Other (no ext)
5
Other (.png)
5
Other (.svg)
5
Files by Type (size)
Other (.png)
1MB
Python
1MB
TSX
893KB
TypeScript
436KB
Lock File
429KB
CSV
421KB
JSON
270KB
Markdown
225KB
YAML
192KB
Other (.pyc)
80KB
SQL
32KB
CSS
20KB

The LLM identified 4 files worth highlighting for reuse:

Implements a generic TaskManager with pluggable TaskStore (InMemory, SQLAlchemy) and DeliveryStrategy (AsyncPolling, Streaming). Encapsulates task lifecycle (create, cancel, poll, stream) without coupling to domain logic. Can be extracted as a reusable async task orchestration library.

file: backend/app/core/task_manager/manager.py ↗ | tags: #task-orchestration #pluggable-strategy #abstraction

Provides an AgentBase abstract class for LLM agents that extract structured data. Handles prompt template, structured output parsing with normalization fallback, and streaming. Demonstrates a clean pattern for building reliable LLM extraction pipelines that can be reused for any structured extraction task.

file: backend/app/chains/agents/base.py ↗ | tags: #llm-agent #structured-output #fallback-parsing

Contains generic CRUD helper functions (create_and_refresh, patch_model, get_or_404, paginate) that reduce boilerplate across all service layers. Uses SQLAlchemy async sessions and provides consistent error handling. Highly reusable for any FastAPI+SQLAlchemy project.

file: backend/app/services/common/crud.py ↗ | tags: #crud #repository-pattern #sqlalchemy

A custom React hook implementing a state machine for generation drafts (idle → deriving → derived → submitting → submitted). Manages base draft, context, derived preview, and submission payload with error handling. Decouples UI from backend logic and can be reused for any generation workflow in React apps.

file: front/src/pages/aiStudio/hooks/useGenerationDraft.ts ↗ | tags: #state-machine #react-hook #generation-workflow
Last analyzed: 2026-09-03 21:17:05.956697
Next check: 2026-09-10 21:17:05.950243
$ submit: