agentdebugx 0.3.0__tar.gz → 0.4.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.
- agentdebugx-0.4.0/PKG-INFO +791 -0
- agentdebugx-0.4.0/README.md +727 -0
- agentdebugx-0.3.0/docs/DEEPDEBUG_DESIGN.md → agentdebugx-0.4.0/docs/ARCHITECTURE.md +45 -10
- agentdebugx-0.4.0/docs/GUI_RCA_COMMANDS.md +113 -0
- agentdebugx-0.4.0/docs/TRACE_SCHEMA.md +289 -0
- agentdebugx-0.4.0/docs/assets/UI.png +0 -0
- agentdebugx-0.4.0/docs/assets/logo-dark.svg +43 -0
- agentdebugx-0.4.0/docs/assets/logo.png +0 -0
- agentdebugx-0.4.0/docs/assets/logo.svg +43 -0
- agentdebugx-0.4.0/docs/assets/overview.pdf +0 -0
- agentdebugx-0.4.0/docs/assets/overview.png +0 -0
- agentdebugx-0.4.0/docs/assets/stylesheets/extra.css +757 -0
- agentdebugx-0.4.0/docs/concepts/workflow.md +60 -0
- agentdebugx-0.4.0/docs/getting-started/installation.md +59 -0
- agentdebugx-0.4.0/docs/getting-started/quickstart.md +116 -0
- agentdebugx-0.4.0/docs/guides/diagnose.md +122 -0
- agentdebugx-0.4.0/docs/guides/gui-rca.md +80 -0
- agentdebugx-0.4.0/docs/guides/ingest.md +100 -0
- agentdebugx-0.4.0/docs/guides/local-ui.md +70 -0
- agentdebugx-0.4.0/docs/guides/rerun.md +107 -0
- agentdebugx-0.4.0/docs/help/build-docs.md +49 -0
- agentdebugx-0.4.0/docs/help/troubleshooting.md +94 -0
- agentdebugx-0.4.0/docs/index.md +67 -0
- agentdebugx-0.4.0/docs/reference/cli.md +108 -0
- agentdebugx-0.4.0/docs/reference/diagnostic-report.md +84 -0
- agentdebugx-0.4.0/docs/reference/python-api.md +106 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/pyproject.toml +60 -25
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/__init__.py +64 -39
- agentdebugx-0.4.0/src/agentdebug/batch/README.md +30 -0
- agentdebugx-0.4.0/src/agentdebug/batch/__init__.py +17 -0
- agentdebugx-0.4.0/src/agentdebug/batch/workflow.py +285 -0
- agentdebugx-0.4.0/src/agentdebug/capture/README.md +91 -0
- agentdebugx-0.4.0/src/agentdebug/capture/__init__.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/capture/config.py +114 -0
- agentdebugx-0.4.0/src/agentdebug/capture/context.py +140 -0
- agentdebugx-0.4.0/src/agentdebug/capture/contracts.py +111 -0
- agentdebugx-0.4.0/src/agentdebug/capture/filtering.py +194 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/CODEX_SUPPORT.md +20 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/README.md +9 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/__init__.py +6 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/base.py +54 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/claude_code.py +263 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/codex.py +228 -0
- agentdebugx-0.4.0/src/agentdebug/capture/hosts/registry.py +74 -0
- agentdebugx-0.4.0/src/agentdebug/capture/identity.py +76 -0
- agentdebugx-0.4.0/src/agentdebug/capture/repository.py +505 -0
- agentdebugx-0.4.0/src/agentdebug/capture/service.py +351 -0
- agentdebugx-0.4.0/src/agentdebug/capture/snapshot.py +51 -0
- agentdebugx-0.4.0/src/agentdebug/cli/README.md +114 -0
- agentdebugx-0.4.0/src/agentdebug/cli/__init__.py +13 -0
- agentdebugx-0.4.0/src/agentdebug/cli/__main__.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/__init__.py +1 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/batch.py +87 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/capture.py +183 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/config.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/diagnose.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/doctor.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/hub.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/ingest.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/integrations.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/rerun.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/run.py +91 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/runner.py +42 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/serve.py +5 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/store.py +6 -0
- agentdebugx-0.4.0/src/agentdebug/cli/commands/ui.py +25 -0
- agentdebugx-0.3.0/src/agentdebug/cli.py → agentdebugx-0.4.0/src/agentdebug/cli/legacy.py +698 -114
- agentdebugx-0.4.0/src/agentdebug/cli/main.py +248 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/core/__init__.py +11 -5
- agentdebugx-0.4.0/src/agentdebug/core/events.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/gui_taxonomy.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/llm.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/llm_channel.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/models.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/plugins/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/plugins/registry.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/plugins/types.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/storage.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/core/taxonomy.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/README.md +67 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/__init__.py +21 -5
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/actions/__init__.py +8 -4
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/attribution.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/backend_base.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/backends.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/bundle.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/scrub.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/_templates.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/claude_skill.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/debug_skill.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/openhands.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/moe.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/actions/recovery.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/analyzers.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/README.md +109 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/__init__.py +52 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/async_api.py +119 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug/diagnose/attribute}/attribution.py +702 -26
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/attribute}/deep_memory.py +3 -3
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/deepdebug.py +21 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/moe.py +785 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/reference.py +189 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/trajdebug.py +359 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/__init__.py +0 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/__init__.py +0 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/all_at_once.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/binary_search.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/counterfactual.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/deepdebug.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/heuristic.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/step_by_step.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/trajdebug.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/__init__.py +0 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/heuristic.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/llm_judge.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/perstep.json +19 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/stage_a.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/trajdebug.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/__init__.py +0 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/auto_manual.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/critic.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/deepdebug.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/reflexion.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/saga_rollback.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/self_refine.json +11 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/context.py +227 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/deep.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/deep_memory.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/README.md +119 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/__init__.py +66 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/analyzers.py +11 -10
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/compression.py +612 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/detectors.py +4 -4
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/evidence.py +360 -0
- agentdebugx-0.3.0/src/agentdebug/diagnose/judges.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/judge.py +40 -19
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/perstep.py +416 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/rules/__init__.py +16 -6
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/agenterrorbench.py +3 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/rules/base.py +16 -1
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/core.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/gui.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/__init__.py +1 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/manifest.json +15 -0
- agentdebugx-0.3.0/src/agentdebug/diagnose/rules/agenterrorbench.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/rules.py +2 -2
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/manifest.json +16 -0
- agentdebugx-0.3.0/src/agentdebug/diagnose/rules/core.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/rules.py +40 -4
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/manifest.json +15 -0
- agentdebugx-0.3.0/src/agentdebug/diagnose/rules/gui.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/rules.py +9 -5
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/registry.py +134 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/selection.py +98 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/taxonomy_induction.py +6 -5
- agentdebugx-0.4.0/src/agentdebug/diagnose/detect/trajdebug.py +386 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/detectors.py +3 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/deterministic.py +3 -3
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/gui_rca.py +16 -25
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/judge.py +1 -1
- agentdebugx-0.4.0/src/agentdebug/diagnose/judges.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/pipeline.py +110 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/README.md +50 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/__init__.py +17 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/deepdebug.py +542 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/recover/README.md +54 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/recover/__init__.py +36 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug/diagnose/recover}/recovery.py +130 -18
- agentdebugx-0.4.0/src/agentdebug/diagnose/registry.py +154 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/__init__.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/agenterrorbench.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/base.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/core.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/gui.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/rules/registry.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/diagnose/taxonomy_induction.py +3 -0
- agentdebugx-0.4.0/src/agentdebug/gui/__init__.py +70 -0
- agentdebugx-0.4.0/src/agentdebug/gui/__main__.py +981 -0
- agentdebugx-0.4.0/src/agentdebug/gui/agent.py +342 -0
- agentdebugx-0.4.0/src/agentdebug/gui/config/debugger.example.json +13 -0
- agentdebugx-0.4.0/src/agentdebug/gui/config.py +150 -0
- agentdebugx-0.4.0/src/agentdebug/gui/discuss.py +292 -0
- agentdebugx-0.4.0/src/agentdebug/gui/dispatch.py +239 -0
- agentdebugx-0.4.0/src/agentdebug/gui/eval/__init__.py +29 -0
- agentdebugx-0.4.0/src/agentdebug/gui/eval/accuracy.py +335 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/__init__.py +13 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/alignment.py +243 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/case_loader.py +78 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/prompts.py +87 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/protocol.py +29 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/runner.py +330 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/state.py +82 -0
- agentdebugx-0.4.0/src/agentdebug/gui/evolving/tools.py +104 -0
- agentdebugx-0.4.0/src/agentdebug/gui/ingester.py +155 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/__init__.py +104 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/annotation_loader.py +148 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/distill.py +340 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/episode_memory.py +253 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/intention.py +101 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/lesson_injector.py +414 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/lesson_memory.py +635 -0
- agentdebugx-0.4.0/src/agentdebug/gui/memory/semantic_merge.py +582 -0
- agentdebugx-0.4.0/src/agentdebug/gui/openai_adapter.py +135 -0
- agentdebugx-0.4.0/src/agentdebug/gui/output.py +99 -0
- agentdebugx-0.4.0/src/agentdebug/gui/perplexity_adapter.py +371 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/__init__.py +11 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/classify.py +46 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/client_factory.py +45 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/orchestrator.py +132 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/results.py +273 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/runtime.py +40 -0
- agentdebugx-0.4.0/src/agentdebug/gui/pipeline/worker.py +185 -0
- agentdebugx-0.4.0/src/agentdebug/gui/prompts.py +276 -0
- agentdebugx-0.4.0/src/agentdebug/gui/prompts_discuss.py +75 -0
- agentdebugx-0.4.0/src/agentdebug/gui/rca.py +405 -0
- agentdebugx-0.4.0/src/agentdebug/gui/scripts/__init__.py +11 -0
- agentdebugx-0.4.0/src/agentdebug/gui/scripts/download_input_trajectory.py +200 -0
- agentdebugx-0.4.0/src/agentdebug/gui/tagger.py +202 -0
- agentdebugx-0.4.0/src/agentdebug/gui/taxonomy.py +133 -0
- agentdebugx-0.4.0/src/agentdebug/gui/together_adapter.py +284 -0
- agentdebugx-0.4.0/src/agentdebug/gui/tools/__init__.py +537 -0
- agentdebugx-0.4.0/src/agentdebug/gui/tools/lesson_explorer.py +207 -0
- agentdebugx-0.4.0/src/agentdebug/gui/trajectory.py +418 -0
- agentdebugx-0.4.0/src/agentdebug/gui/trajectory_normalizer.py +87 -0
- agentdebugx-0.4.0/src/agentdebug/gui/utils/__init__.py +9 -0
- agentdebugx-0.4.0/src/agentdebug/gui/utils/lock.py +36 -0
- agentdebugx-0.4.0/src/agentdebug/gui/utils/logger.py +323 -0
- agentdebugx-0.4.0/src/agentdebug/gui/vis/__init__.py +25 -0
- agentdebugx-0.4.0/src/agentdebug/gui/vis/debugger_app.py +2159 -0
- agentdebugx-0.4.0/src/agentdebug/gui/vis/generate_assignments.py +78 -0
- agentdebugx-0.4.0/src/agentdebug/hub/README.md +29 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/__init__.py +4 -4
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/backend_base.py +1 -1
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/backends.py +4 -4
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/bundle.py +5 -2
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/scrub.py +7 -31
- agentdebugx-0.4.0/src/agentdebug/ingest/README.md +43 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/__init__.py +2 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/crewai.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/gaia_odr.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/importers.py +351 -6
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/langgraph.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/openai_agents.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/osworld.py +18 -24
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/otel.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/raw.py +3 -2
- agentdebugx-0.4.0/src/agentdebug/ingest/adapters/trajdebug.py +210 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/core/__init__.py +4 -4
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/instrumentation.py +3 -2
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/recorder.py +3 -3
- agentdebugx-0.4.0/src/agentdebug/inspect/README.md +78 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/__init__.py +1 -1
- agentdebugx-0.4.0/src/agentdebug/inspect/discussion.py +765 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/traceback.py +1 -1
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/ui/__init__.py +2 -2
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/app.py +36 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/assets/robot-avatar.svg +13 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/branch_store.py +150 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/discussion_store.py +771 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/llm_convert.py +319 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/manager.py +197 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/mcp_rerun.py +356 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/routes.py +1407 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/server.py +53 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/services.py +971 -0
- agentdebugx-0.4.0/src/agentdebug/inspect/ui/upload.py +146 -0
- agentdebugx-0.3.0/src/agentdebug/inspect/ui/server.py → agentdebugx-0.4.0/src/agentdebug/inspect/ui/views.py +1809 -1632
- agentdebugx-0.4.0/src/agentdebug/integrations/README.md +51 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/__init__.py +9 -3
- agentdebugx-0.4.0/src/agentdebug/integrations/_templates.py +31 -0
- agentdebugx-0.4.0/src/agentdebug/integrations/agentdebug_skill/SKILL.md +110 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/analysis.md +2 -1
- agentdebugx-0.4.0/src/agentdebug/integrations/agentdebug_skill/references/cli_reference.md +367 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/formats.md +6 -5
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/recovery.md +17 -9
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/safety.md +5 -3
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/setup.md +36 -3
- agentdebugx-0.4.0/src/agentdebug/integrations/capture_management.py +62 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/claude_skill.py +2 -2
- agentdebugx-0.4.0/src/agentdebug/integrations/codex_skill.py +22 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/debug_skill.py +46 -8
- agentdebugx-0.4.0/src/agentdebug/integrations/management.py +107 -0
- {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/openhands.py +2 -2
- agentdebugx-0.4.0/src/agentdebug/py.typed +1 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/ACTOR_TASK_SPEC.md +92 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/README.md +96 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/RUNNER_SPEC.md +240 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/SIMULATION_SPEC.md +110 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/__init__.py +94 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/actor_task.py +151 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/branch.py +57 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/evaluators.py +36 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/executors/__init__.py +39 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/executors/base.py +43 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/executors/http_live.py +284 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/executors/llm_continuation.py +397 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/executors/process_live.py +123 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/http_service.py +339 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/live_validation.py +64 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/request.py +57 -0
- agentdebugx-0.4.0/src/agentdebug/rerun/workflow.py +478 -0
- agentdebugx-0.4.0/src/agentdebug/runtime/README.md +26 -0
- agentdebugx-0.4.0/src/agentdebug/runtime/__init__.py +28 -0
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/events.py +3 -2
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/gui_taxonomy.py +12 -29
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/llm.py +171 -11
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/llm_channel.py +24 -36
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/__init__.py +3 -3
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/registry.py +3 -2
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/storage.py +82 -23
- agentdebugx-0.4.0/src/agentdebug/schema/README.md +30 -0
- agentdebugx-0.4.0/src/agentdebug/schema/__init__.py +51 -0
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/schema}/models.py +99 -0
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/schema}/taxonomy.py +62 -1
- agentdebugx-0.4.0/src/agentdebug/workbench/README.md +94 -0
- agentdebugx-0.4.0/src/agentdebug/workbench/__init__.py +10 -0
- agentdebugx-0.4.0/src/agentdebug/workbench/models.py +141 -0
- agentdebugx-0.4.0/src/agentdebug/workbench/profiles.py +70 -0
- agentdebugx-0.4.0/src/agentdebug/workbench/registry.py +79 -0
- agentdebugx-0.4.0/src/agentdebug/workbench/service.py +382 -0
- agentdebugx-0.3.0/PKG-INFO +0 -234
- agentdebugx-0.3.0/README.md +0 -174
- agentdebugx-0.3.0/docs/00_overview.md +0 -138
- agentdebugx-0.3.0/docs/01_literature_survey.md +0 -208
- agentdebugx-0.3.0/docs/02_architecture.md +0 -210
- agentdebugx-0.3.0/docs/03_taxonomy.md +0 -173
- agentdebugx-0.3.0/docs/04_trace_schema.md +0 -235
- agentdebugx-0.3.0/docs/05_adapters.md +0 -488
- agentdebugx-0.3.0/docs/06_detectors.md +0 -224
- agentdebugx-0.3.0/docs/07_attribution.md +0 -218
- agentdebugx-0.3.0/docs/08_recovery.md +0 -250
- agentdebugx-0.3.0/docs/09_error_database.md +0 -174
- agentdebugx-0.3.0/docs/10_taxonomy_induction.md +0 -123
- agentdebugx-0.3.0/docs/11_multimodal.md +0 -110
- agentdebugx-0.3.0/docs/12_ui_dashboard.md +0 -200
- agentdebugx-0.3.0/docs/13_class_design.md +0 -539
- agentdebugx-0.3.0/docs/14_api_reference.md +0 -348
- agentdebugx-0.3.0/docs/15_roadmap.md +0 -168
- agentdebugx-0.3.0/docs/16_governance.md +0 -107
- agentdebugx-0.3.0/docs/17_claude_code_design_patterns.md +0 -281
- agentdebugx-0.3.0/docs/18_comparison_codex_vs_design.md +0 -101
- agentdebugx-0.3.0/docs/19_error_hub.md +0 -148
- agentdebugx-0.3.0/docs/20_deep_debug.md +0 -181
- agentdebugx-0.3.0/docs/21_integrations.md +0 -196
- agentdebugx-0.3.0/docs/22_industry_track_paper_eval_plan.md +0 -260
- agentdebugx-0.3.0/docs/23_status_v0_2.md +0 -187
- agentdebugx-0.3.0/docs/24_verification_report.md +0 -239
- agentdebugx-0.3.0/docs/25_cross_dataset_status.md +0 -72
- agentdebugx-0.3.0/docs/26_use_case_playbook.md +0 -111
- agentdebugx-0.3.0/docs/ERROR_TAXONOMY.md +0 -69
- agentdebugx-0.3.0/docs/OPEN_SOURCE_DEVELOPMENT_PLAN.md +0 -259
- agentdebugx-0.3.0/docs/README.md +0 -55
- agentdebugx-0.3.0/docs/RESEARCH_SURVEY.md +0 -200
- agentdebugx-0.3.0/docs/benchmarks/agenterrorbench_v0_2_12.md +0 -172
- agentdebugx-0.3.0/docs/benchmarks/cross_dataset_v0_2_12.md +0 -170
- agentdebugx-0.3.0/docs/benchmarks/e2e_v0_2_3.md +0 -373
- agentdebugx-0.3.0/docs/benchmarks/e2e_v0_2_4.md +0 -365
- agentdebugx-0.3.0/docs/benchmarks/gpt_5_4_mini_round.md +0 -132
- agentdebugx-0.3.0/docs/benchmarks/localizer_ablation.md +0 -58
- agentdebugx-0.3.0/docs/benchmarks/v0_1_smoke.json +0 -182
- agentdebugx-0.3.0/docs/benchmarks/v0_1_smoke.md +0 -58
- agentdebugx-0.3.0/docs/benchmarks/who_when_full_rerun.md +0 -59
- agentdebugx-0.3.0/docs/benchmarks/who_when_v0_2_12_paper_15.md +0 -83
- agentdebugx-0.3.0/docs/benchmarks/who_when_v0_2_6_leaderboard.md +0 -74
- agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/_templates.py +0 -404
- agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/agentdebug_skill/SKILL.md +0 -85
- agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/agentdebug_skill/references/cli_reference.md +0 -227
- agentdebugx-0.3.0/src/agentdebug/diagnose/actions/moe.py +0 -429
- agentdebugx-0.3.0/src/agentdebug/diagnose/deep.py +0 -322
- agentdebugx-0.3.0/src/agentdebug/diagnose/rules/registry.py +0 -100
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/LICENSE +0 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/__init__.py +0 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/base.py +0 -0
- {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/importers.py +0 -0
- {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/types.py +0 -0
|
@@ -0,0 +1,791 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentdebugx
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Portable error analysis, tracing, and recovery framework for agentic AI systems. Import as `agentdebug`.
|
|
5
|
+
License: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Keywords: llm,agents,debugging,observability,failure-analysis,agent-debugging,agentic-ai,tracing,evaluation
|
|
8
|
+
Author: ULab @ UIUC
|
|
9
|
+
Author-email: ulab@illinois.edu
|
|
10
|
+
Requires-Python: >=3.9,<4.0
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
24
|
+
Classifier: Topic :: Software Development :: Debuggers
|
|
25
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
26
|
+
Classifier: Topic :: System :: Monitoring
|
|
27
|
+
Classifier: Typing :: Typed
|
|
28
|
+
Provides-Extra: all
|
|
29
|
+
Provides-Extra: crewai
|
|
30
|
+
Provides-Extra: gui
|
|
31
|
+
Provides-Extra: gui-app
|
|
32
|
+
Provides-Extra: gui-memory
|
|
33
|
+
Provides-Extra: hub-hf
|
|
34
|
+
Provides-Extra: langgraph
|
|
35
|
+
Provides-Extra: openai-agents
|
|
36
|
+
Provides-Extra: otel
|
|
37
|
+
Provides-Extra: ui
|
|
38
|
+
Requires-Dist: anthropic ; extra == "gui-app" or extra == "all"
|
|
39
|
+
Requires-Dist: chromadb ; extra == "gui-memory" or extra == "all"
|
|
40
|
+
Requires-Dist: crewai ; extra == "crewai" or extra == "all"
|
|
41
|
+
Requires-Dist: fastapi ; extra == "ui" or extra == "all"
|
|
42
|
+
Requires-Dist: httpx (>=0.24,<1.0)
|
|
43
|
+
Requires-Dist: huggingface_hub ; extra == "hub-hf" or extra == "all"
|
|
44
|
+
Requires-Dist: langchain-chroma ; extra == "gui-memory" or extra == "all"
|
|
45
|
+
Requires-Dist: langchain-core ; extra == "langgraph" or extra == "gui-memory" or extra == "all"
|
|
46
|
+
Requires-Dist: langchain-openai ; extra == "gui-memory" or extra == "all"
|
|
47
|
+
Requires-Dist: openai ; extra == "gui-app" or extra == "all"
|
|
48
|
+
Requires-Dist: openai-agents ; extra == "openai-agents" or extra == "all"
|
|
49
|
+
Requires-Dist: opentelemetry-api ; extra == "otel" or extra == "all"
|
|
50
|
+
Requires-Dist: opentelemetry-sdk ; extra == "otel" or extra == "all"
|
|
51
|
+
Requires-Dist: pandas ; extra == "gui-app" or extra == "all"
|
|
52
|
+
Requires-Dist: pillow ; extra == "gui" or extra == "gui-app" or extra == "all"
|
|
53
|
+
Requires-Dist: pydantic (>=1.10,<3.0)
|
|
54
|
+
Requires-Dist: scikit-learn ; extra == "gui-memory" or extra == "all"
|
|
55
|
+
Requires-Dist: streamlit ; extra == "gui-app" or extra == "all"
|
|
56
|
+
Requires-Dist: streamlit-adjustable-columns ; extra == "gui-app" or extra == "all"
|
|
57
|
+
Requires-Dist: together ; extra == "gui-app" or extra == "all"
|
|
58
|
+
Requires-Dist: uvicorn ; extra == "ui" or extra == "all"
|
|
59
|
+
Project-URL: Documentation, https://github.com/AgentDebugX/AgentDebugX
|
|
60
|
+
Project-URL: Homepage, https://www.agentdebugx.com
|
|
61
|
+
Project-URL: Repository, https://github.com/AgentDebugX/AgentDebugX
|
|
62
|
+
Description-Content-Type: text/markdown
|
|
63
|
+
|
|
64
|
+
<div align="center">
|
|
65
|
+
|
|
66
|
+
<img src="docs/assets/logo.png" alt="AgentDebugX logo" width="360">
|
|
67
|
+
|
|
68
|
+
# AgentDebugX
|
|
69
|
+
|
|
70
|
+
**A local-first debugging framework for agentic AI systems: diagnose failures, attribute root causes, recover with evidence, and validate fixes through reruns.**
|
|
71
|
+
|
|
72
|
+
<a href="https://www.agentdebugx.com"><img src="https://img.shields.io/badge/WEBSITE-208B57?style=for-the-badge&logo=googlechrome&logoColor=white" alt="AgentDebugX website"></a>
|
|
73
|
+
<a href="https://docs.agentdebugx.com/"><img src="https://img.shields.io/badge/DOCS-176B45?style=for-the-badge&logo=materialformkdocs&logoColor=white" alt="AgentDebugX documentation"></a>
|
|
74
|
+
<a href="https://github.com/AgentDebugX/AgentDebugX"><img src="https://img.shields.io/badge/GITHUB-24292F?style=for-the-badge&logo=github&logoColor=white" alt="AgentDebugX GitHub repository"></a>
|
|
75
|
+
<a href="https://youtu.be/ztni6w0o_l8"><img src="https://img.shields.io/badge/DEMO_VIDEO-EA4335?style=for-the-badge&logo=youtube&logoColor=white" alt="AgentDebugX demo video"></a>
|
|
76
|
+
|
|
77
|
+
[](https://pypi.org/project/agentdebugx/)
|
|
78
|
+
[](LICENSE)
|
|
79
|
+
[](pyproject.toml)
|
|
80
|
+
[](https://github.com/AgentDebugX/AgentDebugX/stargazers)
|
|
81
|
+
[](https://github.com/AgentDebugX/AgentDebugX/forks)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
AgentDebugX turns failed agent runs into structured, auditable debugging
|
|
89
|
+
artifacts. It ingests a live or exported trajectory, detects visible failure
|
|
90
|
+
signals, attributes them to responsible steps or agents, proposes recovery
|
|
91
|
+
actions, and prepares controlled reruns so fixes can be validated instead of
|
|
92
|
+
guessed.
|
|
93
|
+
|
|
94
|
+
The project is designed for researchers and engineers building complex LLM
|
|
95
|
+
agents: multi-agent systems, tool-using agents, computer-use agents, benchmark
|
|
96
|
+
runners, and local agent development workflows. AgentDebugX is local-first by
|
|
97
|
+
default: traces stay on your machine, sharing is opt-in, and recovery proposals
|
|
98
|
+
carry explicit policy and approval metadata into the Rerun boundary.
|
|
99
|
+
|
|
100
|
+
## 📰 News
|
|
101
|
+
|
|
102
|
+
- 🔌 **2026-08-25** — Released
|
|
103
|
+
[`dsh-agentdebugx` v0.1.0](https://www.npmjs.com/package/dsh-agentdebugx),
|
|
104
|
+
the AgentDebugX plugin for DeepSeek Harness.
|
|
105
|
+
- 📄 **2026-07-31** — Released
|
|
106
|
+
[CUADebug](https://arxiv.org/abs/2608.02643), our framework for diagnosing
|
|
107
|
+
and repairing computer-use agent failures.
|
|
108
|
+
- 📄 **2026-07-21** — Released the
|
|
109
|
+
[AgentDebugX paper](https://arxiv.org/abs/2607.18754), presenting our
|
|
110
|
+
open-source toolkit for failure observability, attribution, recovery, and
|
|
111
|
+
rerun in LLM agents.
|
|
112
|
+
- 📦 **2026-05-16** — Released AgentDebugX on
|
|
113
|
+
[PyPI](https://pypi.org/project/agentdebugx/).
|
|
114
|
+
- 📄 **2025-09-29** — Released
|
|
115
|
+
[Where LLM Agents Fail and How They Can Learn From Failures](https://arxiv.org/abs/2509.25370),
|
|
116
|
+
introducing AgentErrorTaxonomy, AgentErrorBench, and AgentDebug.
|
|
117
|
+
|
|
118
|
+
## System Overview
|
|
119
|
+
|
|
120
|
+
<p align="center">
|
|
121
|
+
<img src="docs/assets/overview.png" alt="AgentDebugX system overview" width="900">
|
|
122
|
+
</p>
|
|
123
|
+
|
|
124
|
+
AgentDebugX follows the two-stage loop used by the project paper:
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
Diagnose = Detect -> Attribute -> Recover
|
|
128
|
+
Rerun = checkpoint -> retry directive -> branch execution -> evaluation
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
`Diagnose` explains what failed and why. `Rerun` tests whether the proposed
|
|
132
|
+
recovery actually improves the agent behavior.
|
|
133
|
+
|
|
134
|
+
## Why AgentDebugX
|
|
135
|
+
|
|
136
|
+
Tracing tools show what happened. AgentDebugX focuses on the debugging step that
|
|
137
|
+
usually comes next:
|
|
138
|
+
|
|
139
|
+
- Which earlier decision caused the visible failure?
|
|
140
|
+
- Which agent, tool call, memory read, handoff, or GUI action was responsible?
|
|
141
|
+
- What evidence supports that diagnosis?
|
|
142
|
+
- What concrete recovery should be tried?
|
|
143
|
+
- Did the rerun branch improve the outcome?
|
|
144
|
+
|
|
145
|
+
The output is a portable diagnostic report that can be inspected in a local UI,
|
|
146
|
+
used by a CLI workflow, stored in an Error Hub bundle, or invoked from an
|
|
147
|
+
agentic skill.
|
|
148
|
+
|
|
149
|
+
## Core Capabilities
|
|
150
|
+
|
|
151
|
+
- **Portable trace schema**: framework-agnostic trajectory, event, finding, and
|
|
152
|
+
diagnostic report models.
|
|
153
|
+
- **Ingest adapters**: normalize raw JSON, LangGraph, CrewAI, OpenAI Agents SDK,
|
|
154
|
+
OpenTelemetry, GAIA/Open Deep Research, OSWorld, and other exported traces.
|
|
155
|
+
- **Detect**: deterministic analyzers, manifest-backed rule packs, LLM judge
|
|
156
|
+
mode, GUI-aware signals, and taxonomy induction support.
|
|
157
|
+
- **Attribute**: heuristic attribution, all-at-once analysis, step-by-step
|
|
158
|
+
localization, binary search, counterfactual attribution, MOE localization,
|
|
159
|
+
and DeepDebug.
|
|
160
|
+
- **Recover**: Reflexion, CRITIC, Self-Refine, AutoManual, DeepDebug recovery,
|
|
161
|
+
and saga rollback style strategies.
|
|
162
|
+
- **Rerun**: three explicit modes for plan/export only, labeled simulation, or
|
|
163
|
+
observed execution in an application-owned process or persistent HTTP runner.
|
|
164
|
+
- **Local inspection UI**: no-build FastAPI dashboard for traces, reports,
|
|
165
|
+
before/after CUA visuals, debugger discussions, saved cases, debug branches,
|
|
166
|
+
and rerun-from-event workflows.
|
|
167
|
+
- **Error Hub**: scrubbed, shareable failure bundles for regression tests,
|
|
168
|
+
benchmark corpora, and team debugging memory.
|
|
169
|
+
- **Agent integrations**: generate host-runtime assets such as debugging skills
|
|
170
|
+
for external agent tools.
|
|
171
|
+
|
|
172
|
+
## Install
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
pip install agentdebugx
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Optional extras:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
pip install "agentdebugx[ui]" # local FastAPI dashboard
|
|
182
|
+
pip install "agentdebugx[langgraph]" # LangGraph adapter
|
|
183
|
+
pip install "agentdebugx[crewai]" # CrewAI adapter
|
|
184
|
+
pip install "agentdebugx[openai-agents]" # OpenAI Agents SDK adapter
|
|
185
|
+
pip install "agentdebugx[otel]" # OpenTelemetry ingest
|
|
186
|
+
pip install "agentdebugx[gui]" # screenshot decoding for GUI RCA
|
|
187
|
+
pip install "agentdebugx[all]" # all optional integrations
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Computer-use / OSWorld GUI root-cause analysis (`agentdebug.gui`) ships with the
|
|
191
|
+
core install and needs no extra. The `gui` extra only adds `pillow`, which the
|
|
192
|
+
RCA tools use to decode screenshots. Two heavier layers of the same package sit
|
|
193
|
+
behind their own extras: `gui-memory` for the lesson/episodic memory stack, and
|
|
194
|
+
`gui-app` for the provider adapters, the batch pipeline (`python -m
|
|
195
|
+
agentdebug.gui`) and the Streamlit annotation app.
|
|
196
|
+
|
|
197
|
+
The package is installed as `agentdebugx` and imported as `agentdebug`:
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
import agentdebug
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Claude Code and Codex Plugins
|
|
204
|
+
|
|
205
|
+
AgentDebugX ships native plugins for Claude Code and Codex so an agent can
|
|
206
|
+
debug its own session. The plugin bundles capture hooks and the AgentDebug
|
|
207
|
+
skill, which keeps two boundaries explicit:
|
|
208
|
+
|
|
209
|
+
- **Capture is automatic** once a project opts in. Sessions are normalized into
|
|
210
|
+
AgentDebugX trajectories locally and silently.
|
|
211
|
+
- **Diagnosis is explicit.** Ask AgentDebug in-session and the skill diagnoses
|
|
212
|
+
that exact captured trajectory with `agentdebug run --current --profile deep`.
|
|
213
|
+
Re-running or repairing the agent's work stays a separately authorized step.
|
|
214
|
+
|
|
215
|
+
Follow the [capture quickstart](CAPTURE_QUICKSTART.md) to install a plugin,
|
|
216
|
+
enable project capture, diagnose a session, and turn capture off again.
|
|
217
|
+
|
|
218
|
+
The plugin bundles live in this repository:
|
|
219
|
+
|
|
220
|
+
| Plugin | Bundle | Documentation |
|
|
221
|
+
| --- | --- | --- |
|
|
222
|
+
| Claude Code | `integrations/claude-code/plugins/agentdebug` | [Claude Code plugin](integrations/claude-code/README.md) |
|
|
223
|
+
| Codex | `integrations/codex/plugins/agentdebug` | [Codex plugin](integrations/codex/README.md) |
|
|
224
|
+
|
|
225
|
+
Each plugin's documentation covers its hooks, install scope, the capture
|
|
226
|
+
consent step, and lazy session creation. See
|
|
227
|
+
[`src/agentdebug/capture/README.md`](src/agentdebug/capture/README.md) for the
|
|
228
|
+
stored `.agentdebug/` layout and
|
|
229
|
+
[`src/agentdebug/workbench/README.md`](src/agentdebug/workbench/README.md) for
|
|
230
|
+
`agentdebug run` profiles and run manifests.
|
|
231
|
+
|
|
232
|
+
## DeepSeek Harness Plugin
|
|
233
|
+
|
|
234
|
+
AgentDebugX is also available as the
|
|
235
|
+
[`dsh-agentdebugx`](https://www.npmjs.com/package/dsh-agentdebugx) plugin for
|
|
236
|
+
DeepSeek Harness. It diagnoses current and saved Harness trajectories and
|
|
237
|
+
starts the Python bridge and local dashboard only when they are needed.
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
pip install "agentdebugx[ui]>=0.3.1,<0.4"
|
|
241
|
+
dsh plugin --profile web add dsh-agentdebugx
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
See the [plugin documentation](integrations/dsh-agentdebugx/README.md) for
|
|
245
|
+
configuration, commands, saved-session discovery, and deep diagnosis.
|
|
246
|
+
|
|
247
|
+
## Quick Start: Python API
|
|
248
|
+
|
|
249
|
+
Record a trajectory and analyze it locally:
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
from agentdebug import AgentDebug, EventType
|
|
253
|
+
|
|
254
|
+
debugger = AgentDebug()
|
|
255
|
+
|
|
256
|
+
with debugger.trace(
|
|
257
|
+
goal="Book a refundable NYC to SFO flight",
|
|
258
|
+
framework="my-agent",
|
|
259
|
+
) as trace:
|
|
260
|
+
trace.record(
|
|
261
|
+
EventType.PLAN,
|
|
262
|
+
agent_name="planner",
|
|
263
|
+
step_index=1,
|
|
264
|
+
output="Search for the cheapest fares.",
|
|
265
|
+
)
|
|
266
|
+
trace.record(
|
|
267
|
+
EventType.TOOL_RESULT,
|
|
268
|
+
agent_name="browser",
|
|
269
|
+
step_index=3,
|
|
270
|
+
error="Checkout failed: refund_policy is required.",
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
report = trace.analyze()
|
|
274
|
+
|
|
275
|
+
print(report.summary)
|
|
276
|
+
for finding in report.findings:
|
|
277
|
+
print(finding.failure_mode.mode_id, finding.step_index, finding.evidence)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
The report localizes the responsible upstream step rather than only reporting
|
|
281
|
+
the final visible error.
|
|
282
|
+
|
|
283
|
+
## Quick Start: CLI
|
|
284
|
+
|
|
285
|
+
The CLI supports the complete Diagnose -> Rerun workflow. The web console is
|
|
286
|
+
optional and is not required for trace conversion, diagnosis, attribution,
|
|
287
|
+
recovery planning, or rerun preparation.
|
|
288
|
+
|
|
289
|
+
### 1. Normalize an external trace
|
|
290
|
+
|
|
291
|
+
AgentDebugX can auto-detect common JSON and JSONL exports:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
agentdebug ingest raw_trace.json --format auto --out trace.json
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Use `--format` when the source is known, for example `messages`,
|
|
298
|
+
`openai_agents_spans`, `crewai_events`, `langgraph_callbacks`, `claude_code`,
|
|
299
|
+
`codex`, or `osworld`.
|
|
300
|
+
|
|
301
|
+
Process a directory of independent JSON files or every non-empty line in a
|
|
302
|
+
JSONL dataset:
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
agentdebug batch ingest AgentProcessBench/gaia_dev/test.jsonl \
|
|
306
|
+
--out-dir data/agentprocessbench/gaia_dev
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Batch diagnosis normalizes each record and writes independently rerunnable
|
|
310
|
+
trajectories and reports:
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
agentdebug batch diagnose AgentProcessBench/gaia_dev/test.jsonl \
|
|
314
|
+
--mode judge \
|
|
315
|
+
--attributor all-at-once \
|
|
316
|
+
--recovery self-refine \
|
|
317
|
+
--out-dir runs/agentprocessbench/gaia_dev
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Every batch writes `batch-summary.json`. Invalid records are isolated and do
|
|
321
|
+
not discard successful outputs; a partially failed CLI batch exits with code
|
|
322
|
+
`3`.
|
|
323
|
+
|
|
324
|
+
### 2. Run a fully local diagnosis
|
|
325
|
+
|
|
326
|
+
The deterministic pipeline does not require an API key:
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
agentdebug diagnose trace.json \
|
|
330
|
+
--mode heuristic \
|
|
331
|
+
--attributor heuristic \
|
|
332
|
+
--recovery reflexion \
|
|
333
|
+
--out report.json
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
Render the same diagnosis as a cascade-oriented traceback:
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
agentdebug diagnose trace.json \
|
|
340
|
+
--mode heuristic \
|
|
341
|
+
--attributor heuristic \
|
|
342
|
+
--recovery reflexion \
|
|
343
|
+
--traceback
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### 3. Enable LLM-backed diagnosis
|
|
347
|
+
|
|
348
|
+
Save an OpenAI-compatible endpoint once:
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
agentdebug config set-llm \
|
|
352
|
+
--base-url "https://<openai-compatible-host>/v1" \
|
|
353
|
+
--api-key "<secret>" \
|
|
354
|
+
--model "<model>"
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Then select the diagnosis, attribution, and recovery implementations
|
|
358
|
+
explicitly:
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
agentdebug diagnose trace.json \
|
|
362
|
+
--mode judge \
|
|
363
|
+
--attributor all-at-once \
|
|
364
|
+
--recovery self-refine \
|
|
365
|
+
--out report.json
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
For difficult multi-step or ambiguous failures, DeepDebug runs the complete
|
|
369
|
+
diagnosis workflow and automatically packages its evidence-backed fix as a
|
|
370
|
+
standard retry directive:
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
agentdebug diagnose trace.json \
|
|
374
|
+
--mode deepdebug \
|
|
375
|
+
--out report.json
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
`--recovery deepdebug` can select this packaging explicitly. Existing scripts
|
|
379
|
+
that use `--attributor none --recovery none` remain compatible; explicit
|
|
380
|
+
`--recovery none` disables the standard recovery payload.
|
|
381
|
+
|
|
382
|
+
Environment variables can be used instead of saved configuration:
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
export AGENTDEBUG_LLM_BASE_URL="https://<openai-compatible-host>/v1"
|
|
386
|
+
export AGENTDEBUG_LLM_API_KEY="<secret>"
|
|
387
|
+
export AGENTDEBUG_LLM_MODEL="<model>"
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Use `agentdebug config show` to inspect masked configuration and
|
|
391
|
+
`agentdebug config doctor` to test the configured endpoint.
|
|
392
|
+
|
|
393
|
+
### 4. Execute the Rerun stage
|
|
394
|
+
|
|
395
|
+
For repeated, Docker, or remote reruns, keep the application's complete Agent
|
|
396
|
+
environment running as an HTTP runner service. Implement a project callback,
|
|
397
|
+
then start and configure it once:
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
agentdebug runner serve my_project.runner:run_agent \
|
|
401
|
+
--name my-agent \
|
|
402
|
+
--framework langgraph \
|
|
403
|
+
--host 0.0.0.0 \
|
|
404
|
+
--port 8765 \
|
|
405
|
+
--token-env MY_RUNNER_TOKEN
|
|
406
|
+
|
|
407
|
+
agentdebug config set-runner my-agent \
|
|
408
|
+
--url http://127.0.0.1:8765 \
|
|
409
|
+
--token-env MY_RUNNER_TOKEN \
|
|
410
|
+
--default
|
|
411
|
+
|
|
412
|
+
agentdebug config doctor-runner my-agent
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Then run the original agent framework from the beginning of the task:
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
agentdebug rerun report.json \
|
|
419
|
+
--trajectory trace.json \
|
|
420
|
+
--out rerun.live.json
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
To branch from a specific trajectory event, pass its 1-based event number:
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
agentdebug rerun report.json \
|
|
427
|
+
--trajectory trace.json \
|
|
428
|
+
--start-event 4 \
|
|
429
|
+
--out rerun.from-event.json
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
`--start-event N` resolves the Nth event to its stable event ID and sends a
|
|
433
|
+
`from_event` checkpoint to plan, simulation, and live runner modes. The selected
|
|
434
|
+
runner must support restoring or continuing from event checkpoints.
|
|
435
|
+
|
|
436
|
+
The service owns the framework, real model, tools, credentials, environment,
|
|
437
|
+
job lifecycle, and trajectory recorder. A chat-completions URL alone is not an
|
|
438
|
+
Agent environment. Submissions are idempotent, transient failures use bounded
|
|
439
|
+
retries, and unfinished remote jobs are cancelled best-effort. See
|
|
440
|
+
[the runner specification](src/agentdebug/rerun/RUNNER_SPEC.md).
|
|
441
|
+
|
|
442
|
+
For local scripts and CI, the process compatibility transport remains available:
|
|
443
|
+
|
|
444
|
+
```bash
|
|
445
|
+
agentdebug rerun report.json \
|
|
446
|
+
--trajectory trace.json \
|
|
447
|
+
--runner-command "python path/to/project_rerun_runner.py" \
|
|
448
|
+
--out rerun.json
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Use `--plan-only` for trajectory-only uploads; the plan reports why real
|
|
452
|
+
execution is unavailable and which runtime capabilities are missing.
|
|
453
|
+
|
|
454
|
+
Export the same request as a pending actor task dataset when another system
|
|
455
|
+
will perform the rollout:
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
agentdebug rerun report.json \
|
|
459
|
+
--trajectory trace.json \
|
|
460
|
+
--plan-only \
|
|
461
|
+
--actor-task-format jsonl \
|
|
462
|
+
--out rerun-tasks.jsonl
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
Parquet is also supported with `--actor-task-format parquet` after installing
|
|
466
|
+
`pyarrow`. These rows contain actor inputs and provenance, not responses or
|
|
467
|
+
training labels. See
|
|
468
|
+
[the actor task specification](src/agentdebug/rerun/ACTOR_TASK_SPEC.md).
|
|
469
|
+
|
|
470
|
+
For prompt experiments only, `--simulate` enables the previous LLM-generated
|
|
471
|
+
trajectory flow. It returns a workflow JSON with `status=simulated`, a validated
|
|
472
|
+
`hypothetical_trajectory`, and model-generated events explicitly marked as
|
|
473
|
+
simulated. It executes no tools and is not evidence that the recovery fixed the
|
|
474
|
+
task. See
|
|
475
|
+
[the simulation specification](src/agentdebug/rerun/SIMULATION_SPEC.md).
|
|
476
|
+
|
|
477
|
+
### 5. Work with stored traces
|
|
478
|
+
|
|
479
|
+
The CLI can query SQLite or JSONL stores created by instrumented runs or the
|
|
480
|
+
local console:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
agentdebug list --store-sqlite .agentdebug/traces.sqlite
|
|
484
|
+
agentdebug show <trace-id> --store-sqlite .agentdebug/traces.sqlite
|
|
485
|
+
agentdebug diagnose <trace-id> \
|
|
486
|
+
--store-sqlite .agentdebug/traces.sqlite \
|
|
487
|
+
--mode heuristic \
|
|
488
|
+
--attributor heuristic \
|
|
489
|
+
--recovery reflexion
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
### 6. Package and integrate debugging workflows
|
|
493
|
+
|
|
494
|
+
Publish a scrubbed failure bundle to a local Error Hub:
|
|
495
|
+
|
|
496
|
+
```bash
|
|
497
|
+
agentdebug hub push <trace-id> \
|
|
498
|
+
--store-sqlite .agentdebug/traces.sqlite \
|
|
499
|
+
--to local:./agentdebug-hub
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
Generate a debugging skill for a supported host runtime:
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
agentdebug integrations install --platform claude
|
|
506
|
+
agentdebug integrations install --platform codex
|
|
507
|
+
agentdebug integrations status --platform codex --json
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
Generated Hermes and OpenClaw skills remain available through
|
|
511
|
+
`agentdebug integrations skill --platform hermes|openclaw`. Refresh generated
|
|
512
|
+
skills after upgrading so they use the shared `agentdebug run` contract.
|
|
513
|
+
|
|
514
|
+
### Optional: launch the local console
|
|
515
|
+
|
|
516
|
+
Install the UI extra only when a visual inspection workflow is useful:
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
pip install "agentdebugx[ui]"
|
|
520
|
+
agentdebug serve \
|
|
521
|
+
--store-sqlite .agentdebug/traces.sqlite \
|
|
522
|
+
--host 127.0.0.1 \
|
|
523
|
+
--port 7777
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
For the integrated single-run path, AgentDebugX can manage the loopback server
|
|
527
|
+
and return a readiness-checked deep link without opening a browser:
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
agentdebug run trace.json --profile standard --ui --json
|
|
531
|
+
agentdebug ui ensure --run-id <run-id> --json
|
|
532
|
+
agentdebug ui status --json
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
For a multi-record AgentErrorBench JSONL collection, either select one record
|
|
536
|
+
or run the same durable workflow for every independent record:
|
|
537
|
+
|
|
538
|
+
```bash
|
|
539
|
+
agentdebug run trajectories.jsonl --trajectory-id <trajectory-id> --json
|
|
540
|
+
agentdebug run trajectories.jsonl --batch --profile standard --json
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
`--batch` also accepts directories and recursively discovers independent JSON
|
|
544
|
+
files. Each item receives its own run, trajectory, and report identity.
|
|
545
|
+
Failures are isolated; a partial batch exits with code 3. A directly supplied
|
|
546
|
+
JSONL file is split by row, so use `--batch` only when each row is a complete
|
|
547
|
+
trajectory, not when the file is one event stream.
|
|
548
|
+
|
|
549
|
+
For GUI RCA batches, continue using `python -m agentdebug.gui`; its OSWorld
|
|
550
|
+
classification, failure filtering, parallel workers, memory, and output layout
|
|
551
|
+
are intentionally separate from the generic `run --batch` contract.
|
|
552
|
+
|
|
553
|
+
The run manifest, normalized trajectory, selected report, inline JSON, and
|
|
554
|
+
`/runs/<run-id>` page retain the same `run_id`, `trace_id`, and `report_id`.
|
|
555
|
+
The `deep` and `gui` profiles are explicitly LLM-backed; `quick` and
|
|
556
|
+
`standard` never escalate to an LLM implicitly. UI startup failure is reported
|
|
557
|
+
separately and does not change a completed diagnosis into a failed run.
|
|
558
|
+
|
|
559
|
+
## CLI Reference
|
|
560
|
+
|
|
561
|
+
| Command | Purpose |
|
|
562
|
+
| --- | --- |
|
|
563
|
+
| `agentdebug run` | Create durable trajectory/report runs for one input or an explicit batch |
|
|
564
|
+
| `agentdebug ui ensure` / `status` | Start, reuse, or inspect the readiness-checked local UI |
|
|
565
|
+
| `agentdebug ingest` | Normalize an external trace export into AgentDebugX schema |
|
|
566
|
+
| `agentdebug diagnose` | Run detection, attribution, and recovery planning |
|
|
567
|
+
| `agentdebug batch ingest` | Normalize every JSON file or independent JSONL record |
|
|
568
|
+
| `agentdebug batch diagnose` | Normalize and diagnose a JSON/JSONL collection |
|
|
569
|
+
| `agentdebug rerun` | Execute a real framework runner or build a capability-aware plan |
|
|
570
|
+
| `agentdebug runner serve` | Expose an application callback through the live runner protocol |
|
|
571
|
+
| `agentdebug list` / `agentdebug show` | Inspect traces in a local store |
|
|
572
|
+
| `agentdebug config` | Manage and test LLM endpoints and persistent HTTP runners |
|
|
573
|
+
| `agentdebug hub` | Package, scrub, push, and pull Error Hub bundles |
|
|
574
|
+
| `agentdebug integrations` | Generate, install, and validate host integration assets |
|
|
575
|
+
| `agentdebug act` | Compatibility namespace for Hub and integration actions |
|
|
576
|
+
| `agentdebug serve` / `agentdebug inspect` | Launch the optional local web console |
|
|
577
|
+
| `agentdebug doctor` | Report optional dependency and configuration status |
|
|
578
|
+
| `agentdebug analyze` | Compatibility entry point for heuristic diagnosis |
|
|
579
|
+
| `agentdebug convert` | Compatibility alias for `agentdebug ingest` |
|
|
580
|
+
|
|
581
|
+
Run `agentdebug <command> --help` for version-specific flags.
|
|
582
|
+
|
|
583
|
+
## Architecture
|
|
584
|
+
|
|
585
|
+
The repository mirrors the paper-level workflow:
|
|
586
|
+
|
|
587
|
+
```text
|
|
588
|
+
src/agentdebug/schema/ portable trajectory, event, report, and taxonomy contracts
|
|
589
|
+
src/agentdebug/runtime/ storage, LLM clients, event bus, and plugin registry
|
|
590
|
+
src/agentdebug/ingest/ live capture APIs and offline trace importers
|
|
591
|
+
src/agentdebug/diagnose/ Detect -> Attribute -> Recover pipeline
|
|
592
|
+
src/agentdebug/rerun/ rerun plans, requests, branch comparison, and executors
|
|
593
|
+
src/agentdebug/inspect/ traceback renderer and local inspection UI
|
|
594
|
+
src/agentdebug/hub/ scrubbed failure bundle packaging and backends
|
|
595
|
+
src/agentdebug/integrations/ host skill and runtime integration generators
|
|
596
|
+
src/agentdebug/gui/ computer-use / OSWorld GUI root-cause analysis
|
|
597
|
+
examples/ runnable examples and demo traces
|
|
598
|
+
docs/ architecture, schema, and project assets
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
Detailed references:
|
|
602
|
+
|
|
603
|
+
- [Architecture](docs/ARCHITECTURE.md)
|
|
604
|
+
- [Trace schema](docs/TRACE_SCHEMA.md)
|
|
605
|
+
- [System overview PDF](docs/assets/overview.pdf)
|
|
606
|
+
|
|
607
|
+
## Component Model
|
|
608
|
+
|
|
609
|
+
Diagnose components use manifest-backed discovery:
|
|
610
|
+
|
|
611
|
+
- Detect components and rule packs declare metadata under
|
|
612
|
+
`src/agentdebug/diagnose/component_manifests/detect/` and
|
|
613
|
+
`src/agentdebug/diagnose/detect/rules/packs/`.
|
|
614
|
+
- Attribute components declare metadata under
|
|
615
|
+
`src/agentdebug/diagnose/component_manifests/attribute/`.
|
|
616
|
+
- Recover components declare metadata under
|
|
617
|
+
`src/agentdebug/diagnose/component_manifests/recover/`.
|
|
618
|
+
|
|
619
|
+
The shared registry exposes:
|
|
620
|
+
|
|
621
|
+
```python
|
|
622
|
+
from agentdebug.diagnose import list_components, load_component
|
|
623
|
+
|
|
624
|
+
for component in list_components():
|
|
625
|
+
print(component.id, component.stage, component.capabilities)
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
This keeps the implementation extensible without turning the CLI or UI into
|
|
629
|
+
business-logic containers.
|
|
630
|
+
|
|
631
|
+
## Local UI
|
|
632
|
+
|
|
633
|
+
The inspection UI is a local FastAPI application with a no-build HTML/CSS/JS
|
|
634
|
+
frontend. It is intentionally a surface layer:
|
|
635
|
+
|
|
636
|
+
- routes live in `inspect/ui/routes.py`
|
|
637
|
+
- rendering lives in `inspect/ui/views.py`
|
|
638
|
+
- UI-facing services live in `inspect/ui/services.py`
|
|
639
|
+
- local case and branch stores live in `inspect/ui/branch_store.py`
|
|
640
|
+
- `inspect/ui/server.py` remains a compatibility import path
|
|
641
|
+
|
|
642
|
+
### Launch from the CLI
|
|
643
|
+
|
|
644
|
+
Install the optional UI dependencies, then point the server at an existing
|
|
645
|
+
AgentDebugX trace store:
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
pip install "agentdebugx[ui]"
|
|
649
|
+
|
|
650
|
+
agentdebug serve \
|
|
651
|
+
--store-sqlite .agentdebug/traces.sqlite \
|
|
652
|
+
--host 127.0.0.1 \
|
|
653
|
+
--port 7777
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
Open [http://127.0.0.1:7777](http://127.0.0.1:7777) in a browser. For a JSONL
|
|
657
|
+
store, replace `--store-sqlite` with
|
|
658
|
+
`--store-jsonl .agentdebug/traces.jsonl`. Keep the default loopback host unless
|
|
659
|
+
the UI is deployed behind appropriate authentication and transport security.
|
|
660
|
+
Place native trajectory and diagnostic-report JSON files under
|
|
661
|
+
`.agentdebug/imports/`, then use **Sync imports** in the workspace to import
|
|
662
|
+
new or changed files. Set `AGENTDEBUG_IMPORT_DIR` to use another server-owned
|
|
663
|
+
directory.
|
|
664
|
+
|
|
665
|
+

|
|
666
|
+
|
|
667
|
+
The UI can inspect traces, save typical error cases, prepare debug
|
|
668
|
+
continuations, and invoke a server-controlled live runner. Rerun Composer is
|
|
669
|
+
opened from a selected event and uses that event as its checkpoint. Set
|
|
670
|
+
`AGENTDEBUG_RUNNER_URL` for the preferred persistent HTTP transport or
|
|
671
|
+
`AGENTDEBUG_RERUN_COMMAND` for process compatibility. The selected runner must
|
|
672
|
+
advertise or implement `from_event` checkpoint support. The browser does not
|
|
673
|
+
accept or persist runner commands or bearer tokens; LLM API keys configured in
|
|
674
|
+
the local UI are retained only for the current browser tab.
|
|
675
|
+
|
|
676
|
+
OSWorld trajectories with locally available screenshot artifacts open in the
|
|
677
|
+
read-only **Visual** view by default. Use the **Trace / Visual** control to
|
|
678
|
+
switch without changing the selected event; the choice is remembered per trace
|
|
679
|
+
for the current browser tab. Visual compares the selected action's **Before**
|
|
680
|
+
state (an explicit input image or the immediately preceding event result) with
|
|
681
|
+
all **After** images attached to the selected event; it never changes timeline
|
|
682
|
+
selection or guesses across missing steps. Screenshots are served only through
|
|
683
|
+
trace/event artifact IDs, and only when the resolved image remains inside the
|
|
684
|
+
trajectory's recorded `metadata.source_dir`.
|
|
685
|
+
|
|
686
|
+
**Discuss with Debugger** is available for every normalized trace format, not
|
|
687
|
+
only CUA. Discussions are persisted locally, pinned to a report snapshot, cite
|
|
688
|
+
canonical event IDs, and may produce an exportable report-revision draft.
|
|
689
|
+
Discussion tools are read-only and drafts never overwrite stored diagnostic
|
|
690
|
+
reports. The separate Streamlit app remains the tool for annotation,
|
|
691
|
+
multi-reviewer assignment, and accuracy workflows.
|
|
692
|
+
|
|
693
|
+
## Privacy and Safety
|
|
694
|
+
|
|
695
|
+
AgentDebugX is local-first:
|
|
696
|
+
|
|
697
|
+
- Trace capture and diagnosis run locally unless you explicitly configure an
|
|
698
|
+
external LLM endpoint.
|
|
699
|
+
- Error Hub publishing is opt-in.
|
|
700
|
+
- Bundle scrubbing is available before sharing traces.
|
|
701
|
+
- Recovery is suggest-only. External execution belongs to Rerun and requires an
|
|
702
|
+
explicitly configured executor. Recovery approval fields are auditable
|
|
703
|
+
metadata; deployments must enforce their own authorization policy before
|
|
704
|
+
dispatch.
|
|
705
|
+
|
|
706
|
+
Diagnostic findings are hypotheses with evidence and provenance, not ground
|
|
707
|
+
truth. LLM Judge reports retain the model's self-reported confidence;
|
|
708
|
+
Heuristic and DeepDebug reports omit uncalibrated confidence values. Configure
|
|
709
|
+
retention, access control, and redaction before collecting production traces.
|
|
710
|
+
|
|
711
|
+
## Examples
|
|
712
|
+
|
|
713
|
+
The `examples/` directory contains runnable scripts and demo artifacts:
|
|
714
|
+
|
|
715
|
+
- `basic_usage.py`
|
|
716
|
+
- `multi_agent_cascade.py`
|
|
717
|
+
- `langgraph/`
|
|
718
|
+
- `crewai/`
|
|
719
|
+
- `autogen_roundrobin_deepdebug.py`
|
|
720
|
+
- `taxonomy_induction_demo.py`
|
|
721
|
+
- `http_agent_runner.py`
|
|
722
|
+
- `live_rerun_runner.py`
|
|
723
|
+
- `claude_skill_integration/`
|
|
724
|
+
- `debug_skills/`
|
|
725
|
+
|
|
726
|
+
## Development
|
|
727
|
+
|
|
728
|
+
Run the test suite:
|
|
729
|
+
|
|
730
|
+
```bash
|
|
731
|
+
python -m pytest tests -q
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
Run the enforced branch-coverage baseline:
|
|
735
|
+
|
|
736
|
+
```bash
|
|
737
|
+
python -m pytest tests -q --cov=agentdebug --cov-branch --cov-fail-under=40
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
Compile-check the package:
|
|
741
|
+
|
|
742
|
+
```bash
|
|
743
|
+
python -m compileall -q src/agentdebug tests
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
Build artifacts under `dist/` should not be committed. Generate them only for
|
|
747
|
+
release workflows.
|
|
748
|
+
|
|
749
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for test organization, the optional GUI
|
|
750
|
+
test suite, quality checks, and pull request expectations.
|
|
751
|
+
|
|
752
|
+
## Citation
|
|
753
|
+
|
|
754
|
+
```bibtex
|
|
755
|
+
@article{agentdebug2025,
|
|
756
|
+
title={Where LLM Agents Fail and How They Can Learn From Failures},
|
|
757
|
+
author={Zhu, Kunlun and Liu, Zijia and Li, Bingxuan and Tian, Muxin and Yang Yingxuan and Zhang, Jiaxun and others},
|
|
758
|
+
journal={arXiv preprint arXiv:2509.25370},
|
|
759
|
+
year={2025}
|
|
760
|
+
}
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
```bibtex
|
|
764
|
+
@misc{zhu2026agentdebugxopensourcetoolkitfailure,
|
|
765
|
+
title={AgentDebugX: An Open-Source Toolkit for Failure Observability, Attribution, and Recovery in LLM Agents},
|
|
766
|
+
author={Kunlun Zhu and Xuyan Ye and Zhiguang Han and Yuchen Zhao and Bingxuan Li and Weijia Zhang and Muxin Tian and Xiangru Tang and Pan Lu and James Zou and Jiaxuan You and Heng Ji},
|
|
767
|
+
year={2026},
|
|
768
|
+
eprint={2607.18754},
|
|
769
|
+
archivePrefix={arXiv},
|
|
770
|
+
primaryClass={cs.AI},
|
|
771
|
+
url={https://arxiv.org/abs/2607.18754},
|
|
772
|
+
}
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
```bibtex
|
|
776
|
+
@misc{zhang2026cuadebugdiagnosingrepairingcomputeruse,
|
|
777
|
+
title={CUADebug: Diagnosing and Repairing Computer-Use Agent Failures},
|
|
778
|
+
author={Weijia Zhang and Kunlun Zhu and Zeyi Liu and Yinting Chen and Tianyi Ma and Jiateng Liu and Jiaxun Zhang and Bingxuan Li and Xiangru Tang and Heng Ji and Jiaxuan You},
|
|
779
|
+
year={2026},
|
|
780
|
+
eprint={2608.02643},
|
|
781
|
+
archivePrefix={arXiv},
|
|
782
|
+
primaryClass={cs.SE},
|
|
783
|
+
url={https://arxiv.org/abs/2608.02643},
|
|
784
|
+
}
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
## License
|
|
789
|
+
|
|
790
|
+
MIT. See [LICENSE](LICENSE).
|
|
791
|
+
|