iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The AI-Powered Forge for Your Next Masterpiece. Mythoria คือแพลตฟอร์มเขียนนิยายยุคใหม่ที่รวมพลัง Project Management + AI อัจฉริยะ + World Building เข้าไว้ในที่เดียว ออกแบบมาสำหรับนักเขียนที่ต้องการเครื่องมือจริงจัง ไม่ใช่แค่ Text Editor ทั่วไป Current Version: v2.6.0 — ฟีเจอร์ AI ที่ทำหน้าที่ตัดสินเลือกโมเดลได้สองแบบ (แบบเดิม / แบบตอบเป็นค่าตายตัว) · ความมั่นใจที่รายงานในเส้นจังหวะเชื่อได้มากขึ้น · สลับโหมดจาก terminal ไม่ต้อง deploy ประวัติเวอร์ชันทั้งหมดดูที่ CHANGELOG.md — แก้ที่ lib/changelog.ts แล้วรัน npm run changelogREADME 전문 보기 ↗
The AI-Powered Forge for Your Next Masterpiece.
Mythoria คือแพลตฟอร์มเขียนนิยายยุคใหม่ที่รวมพลัง Project Management + AI อัจฉริยะ + World Building เข้าไว้ในที่เดียว ออกแบบมาสำหรับนักเขียนที่ต้องการเครื่องมือจริงจัง ไม่ใช่แค่ Text Editor ทั่วไป
Current Version:
v2.18.1.5594552342— หน้าพล็อตรวมแถบเมนูเป็นแถวเดียวประวัติเวอร์ชันทั้งหมดดูที่ CHANGELOG.md — แก้ที่
lib/changelog.tsแล้วรันnpm run changelogv2.3 — Launch readiness: invite-only signup, guest demo mode, data isolation ครบทุก server action, Python service auth · Story Codex ยุบรวมเข้า World Graph · Stylometry #5 (POS n-gram + emotional arc) · AI Control Center (gateway เดียว + CLI
npm run ai+ board)
ใช้ Design System ที่พัฒนาขึ้นเองในชื่อ "Forge Mode" (Industrial Creativity Theme)
ระบบของ Mythoria ถูกออกแบบด้วยสถาปัตยกรรมแบบ Hybrid Monolith (Next.js) ร่วมกับ Python AI Microservice เพื่อการประมวลผล RAG และ AI Agent แยกส่วนอย่างมีประสิทธิภาพ:
graph TD
subgraph Client ["Client Side (Browser)"]
UI["Next.js Pages Forge Mode UI"]
Canvas["Visual Canvas React Flow"]
Editor["Writing Studio Quill.js"]
GraphVis["Relationship Graph"]
end
subgraph WebServer ["Web and Backend Server"]
NextServer["Next.js Server Actions and APIs"]
BAuth["Better Auth"]
Drizzle["Drizzle ORM"]
end
subgraph AIService ["AI Microservice Python FastAPI port 8000"]
VectorRAG["Vector and RAG\n/sync /search"]
PlotAgent["Plot Hole Agent\n/analyze-plot\n/check-all-notes-stream\n/check-timeline /validate-character"]
CharAnalyzer["Character Analyzer\n/analyze-characters\n/analyze-queue SSE"]
Stylo["Stylometry\n/analyze-chapter-style\n/analyze-fingerprint-bulk"]
SpellSvc["Spell Checker\n/spell-check\n/spell-check-note Background"]
LanceDB[("LanceDB Vector DB")]
SpellCache[("Spell Cache pkl")]
end
subgraph External ["External Services and DB"]
Postgres[("Neon PostgreSQL")]
GeminiEmbed["Gemini API Embeddings 768d"]
Typhoon["Typhoon v2.1 Thai LLM"]
Groq["Groq API Llama fast inference"]
PyThaiNLP["PyThaiNLP Spell Check"]
GDrive["Google Drive API"]
Discord["Discord Webhooks"]
Cloudinary["Cloudinary Asset Store"]
end
UI --> NextServer
Canvas --> NextServer
Editor --> NextServer
GraphVis --> NextServer
NextServer --> BAuth
NextServer --> Drizzle
NextServer --> VectorRAG
NextServer --> PlotAgent
NextServer --> CharAnalyzer
NextServer --> Stylo
NextServer --> SpellSvc
NextServer --> GDrive
NextServer --> Discord
NextServer --> Cloudinary
Drizzle --> Postgres
VectorRAG --> LanceDB
VectorRAG --> GeminiEmbed
VectorRAG --> NextServer
PlotAgent --> Typhoon
PlotAgent --> Groq
PlotAgent --> NextServer
CharAnalyzer --> Typhoon
CharAnalyzer --> NextServer
Stylo --> Typhoon
SpellSvc --> PyThaiNLP
SpellSvc --> SpellCache
SpellSvc --> NextServer
Editor ที่ออกแบบมาเพื่อการเขียนนิยายโดยเฉพาะ:
Cmd/Ctrl+F): ค้นหาและแทนที่ข้อความใน Editor ได้ทันทีโหมดเกลาและตรวจทานต้นฉบับระดับมืออาชีพ ประกอบด้วย 3 ส่วนหลัก:
Paragraph Rewrite Mode (Alt/Option+P)
Alt+D)Alt+B): Pin ย่อหน้าสำคัญไว้ jump กลับได้ทุกเมื่อCmd+↑/↓ เลื่อนย่อหน้า, Alt+N เพิ่มย่อหน้าใหม่Audit / Proofreading Panel
Find & Replace Panel (Cmd+F)
epub-gen-memory)Canvas ที่ทรงพลังที่สุดสำหรับวางแผนพล็อต:
ระบบ Mark Plot ที่กำลังใช้งาน:
ระบบสร้างโลก (World Building) ครบจบในที่เดียว:
นำเข้าเอกสาร "ไบเบิลนิยาย" (markdown) แล้วให้ AI สกัดเป็น entity พร้อมใช้ — สกัดอย่างเดียว ไม่แต่งเพิ่ม (ตรงหลัก AI opt-in):
## → LLM สกัดทีละส่วน → dedupe ตามชื่อ → คืนรายการร่างระบบเชื่อมทุกโมดูลเข้าด้วยกันแบบ MCP — ทุก entity อ้างถึงกันได้อิสระผ่าน reference layer เดียว:
@ ในตอนเพื่อเชื่อมตัวละคร/สถานที่/ตำนาน/ปม ได้ทุกที่ (สร้าง reference อัตโนมัติ)ผู้เขียนเชื่อมเอง vs AI เดาระบบจัดการพลังในนิยาย Fantasy/Sci-Fi อย่างครบถ้วน:
ระบบวิเคราะห์ตัวละครเชิงลึก:
/dashboard/analytics, ใหม่ใน v2.1): ภาพรวมนักเขียนข้ามทุกเล่ม — คำสะสมทั้งหมด, streak รวมทุกนิยาย, heatmap กิจกรรมรวม, portfolio ทุกเรื่องพร้อม progress เทียบเป้าdatabaseHooks.user.create ซึ่งเป็นคอขวดที่ทั้งทางอีเมลและทาง Google ต้องผ่าน (ไม่ใช่การเทียบ path ใน route handler ที่ดักได้ทางเดียว)npm run seed:demo (ตั้ง cron รายคืน)lib/guest.ts เช็คจากอีเมลใน session ไม่ใช่ cookie ฝั่ง client)novelId ผ่าน requireNovelAccess() / requireUser() ใน lib/authz.tsX-Internal-Key ทุก endpoint · เบราว์เซอร์เรียกผ่าน proxy same-origin /api/py/... ไม่ยิง localhost:8000 ตรงจำลอง "ห้องแชทกลุ่มนักอ่าน" ที่มี AI 5 คนที่มีบุคลิกต่างกัน ช่วยรีวิวเนื้อหา:
Agent อัจฉริยะที่ใช้ Tool Calling ตรวจสอบ:
CheckTimelineConflict: ตรวจเวลาเดินทาง/การปรากฏตัวของตัวละครในสถานที่ต่างๆValidateCharacterConsistency: ตรวจสอบสถานะตัวละครว่าขัดแย้งกับพฤติกรรมหรือไม่plot_hole_count🔭 Stylometry Deepening: ยกระดับจาก "รูปนิ่ง 1 ใบ/ตอน" → "วิดีโอ + ลายนิ้วมือ" — ✅ ลงครบแล้ว #1-#5: MTLD/MATTR (แทน TTR) · sentence-rhythm curve + burstiness · function-word profile + Burrows's Δ · rolling-window drift · POS n-gram + emotional arc · ถัดไป: Thai readability score, แยกจังหวะบทพูด vs บรรยาย ·
docs/stylometry-deepening-plan.md
ตรวจความขัดแย้งเชิงโครงสร้างทั้งเล่ม — deterministic, ไม่ใช้ LLM (เชื่อถือได้, อธิบายได้)
dead) กับการปรากฏในบทถัดมาด้วย orderIndex (รู้จักการชุบชีวิต)ผู้ช่วยถาม-ตอบเกี่ยวกับนิยายของคุณ อยู่บนหน้า World Graph:
retrieveContext เดียวกับ AI Review — vector + เดินกราฟ 1 hopศูนย์ควบคุมระบบ AI ทั้งหมด — ทุกการเรียก AI ใน Mythoria ผ่าน Gateway (lib/ai-gateway.ts) เป็นจุดเดียว (single choke point):
callAi({ feature: "librarian", prompt })
│
├─ 1. Flag check → ฟีเจอร์ถูกปิด? (ai_features table, cache 15 วิ)
├─ 2. Guest check → บัญชีเดโม block อัตโนมัติ
├─ 3. Quota check → เกินโควตา/วัน? (นับจาก ai_usage_log, รีเซ็ตเที่ยงคืน)
├─ 4. LLM call → fallback chain เดินเอง (Groq→Typhoon, Gemini→Groq)
│ └─ โดน 429 = cooldown provider 60 วิ
└─ 5. Usage log → tokens / latency / status ลง ai_usage_log
Registry: lib/ai-features.ts — ประกาศฟีเจอร์ AI ครบ 15 ตัว (11 LLM ฝั่ง Next + 4 Python) พร้อม model / temperature / fallback chain / quota default · ไม่ตั้งอะไรเลยก็ใช้ได้ (ไม่มีแถวใน DB = default จาก registry)
CLI: dev คุมผ่าน terminal ล้วน — app หยิบค่าใหม่ใน ~15 วิ ไม่ต้องรีสตาร์ท
npm run ai list # สถานะ + quota + ใช้ไปวันนี้ + model chain ของทุกฟีเจอร์
npm run ai off librarian # ปิดฟีเจอร์
npm run ai on librarian # เปิด
npm run ai quota note-summary 100 # โควตา 100 ครั้ง/วัน/ผู้ใช้ (0 = ไม่จำกัด)
npm run ai reset echo-score # คืนค่า default จาก registry
npm run ai log 30 # runs ล่าสุด + error detail
Board (/dashboard/ai-control, read-only): user logged-in ดูได้หมด — แผนผังโมเดล (ฟังก์ชันไหน → model ไหน → fallback อะไร), การ์ดสถานะ/quota/used-today รายฟีเจอร์, ตาราง runs ล่าสุดพร้อม error · guest ดูไม่ได้
Python side: endpoint ที่เผาโควตา LLM/embedding (sync/search/analyze*/check*) ถูก gate ที่ proxy /api/py + route triggers ผ่าน registry เดียวกัน — spell-check/stylometry (local compute) ไม่ผ่าน by design
หลักการ: AI รอถูกเรียก + dev เป็นคนคุมพลังงาน — ปิดฟีเจอร์/ตัดโควตาได้ทันทีโดยไม่แต่โค้ด และทุก run มี audit log ไว้ตรวจย้อนหลัง
| Technology | Description |
|---|---|
| Next.js 16 | App Router, Server Actions, TurboPack |
| Tailwind CSS v4 | Styling Engine (CSS-first config) |
| React Flow (@xyflow/react) | Canvas visualization |
| @dnd-kit | Drag & Drop interactions |
| Quill.js / react-quill-new | Rich Text Editor |
| diff-match-patch | Word-level diff ใน Rewrite Workspace |
| Motion (เดิม Framer Motion) | Animations & Paragraph transitions |
| Lucide React | Icon system |
| Sonner | Toast notifications |
| Better Auth | Authentication (Email, OAuth) |
| Drizzle ORM | TypeScript ORM + Migrations |
| PostgreSQL / Neon | Database |
| Resend + React Email | Transactional Email |
| Google Drive API | Cloud Sync |
| Cloudinary | Asset Storage |
| Technology | Description |
|---|---|
| FastAPI | High-performance Python API |
| LangChain | Agent Orchestration & Tool Use |
| LanceDB | Embeddings & Vector Search |
| Typhoon v2.1 | Thai Large Language Model |
| Groq API | Llama-based fast inference |
ระบบมี 58 tables ครอบคลุมทุกมิติของการเขียนนิยาย:
| กลุ่ม | Tables |
|---|---|
| Core | novels, chapters, notes, note_versions, tags, chapter_tags |
| Characters | characters, character_relationships, relationship_history, character_life_events, character_states, character_design_elements, character_factions, chapter_characters, note_characters |
| World | locations, location_connections, location_entities, items, factions, faction_relationships, faction_status_presets, eras, world_systems |
| Lore | lore_entries, lore_groups, entities |
| Powers | powers, character_powers, power_levels, power_combinations |
| Plotting | ideas, idea_connections, timeline_events, scene_element_details, plot_threads, plot_thread_beats, story_arcs |
| AI | ai_suggestions, ai_chapter_reviews, character_analysis_queue, state_extraction_queue, note_audit_issues, librarian_messages, alias_cache |
| AI Control | ai_features (toggle + quota รายฟีเจอร์), ai_usage_log (audit ทุก AI run) |
| Stylometry | chapter_stylometry, note_stylometry |
| Context Fabric | references (ดัชนี derive จาก junction) |
| Sync | , , |
สถาปัตยกรรมที่ทำให้ทุก module เชื่อมหากันลื่นไหลแบบ MCP — เปลี่ยน Mythoria จากโมดูลที่เอกเทศน์ต่อกัน ให้เป็นระบบเดียวที่ plot เชื่อม character / lore / ปม ได้อิสระ:
L4 Graph RAG — vector search + เดิน reference graph 1 hop → context เชิงความหมาย + โครงสร้าง
L3 Knowledge Graph — getNovelGraph() ครอบทุก entity + World Graph UI
L2 RAG / Vector — LanceDB ครอบ 14 entity types (Gemini 768d)
L1 Reference Layer — ตาราง `references` (ดัชนี derive จาก junction · rebuild ตอน Vector Sync · มีทิศทาง + meta + createdBy)
L0 Entity Registry — abstraction เหนือ 56 ตาราง (resolve / search / embeddable)
| Phase | ทำอะไร | สถานะ |
|---|---|---|
| 0–1 | Entity Registry + references table | ✅ Done |
| 2–3 | Derived reference index — backfill + rebuild ตอน Vector Sync (junction = source of truth) | ✅ Done |
| 5A | AI extractors เขียน references เอง (createdBy: ai/user) | ✅ Done |
| 5B | @-mention ใน editor (Quill) | ✅ Done |
| 5C | RAG ครอบทุก entity type ผ่าน embeddable provider | ✅ Done |
| 6 | Knowledge Graph + Graph RAG + World Graph UI | ✅ Done |
| — | RAG auto-sync | ⛔️ ตัดทิ้ง (manual by design — ผู้เขียนคุมว่าจะให้ AI เห็นอะไรเมื่อไหร่) |
| 7 | ลบ junction เก่า (cleanup) | ⏳ Planned |
ดูรายละเอียดเต็มได้ที่ docs/context-fabric-plan.md
task.md), Thai readability score, dialogue vs narration rhythm, Context Fabric Phase 5-7รวมไว้ที่ docs/roadmap.md · แผนก่อนเปิดใช้งานจริงที่ docs/launch-readiness-plan.md
คุณสามารถเลือกติดตั้งได้ 2 วิธี: ผ่าน VS Code DevContainers (แนะนำสุดๆ ง่ายมาก) หรือ ติดตั้งเองแบบ Manual
วิธีนี้จะจำลองสภาพแวดล้อม (Node.js, PostgreSQL, Python) ทั้งหมดให้อัตโนมัติ ทำให้คุณสามารถทำงานข้ามคอมพิวเตอร์หลายเครื่องได้โดยไม่ต้องเสียเวลา Setup ระบบใหม่เลย
git clone https://github.com/Nattachai802/mythoria.git
cd mythoria
F1 แล้วพิมพ์ Dev Containers: Reopen in Container)npm install, รัน Database, รัน db:push ให้เสร็จสรรพ)npm run dev:all
git clone https://github.com/Nattachai802/mythoria.git
cd mythoria
# Frontend & Backend
npm install
# Python AI Service
cd pythonservice
python -m venv venv
venv\Scripts\activate # Windows
# หรือ source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
สร้างไฟล์ .env ที่ root:
# Database
DATABASE_URL="postgresql://postgres:1234@localhost:5432/mythoria_db"
# Auth
BETTER_AUTH_SECRET="your-secret"
BETTER_AUTH_URL="http://localhost:3000"
# AI APIs
TYPHOON_API_KEY="your-typhoon-key"
GROQ_API_KEY="your-groq-key"
# Google Drive (Optional)
GOOGLE_CLIENT_ID="..."
GOOGLE_CLIENT_SECRET="..."
# Email (Optional)
RESEND_API_KEY="..."
# Discord (Optional)
DISCORD_BOT_TOKEN="..."
# Error tracking (Optional) — ทำงานเฉพาะ production, ว่างไว้ตอน dev ก็ได้
NEXT_PUBLIC_SENTRY_DSN=""
# Python service auth — ต้องตรงกับใน pythonservice/.env (openssl rand -hex 32)
INTERNAL_API_KEY="..."
# บัญชีเดโมสำหรับโหมดผู้เยี่ยมชม (Optional — ไม่ตั้ง = ปุ่มผู้เยี่ยมชมตอบ 503)
DEMO_EMAIL="[email protected]"
DEMO_PASSWORD="..."
ดู
.env.exampleสำหรับรายการตัวแปรทั้งหมด — copy เป็นจุดเริ่มต้นได้เลย:cp .env.example .env
สร้างไฟล์ pythonservice/.env:
TYPHOON_API_KEY="your-typhoon-key"
DATABASE_URL="postgresql://..."
npm run db:push
สร้างบัญชีเดโมสำหรับโหมดผู้เยี่ยมชม (ต้องตั้ง DEMO_EMAIL / DEMO_PASSWORD ใน .env ก่อน — รันซ้ำได้ ข้อมูลเดโมจะถูกรีเซ็ต):
npm run seed:demo
# รันทั้ง Next.js + Python Service พร้อมกัน
npm run dev:all
# หรือรันแยก
npm run dev # Next.js (port 3000)
npm run dev:python # Python Service (port 8000)
http://localhost:3000http://localhost:8000npm run db:studionpm run typecheck # tsc --noEmit
npm run build # next build
TS error เก่า ~130 จุดที่เคยทำให้ CI แดงถาวรถูกไล่แก้หมดแล้ว — ตอนนี้
typecheckควรได้ 0 error ถ้าเจอ error ให้ถือว่าเป็นของใหม่ที่เพิ่งทำพัง (ถ้าเจอ error ใต้.next/dev/types/ระหว่าง dev server รันอยู่ อันนั้นเป็นไฟล์ที่ Next generate ค้างไว้ ไม่ใช่โค้ดเรา)
pythonservice/discord_bot/โฟลเดอร์นี้เป็น repo แยกต่างหาก (Mythoria_bot) ที่ deploy ผ่าน Render เอง ไม่ได้ผูกกับ repo นี้ — ถูกใส่ไว้ใน .gitignore แล้ว ไม่ต้อง git add โฟลเดอร์นี้จาก repo mythoria
MIT License © 2025 Nattachai802
drive_credentialsdrive_settingsdrive_sync| Auth | user, session, account, verification, invitations |