How scaredcube/mukyuai works
Mukyu AI is a learning-focused AI application, delivered through a Next.js interface and optionally wrapped in Electron. The main workflow is to create a learning session, generate a chapter plan, study within a chapter through streamed AI chat, and retain messages and summaries. Separate branches support floating questions, file understanding, and session knowledge-base retrieval. The sampled routes show these orchestration boundaries; several other capabilities are documented in the README but their route implementations were not sampled, so their internal wiring is represented only where supported by the tree.
Main entry points: db.ts Application state · llm.ts Model integration · context.ts Context assembly · route.ts Planning chat
Components 29
Learning experience
- Learning UI
src/app/page.tsx - Session views
src/app/session/[id]/page.tsx - Plan view
src/app/session/[id]/plan/page.tsx - Chat interface
src/components/chat/ChatArea.tsx - Conversation timeline
src/components/chat/ConversationTimeline.tsx - Knowledge panel
src/components/session/KnowledgePanel.tsx - Provider settings
src/app/settings/page.tsx
Learning workflows
- Session management
src/app/api/sessions/route.ts - Planning chat
src/app/api/planning/route.ts - Chapter plan generation
src/app/api/generate-plan/route.ts - Chapter management
src/app/api/chapters/route.ts - Chapter chat
src/app/api/chat/route.ts - Message edits
src/app/api/messages/route.ts - Chapter summaries
src/app/api/summarize/route.ts - Floating query
src/app/api/float-query/route.ts
Knowledge and files
- Attachment upload
src/app/api/upload/route.ts - Document parsing
src/lib/document-parser.ts - Knowledge ingestion
src/app/api/knowledge/route.ts - Text chunking
src/lib/chunker.ts - Embedding service
src/lib/embedding.ts - Context retrieval
src/lib/retriever.ts - Image understanding
src/app/api/understand-image/route.ts
AI and state
- Model integration
src/lib/llm.ts - Context assembly
src/lib/context.ts - Application state
src/lib/db.ts - Model discovery
src/app/api/models/route.ts
Other components
- Learner
- AI providers
- Desktop host
electron/main.js
Connections 45
- Learner → Learning UI: uses
- Learning UI → Session management: manages sessions
- Session management → Application state: reads and writes
- Session views → Planning chat: sends planning chat
- Planning chat → Application state: stores messages
- Planning chat → Context retrieval: retrieves context
- Planning chat → Context assembly: assembles prompts
- Planning chat → Model integration: streams response
- Plan view → Chapter plan generation: requests plan
- Chapter plan generation → Application state: reads and creates chapters
- Chapter plan generation → Context assembly: assembles plan context
- Chapter plan generation → Model integration: generates plan
- Session views → Chapter management: manages chapters
- Chapter management → Application state: reads and writes
- Chat interface → Chapter chat: sends chapter chat
- Chat interface → Message edits: edits messages
- Chapter chat → Application state: stores messages
- Chapter chat → Context retrieval: retrieves context
- Chapter chat → Context assembly: assembles prompts
- Chapter chat → Model integration: streams response
- Message edits → Application state: reads and updates
- Message edits → Context assembly: rebuilds prompts
- Message edits → Model integration: regenerates reply
- Session views → Chapter summaries: requests summary
- Chapter summaries → Application state: reads messages and saves summary
- Chapter summaries → Context assembly: assembles summary prompt
- Chapter summaries → Model integration: generates summary
- Session views → Floating query: asks quick question
- Floating query → Context assembly: assembles context
- Floating query → Model integration: streams response
- Chat interface → Attachment upload: uploads attachments
- Attachment upload → Document parsing: extracts document text
- Knowledge panel → Knowledge ingestion: imports study material
- Knowledge ingestion → Document parsing: extracts text
- Knowledge ingestion → Text chunking: splits text
- Knowledge ingestion → Embedding service: vectorizes chunks
- Knowledge ingestion → Application state: stores knowledge
- Context retrieval → Embedding service: embeds query
- Context retrieval → Application state: searches chunks
- Chat interface → Image understanding: requests image analysis
- Image understanding → Model integration: interprets image
- Provider settings → Model discovery: lists models
- Model discovery → AI providers: queries models
- Model integration → AI providers: sends prompts
- Desktop host → Learning UI: hosts interface