EduClawn is a local-first open-source education platform for students and teachers.
It combines:
- a desktop app that behaves like normal software
- a reusable project engine for building cited local projects
- a bounded classroom agent system for teachers and students
- a preserved legacy MLK experience in
Legacy_of_Justice.html
The current product direction is:
EduClawn OS: the school-safe agent operating systemEduClawn Studio: the local project engine and studio UI
This repo intentionally keeps the original Legacy_of_Justice.html as a preserved artifact and first template seed. It is not deleted.
Students and teachers can:
- create projects from typed manifests and templates
- upload local documents and classroom evidence
- extract and search evidence locally
- generate provenance-backed project artifacts
- run Assignment Autopilot to turn a topic, rubric, and lesson seed into a full classroom-ready package
- compare drafts against rubrics with Student Revision Coach and Citation Verifier
- reuse evidence through a shared Classroom Library across classes and years
- run safe Peer Review Mode with teacher approval gates
- open a simpler Parent/Family View with progress, comments, and downloads
- create family-safe share links for read-only project updates
- track classroom roster progress states and assignment status boards
- connect preferred cloud AI providers with local encrypted profiles
- run bounded local agents with approval gates
- compile projects into multiple export formats
- use the desktop app without running terminal commands every time
A school-safe, OpenClaw-shaped orchestration layer with:
Teacher OSStudent OSShared Classroom Layer- approvals
- audit trails
- signed control planes
- classroom access keys
A local project engine that provides:
- project manifests
- template registry
- document ingestion
- provenance and retrieval
- knowledge graph compilation
- artifact-producing agents
- export pipeline
A packaged Electron desktop shell that:
- starts the backend automatically
- opens the studio with no terminal work
- stores workspace state locally
- restores recent projects
- supports bundle file opening
- includes updater/install scaffolding
- typed
project.yamlmanifests - local document ingestion
- local retrieval and evidence search
- provenance chunking
- knowledge graph generation
- standards alignment
- teacher comments and revision history
- export generation
- enforced export readiness gates for citation coverage, rubric thresholds, and pending approvals
- research
- planning
- writing
- history support
- citation support
- design support
- QA
- teacher review
- export support
- provider-backed research, assignment drafting, review, and classroom assistance through connected AI profiles
- classroom creation
- assignment creation
- protected evidence uploads
- student project launch
- teacher/student/shared bounded agents
- approval queue
- audit log
- classroom-safe collaboration model
- assignment autopilot
- student revision coach
- classroom library reuse
- peer review moderation
- family view
- family-safe share links
- standards mapper
- intervention dashboard
- classroom roster tools and assignment status boards
- classroom replay
- peer review pairing suggestions
- assessment pack generation
- rubric trainer
- lesson-to-project conversion
- citation verification
- hybrid local/cloud routing
- template marketplace
- school pack installer
- plugin SDK surfaces
- offline school edition readiness
- district/nonprofit/teacher starter pack support
- classroom bootstrap access keys for
teacher,student, andreviewer - HMAC-hashed stored credentials
- prompt risk scoring
- approval-required flows for sensitive actions
- tamper-evident approval and audit chains
- upload policy enforcement for classroom materials
- signed EduClawn control-plane attestations
- first-run onboarding
- Easy Start Center for teachers, students, families, and advanced builders
- role-based frontend navigation with separate
Home,Projects,Classroom,Autopilot,Teacher Ops,Family,Marketplace,AI,Desktop, andAdvancedviews - simple dashboard mode
- larger text and reduced-motion comfort settings
- workspace chooser
- release notes access
- recent-project restore
.cpsbundlefile association support- crash recovery for renderer/backend failures
- launch-at-login control
- macOS move-to-Applications prompt
- auto-update scaffolding for packaged releases
- local encrypted AI provider profiles stored inside the EduClawn workspace
user-keymode for bring-your-own API accessmanaged-subscriptionmode for locally managed provider seats that EduClawn agents can use on behalf of the classroom workflow- per-profile daily request limits, monthly budgets, classroom caps, redaction modes, and fallback chains
- classroom AI policies for managed-subscription control and PII redaction
- supported providers:
- OpenAI
- Anthropic
- Google Gemini
- Groq
- Mistral
- Cohere
- xAI
- supported provider tasks:
- research
- assignments
- feedback
- planning
- review
- export
- classroom
Provider profiles can be used in three places:
- project manifests through
provider-airuntime mode - classroom assignments through
provider-airuntime mode - bounded classroom agents through an optional provider override
The routing layer can also automatically choose different providers for different jobs:
- OpenAI for writing and assignment generation
- Anthropic for feedback and review
- Gemini for multimodal-oriented research flows
- Groq for fast planning tasks
- local models first when hybrid mode can stay fully on-device
If you want to use it like normal software, use the packaged desktop app.
Fastest paths:
- macOS packaged app: open
desktop/release/mac-arm64/EduClawn.app - macOS repo copy: double-click
Open-EduClawn.command - Windows repo copy: run
Open-EduClawn.bat - contributor setup: run
scripts/setup-local.shorscripts/setup-local.ps1
Artifacts produced by the desktop packaging flow include:
desktop/release/mac-arm64/EduClawn.appfromnpm run pack.dmgand.zipartifacts fromnpm run dist:mac- Windows installer artifacts from
npm run dist:win - Linux package artifacts from
npm run dist:linux
The desktop app starts the bundled backend automatically and serves the studio locally at /desktop/. Users do not need to run the backend and frontend manually to use the packaged app.
For local macOS packaging without Apple credentials, the desktop build wrapper automatically disables hardened runtime so the generated .app remains usable on the builder machine. Signed release builds still keep the notarization-ready path.
Final student-facing exports are no longer always produced automatically. EduClawn now blocks protected export types until:
- uploaded evidence is present
- citation coverage clears the project threshold
- rubric and teacher-review scores meet the minimum threshold
- pending classroom approvals are resolved
If a project is blocked, EduClawn still produces the rubric report so teachers and students can see what to fix next.
The open-source layer now ships with:
- school pack blueprints in
community/school_packs/ - template author starters in
community/template_starters/ - sample community plugins in
community/plugins/ - sample project manifests in
community/sample_projects/
Use the Marketplace page or the school-pack install endpoint to install a pack and start from a local starter instead of building from scratch.
If you are running from the repo instead of a packaged installer:
./scripts/setup-local.sh
./scripts/start-desktop.shOr double-click:
Install-EduClawn.commandOpen-EduClawn.command
Run:
Install-EduClawn.batOpen-EduClawn.bat
Or use PowerShell directly:
.\scripts\setup-local.ps1
.\scripts\start-desktop.ps1Environment check helpers:
scripts/doctor.shscripts/doctor.ps1
Projects can be exported as:
- static site
- React app scaffold
- PDF report
- rubric report
.cpsbundleproject bundle
Family and classroom workflows can also reuse those exports through the family-facing read-only view.
no-llm: deterministic local generation and scoringlocal-llm: optional local model refinement through an Ollama-compatible endpointprovider-ai: uses a connected provider profile for cloud-backed research, assignments, feedback, and classroom assistance
If no local LLM is available, the platform falls back to deterministic local behavior.
If provider-ai is selected but no provider profile is attached, EduClawn keeps the workflow safe and falls back to deterministic local behavior until a profile is connected.
Use the AI page in the desktop or web UI to:
- add a provider profile
- choose
user-keyormanaged-subscription - select a default model
- optionally set a custom base URL when the provider supports it
- test the connection
- inspect recent provider-backed usage
The backend stores provider secrets encrypted at rest inside the local workspace using the EduClawn security secret. The raw API keys are not exposed back through the API after profile creation.
Assignment Autopilot: creates assignments, evidence packs, checkpoint plans, standards maps, assessment packs, and export targets from one teacher input.Student Revision Coach: turns rubric gaps and teacher feedback into concrete revision tasks.Citation Verifier: checks whether draft claims map back to uploaded evidence before export.Lesson-to-Project Agent: converts a lesson plan into a reusable local project scaffold.Classroom Library: promotes approved evidence into a reusable teacher vault.Peer Review Mode: lets students draft rubric-guided feedback while keeping release behind teacher approval.Teacher Ops: maps standards, surfaces interventions, replays classroom activity, and trains local rubric patterns.Marketplace: exposes templates, school packs, plugin SDK entry points, and offline deployment assets.
backend/: FastAPI backend, agents, security, ingestion, exports, analyticsfrontend/: React + TypeScript studio UIdesktop/: Electron shell, packaging config, release assetsdocs/: template, plugin, and EduClawn docscommunity/: sample projects and community packsstudio/: starter manifests and template assetseduclawn/: EduClawn example manifestsLegacy_of_Justice.html: preserved original standalone MLK experience
cd backend
uv sync
uv run uvicorn app.main:app --reloadcd frontend
npm install
npm run devOpen http://127.0.0.1:5173.
cd desktop
npm install
npm run devIf you want the shortest repo path, use ./scripts/start-desktop.sh or .\scripts\start-desktop.ps1 instead.
cd desktop
npm run packPlatform-targeted packaging commands:
cd desktop
npm run dist:mac
npm run dist:win
npm run dist:linuxdocker compose up --buildThen open:
- studio UI:
http://127.0.0.1:5173 - backend API:
http://127.0.0.1:8000 - preserved legacy page:
http://127.0.0.1:8000/legacy
EduClawn is intentionally not a general unrestricted agent.
It is built as bounded educational orchestration:
- no unrestricted shell execution
- no silent external messaging
- no uncontrolled browser automation
- no hidden destructive filesystem actions
- no sensitive classroom action without approval and audit coverage
See docs/EDUCLAWN.md for the detailed contract.
Templates in the studio include examples such as:
- MLK Legacy Lab
- Research Portfolio
- Civic Campaign Simulator
- Museum Exhibit Site
- Lesson Module
- Documentary Story Project
- science-fair style flows
- debate prep flows
- reading intervention flows
version: "1.0"
title: Neighborhood Memory Archive
summary: A locally built historical project
topic: Neighborhood memory and public history
audience: Middle and high school students
template_id: documentary-story
local_mode: no-llm
goals:
- Explain the issue
- Curate source evidence
- Build an interactive local project
rubric:
- Evidence Quality
- Clarity
- Audience FitDefault local admin credentials:
- username:
admin - password:
mlk-admin-demo
Admin surfaces include:
- scheduler state
- benchmark reporting
- experiment metrics
- workflow orchestration
- older MLK intelligence admin flows
Useful backend overrides:
EDUCLAWN_DATABASE_URLEDUCLAWN_DB_PATHEDUCLAWN_ADMIN_USERNAMEEDUCLAWN_ADMIN_PASSWORDEDUCLAWN_AUTH_SECRETEDUCLAWN_WORKFLOW_SCHEDULER_ENABLEDEDUCLAWN_ETL_INTERVAL_SECONDSEDUCLAWN_RETRAIN_INTERVAL_SECONDSEDUCLAWN_BENCHMARK_INTERVAL_SECONDSEDUCLAWN_STUDIO_ROOTEDUCLAWN_STUDIO_TEMPLATE_DIREDUCLAWN_COMMUNITY_ROOTEDUCLAWN_LOCAL_LLM_MODELEDUCLAWN_LOCAL_LLM_BASE_URLEDUCLAWN_MODEL_CACHE_DIREDUCLAWN_SECURITY_SECRETEDUCLAWN_EDU_MATERIAL_MAX_BYTES
Legacy MLK_* aliases are still accepted for backward compatibility.
The desktop release pipeline now includes:
- macOS packaging
- Windows packaging configuration
- Linux packaging configuration
- GitHub Actions workflow for desktop release builds
- updater metadata publishing configuration
Files to inspect:
desktop/README.mddesktop/signing.env.example.github/workflows/desktop-release.yml
For full macOS public distribution you still need real credentials:
CSC_LINKCSC_KEY_PASSWORDAPPLE_IDAPPLE_APP_SPECIFIC_PASSWORDAPPLE_TEAM_IDGH_TOKEN
Without those, local builds remain ad-hoc signed and not notarized.
- code license:
Apache-2.0 - educational content contributions:
CC-BYorCC-BY-SArecommended
CONTRIBUTING.mddocs/TEMPLATE_SDK.mddocs/PLUGIN_SDK.mddocs/EDUCLAWN.mddesktop/README.md
The current repo state has been validated with:
cd backend && uv run pytestcd frontend && npm run buildcd desktop && npm run pack
The packaged macOS app was also smoke-tested against:
/health/desktop//api/v1/studio/system/status
Legacy_of_Justice.html is still preserved in this repository and still served by the platform. It remains available as a historical standalone artifact and template seed.