ahadiff
Learn from your vibe coding instead of just clicking Accept. AhaDiff turns each AI diff into a code-verified lesson, quiz, and review. · 别再无脑 vibe coding 啦!让你从 vibe coding 中学到真东西。每次改动都变成能查证的课程、测验和复习。
File Explorer
Download Latest Version (.zip)- ci.yml
- frontend-ci.yml
- nightly-eval.yml
- pages.yml
- release.yml
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_concepts.json
- ground_truth.md
- qa_probe.jsonl
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- diff.patch
- expected_artifacts_manifest.json
- expected_results_snapshot.json
- graph.json
- bench_graphify.py
- gen_large_graph.py
- large_graph.json
- ultra_graph.json
- xlarge_graph.json
- bench_api_latency.py
- bench_bundle_size.sh
- bench_cli_startup.py
- bench_diff_parse.py
- bench_graphify.py
- bench_serve_read_routes.py
- bench_sqlite_queries.py
- run_all.sh
- manifest.json
- bilibili.svg
- youtube.svg
- ahadiff-tutorial.en.burned-subtitles.mp4
- ahadiff-tutorial.zh.burned-subtitles.mp4
- en-concepts-graph.png
- en-concepts.png
- en-dashboard.png
- en-diff.png
- en-lesson.png
- en-quiz.png
- en-review.png
- en-rundetail-overview.png
- en-rundetail-score.png
- en-settings.png
- en-welcome.png
- zh-concepts-graph.png
- zh-concepts.png
- zh-dashboard.png
- zh-diff.png
- zh-lesson.png
- zh-quiz.png
- zh-review.png
- zh-rundetail-overview.png
- zh-rundetail-score.png
- zh-settings.png
- zh-welcome.png
- index.html
- USER_GUIDE.en.html
- USER_GUIDE.zh.html
- claim_extract.md
- eval_judge.md
- improve_program.md
- lesson_compact.md
- lesson_generate.md
- lesson_hint.md
- misconception_card.md
- quiz_generate.md
- spec_semantic_alignment.md
- check_wheel_webui.py
- curate_registry.py
- diff_coverage_replay_calibration.py
- __init__.py
- adapt.py
- engine.py
- manifest.py
- state.py
- __init__.py
- classify.py
- entailment.py
- entailment_report.py
- entailment_shadow.py
- extract.py
- negative_scan.py
- runtime.py
- schema.py
- verify.py
- __init__.py
- claim_status.py
- error_codes.py
- error_types.py
- eval_bundle.py
- event_log.py
- orchestrator.py
- quiz_choice.py
- run_source.py
- serve_app.py
- serve_audit.py
- serve_concepts.py
- serve_demo.py
- serve_doctor.py
- serve_improve.py
- serve_install.py
- serve_providers.py
- serve_runtime.py
- serve_stats.py
- __init__.py
- atomic_replace.py
- budget.py
- config.py
- errors.py
- ids.py
- json_util.py
- orchestrator.py
- paths.py
- registry.py
- sqlite_util.py
- task_runner.py
- watcher.py
- __init__.py
- benchmark.py
- deterministic.py
- evaluator.py
- gates.py
- ratchet.py
- results.py
- rubric.py
- rubric.yaml
- spec_alignment.py
- __init__.py
- preview.py
- writer.py
- __init__.py
- capture.py
- download.py
- hunk_hash.py
- line_map.py
- notebook.py
- parser.py
- path_tokens.py
- repo.py
- symbols.py
- tree_sitter_runtime.py
- __init__.py
- cli.py
- freshness.py
- linker.py
- matcher.py
- models.py
- parser.py
- search.py
- slicer.py
- __init__.py
- resolver.py
- __init__.py
- loop.py
- preflight.py
- program.py
- regenerate.py
- rewrite.py
- targeted.py
- __init__.py
- agents_section.md.j2
- ahadiff-generate.yml.j2
- ahadiff-verify.yml.j2
- aider_section.md.j2
- antigravity_cli_skill.md.j2
- antigravity_rule.md.j2
- antigravity_skill.md.j2
- claude_section.md.j2
- claude_skill.md.j2
- cline_rules.md.j2
- codex_skill.md.j2
- continue_rule.md.j2
- copilot_instruction.md.j2
- copilot_section.md.j2
- cursor_rule.mdc.j2
- gemini_section.md.j2
- gemini_skill.md.j2
- opencode_agent.md.j2
- post_commit_hook.sh.j2
- post_commit_hook_auto.sh.j2
- pre_push_hook.sh.j2
- roo_rules.md.j2
- windsurf_rule.md.j2
- __init__.py
- aider.py
- antigravity.py
- antigravity_cli.py
- base.py
- claude.py
- cline.py
- codex.py
- common.py
- continue_.py
- copilot.py
- cursor.py
- gemini.py
- github_action.py
- hooks.py
- opencode.py
- registry.py
- roo.py
- template_loader.py
- usage_hints.py
- windsurf.py
- __init__.py
- generator.py
- helpfulness.py
- learnability.py
- scaffolding.py
- schemas.py
- transfer.py
- __init__.py
- _capability_overrides.py
- anthropic.py
- azure.py
- gemini.py
- lmstudio.py
- newapi.py
- ollama.py
- openai.py
- openai_compat.py
- openai_responses.py
- structured.py
- thinking.py
- __init__.py
- cache.py
- cost.py
- deepseek.py
- model_registry.json
- model_registry.py
- probe.py
- probe_limits.py
- provider.py
- schemas.py
- strict_json.py
- structured.py
- usage.py
- validation_retry.py
- __init__.py
- _lesson_search.py
- server.py
- claim_extract.md
- eval_judge.md
- improve_program.md
- lesson_compact.md
- lesson_generate.md
- lesson_hint.md
- misconception_card.md
- quiz_generate.md
- spec_semantic_alignment.md
- __init__.py
- adaptive.py
- distractor_gate.py
- generator.py
- misconception.py
- schemas.py
- __init__.py
- anki_card.css
- __init__.py
- apkg_export.py
- database.py
- optimizer.py
- scheduler.py
- schemas.py
- search.py
- signal.py
- __init__.py
- _types.py
- allowlist.yaml
- audit.py
- gates.py
- ignore.py
- injection.py
- redact.py
- __init__.py
- _errors.py
- app.py
- auth.py
- config_runtime.py
- locale.py
- lock.py
- middleware.py
- routes_audit.py
- routes_capture.py
- routes_challenge.py
- routes_config.py
- routes_db.py
- routes_demo.py
- routes_export.py
- routes_graph.py
- routes_improve.py
- routes_install.py
- routes_learn.py
- routes_locale.py
- routes_providers.py
- routes_review.py
- routes_runs.py
- routes_search.py
- routes_signals.py
- routes_stats.py
- routes_tasks.py
- routes_watch.py
- state.py
- static.py
- __init__.py
- concepts.py
- lint.py
- __init__.py
- __main__.py
- cli.py
- py.typed
- __init__.py
- test_benchmark.py
- test_judge_stability.py
- expected_report_keys.json
- __init__.py
- test_auto_capture.py
- test_learn_pipeline.py
- test_llm_judge_live.py
- test_structured_output_smoke.py
- test_budget.py
- test_budget_paths.py
- test_regenerate.py
- __init__.py
- test_model_limits.py
- test_routes_capture.py
- __init__.py
- conftest.py
- test_allowlist.py
- test_apkg_export.py
- test_async_dao_threadpool.py
- test_atomic_replace.py
- test_benchmark_scripts.py
- test_challenge_state.py
- test_check_wheel_webui.py
- test_claim_classify.py
- test_claim_extract.py
- test_claim_verify.py
- test_cli.py
- test_cli_construction.py
- test_concepts.py
- test_concepts_db.py
- test_concepts_lint.py
- test_concepts_rollback.py
- test_contracts.py
- test_core_utils.py
- test_cross_platform_static.py
- test_diff_coverage_replay_calibration.py
- test_diff_parser.py
- test_distractor_gate.py
- test_entailment.py
- test_entailment_report.py
- test_entailment_shadow.py
- test_evaluator.py
- test_export_preview.py
- test_gate3_hardening.py
- test_gate4_hardening.py
- test_gates.py
- test_git_capture.py
- test_github_action.py
- test_graphify.py
- test_graphify_linker.py
- test_graphify_matcher.py
- test_graphify_search.py
- test_graphify_slicer.py
- test_helpfulness.py
- test_hooks_schema.py
- test_hunk_hash.py
- test_i18n_resolver.py
- test_improve_loop.py
- test_injection.py
- test_install.py
- test_learnability.py
- test_lesson_generator.py
- test_line_map.py
- test_mcp_ask_lesson.py
- test_mcp_server.py
- test_misconception.py
- test_negative_scan.py
- test_optimizer.py
- test_orchestrator.py
- test_path_safety.py
- test_phase25.py
- test_probe.py
- test_probe_route.py
- test_provider.py
- test_quiz_adaptive.py
- test_quiz_generator.py
- test_ratchet.py
- test_redact.py
- test_redact_url_secrets.py
- test_registry.py
- test_results.py
- test_review.py
- test_review_scheduler_extra.py
- test_routes_concepts.py
- test_routes_config.py
- test_routes_db.py
- test_routes_demo.py
- test_routes_graph.py
- test_routes_improve.py
- test_routes_install.py
- test_routes_judge.py
- test_routes_learn.py
- test_routes_providers.py
- test_routes_review.py
- test_routes_search.py
- test_routes_signals.py
- test_routes_stats.py
- test_routes_tasks.py
- test_search.py
- test_security_hardening.py
- test_serve_app.py
- test_serve_medium_apis.py
- test_serve_static.py
- test_serve_tasks.py
- test_stage1_task1.py
- test_structured_output.py
- test_symbol_extract.py
- test_targeted_verify.py
- test_task_runner.py
- test_transfer.py
- test_usage_query.py
- test_version_sync.py
- test_watcher.py
- test_windows_reparse_guards.py
- __init__.py
- ahadiff-192.png
- ahadiff-512.png
- ahadiff.svg
- favicon.svg
- manifest.json
- registerSW.js
- check-initial-js-budget.mjs
- providers-schema.test.ts
- review-schema.test.ts
- search-schema.test.ts
- tasks-schema.test.ts
- challenge.ts
- client.test.ts
- client.ts
- concepts.ts
- config.ts
- demo.ts
- graph.ts
- improve.ts
- locale.ts
- providers.ts
- review.ts
- runs.ts
- schemas.ts
- search.ts
- signals.ts
- stats.ts
- tasks.ts
- types.ts
- react-force-graph-2d.tsx
- CaptureBudgetBar.test.tsx
- ConceptLedger.test.tsx
- DiagnosticRow.test.tsx
- ProviderCard.test.tsx
- AppShell.css
- AppShell.tsx
- BottomMiniPanel.tsx
- CalendarHeatmap.css
- CalendarHeatmap.tsx
- CaptureBudgetBar.css
- CaptureBudgetBar.tsx
- ChallengeStepper.tsx
- ClaimBadge.css
- ClaimBadge.tsx
- ClaimInspector.css
- ClaimInspector.tsx
- CommandBlock.css
- CommandBlock.tsx
- ConceptGraph.css
- ConceptGraph.test.tsx
- ConceptGraph.tsx
- ConceptLedger.css
- ConceptLedger.tsx
- Concepts.css
- Dashboard.css
- DemoWidget.css
- DemoWidget.tsx
- DiagnosticRow.css
- DiagnosticRow.tsx
- Diff.css
- DiffView.tsx
- ErrorBoundary.css
- ErrorBoundary.test.tsx
- ErrorBoundary.tsx
- EvidencePanel.tsx
- ExportModal.test.tsx
- ExportModal.tsx
- freshness-utils.ts
- FreshnessBadge.test.tsx
- FreshnessBadge.tsx
- GraphifyCard.css
- GraphifyCard.tsx
- GraphifySourceCard.tsx
- HealthBadge.tsx
- ImprovePreview.css
- ImprovePreview.tsx
- InfoHint.css
- InfoHint.tsx
- JudgeReport.css
- JudgeReport.test.ts
- JudgeReport.tsx
- KpiCard.tsx
- Landing.css
- LanguageSwitcher.tsx
- LearnModeDialog.css
- LearnModeDialog.tsx
- LearnTaskBanner.css
- LearnTaskBanner.test.tsx
- LearnTaskBanner.tsx
- Lesson.css
- Onboarding.css
- open-search-event.ts
- ProviderCard.css
- ProviderCard.tsx
- Quiz.css
- Ratchet.css
- RatchetChart.css
- RatchetChart.tsx
- Review.css
- ScaffoldingTabs.tsx
- ScoreBreakdown.css
- ScoreBreakdown.test.tsx
- ScoreBreakdown.tsx
- SearchOverlay.css
- SearchOverlay.test.tsx
- SearchOverlay.tsx
- Settings.css
- Sidebar.css
- Sidebar.test.tsx
- Sidebar.tsx
- Skeleton.css
- Skeleton.tsx
- SRSCard.tsx
- Topbar.css
- Topbar.test.tsx
- Topbar.tsx
- UsagePanel.css
- UsagePanel.tsx
- en.json
- zh-CN.json
- bootstrap.ts
- constants.ts
- useTranslation.ts
- GuidePage.test.tsx
- OnboardingPage.test.tsx
- SettingsPage.test.tsx
- ChallengePage.test.tsx
- ChallengePage.tsx
- ConceptsPage.test.tsx
- ConceptsPage.tsx
- DashboardPage.tsx
- DiffViewerPage.tsx
- GuidePage.css
- GuidePage.tsx
- LandingPage.tsx
- LessonPage.test.tsx
- LessonPage.tsx
- NotFoundPage.tsx
- OnboardingPage.tsx
- QuizPage.test.tsx
- QuizPage.tsx
- RatchetPage.tsx
- ReviewPage.tsx
- RunDetailPage.css
- RunDetailPage.tsx
- SettingsPage.tsx
- concepts-store.test.ts
- concepts-store.ts
- graph-store.test.ts
- graph-store.ts
- learn-store.test.ts
- learn-store.ts
- locale-store.ts
- review-store.test.ts
- review-store.ts
- runs-store.ts
- base.css
- bolder.css
- challenge.css
- components.css
- elevation.css
- export-modal.css
- fonts.css
- forced-colors.css
- health-badge.css
- motion.css
- print.css
- reduced-transparency.css
- tokens.css
- utility.css
- doctor.test.ts
- clipboard.test.ts
- clipboard.ts
- doctor.ts
- error-codes.ts
- format.test.ts
- format.ts
- hard-gates.ts
- idempotency.ts
- integrationLabels.test.ts
- integrationLabels.ts
- markdown.test.tsx
- markdown.tsx
- platform.ts
- quiz-contract.test.ts
- quiz-contract.ts
- score-dimensions.ts
- verdict.ts
- App.tsx
- main.tsx
- vite-env.d.ts
- a11y.spec.ts
- auth.spec.ts
- concepts-ledger.spec.ts
- cross-browser.spec.ts
- error-boundary.spec.ts
- i18n.spec.ts
- improve-preview.spec.ts
- learn-task.spec.ts
- media-features.spec.ts
- onboarding.spec.ts
- provider-scope.spec.ts
- run-detail.spec.ts
- search-overlay.spec.ts
- smoke.spec.ts
- walkthrough.spec.ts
- error-boundary-harness.tsx
- serve-mock.ts
- real-serve-contract.spec.ts
- budget-script.test.ts
- claim-inspector-fidelity.test.ts
- client.test.ts
- diff-view.test.ts
- graph-schemas.test.ts
- graphify-card.test.ts
- i18n-parity.test.ts
- info-hint.test.ts
- landing-page.test.ts
- learn-mode-dialog.test.ts
- manifest.test.ts
- vite-config.test.ts
- .gitignore
- DEEPSEEK_FRONTEND_EVAL.md
- DEEPSEEK_FRONTEND_FIX.md
- index.html
- package.json
- playwright.config.ts
- playwright.real-serve.config.ts
- pnpm-lock.yaml
- tsconfig.json
- tsconfig.node.json
- vite.config.ts
- vitest.config.ts
- .gitattributes
- .gitignore
- LICENSE
- pyproject.toml
- README.md
- README.zh.md
- RELEASING.md
- uv.lock
# Installation Guide
git clone https://github.com/AGI-is-going-to-arrive/ahadiff
Downloads the entire project code from GitHub to your computer.
cd ahadiff
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommendedpipx install ahadiff # no pipx yet? brew install pipx (macOS), or see https://pipx.pypa.io
Installs the CLI tool into an isolated environment via pipx.
pip install ahadiff
Installs the package published on PyPI directly — no need to clone the source.
Pulled directly from this repo's README.
3. Node.js
Easycd viewer && pnpm install && pnpm build # builds the dev WebUI
Moves into the project folder you just downloaded.
Pulled directly from this repo's README.
4. Python
Easypython3 -m venv .venv && source .venv/bin/activate # Windows PowerShell: py -m venv .venv; .venv\Scripts\Activate.ps1
Runs the Python script (or module).
pip install ahadiff
Installs the package published on PyPI directly — no need to clone the source.
Pulled directly from this repo's README.
