clawed 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- clawed-0.3.0/.gitignore +42 -0
- clawed-0.3.0/LICENSE +21 -0
- clawed-0.3.0/PKG-INFO +368 -0
- clawed-0.3.0/README.md +295 -0
- clawed-0.3.0/clawed/__init__.py +17 -0
- clawed-0.3.0/clawed/__main__.py +51 -0
- clawed-0.3.0/clawed/analytics.py +284 -0
- clawed-0.3.0/clawed/api/__init__.py +1 -0
- clawed-0.3.0/clawed/api/deps.py +31 -0
- clawed-0.3.0/clawed/api/routes/__init__.py +1 -0
- clawed-0.3.0/clawed/api/routes/chat.py +68 -0
- clawed-0.3.0/clawed/api/routes/export.py +177 -0
- clawed-0.3.0/clawed/api/routes/feedback.py +134 -0
- clawed-0.3.0/clawed/api/routes/generate.py +613 -0
- clawed-0.3.0/clawed/api/routes/ingest.py +79 -0
- clawed-0.3.0/clawed/api/routes/lessons.py +26 -0
- clawed-0.3.0/clawed/api/routes/school.py +123 -0
- clawed-0.3.0/clawed/api/routes/settings.py +193 -0
- clawed-0.3.0/clawed/api/routes/tools.py +130 -0
- clawed-0.3.0/clawed/api/routes/waitlist.py +46 -0
- clawed-0.3.0/clawed/api/server.py +840 -0
- clawed-0.3.0/clawed/api/static/app.js +809 -0
- clawed-0.3.0/clawed/api/static/style.css +1527 -0
- clawed-0.3.0/clawed/api/static/widget.js +196 -0
- clawed-0.3.0/clawed/api/templates/analytics.html +282 -0
- clawed-0.3.0/clawed/api/templates/base.html +52 -0
- clawed-0.3.0/clawed/api/templates/dashboard.html +168 -0
- clawed-0.3.0/clawed/api/templates/generate.html +362 -0
- clawed-0.3.0/clawed/api/templates/index.html +246 -0
- clawed-0.3.0/clawed/api/templates/lesson.html +249 -0
- clawed-0.3.0/clawed/api/templates/profile.html +177 -0
- clawed-0.3.0/clawed/api/templates/settings.html +233 -0
- clawed-0.3.0/clawed/api/templates/stats.html +140 -0
- clawed-0.3.0/clawed/api/templates/students.html +54 -0
- clawed-0.3.0/clawed/assessment.py +334 -0
- clawed-0.3.0/clawed/auth.py +110 -0
- clawed-0.3.0/clawed/bot_state.py +267 -0
- clawed-0.3.0/clawed/chat.py +91 -0
- clawed-0.3.0/clawed/cli.py +147 -0
- clawed-0.3.0/clawed/cli_chat.py +7 -0
- clawed-0.3.0/clawed/commands/__init__.py +1 -0
- clawed-0.3.0/clawed/commands/_helpers.py +118 -0
- clawed-0.3.0/clawed/commands/bot.py +719 -0
- clawed-0.3.0/clawed/commands/config.py +1042 -0
- clawed-0.3.0/clawed/commands/export.py +749 -0
- clawed-0.3.0/clawed/commands/generate.py +860 -0
- clawed-0.3.0/clawed/commands/generate_assessment.py +589 -0
- clawed-0.3.0/clawed/commands/generate_unit.py +463 -0
- clawed-0.3.0/clawed/commands/queue.py +116 -0
- clawed-0.3.0/clawed/commands/schedule_cmd.py +169 -0
- clawed-0.3.0/clawed/commands/sub.py +161 -0
- clawed-0.3.0/clawed/commands/workspace_cmd.py +241 -0
- clawed-0.3.0/clawed/config.py +214 -0
- clawed-0.3.0/clawed/corpus.py +323 -0
- clawed-0.3.0/clawed/curriculum_map.py +239 -0
- clawed-0.3.0/clawed/database.py +711 -0
- clawed-0.3.0/clawed/demo/__init__.py +55 -0
- clawed-0.3.0/clawed/demo/demo_assessment.json +70 -0
- clawed-0.3.0/clawed/demo/demo_lesson_science_g6.json +25 -0
- clawed-0.3.0/clawed/demo/demo_lesson_social_studies_g8.json +25 -0
- clawed-0.3.0/clawed/demo/demo_unit_plan.json +75 -0
- clawed-0.3.0/clawed/differentiation.py +208 -0
- clawed-0.3.0/clawed/doc_export.py +9 -0
- clawed-0.3.0/clawed/drive.py +165 -0
- clawed-0.3.0/clawed/evaluation.py +230 -0
- clawed-0.3.0/clawed/export_docx.py +585 -0
- clawed-0.3.0/clawed/export_markdown.py +722 -0
- clawed-0.3.0/clawed/export_pdf.py +137 -0
- clawed-0.3.0/clawed/export_pptx.py +831 -0
- clawed-0.3.0/clawed/export_theme.py +156 -0
- clawed-0.3.0/clawed/exporter.py +2 -0
- clawed-0.3.0/clawed/feedback.py +80 -0
- clawed-0.3.0/clawed/formats/__init__.py +10 -0
- clawed-0.3.0/clawed/formats/flipchart.py +52 -0
- clawed-0.3.0/clawed/formats/notebook.py +53 -0
- clawed-0.3.0/clawed/formats/xbk.py +70 -0
- clawed-0.3.0/clawed/gateway.py +310 -0
- clawed-0.3.0/clawed/gateway_response.py +40 -0
- clawed-0.3.0/clawed/generation.py +810 -0
- clawed-0.3.0/clawed/handlers/__init__.py +4 -0
- clawed-0.3.0/clawed/handlers/export.py +91 -0
- clawed-0.3.0/clawed/handlers/feedback.py +91 -0
- clawed-0.3.0/clawed/handlers/gaps.py +20 -0
- clawed-0.3.0/clawed/handlers/generate.py +91 -0
- clawed-0.3.0/clawed/handlers/ingest.py +54 -0
- clawed-0.3.0/clawed/handlers/misc.py +100 -0
- clawed-0.3.0/clawed/handlers/onboard.py +147 -0
- clawed-0.3.0/clawed/handlers/schedule.py +50 -0
- clawed-0.3.0/clawed/handlers/standards.py +25 -0
- clawed-0.3.0/clawed/hosted.py +91 -0
- clawed-0.3.0/clawed/improver.py +240 -0
- clawed-0.3.0/clawed/ingestor.py +321 -0
- clawed-0.3.0/clawed/io.py +46 -0
- clawed-0.3.0/clawed/landing/index.html +929 -0
- clawed-0.3.0/clawed/landing/success.html +58 -0
- clawed-0.3.0/clawed/lesson.py +137 -0
- clawed-0.3.0/clawed/llm.py +390 -0
- clawed-0.3.0/clawed/materials.py +207 -0
- clawed-0.3.0/clawed/mcp_server.py +182 -0
- clawed-0.3.0/clawed/memory_engine.py +782 -0
- clawed-0.3.0/clawed/model_router.py +85 -0
- clawed-0.3.0/clawed/models.py +747 -0
- clawed-0.3.0/clawed/onboarding.py +402 -0
- clawed-0.3.0/clawed/openclaw_plugin.py +137 -0
- clawed-0.3.0/clawed/parent_comm.py +254 -0
- clawed-0.3.0/clawed/persona.py +62 -0
- clawed-0.3.0/clawed/planner.py +106 -0
- clawed-0.3.0/clawed/prompts/504_accommodations.txt +39 -0
- clawed-0.3.0/clawed/prompts/assessment.txt +81 -0
- clawed-0.3.0/clawed/prompts/curriculum_gaps.txt +49 -0
- clawed-0.3.0/clawed/prompts/dbq_assessment.txt +106 -0
- clawed-0.3.0/clawed/prompts/differentiation.txt +73 -0
- clawed-0.3.0/clawed/prompts/formative_assessment.txt +56 -0
- clawed-0.3.0/clawed/prompts/iep_modification.txt +67 -0
- clawed-0.3.0/clawed/prompts/lesson_plan.txt +139 -0
- clawed-0.3.0/clawed/prompts/pacing_guide.txt +58 -0
- clawed-0.3.0/clawed/prompts/parent_note.txt +41 -0
- clawed-0.3.0/clawed/prompts/persona_extract.txt +85 -0
- clawed-0.3.0/clawed/prompts/quiz.txt +59 -0
- clawed-0.3.0/clawed/prompts/rubric.txt +43 -0
- clawed-0.3.0/clawed/prompts/sub_packet.txt +75 -0
- clawed-0.3.0/clawed/prompts/summative_assessment.txt +65 -0
- clawed-0.3.0/clawed/prompts/tiered_assignments.txt +37 -0
- clawed-0.3.0/clawed/prompts/unit_plan.txt +67 -0
- clawed-0.3.0/clawed/prompts/worksheet.txt +66 -0
- clawed-0.3.0/clawed/prompts/year_map.txt +87 -0
- clawed-0.3.0/clawed/quality.py +133 -0
- clawed-0.3.0/clawed/router.py +561 -0
- clawed-0.3.0/clawed/scheduler.py +399 -0
- clawed-0.3.0/clawed/school.py +128 -0
- clawed-0.3.0/clawed/search.py +199 -0
- clawed-0.3.0/clawed/skills/__init__.py +5 -0
- clawed-0.3.0/clawed/skills/art.py +96 -0
- clawed-0.3.0/clawed/skills/base.py +53 -0
- clawed-0.3.0/clawed/skills/computer_science.py +107 -0
- clawed-0.3.0/clawed/skills/ela.py +92 -0
- clawed-0.3.0/clawed/skills/foreign_language.py +95 -0
- clawed-0.3.0/clawed/skills/history.py +94 -0
- clawed-0.3.0/clawed/skills/library.py +207 -0
- clawed-0.3.0/clawed/skills/math.py +86 -0
- clawed-0.3.0/clawed/skills/music.py +94 -0
- clawed-0.3.0/clawed/skills/physical_education.py +107 -0
- clawed-0.3.0/clawed/skills/science.py +99 -0
- clawed-0.3.0/clawed/skills/social_studies.py +82 -0
- clawed-0.3.0/clawed/skills/special_education.py +111 -0
- clawed-0.3.0/clawed/slide_images.py +498 -0
- clawed-0.3.0/clawed/standards.py +694 -0
- clawed-0.3.0/clawed/state.py +383 -0
- clawed-0.3.0/clawed/state_standards.py +257 -0
- clawed-0.3.0/clawed/student_bot.py +669 -0
- clawed-0.3.0/clawed/student_cli.py +164 -0
- clawed-0.3.0/clawed/student_telegram_bot.py +336 -0
- clawed-0.3.0/clawed/sub_packet.py +221 -0
- clawed-0.3.0/clawed/task_queue.py +275 -0
- clawed-0.3.0/clawed/telegram_bot.py +913 -0
- clawed-0.3.0/clawed/templates_lib.py +410 -0
- clawed-0.3.0/clawed/tg.py +10 -0
- clawed-0.3.0/clawed/transports/__init__.py +5 -0
- clawed-0.3.0/clawed/transports/cli.py +124 -0
- clawed-0.3.0/clawed/transports/openclaw.py +76 -0
- clawed-0.3.0/clawed/transports/telegram.py +432 -0
- clawed-0.3.0/clawed/transports/web.py +13 -0
- clawed-0.3.0/clawed/tui.py +239 -0
- clawed-0.3.0/clawed/voice.py +105 -0
- clawed-0.3.0/clawed/waitlist.py +97 -0
- clawed-0.3.0/clawed/workspace.py +461 -0
- clawed-0.3.0/eduagent/__init__.py +13 -0
- clawed-0.3.0/eduagent/_compat.py +55 -0
- clawed-0.3.0/pyproject.toml +96 -0
clawed-0.3.0/.gitignore
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
.venv/
|
|
8
|
+
venv/
|
|
9
|
+
env/
|
|
10
|
+
.env
|
|
11
|
+
*.egg-info/
|
|
12
|
+
dist/
|
|
13
|
+
build/
|
|
14
|
+
.eggs/
|
|
15
|
+
|
|
16
|
+
# EDUagent runtime
|
|
17
|
+
*.json
|
|
18
|
+
!examples/**/*.json
|
|
19
|
+
!eduagent/demo/*.json
|
|
20
|
+
!clawed/demo/*.json
|
|
21
|
+
eduagent_output/
|
|
22
|
+
clawed_output/
|
|
23
|
+
eduagent_data/
|
|
24
|
+
clawed_data/
|
|
25
|
+
|
|
26
|
+
# IDE
|
|
27
|
+
.vscode/
|
|
28
|
+
.idea/
|
|
29
|
+
*.swp
|
|
30
|
+
*.swo
|
|
31
|
+
|
|
32
|
+
# macOS
|
|
33
|
+
.DS_Store
|
|
34
|
+
|
|
35
|
+
# Testing
|
|
36
|
+
.pytest_cache/
|
|
37
|
+
.coverage
|
|
38
|
+
htmlcov/
|
|
39
|
+
.ruff_cache/
|
|
40
|
+
|
|
41
|
+
# Build prompts (internal)
|
|
42
|
+
BUILD_PROMPT.md
|
clawed-0.3.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 EDUagent Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
clawed-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: clawed
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Claw-ED — Your teaching files, your AI co-teacher. Upload curriculum materials, get a digital co-teacher that generates lessons in your voice.
|
|
5
|
+
Project-URL: Homepage, https://github.com/SirhanMacx/Claw-ED
|
|
6
|
+
Project-URL: Documentation, https://github.com/SirhanMacx/Claw-ED#readme
|
|
7
|
+
Project-URL: Issues, https://github.com/SirhanMacx/Claw-ED/issues
|
|
8
|
+
Author: Jon Maccarello & Claw-ED contributors
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: ai,claw-ed,clawed,education,lesson-plans,teachers,teaching
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Education
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Education
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: anthropic<1.0,>=0.40.0
|
|
22
|
+
Requires-Dist: apscheduler<4.0,>=3.10.0
|
|
23
|
+
Requires-Dist: fastapi<1.0,>=0.110.0
|
|
24
|
+
Requires-Dist: httpx<1.0,>=0.25.0
|
|
25
|
+
Requires-Dist: jinja2>=3.1.0
|
|
26
|
+
Requires-Dist: json-repair>=0.30.0
|
|
27
|
+
Requires-Dist: mcp>=1.0.0
|
|
28
|
+
Requires-Dist: openai>=1.0.0
|
|
29
|
+
Requires-Dist: pydantic<3.0,>=2.0.0
|
|
30
|
+
Requires-Dist: pymupdf>=1.23.0
|
|
31
|
+
Requires-Dist: python-docx>=1.0.0
|
|
32
|
+
Requires-Dist: python-multipart>=0.0.6
|
|
33
|
+
Requires-Dist: python-pptx>=0.6.21
|
|
34
|
+
Requires-Dist: pyyaml<7.0,>=6.0
|
|
35
|
+
Requires-Dist: reportlab>=4.0.0
|
|
36
|
+
Requires-Dist: rich>=13.0.0
|
|
37
|
+
Requires-Dist: slowapi<1.0,>=0.1.9
|
|
38
|
+
Requires-Dist: sse-starlette>=1.6.0
|
|
39
|
+
Requires-Dist: typer<1.0,>=0.9.0
|
|
40
|
+
Requires-Dist: uvicorn[standard]>=0.27.0
|
|
41
|
+
Provides-Extra: all
|
|
42
|
+
Requires-Dist: faster-whisper>=0.10.0; extra == 'all'
|
|
43
|
+
Requires-Dist: gunicorn>=21.0.0; extra == 'all'
|
|
44
|
+
Requires-Dist: keyring>=24.0.0; extra == 'all'
|
|
45
|
+
Requires-Dist: python-telegram-bot>=20.0; extra == 'all'
|
|
46
|
+
Requires-Dist: textual>=0.56.0; extra == 'all'
|
|
47
|
+
Requires-Dist: uvicorn[standard]>=0.27.0; extra == 'all'
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: apscheduler<4.0,>=3.10.0; extra == 'dev'
|
|
50
|
+
Requires-Dist: faster-whisper>=0.10.0; extra == 'dev'
|
|
51
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
52
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
53
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
54
|
+
Provides-Extra: google
|
|
55
|
+
Requires-Dist: google-api-python-client>=2.0.0; extra == 'google'
|
|
56
|
+
Requires-Dist: google-auth-oauthlib>=1.0.0; extra == 'google'
|
|
57
|
+
Provides-Extra: hosted
|
|
58
|
+
Requires-Dist: gunicorn>=21.0.0; extra == 'hosted'
|
|
59
|
+
Requires-Dist: uvicorn[standard]>=0.27.0; extra == 'hosted'
|
|
60
|
+
Provides-Extra: keyring
|
|
61
|
+
Requires-Dist: keyring>=24.0.0; extra == 'keyring'
|
|
62
|
+
Provides-Extra: pdf
|
|
63
|
+
Requires-Dist: weasyprint>=60.0; extra == 'pdf'
|
|
64
|
+
Provides-Extra: telegram
|
|
65
|
+
Requires-Dist: python-telegram-bot>=20.8; extra == 'telegram'
|
|
66
|
+
Provides-Extra: telegram-legacy
|
|
67
|
+
Requires-Dist: python-telegram-bot>=20.8; extra == 'telegram-legacy'
|
|
68
|
+
Provides-Extra: tui
|
|
69
|
+
Requires-Dist: textual>=0.56.0; extra == 'tui'
|
|
70
|
+
Provides-Extra: voice
|
|
71
|
+
Requires-Dist: faster-whisper>=0.10.0; extra == 'voice'
|
|
72
|
+
Description-Content-Type: text/markdown
|
|
73
|
+
|
|
74
|
+
<p align="center">
|
|
75
|
+
<h1 align="center">Claw-ED 🎓</h1>
|
|
76
|
+
<p align="center"><strong>Your teaching files, your AI co-teacher.</strong></p>
|
|
77
|
+
<p align="center">Open-source AI assistant that learns from your lesson plans and generates new ones in your exact teaching voice.</p>
|
|
78
|
+
<p align="center">No cloud service. No vendor lock-in. Your materials stay on your machine.</p>
|
|
79
|
+
</p>
|
|
80
|
+
|
|
81
|
+
<p align="center">
|
|
82
|
+
<a href="https://pypi.org/project/eduagent/"><img src="https://img.shields.io/pypi/v/eduagent?label=PyPI%20(eduagent)&color=blue" alt="PyPI"></a>
|
|
83
|
+
<a href="https://python.org"><img src="https://img.shields.io/badge/Python-3.10+-blue" alt="Python 3.10+"></a>
|
|
84
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green" alt="MIT License"></a>
|
|
85
|
+
<a href="https://github.com/SirhanMacx/Claw-ED/stargazers"><img src="https://img.shields.io/github/stars/SirhanMacx/Claw-ED" alt="GitHub stars"></a>
|
|
86
|
+
</p>
|
|
87
|
+
|
|
88
|
+
<p align="center">
|
|
89
|
+
<a href="https://sirhanmacx.github.io/Claw-ED/">Website</a> · <a href="#-getting-started">Quickstart</a> · <a href="FEATURES.md">Features</a> · <a href="ROADMAP.md">Roadmap</a> · <a href="CONTRIBUTING.md">Contributing</a>
|
|
90
|
+
</p>
|
|
91
|
+
|
|
92
|
+
<p align="center">
|
|
93
|
+
<strong>🌐 <a href="https://sirhanmacx.github.io/Claw-ED/">sirhanmacx.github.io/Claw-ED</a></strong>
|
|
94
|
+
</p>
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
> **If Claw-ED helps your teaching, [give it a star](https://github.com/SirhanMacx/Claw-ED/stargazers).** It helps other teachers find it.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## How it works
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Your lesson plans (PDFs, DOCX, PPTX, TXT)
|
|
106
|
+
↓
|
|
107
|
+
Claw-ED reads them and learns your teaching fingerprint:
|
|
108
|
+
• Teaching style (inquiry-based, direct instruction, Socratic...)
|
|
109
|
+
• Structural preferences (AIM questions, Do Nows, exit tickets...)
|
|
110
|
+
• Vocabulary level and tone
|
|
111
|
+
• Assessment approach
|
|
112
|
+
↓
|
|
113
|
+
You ask: "Plan a 2-week unit on WWI for my 10th graders"
|
|
114
|
+
↓
|
|
115
|
+
Claw-ED generates:
|
|
116
|
+
• Full unit plan with essential questions
|
|
117
|
+
• 10 daily lesson plans in YOUR voice
|
|
118
|
+
• Student worksheets, assessments, rubrics
|
|
119
|
+
• IEP/504 accommodations
|
|
120
|
+
• Differentiation for struggling/advanced/ELL students
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Real output
|
|
124
|
+
|
|
125
|
+
This is actual Claw-ED output — not mockups. Generated for an 8th grade Social Studies class studying the American Revolution.
|
|
126
|
+
|
|
127
|
+
**Unit plan:**
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Unit: "Liberty and Loyalty: The American Revolution"
|
|
131
|
+
Duration: 2 weeks (10 lessons)
|
|
132
|
+
|
|
133
|
+
Essential Questions:
|
|
134
|
+
1. Was war inevitable?
|
|
135
|
+
2. What defines freedom?
|
|
136
|
+
3. How do ideas change the world?
|
|
137
|
+
4. When is rebellion justified?
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Lesson 1 — Do Now (verbatim from generation):**
|
|
141
|
+
|
|
142
|
+
> Alright, friends, as you settle in, I want you to take out your notebook and answer this question on the board: 'What does freedom mean to you? Is there ever a time when following the rules is more important than being free?' Take 5 minutes to jot down your honest thoughts. There are no wrong answers here; I just want to hear your voice.
|
|
143
|
+
|
|
144
|
+
Every lesson includes differentiation, exit tickets, and homework — all in the teacher's voice. See [FEATURES.md](FEATURES.md) for more.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 🚀 Getting Started
|
|
149
|
+
|
|
150
|
+
**Never used a terminal? No problem.** We'll walk you through everything step by step.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Step 1 — Check that Python is installed
|
|
155
|
+
|
|
156
|
+
Claw-ED runs on Python. Most Macs already have it. Here's how to check:
|
|
157
|
+
|
|
158
|
+
1. On a **Mac**: press `Cmd + Space`, type `Terminal`, hit Enter
|
|
159
|
+
2. On **Windows**: press the Windows key, type `cmd`, hit Enter
|
|
160
|
+
3. In the window that opens, type this and press Enter:
|
|
161
|
+
```
|
|
162
|
+
python --version
|
|
163
|
+
```
|
|
164
|
+
If you see something like `Python 3.11.2`, you're good. If you see an error, [download Python here](https://www.python.org/downloads/) — click the big yellow button and run the installer.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### Step 2 — Install Claw-ED
|
|
169
|
+
|
|
170
|
+
In the same Terminal window, type this and press Enter:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
pip install "clawed @ git+https://github.com/SirhanMacx/Claw-ED.git"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Wait about 30 seconds. You'll see text scrolling — that's normal. When it stops and you see a `$` again, it worked.
|
|
177
|
+
|
|
178
|
+
> **Note:** Claw-ED is not yet published to PyPI. Install from GitHub as shown above. A PyPI release is coming soon.
|
|
179
|
+
|
|
180
|
+
> **Upgrading from EDUagent?** Claw-ED is the same project, renamed. `pip install clawed` replaces `pip install eduagent`. All your existing config, lesson files, and API keys continue to work. The `eduagent` command still works too.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
### Step 3 — Get an AI key
|
|
185
|
+
|
|
186
|
+
Claw-ED needs an AI brain. We recommend **Ollama Cloud** ($20/month flat rate). See [Which AI should I use?](#-which-ai-should-i-use) below for setup, or to try **Anthropic Claude** with $5 free credit:
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
export ANTHROPIC_API_KEY=sk-ant-your-key-here # Mac/Linux
|
|
190
|
+
set ANTHROPIC_API_KEY=sk-ant-your-key-here # Windows
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### Step 4 — Start Claw-ED
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
clawed chat
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
That's it. Claw-ED will ask what you teach, learn from your existing files, and start generating in your voice.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### 📱 Want it on your phone? (Telegram bot)
|
|
206
|
+
|
|
207
|
+
Once Claw-ED is set up, you can connect it to Telegram so you can generate lessons from your phone — during your commute, in the copy room, wherever.
|
|
208
|
+
|
|
209
|
+
**What is Telegram?** It's a free messaging app (like iMessage or WhatsApp). You need the app on your phone and an account. Download it at [telegram.org](https://telegram.org) if you don't have it yet.
|
|
210
|
+
|
|
211
|
+
**Step 1 — Create your teacher bot**
|
|
212
|
+
|
|
213
|
+
1. Open Telegram on your phone
|
|
214
|
+
2. In the search bar, type **@BotFather** and tap the result (it has a blue checkmark)
|
|
215
|
+
3. Tap **Start**, then send this message: `/newbot`
|
|
216
|
+
4. It will ask for a name — type something like `My Lesson Planner`
|
|
217
|
+
5. It will ask for a username — type something like `mrsmith_lessons_bot` (must end in `bot`)
|
|
218
|
+
6. BotFather will send you a **token** — a long string like `7412836591:AAHdqTqFEe...`
|
|
219
|
+
7. Copy that token (hold down on it, select Copy)
|
|
220
|
+
|
|
221
|
+
**Step 2 — Connect it to Claw-ED**
|
|
222
|
+
|
|
223
|
+
In Terminal on your computer:
|
|
224
|
+
```
|
|
225
|
+
pip install 'clawed[telegram]'
|
|
226
|
+
clawed bot --token PASTE-YOUR-TOKEN-HERE
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Leave that Terminal window open (the bot runs as long as the window is open). Now open Telegram, find your new bot, and send it a message — it should respond!
|
|
230
|
+
|
|
231
|
+
> **Keep it running:** For the bot to work when your computer is closed, you'll need to run it on a server. For most teachers, just running it during school hours is fine.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
**Student bot:** Create a second bot for students — they join with a class code and can ask questions in your teaching voice. See [BOT_SETUP.md](docs/BOT_SETUP.md) for full student bot instructions.
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
### 🌐 Prefer a website interface?
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
clawed serve
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Then open your browser and go to **http://localhost:8000** — you'll see a full dashboard.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 📦 Installation options
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Install from GitHub (PyPI release coming soon):
|
|
253
|
+
pip install "clawed @ git+https://github.com/SirhanMacx/Claw-ED.git"
|
|
254
|
+
|
|
255
|
+
# With extras:
|
|
256
|
+
pip install "clawed[telegram] @ git+https://github.com/SirhanMacx/Claw-ED.git"
|
|
257
|
+
pip install "clawed[all] @ git+https://github.com/SirhanMacx/Claw-ED.git"
|
|
258
|
+
|
|
259
|
+
# Requires Python 3.10+. Run: python --version
|
|
260
|
+
# Don't have Python? Download at https://python.org/downloads
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## 🔧 Which AI should I use?
|
|
264
|
+
|
|
265
|
+
Claw-ED needs an AI brain. We recommend **Ollama Cloud** — $20/month flat rate, great quality, no surprises.
|
|
266
|
+
|
|
267
|
+
1. Go to [ollama.com](https://ollama.com) and create a free account (some free usage included)
|
|
268
|
+
2. Upgrade to the **$20/month** plan for unlimited use
|
|
269
|
+
3. Grab your API key: profile icon → **Settings** → **API Keys** → **Generate**
|
|
270
|
+
4. In Terminal:
|
|
271
|
+
```
|
|
272
|
+
export OLLAMA_API_KEY=your-key-here
|
|
273
|
+
clawed config set-model ollama
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
> **Prefer Anthropic Claude or OpenAI?** Those work too — see [Choosing a Model](docs/CHOOSING_A_MODEL.md) for the full comparison.
|
|
277
|
+
|
|
278
|
+
## 📋 Commands
|
|
279
|
+
|
|
280
|
+
| Command | What it does |
|
|
281
|
+
|---------|-------------|
|
|
282
|
+
| `clawed chat` | Start terminal chat |
|
|
283
|
+
| `clawed serve` | Start web dashboard |
|
|
284
|
+
| `clawed bot --token TOKEN` | Start teacher Telegram bot |
|
|
285
|
+
| `clawed ingest <path>` | Learn from your lesson plans |
|
|
286
|
+
| `clawed unit "Topic" -g 8 -s "Subject"` | Generate a unit plan |
|
|
287
|
+
| `clawed lesson "Topic" -g 8 -s "Subject"` | Generate a single lesson |
|
|
288
|
+
| `clawed lesson "Topic" ... --format pptx\|docx\|pdf` | Export as PowerPoint, Word, or PDF |
|
|
289
|
+
| `clawed materials -l lesson.json` | Generate worksheet + assessment |
|
|
290
|
+
| `clawed standards list -g 8 -s math` | Browse your state's standards |
|
|
291
|
+
| `clawed gap-analyze -s "Math" -g 8` | Find curriculum gaps against standards |
|
|
292
|
+
| `clawed demo` | See example output (no API key needed) |
|
|
293
|
+
|
|
294
|
+
Run `clawed --help` for the full command list.
|
|
295
|
+
|
|
296
|
+
### 🖼️ Academic Images — Built In
|
|
297
|
+
|
|
298
|
+
Slides automatically include relevant academic images from Library of Congress, Wikimedia Commons, and Unsplash. No API keys needed. [Details →](docs/SLIDE_IMAGES.md)
|
|
299
|
+
|
|
300
|
+
## 🏗️ Architecture
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
Teacher's message (Telegram, CLI, Web, or OpenClaw)
|
|
304
|
+
↓
|
|
305
|
+
Gateway → Router → Handler (generate, export, feedback, onboard, ...)
|
|
306
|
+
↓
|
|
307
|
+
GatewayResponse (text, files, buttons)
|
|
308
|
+
↓
|
|
309
|
+
Teacher sees the result
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
See [ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full handler and services breakdown.
|
|
313
|
+
|
|
314
|
+
## ✅ Features
|
|
315
|
+
|
|
316
|
+
- [x] Persona extraction — learns your teaching voice from your files
|
|
317
|
+
- [x] Unit plans, daily lessons, worksheets, assessments, rubrics
|
|
318
|
+
- [x] IEP/504 accommodations and differentiation
|
|
319
|
+
- [x] 50-state standards alignment
|
|
320
|
+
- [x] Telegram bot, web dashboard, student chatbot
|
|
321
|
+
- [x] PPTX, DOCX, PDF export with academic images
|
|
322
|
+
- [x] 12 subject skill libraries + custom YAML plugins
|
|
323
|
+
- [x] Teacher workspace, autonomous scheduler, self-improvement loop
|
|
324
|
+
- [x] Curriculum gap analyzer, voice consistency evaluation
|
|
325
|
+
- [x] Substitute packets, parent communications
|
|
326
|
+
- [x] MCP server (tools callable from any AI agent)
|
|
327
|
+
- [ ] Google Classroom export (coming soon)
|
|
328
|
+
- [ ] Hosted version (coming soon)
|
|
329
|
+
|
|
330
|
+
See [FEATURES.md](FEATURES.md) for the full list with details.
|
|
331
|
+
|
|
332
|
+
## 🔒 Privacy
|
|
333
|
+
|
|
334
|
+
- **Your files never leave your machine** unless you choose a cloud LLM
|
|
335
|
+
- **API keys stored in OS keychain** — not in config files, not in the repo
|
|
336
|
+
- **Google Drive:** Personal accounts only — never use school-issued accounts
|
|
337
|
+
|
|
338
|
+
## 🗺️ Roadmap
|
|
339
|
+
|
|
340
|
+
See [ROADMAP.md](ROADMAP.md) for the full plan. Highlights:
|
|
341
|
+
|
|
342
|
+
| Version | What's coming |
|
|
343
|
+
|---------|--------------|
|
|
344
|
+
| **v0.3.0** *(current)* | Claw-ED architecture — gateway, handlers, transports |
|
|
345
|
+
| **v0.4.0** | Hosted version — no install, no terminal, no API keys |
|
|
346
|
+
| **v1.0.0** | District deployment with admin dashboard and SSO |
|
|
347
|
+
|
|
348
|
+
## 🤝 Contributing
|
|
349
|
+
|
|
350
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md). First issues are labeled `good first issue`.
|
|
351
|
+
|
|
352
|
+
Subject matter experts welcome: if you know how great lessons are structured in your subject, open a PR for `clawed/skills/your_subject.py`.
|
|
353
|
+
|
|
354
|
+
## 📄 License
|
|
355
|
+
|
|
356
|
+
MIT. Build on it, sell it, use it in your classroom. Just don't be evil.
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## 👨🏫 Built by a teacher
|
|
361
|
+
|
|
362
|
+
Claw-ED was created by **Mr. Mac** — 9 years teaching Social Studies in Long Island, NY. Not a startup's idea of what teachers need. A tool built by someone who writes lesson plans every week and got tired of starting from scratch.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
<p align="center">
|
|
367
|
+
<strong>If Claw-ED saves you time, <a href="https://github.com/SirhanMacx/Claw-ED/stargazers">star it on GitHub</a></strong> so other teachers can find it.
|
|
368
|
+
</p>
|