deepagent-hermes 0.1.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.
- deepagent_hermes-0.1.0/.github/workflows/ci.yml +55 -0
- deepagent_hermes-0.1.0/.github/workflows/release.yml +23 -0
- deepagent_hermes-0.1.0/.gitignore +64 -0
- deepagent_hermes-0.1.0/CHANGELOG.md +90 -0
- deepagent_hermes-0.1.0/LICENSE +21 -0
- deepagent_hermes-0.1.0/NOTICE +54 -0
- deepagent_hermes-0.1.0/PKG-INFO +166 -0
- deepagent_hermes-0.1.0/README.md +121 -0
- deepagent_hermes-0.1.0/SPEC.md +608 -0
- deepagent_hermes-0.1.0/deepagent-hermes.toml +63 -0
- deepagent_hermes-0.1.0/examples/cli_smoke.py +37 -0
- deepagent_hermes-0.1.0/examples/dogfood.py +223 -0
- deepagent_hermes-0.1.0/examples/dogfood_procedural.py +220 -0
- deepagent_hermes-0.1.0/examples/host_adoption_smoke.py +120 -0
- deepagent_hermes-0.1.0/examples/live_smoke.py +85 -0
- deepagent_hermes-0.1.0/examples/live_smoke_reflection.py +124 -0
- deepagent_hermes-0.1.0/examples/load_into_deepagent_code.md +83 -0
- deepagent_hermes-0.1.0/prompts/combined_review.md +56 -0
- deepagent_hermes-0.1.0/prompts/compression_summary.md +50 -0
- deepagent_hermes-0.1.0/prompts/computer_use.md +25 -0
- deepagent_hermes-0.1.0/prompts/curator_review.md +48 -0
- deepagent_hermes-0.1.0/prompts/default_identity.md +11 -0
- deepagent_hermes-0.1.0/prompts/google_execution.md +13 -0
- deepagent_hermes-0.1.0/prompts/memory_guidance.md +14 -0
- deepagent_hermes-0.1.0/prompts/memory_review.md +14 -0
- deepagent_hermes-0.1.0/prompts/openai_execution.md +45 -0
- deepagent_hermes-0.1.0/prompts/platform_hints/cli.md +7 -0
- deepagent_hermes-0.1.0/prompts/platform_hints/cron.md +9 -0
- deepagent_hermes-0.1.0/prompts/session_search_guidance.md +10 -0
- deepagent_hermes-0.1.0/prompts/skill_review.md +51 -0
- deepagent_hermes-0.1.0/prompts/skills_guidance.md +15 -0
- deepagent_hermes-0.1.0/prompts/task_completion.md +12 -0
- deepagent_hermes-0.1.0/prompts/tool_use_enforcement.md +20 -0
- deepagent_hermes-0.1.0/pyproject.toml +96 -0
- deepagent_hermes-0.1.0/skills/README.md +32 -0
- deepagent_hermes-0.1.0/skills/data-science/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/data-science/jupyter-live-kernel/SKILL.md +167 -0
- deepagent_hermes-0.1.0/skills/github/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/github/codebase-inspection/SKILL.md +116 -0
- deepagent_hermes-0.1.0/skills/github/github-auth/SKILL.md +247 -0
- deepagent_hermes-0.1.0/skills/github/github-auth/scripts/gh-env.sh +66 -0
- deepagent_hermes-0.1.0/skills/github/github-code-review/SKILL.md +481 -0
- deepagent_hermes-0.1.0/skills/github/github-code-review/references/review-output-template.md +74 -0
- deepagent_hermes-0.1.0/skills/github/github-issues/SKILL.md +370 -0
- deepagent_hermes-0.1.0/skills/github/github-issues/templates/bug-report.md +35 -0
- deepagent_hermes-0.1.0/skills/github/github-issues/templates/feature-request.md +31 -0
- deepagent_hermes-0.1.0/skills/github/github-pr-workflow/SKILL.md +367 -0
- deepagent_hermes-0.1.0/skills/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- deepagent_hermes-0.1.0/skills/github/github-pr-workflow/references/conventional-commits.md +71 -0
- deepagent_hermes-0.1.0/skills/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- deepagent_hermes-0.1.0/skills/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
- deepagent_hermes-0.1.0/skills/github/github-repo-management/SKILL.md +516 -0
- deepagent_hermes-0.1.0/skills/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
- deepagent_hermes-0.1.0/skills/mlops/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/SKILL.md +498 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/api-evaluation.md +490 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/benchmark-guide.md +488 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/custom-tasks.md +602 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/distributed-eval.md +519 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/SKILL.md +594 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
- deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/sweeps.md +847 -0
- deepagent_hermes-0.1.0/skills/mlops/huggingface-hub/SKILL.md +81 -0
- deepagent_hermes-0.1.0/skills/mlops/vector-databases/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/note-taking/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/note-taking/obsidian/SKILL.md +61 -0
- deepagent_hermes-0.1.0/skills/productivity/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/SKILL.md +335 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/references/gmail-search-syntax.md +63 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/_hermes_home.py +42 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/google_api.py +1225 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/gws_bridge.py +111 -0
- deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/setup.py +455 -0
- deepagent_hermes-0.1.0/skills/productivity/notion/SKILL.md +448 -0
- deepagent_hermes-0.1.0/skills/productivity/notion/references/block-types.md +112 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/LICENSE.txt +30 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/SKILL.md +237 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/editing.md +205 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/pptxgenjs.md +420 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/__init__.py +0 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/add_slide.py +195 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/clean.py +286 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/pack.py +159 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- deepagent_hermes-0.1.0/skills/research/DESCRIPTION.md +3 -0
- deepagent_hermes-0.1.0/skills/research/arxiv/SKILL.md +282 -0
- deepagent_hermes-0.1.0/skills/research/arxiv/scripts/search_arxiv.py +114 -0
- deepagent_hermes-0.1.0/skills/research/blogwatcher/SKILL.md +137 -0
- deepagent_hermes-0.1.0/skills/research/llm-wiki/SKILL.md +507 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/SKILL.md +2377 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/autoreason-methodology.md +394 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/checklists.md +434 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/citation-workflow.md +564 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/experiment-patterns.md +728 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/human-evaluation.md +476 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/paper-types.md +481 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/sources.md +191 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/writing-guide.md +474 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/README.md +251 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/README.md +534 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/README.md +50 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl.sty +312 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/custom.bib +70 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/formatting.md +326 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/README.md +3 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
- deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
- deepagent_hermes-0.1.0/skills/software-development/hermes-agent-skill-authoring/SKILL.md +165 -0
- deepagent_hermes-0.1.0/skills/software-development/plan/SKILL.md +58 -0
- deepagent_hermes-0.1.0/skills/software-development/python-debugpy/SKILL.md +375 -0
- deepagent_hermes-0.1.0/skills/software-development/requesting-code-review/SKILL.md +280 -0
- deepagent_hermes-0.1.0/skills/software-development/spike/SKILL.md +197 -0
- deepagent_hermes-0.1.0/skills/software-development/systematic-debugging/SKILL.md +367 -0
- deepagent_hermes-0.1.0/skills/software-development/test-driven-development/SKILL.md +343 -0
- deepagent_hermes-0.1.0/skills/software-development/writing-plans/SKILL.md +297 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/__init__.py +32 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/agent.py +294 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/budget.py +222 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/caching.py +178 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cli.py +672 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/compression.py +486 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/config.py +438 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/__init__.py +49 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/__main__.py +47 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/deliverers.py +287 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/jobs.py +657 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/scheduler.py +384 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/cron/tool.py +210 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/curator.py +480 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/extractors.py +172 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/memory/__init__.py +46 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/memory/provider.py +175 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/memory/threat_patterns.py +286 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/memory/tool.py +530 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/__init__.py +31 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/__init__.py +6 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/honcho_provider/__init__.py +414 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/honcho_provider/plugin.yaml +6 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/context.py +305 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/event_bus.py +474 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/loader.py +308 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/prompts.py +486 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/reflection.py +473 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/search/__init__.py +1 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/search/session_search.py +469 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/__init__.py +39 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/library.py +435 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/loader.py +125 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/prompt.py +225 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/tools.py +429 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/skills/validator.py +236 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/state.py +131 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/store/__init__.py +1 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/store/recorder.py +323 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/store/sqlite_fts.py +1246 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/__init__.py +1 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/clarify.py +88 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/__init__.py +1 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/base.py +405 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/daytona.py +320 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/docker.py +412 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/local.py +197 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/modal.py +283 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/singularity.py +232 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/ssh.py +505 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/file.py +96 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/registry.py +238 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/todo.py +69 -0
- deepagent_hermes-0.1.0/src/deepagent_hermes/tools/toolsets.py +208 -0
- deepagent_hermes-0.1.0/tests/__init__.py +0 -0
- deepagent_hermes-0.1.0/tests/conftest.py +37 -0
- deepagent_hermes-0.1.0/tests/test_bundled_skills.py +45 -0
- deepagent_hermes-0.1.0/tests/test_caching_strategy.py +172 -0
- deepagent_hermes-0.1.0/tests/test_cli_show_config.py +52 -0
- deepagent_hermes-0.1.0/tests/test_compression.py +183 -0
- deepagent_hermes-0.1.0/tests/test_config.py +252 -0
- deepagent_hermes-0.1.0/tests/test_cron_deliverers.py +208 -0
- deepagent_hermes-0.1.0/tests/test_cron_jobs.py +155 -0
- deepagent_hermes-0.1.0/tests/test_curator_lifecycle.py +285 -0
- deepagent_hermes-0.1.0/tests/test_honcho_provider.py +503 -0
- deepagent_hermes-0.1.0/tests/test_integration_smoke.py +175 -0
- deepagent_hermes-0.1.0/tests/test_iteration_budget.py +145 -0
- deepagent_hermes-0.1.0/tests/test_memory_provider_abc.py +145 -0
- deepagent_hermes-0.1.0/tests/test_memory_snapshot_frozen.py +241 -0
- deepagent_hermes-0.1.0/tests/test_plugin_event_bus.py +417 -0
- deepagent_hermes-0.1.0/tests/test_plugin_loader.py +172 -0
- deepagent_hermes-0.1.0/tests/test_prompt_assembly.py +157 -0
- deepagent_hermes-0.1.0/tests/test_reflection_trigger.py +275 -0
- deepagent_hermes-0.1.0/tests/test_session_search_modes.py +367 -0
- deepagent_hermes-0.1.0/tests/test_skill_library.py +262 -0
- deepagent_hermes-0.1.0/tests/test_skill_loader.py +156 -0
- deepagent_hermes-0.1.0/tests/test_skill_validator.py +254 -0
- deepagent_hermes-0.1.0/tests/test_sqlite_fts_store.py +340 -0
- deepagent_hermes-0.1.0/tests/test_state.py +133 -0
- deepagent_hermes-0.1.0/tests/test_terminal_daytona_modal.py +202 -0
- deepagent_hermes-0.1.0/tests/test_terminal_docker.py +164 -0
- deepagent_hermes-0.1.0/tests/test_terminal_local.py +130 -0
- deepagent_hermes-0.1.0/tests/test_terminal_singularity.py +89 -0
- deepagent_hermes-0.1.0/tests/test_terminal_ssh.py +292 -0
- deepagent_hermes-0.1.0/tests/test_threat_patterns.py +153 -0
- deepagent_hermes-0.1.0/tests/test_tool_registry.py +215 -0
- deepagent_hermes-0.1.0/tests/test_toolsets.py +148 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
os: [ubuntu-latest, windows-latest]
|
|
16
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
22
|
+
uses: actions/setup-python@v5
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
25
|
+
|
|
26
|
+
- name: Install uv
|
|
27
|
+
uses: astral-sh/setup-uv@v3
|
|
28
|
+
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
run: |
|
|
31
|
+
uv pip install --system -e ".[dev]"
|
|
32
|
+
|
|
33
|
+
- name: Lint
|
|
34
|
+
run: |
|
|
35
|
+
ruff check .
|
|
36
|
+
ruff format --check .
|
|
37
|
+
|
|
38
|
+
- name: Test
|
|
39
|
+
run: |
|
|
40
|
+
pytest -ra --cov=deepagent_hermes --cov-report=term-missing
|
|
41
|
+
|
|
42
|
+
smoke:
|
|
43
|
+
runs-on: ubuntu-latest
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/checkout@v4
|
|
46
|
+
- uses: actions/setup-python@v5
|
|
47
|
+
with:
|
|
48
|
+
python-version: "3.13"
|
|
49
|
+
- uses: astral-sh/setup-uv@v3
|
|
50
|
+
- name: Install
|
|
51
|
+
run: uv pip install --system -e ".[dev]"
|
|
52
|
+
- name: Smoke import
|
|
53
|
+
run: python -c "from deepagent_hermes import create_hermes_agent, HermesConfig; print('OK')"
|
|
54
|
+
- name: --show-config
|
|
55
|
+
run: deepagent-hermes --show-config
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.13"
|
|
16
|
+
- name: Install build
|
|
17
|
+
run: pip install build
|
|
18
|
+
- name: Build wheel + sdist
|
|
19
|
+
run: python -m build
|
|
20
|
+
- name: Publish to PyPI
|
|
21
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
22
|
+
with:
|
|
23
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
*.egg-info/
|
|
8
|
+
*.egg
|
|
9
|
+
build/
|
|
10
|
+
dist/
|
|
11
|
+
.eggs/
|
|
12
|
+
pip-log.txt
|
|
13
|
+
pip-delete-this-directory.txt
|
|
14
|
+
|
|
15
|
+
# Virtual environments (central per coding.md, but defensive)
|
|
16
|
+
.venv/
|
|
17
|
+
venv/
|
|
18
|
+
ENV/
|
|
19
|
+
env/
|
|
20
|
+
|
|
21
|
+
# Tests / coverage
|
|
22
|
+
.pytest_cache/
|
|
23
|
+
.coverage
|
|
24
|
+
.coverage.*
|
|
25
|
+
htmlcov/
|
|
26
|
+
.mypy_cache/
|
|
27
|
+
.ruff_cache/
|
|
28
|
+
.hypothesis/
|
|
29
|
+
|
|
30
|
+
# IDE
|
|
31
|
+
.vscode/
|
|
32
|
+
.idea/
|
|
33
|
+
*.swp
|
|
34
|
+
*.swo
|
|
35
|
+
.DS_Store
|
|
36
|
+
Thumbs.db
|
|
37
|
+
|
|
38
|
+
# Hermes runtime artifacts (when running from the repo)
|
|
39
|
+
.deepagent-hermes/
|
|
40
|
+
*.db
|
|
41
|
+
*.db-journal
|
|
42
|
+
*.db-wal
|
|
43
|
+
*.db-shm
|
|
44
|
+
.skills_prompt_snapshot.json
|
|
45
|
+
|
|
46
|
+
# Secrets
|
|
47
|
+
.env
|
|
48
|
+
.env.local
|
|
49
|
+
*.pem
|
|
50
|
+
*.key
|
|
51
|
+
honcho.json
|
|
52
|
+
config.local.yaml
|
|
53
|
+
|
|
54
|
+
# Logs
|
|
55
|
+
*.log
|
|
56
|
+
logs/
|
|
57
|
+
|
|
58
|
+
# OS
|
|
59
|
+
.AppleDouble
|
|
60
|
+
.LSOverride
|
|
61
|
+
Icon
|
|
62
|
+
|
|
63
|
+
# uv
|
|
64
|
+
uv.lock
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `deepagent-hermes` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] — 2026-06-02
|
|
9
|
+
|
|
10
|
+
Initial public release. A faithful reproduction of [Nous Research's Hermes Agent](https://github.com/nousresearch/hermes-agent) on top of LangGraph + [`deepagents`](https://github.com/langchain-ai/deepagents) + [`langgraph-stream-parser`](https://github.com/dkedar7/langgraph-stream-parser).
|
|
11
|
+
|
|
12
|
+
### Highlights
|
|
13
|
+
|
|
14
|
+
- **Closed reflection→skill-creation loop.** After ~10 tool-using turns the review subagent fires, inspects the conversation, and writes/patches a `SKILL.md` to the user's library. Verified live against Anthropic.
|
|
15
|
+
- **Frozen-snapshot memory.** `MEMORY.md` + `USER.md` loaded once at session start; mid-session writes hit disk but don't change the system prompt, so the prefix cache stays warm.
|
|
16
|
+
- **FTS5 session search.** SQLite-backed store at `<HERMES_HOME>/state.db` with `messages_fts` (unicode61) + `messages_fts_trigram` (CJK) virtual tables; `session_search` tool with DISCOVERY / SCROLL / BROWSE modes.
|
|
17
|
+
- **agentskills.io spec compliance.** Bundled library validator enforces the spec verbatim; `skill_view` does progressive disclosure.
|
|
18
|
+
- **`langgraph-stream-parser` host-family compatible.** Adopt this agent in any `deepagent-*` host (cowork-dash / deepagent-lab / deepagent-code / deepagent-vscode) with `DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph`. No host code changes.
|
|
19
|
+
|
|
20
|
+
### What ships
|
|
21
|
+
|
|
22
|
+
- **Agent factory** `create_hermes_agent()` wiring a 14-middleware stack: `PluginEventBus`, `IterationBudgetMiddleware`, `PromptAssemblyMiddleware`, `SkillLoaderMiddleware`, `MemoryToolMiddleware`, `HermesStateRecorderMiddleware`, `ReflectionMiddleware`, `CuratorMiddleware`, deepagents' `TodoListMiddleware` / `FilesystemMiddleware` / `SubAgentMiddleware`, `HermesCompressionMiddleware`, `AnthropicCachingS3Middleware`, `PatchToolCallsMiddleware`.
|
|
23
|
+
- **Three-layer system prompt** (stable / context / volatile) with a byte-stable date-only line so the prefix cache survives the whole day.
|
|
24
|
+
- **`system_and_3` Anthropic prompt caching** strategy: system + last 3 messages, total 4 breakpoints (under the per-request cap).
|
|
25
|
+
- **13-section compression summary template** with anti-thrash skip when consecutive passes yield < 10%.
|
|
26
|
+
- **Iteration budget** (default 90 parent, 50 subagent), with `execute_code` as a refund-tool by default.
|
|
27
|
+
- **Three review prompts** (memory / skills / combined) for the reflection fork plus a curator prompt for the weekly consolidation pass.
|
|
28
|
+
- **33-toolset registry** with 30s `check_fn` TTL cache.
|
|
29
|
+
- **Six terminal-environment backends:**
|
|
30
|
+
- `LocalEnvironment` — full subprocess impl (Windows-aware: detects Git Bash on PATH).
|
|
31
|
+
- `DockerEnvironment` — container-per-session via `docker run --rm`.
|
|
32
|
+
- `SshEnvironment` — paramiko-based with reconnect-on-broken-pipe.
|
|
33
|
+
- `SingularityEnvironment` — `singularity` / `apptainer` auto-detected.
|
|
34
|
+
- `DaytonaEnvironment`, `ModalEnvironment` — lazy SDK imports with defensive attribute probing; raise informative `ImportError` when the SDK is missing.
|
|
35
|
+
- **Cron daemon** (`python -m deepagent_hermes.cron`) with the 30-field Hermes job JSON shape, three deliverers (`local`, `stdout`, `agentmail`).
|
|
36
|
+
- **Plugin loader** with 4 discovery sources (bundled / user / project / pip entry-points) and a `PluginEventBus` middleware that wires 13 of 17 documented lifecycle hooks.
|
|
37
|
+
- **CLI** with v1-essential slash commands: `/new` / `/reset` / `/compress` / `/stop` / `/help` / `/quit` / `/model` / `/config` / `/skills` / `/cron` / `/curator` / `/memory` / `/tools` / `/toolsets` / `/verbose` / `/yolo` / `/reload`.
|
|
38
|
+
- **26 bundled skills** copied from `nousresearch/hermes-agent` (MIT, attributed in [`NOTICE`](./NOTICE)) covering software-development, github, research, data-science, mlops, productivity, note-taking.
|
|
39
|
+
|
|
40
|
+
### Stream-parser extractors (upstreamed)
|
|
41
|
+
|
|
42
|
+
Four new built-in extractors landed in `langgraph-stream-parser` v0.2.x:
|
|
43
|
+
|
|
44
|
+
- `SkillManageExtractor` (`skill_event`)
|
|
45
|
+
- `SkillViewExtractor` (`skill_loaded`)
|
|
46
|
+
- `CompressionExtractor` (`compression_summary`)
|
|
47
|
+
- `MemoryExtractor` (`memory_updated`)
|
|
48
|
+
|
|
49
|
+
Hosts surface these as inline events alongside agent text.
|
|
50
|
+
|
|
51
|
+
### Configuration
|
|
52
|
+
|
|
53
|
+
Layered resolver: `defaults < deepagent-hermes.toml < DEEPAGENT_HERMES_* env < CLI overrides`. Inherits the `langgraph-stream-parser` `HostConfig` for the cross-host keys. `deepagent-hermes --show-config` dumps every value with its source.
|
|
54
|
+
|
|
55
|
+
### Test posture
|
|
56
|
+
|
|
57
|
+
398 tests pass, 3 skipped (Docker / Singularity gated by binary presence; one Honcho test redundant when the SDK is installed). Live smokes cover a single-turn round-trip, a 5-turn reflection-trigger trace, a 12-turn substantive arc (memory writes verified end-to-end across 3 distinct topics), and host-adoption through `deepagent-code`'s config.
|
|
58
|
+
|
|
59
|
+
### Platform-forced divergences from Hermes
|
|
60
|
+
|
|
61
|
+
(documented in [`SPEC.md` §1](./SPEC.md))
|
|
62
|
+
|
|
63
|
+
- `langgraph-checkpoint-sqlite` added as required dep (langgraph only ships `InMemorySaver`).
|
|
64
|
+
- `BaseStore` has no FTS5 — we implement `SqliteFtsStore(BaseStore)` ourselves with Hermes's verbatim schema.
|
|
65
|
+
- `deepagents.create_deep_agent` is bypassed because it always prepends `BASE_AGENT_PROMPT` and appends user middleware *after* the defaults — we own the stack via `langchain.agents.create_agent` directly.
|
|
66
|
+
|
|
67
|
+
### Bugs caught + fixed during pre-release dogfood
|
|
68
|
+
|
|
69
|
+
Each of these surfaced live and the fix is in tree:
|
|
70
|
+
|
|
71
|
+
- **Anthropic `cache_control` per-request cap.** The parent `AnthropicPromptCachingMiddleware.model_settings["cache_control"]` nudge causes langchain-anthropic to tag the tools block; combined with our explicit system + last-3 tags that's 5 breakpoints, over the cap. Dropped the model_settings line.
|
|
72
|
+
- **Middleware state-update silently dropped.** Returning `{"session_id": ...}` from `before_agent` had no effect because the field wasn't in any merged `state_schema`. Fixed by per-middleware `state_schema` TypedDict extensions on the recorder, reflection, budget, and skills-loader middleware.
|
|
73
|
+
- **Parallel-write `InvalidUpdateError`.** Once the schemas were declared, parent + subagent writes in the same superstep crashed without an explicit reducer. Fixed by annotating counter/string fields with `Annotated[T, last_write_wins]` and the skills-loader lists/dicts with union/merge reducers.
|
|
74
|
+
- **`LangGraph` coerces `NotRequired[int]` to 0 at schema-merge time.** The budget seed's `if current is None: seed` was a no-op; budget started exhausted. Fixed with `if not current: seed`.
|
|
75
|
+
- **Workspace virtual-mode layering.** Agent wrote `/workspace/foo.py` which resolved to the literal `C:\workspace\foo.py` outside the sandbox. Fixed by `FilesystemBackend(virtual_mode=True)`.
|
|
76
|
+
- **Review subagent had no tools.** Even when reflection fired, the subagent couldn't act because its tool list was empty. Fixed by passing `skill_tools + memory tool` through `build_review_subagent(tools=...)`.
|
|
77
|
+
|
|
78
|
+
### Known limitations / deferred to v0.2.x
|
|
79
|
+
|
|
80
|
+
- **Honcho user-model provider** is implemented against the real `honcho-ai>=2.0,<3` SDK but ships as an `[honcho]` optional dep; needs an account + key to actually wire up.
|
|
81
|
+
- **Daytona / Modal backends** are lazy-SDK with explicit `TODO(*-api-verify)` markers on every uncertain SDK shape; should be verified against real accounts before v0.2.
|
|
82
|
+
- **4 of 17 plugin lifecycle hooks** are middleware-unreachable in v0.1 (`on_session_reset`, `subagent_stop`, `pre_gateway_dispatch`, gateway-only hooks) — documented in `PluginEventBus.__doc__`.
|
|
83
|
+
- **`mypy --strict`** not run end-to-end (would surface trivial Annotated quirks + incomplete langchain stubs). `ruff check` is clean.
|
|
84
|
+
- **Self-evolution integration** is docs-only — the offline DSPy/GEPA → PR pipeline ships separately under `deepagent-hermes-self-evolve` when needed.
|
|
85
|
+
|
|
86
|
+
### Acknowledgments
|
|
87
|
+
|
|
88
|
+
Nous Research is the originator of the design ideas reproduced here. Their `hermes-agent` (MIT) is the source of truth for the architecture, prompt structures, configuration defaults, file formats, and the 26 bundled SKILL.md files — see [`NOTICE`](./NOTICE) for full attribution.
|
|
89
|
+
|
|
90
|
+
[0.1.0]: https://github.com/dkedar7/deepagent-hermes/releases/tag/v0.1.0
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Kedar Dabhadkar
|
|
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.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
deepagent-hermes
|
|
2
|
+
Copyright (c) 2026 Kedar Dabhadkar
|
|
3
|
+
|
|
4
|
+
This project is a faithful reproduction of the design ideas in Nous Research's
|
|
5
|
+
Hermes Agent (https://github.com/nousresearch/hermes-agent), released by Nous
|
|
6
|
+
Research under the MIT License.
|
|
7
|
+
|
|
8
|
+
The following design decisions, prompt structures, configuration defaults, file
|
|
9
|
+
formats, and architectural patterns are adapted directly from the Hermes Agent
|
|
10
|
+
codebase (v0.15.1):
|
|
11
|
+
|
|
12
|
+
- The closed reflection loop with 10-iteration / 10-turn nudge intervals.
|
|
13
|
+
- The three-layer (stable / context / volatile) system prompt assembly with
|
|
14
|
+
byte-stable prefix-cache discipline.
|
|
15
|
+
- The "system_and_3" Anthropic prompt-caching strategy.
|
|
16
|
+
- The 13-section context-compression summary template.
|
|
17
|
+
- The 90 / 50 parent / subagent iteration budget defaults.
|
|
18
|
+
- The frozen-snapshot pattern for MEMORY.md / USER.md files (loaded once at
|
|
19
|
+
session start, mid-session writes do not change the system prompt).
|
|
20
|
+
- The agentskills.io–compatible SKILL.md format and progressive-disclosure
|
|
21
|
+
loading via skill_view.
|
|
22
|
+
- The SQLite FTS5 schema with messages_fts (unicode61) and messages_fts_trigram
|
|
23
|
+
(CJK) virtual tables, BM25 ranking, and the DISCOVERY / SCROLL / BROWSE
|
|
24
|
+
session_search modes.
|
|
25
|
+
- The cron job JSON shape including the skills / script / no_agent /
|
|
26
|
+
context_from / enabled_toolsets fields, the 60-second tick interval, and the
|
|
27
|
+
[SILENT] suppression marker.
|
|
28
|
+
- The 4-source plugin discovery order (bundled, user, project, pip entry-points)
|
|
29
|
+
and the 17 lifecycle-hook names.
|
|
30
|
+
- The curator skill-lifecycle state machine (active → stale at 30 days →
|
|
31
|
+
archived at 90 days; pinned skills immune).
|
|
32
|
+
|
|
33
|
+
Where prompt text is reproduced verbatim, the source file in the Hermes Agent
|
|
34
|
+
repository is cited inline in the corresponding .md file under prompts/.
|
|
35
|
+
|
|
36
|
+
Nous Research is the originator of these ideas; this project's contribution is
|
|
37
|
+
the reproduction on a different framework substrate (LangGraph + deepagents +
|
|
38
|
+
langgraph-stream-parser instead of Hermes's native runtime).
|
|
39
|
+
|
|
40
|
+
In addition to the design adaptations above, the v0.1.0a1 release bundles 26
|
|
41
|
+
SKILL.md files copied verbatim from the Hermes Agent ``skills/`` directory
|
|
42
|
+
under the following categories: software-development, github, research,
|
|
43
|
+
data-science, mlops, productivity, and note-taking. Each SKILL.md retains its
|
|
44
|
+
original frontmatter, including the ``author`` field crediting the original
|
|
45
|
+
contributor(s) and the ``license: MIT`` field. The bundled set is a curated
|
|
46
|
+
subset chosen to align with this project owner's stated use cases; the full
|
|
47
|
+
Hermes skill catalog (90+ skills in ``skills/`` plus 86+ in
|
|
48
|
+
``optional-skills/``) is available at
|
|
49
|
+
https://github.com/nousresearch/hermes-agent/tree/main/skills.
|
|
50
|
+
|
|
51
|
+
Some bundled skills were originally adapted by Hermes Agent from upstream
|
|
52
|
+
sources (e.g. the ``systematic-debugging`` skill is credited as "adapted from
|
|
53
|
+
obra/superpowers" in its own frontmatter). Those upstream attributions are
|
|
54
|
+
preserved verbatim in the corresponding SKILL.md files.
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: deepagent-hermes
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Closed-loop reflection / skill creation agent on LangGraph + deepagents. Faithful reproduction of Nous Research's Hermes Agent.
|
|
5
|
+
Project-URL: Homepage, https://github.com/dkedar7/deepagent-hermes
|
|
6
|
+
Project-URL: Repository, https://github.com/dkedar7/deepagent-hermes
|
|
7
|
+
Project-URL: Issues, https://github.com/dkedar7/deepagent-hermes/issues
|
|
8
|
+
Author-email: Kedar Dabhadkar <kdabhadk@gmail.com>
|
|
9
|
+
License: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
License-File: NOTICE
|
|
12
|
+
Keywords: agents,deepagents,hermes,langgraph,reflection,skills
|
|
13
|
+
Classifier: Development Status :: 2 - Pre-Alpha
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Requires-Python: >=3.11
|
|
19
|
+
Requires-Dist: click>=8.1
|
|
20
|
+
Requires-Dist: croniter>=2.0
|
|
21
|
+
Requires-Dist: deepagents>=0.6
|
|
22
|
+
Requires-Dist: langchain-anthropic>=0.3
|
|
23
|
+
Requires-Dist: langchain>=1.0
|
|
24
|
+
Requires-Dist: langgraph-checkpoint-sqlite>=2.0
|
|
25
|
+
Requires-Dist: langgraph-stream-parser<0.3,>=0.2
|
|
26
|
+
Requires-Dist: langgraph>=1.0
|
|
27
|
+
Requires-Dist: python-frontmatter>=1.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0
|
|
29
|
+
Requires-Dist: rich>=13.7
|
|
30
|
+
Provides-Extra: daytona
|
|
31
|
+
Requires-Dist: daytona-sdk>=0.10; extra == 'daytona'
|
|
32
|
+
Provides-Extra: dev
|
|
33
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
34
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: ruff>=0.5; extra == 'dev'
|
|
38
|
+
Provides-Extra: honcho
|
|
39
|
+
Requires-Dist: honcho-ai<3,>=2.0; extra == 'honcho'
|
|
40
|
+
Provides-Extra: modal
|
|
41
|
+
Requires-Dist: modal>=0.64; extra == 'modal'
|
|
42
|
+
Provides-Extra: ssh
|
|
43
|
+
Requires-Dist: paramiko>=3.0; extra == 'ssh'
|
|
44
|
+
Description-Content-Type: text/markdown
|
|
45
|
+
|
|
46
|
+
# deepagent-hermes
|
|
47
|
+
|
|
48
|
+
A faithful reproduction of [Nous Research's Hermes Agent](https://github.com/nousresearch/hermes-agent) on top of LangGraph + [`deepagents`](https://github.com/langchain-ai/deepagents) + [`langgraph-stream-parser`](https://github.com/dkedar7/langgraph-stream-parser).
|
|
49
|
+
|
|
50
|
+
**Status: pre-alpha (v0.1.0a0).** Spec at [SPEC.md](./SPEC.md). Code is scaffolded; most subsystems work end-to-end but the bundled-skills library is empty and 5 of 6 terminal backends are stubs.
|
|
51
|
+
|
|
52
|
+
## What it is
|
|
53
|
+
|
|
54
|
+
A `deepagents`-built agent with a **closed reflection→skill-creation loop**:
|
|
55
|
+
|
|
56
|
+
- After ~10 tool-using iterations, a review subagent runs in the background, writes/patches a `SKILL.md` capturing the pattern it just exercised, and ships it to a skill library.
|
|
57
|
+
- Next session, the agent reads the library at startup, sees the new skill's description in its system prompt, and can `skill_view(name)` to load the full body on demand (progressive disclosure per the [agentskills.io spec](https://agentskills.io/specification.md)).
|
|
58
|
+
- A weekly **curator** consolidates skills into umbrellas and archives stale ones.
|
|
59
|
+
- A **frozen-snapshot memory** (`MEMORY.md` + `USER.md`) preserves prefix-cache hits for the entire session.
|
|
60
|
+
- **FTS5 session search** indexes every past conversation in a local SQLite DB.
|
|
61
|
+
- Optional **Honcho user model** for dialectic cross-session user profiling.
|
|
62
|
+
|
|
63
|
+
Designed to be loaded into the existing `deepagent-*` host family ([`deepagent-code`](https://github.com/dkedar7/deepagent-code), [`deepagent-lab`](https://github.com/dkedar7/deepagent-lab), [`cowork-dash`](https://github.com/dkedar7/cowork-dash), [`deepagent-vscode`](https://github.com/dkedar7/deepagent-vscode)) without UI changes — set `DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph` in any of them.
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# central venv per the deepagent-* convention
|
|
69
|
+
uv venv "$env:USERPROFILE\.venvs\deepagent-hermes"
|
|
70
|
+
. "$env:USERPROFILE\.venvs\deepagent-hermes\Scripts\Activate.ps1"
|
|
71
|
+
|
|
72
|
+
# while langgraph-stream-parser v0.2.0 is unreleased, install editable
|
|
73
|
+
uv pip install -e "..\langgraph-stream-parser"
|
|
74
|
+
|
|
75
|
+
uv pip install -e .
|
|
76
|
+
|
|
77
|
+
# optional extras
|
|
78
|
+
uv pip install -e ".[honcho]" # Honcho user-model provider
|
|
79
|
+
uv pip install -e ".[modal]" # Modal sandbox backend
|
|
80
|
+
uv pip install -e ".[daytona]" # Daytona sandbox backend
|
|
81
|
+
uv pip install -e ".[dev]" # tests + lint
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Quick start
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# show resolved config + sources
|
|
88
|
+
deepagent-hermes --show-config
|
|
89
|
+
|
|
90
|
+
# interactive chat
|
|
91
|
+
deepagent-hermes chat
|
|
92
|
+
|
|
93
|
+
# from inside chat:
|
|
94
|
+
# /skills list available skills
|
|
95
|
+
# /model anthropic:claude-haiku-4-5-20251001 switch models
|
|
96
|
+
# /memory dump current memory snapshot
|
|
97
|
+
# /compress force context compression
|
|
98
|
+
# /quit
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Load into an existing host
|
|
102
|
+
|
|
103
|
+
Any `deepagent-*` host with `langgraph-stream-parser>=0.2` host conventions can run this agent:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# deepagent-code
|
|
107
|
+
DEEPAGENT_AGENT_SPEC="deepagent_hermes.agent:graph" deepagent-code
|
|
108
|
+
|
|
109
|
+
# deepagent-lab — set the same in deepagents.toml under [agent]
|
|
110
|
+
echo 'spec = "deepagent_hermes.agent:graph"' >> deepagents.toml
|
|
111
|
+
deepagent-lab
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Configuration
|
|
115
|
+
|
|
116
|
+
`deepagent-hermes.toml` (project) or `~/.deepagent-hermes/config.toml` (global). Layered resolution: `defaults < TOML < DEEPAGENT_HERMES_* env < CLI overrides`. See [SPEC §2](./SPEC.md#2-configuration) for every field; `deepagent-hermes --show-config` prints the resolved value + source of each.
|
|
117
|
+
|
|
118
|
+
## Architecture
|
|
119
|
+
|
|
120
|
+
See [SPEC.md](./SPEC.md) for the full 21-section requirements doc. Top-level layout:
|
|
121
|
+
|
|
122
|
+
- `src/deepagent_hermes/agent.py` — the compiled graph (entry point for hosts)
|
|
123
|
+
- `src/deepagent_hermes/config.py` — `HermesConfig(HostConfig)` resolver
|
|
124
|
+
- `src/deepagent_hermes/state.py` — `HermesState` (extends `AgentState`)
|
|
125
|
+
- `src/deepagent_hermes/reflection.py` — closed-loop middleware + review subagent
|
|
126
|
+
- `src/deepagent_hermes/skills/` — SkillLibrary, loader, tools
|
|
127
|
+
- `src/deepagent_hermes/memory/` — frozen-snapshot memory + provider ABC
|
|
128
|
+
- `src/deepagent_hermes/store/sqlite_fts.py` — `BaseStore` with FTS5
|
|
129
|
+
- `src/deepagent_hermes/search/session_search.py` — `session_search` tool
|
|
130
|
+
- `src/deepagent_hermes/compression.py` — `HermesCompressionMiddleware`
|
|
131
|
+
- `src/deepagent_hermes/caching.py` — `AnthropicCachingS3Middleware`
|
|
132
|
+
- `src/deepagent_hermes/budget.py` — `IterationBudgetMiddleware`
|
|
133
|
+
- `src/deepagent_hermes/tools/` — registry + 33 toolsets + 6 terminal envs
|
|
134
|
+
- `src/deepagent_hermes/cron/` — daemon + `cronjob` tool
|
|
135
|
+
- `src/deepagent_hermes/plugins/` — discovery + lifecycle hooks
|
|
136
|
+
- `src/deepagent_hermes/cli.py` — `deepagent-hermes` entry point
|
|
137
|
+
- `prompts/` — verbatim/paraphrased system-prompt building blocks
|
|
138
|
+
|
|
139
|
+
## Status by subsystem
|
|
140
|
+
|
|
141
|
+
| Subsystem | Status |
|
|
142
|
+
|---|---|
|
|
143
|
+
| Config + state + agent factory | working |
|
|
144
|
+
| Reflection loop (10-iter trigger, subagent review) | working |
|
|
145
|
+
| Skill library + agentskills.io validator | working |
|
|
146
|
+
| Skill loader (`@dynamic_prompt`) | working |
|
|
147
|
+
| `skill_view` / `skill_manage` / `skills_list` tools | working |
|
|
148
|
+
| Frozen-snapshot memory (MEMORY.md / USER.md) | working |
|
|
149
|
+
| SQLite FTS5 store + `session_search` (3 modes) | working |
|
|
150
|
+
| Honcho provider | stub (extras-gated) |
|
|
151
|
+
| Iteration budget middleware | working |
|
|
152
|
+
| Compression middleware (13-section template) | working |
|
|
153
|
+
| Anthropic `system_and_3` caching strategy | working |
|
|
154
|
+
| Tool registry + 33-toolset enum | working |
|
|
155
|
+
| `LocalEnvironment` terminal backend | working |
|
|
156
|
+
| Docker / SSH / Daytona / Modal / Singularity backends | stubs (`NotImplementedError`) |
|
|
157
|
+
| Cron daemon + `cronjob` tool | basic (local delivery only) |
|
|
158
|
+
| Plugin loader (4 discovery sources) | working (5 of 17 hooks) |
|
|
159
|
+
| CLI + v1-essentials slash commands | working |
|
|
160
|
+
| Curator (skill lifecycle) | basic |
|
|
161
|
+
| Self-evolution integration | docs only (separate offline repo) |
|
|
162
|
+
| Bundled skills | none — ship your own under `~/.deepagent-hermes/skills/` |
|
|
163
|
+
|
|
164
|
+
## License
|
|
165
|
+
|
|
166
|
+
MIT. See [LICENSE](./LICENSE). This project is a faithful reproduction of the design ideas in Nous Research's Hermes Agent — see [NOTICE](./NOTICE) for attribution.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# deepagent-hermes
|
|
2
|
+
|
|
3
|
+
A faithful reproduction of [Nous Research's Hermes Agent](https://github.com/nousresearch/hermes-agent) on top of LangGraph + [`deepagents`](https://github.com/langchain-ai/deepagents) + [`langgraph-stream-parser`](https://github.com/dkedar7/langgraph-stream-parser).
|
|
4
|
+
|
|
5
|
+
**Status: pre-alpha (v0.1.0a0).** Spec at [SPEC.md](./SPEC.md). Code is scaffolded; most subsystems work end-to-end but the bundled-skills library is empty and 5 of 6 terminal backends are stubs.
|
|
6
|
+
|
|
7
|
+
## What it is
|
|
8
|
+
|
|
9
|
+
A `deepagents`-built agent with a **closed reflection→skill-creation loop**:
|
|
10
|
+
|
|
11
|
+
- After ~10 tool-using iterations, a review subagent runs in the background, writes/patches a `SKILL.md` capturing the pattern it just exercised, and ships it to a skill library.
|
|
12
|
+
- Next session, the agent reads the library at startup, sees the new skill's description in its system prompt, and can `skill_view(name)` to load the full body on demand (progressive disclosure per the [agentskills.io spec](https://agentskills.io/specification.md)).
|
|
13
|
+
- A weekly **curator** consolidates skills into umbrellas and archives stale ones.
|
|
14
|
+
- A **frozen-snapshot memory** (`MEMORY.md` + `USER.md`) preserves prefix-cache hits for the entire session.
|
|
15
|
+
- **FTS5 session search** indexes every past conversation in a local SQLite DB.
|
|
16
|
+
- Optional **Honcho user model** for dialectic cross-session user profiling.
|
|
17
|
+
|
|
18
|
+
Designed to be loaded into the existing `deepagent-*` host family ([`deepagent-code`](https://github.com/dkedar7/deepagent-code), [`deepagent-lab`](https://github.com/dkedar7/deepagent-lab), [`cowork-dash`](https://github.com/dkedar7/cowork-dash), [`deepagent-vscode`](https://github.com/dkedar7/deepagent-vscode)) without UI changes — set `DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph` in any of them.
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# central venv per the deepagent-* convention
|
|
24
|
+
uv venv "$env:USERPROFILE\.venvs\deepagent-hermes"
|
|
25
|
+
. "$env:USERPROFILE\.venvs\deepagent-hermes\Scripts\Activate.ps1"
|
|
26
|
+
|
|
27
|
+
# while langgraph-stream-parser v0.2.0 is unreleased, install editable
|
|
28
|
+
uv pip install -e "..\langgraph-stream-parser"
|
|
29
|
+
|
|
30
|
+
uv pip install -e .
|
|
31
|
+
|
|
32
|
+
# optional extras
|
|
33
|
+
uv pip install -e ".[honcho]" # Honcho user-model provider
|
|
34
|
+
uv pip install -e ".[modal]" # Modal sandbox backend
|
|
35
|
+
uv pip install -e ".[daytona]" # Daytona sandbox backend
|
|
36
|
+
uv pip install -e ".[dev]" # tests + lint
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Quick start
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# show resolved config + sources
|
|
43
|
+
deepagent-hermes --show-config
|
|
44
|
+
|
|
45
|
+
# interactive chat
|
|
46
|
+
deepagent-hermes chat
|
|
47
|
+
|
|
48
|
+
# from inside chat:
|
|
49
|
+
# /skills list available skills
|
|
50
|
+
# /model anthropic:claude-haiku-4-5-20251001 switch models
|
|
51
|
+
# /memory dump current memory snapshot
|
|
52
|
+
# /compress force context compression
|
|
53
|
+
# /quit
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Load into an existing host
|
|
57
|
+
|
|
58
|
+
Any `deepagent-*` host with `langgraph-stream-parser>=0.2` host conventions can run this agent:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# deepagent-code
|
|
62
|
+
DEEPAGENT_AGENT_SPEC="deepagent_hermes.agent:graph" deepagent-code
|
|
63
|
+
|
|
64
|
+
# deepagent-lab — set the same in deepagents.toml under [agent]
|
|
65
|
+
echo 'spec = "deepagent_hermes.agent:graph"' >> deepagents.toml
|
|
66
|
+
deepagent-lab
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Configuration
|
|
70
|
+
|
|
71
|
+
`deepagent-hermes.toml` (project) or `~/.deepagent-hermes/config.toml` (global). Layered resolution: `defaults < TOML < DEEPAGENT_HERMES_* env < CLI overrides`. See [SPEC §2](./SPEC.md#2-configuration) for every field; `deepagent-hermes --show-config` prints the resolved value + source of each.
|
|
72
|
+
|
|
73
|
+
## Architecture
|
|
74
|
+
|
|
75
|
+
See [SPEC.md](./SPEC.md) for the full 21-section requirements doc. Top-level layout:
|
|
76
|
+
|
|
77
|
+
- `src/deepagent_hermes/agent.py` — the compiled graph (entry point for hosts)
|
|
78
|
+
- `src/deepagent_hermes/config.py` — `HermesConfig(HostConfig)` resolver
|
|
79
|
+
- `src/deepagent_hermes/state.py` — `HermesState` (extends `AgentState`)
|
|
80
|
+
- `src/deepagent_hermes/reflection.py` — closed-loop middleware + review subagent
|
|
81
|
+
- `src/deepagent_hermes/skills/` — SkillLibrary, loader, tools
|
|
82
|
+
- `src/deepagent_hermes/memory/` — frozen-snapshot memory + provider ABC
|
|
83
|
+
- `src/deepagent_hermes/store/sqlite_fts.py` — `BaseStore` with FTS5
|
|
84
|
+
- `src/deepagent_hermes/search/session_search.py` — `session_search` tool
|
|
85
|
+
- `src/deepagent_hermes/compression.py` — `HermesCompressionMiddleware`
|
|
86
|
+
- `src/deepagent_hermes/caching.py` — `AnthropicCachingS3Middleware`
|
|
87
|
+
- `src/deepagent_hermes/budget.py` — `IterationBudgetMiddleware`
|
|
88
|
+
- `src/deepagent_hermes/tools/` — registry + 33 toolsets + 6 terminal envs
|
|
89
|
+
- `src/deepagent_hermes/cron/` — daemon + `cronjob` tool
|
|
90
|
+
- `src/deepagent_hermes/plugins/` — discovery + lifecycle hooks
|
|
91
|
+
- `src/deepagent_hermes/cli.py` — `deepagent-hermes` entry point
|
|
92
|
+
- `prompts/` — verbatim/paraphrased system-prompt building blocks
|
|
93
|
+
|
|
94
|
+
## Status by subsystem
|
|
95
|
+
|
|
96
|
+
| Subsystem | Status |
|
|
97
|
+
|---|---|
|
|
98
|
+
| Config + state + agent factory | working |
|
|
99
|
+
| Reflection loop (10-iter trigger, subagent review) | working |
|
|
100
|
+
| Skill library + agentskills.io validator | working |
|
|
101
|
+
| Skill loader (`@dynamic_prompt`) | working |
|
|
102
|
+
| `skill_view` / `skill_manage` / `skills_list` tools | working |
|
|
103
|
+
| Frozen-snapshot memory (MEMORY.md / USER.md) | working |
|
|
104
|
+
| SQLite FTS5 store + `session_search` (3 modes) | working |
|
|
105
|
+
| Honcho provider | stub (extras-gated) |
|
|
106
|
+
| Iteration budget middleware | working |
|
|
107
|
+
| Compression middleware (13-section template) | working |
|
|
108
|
+
| Anthropic `system_and_3` caching strategy | working |
|
|
109
|
+
| Tool registry + 33-toolset enum | working |
|
|
110
|
+
| `LocalEnvironment` terminal backend | working |
|
|
111
|
+
| Docker / SSH / Daytona / Modal / Singularity backends | stubs (`NotImplementedError`) |
|
|
112
|
+
| Cron daemon + `cronjob` tool | basic (local delivery only) |
|
|
113
|
+
| Plugin loader (4 discovery sources) | working (5 of 17 hooks) |
|
|
114
|
+
| CLI + v1-essentials slash commands | working |
|
|
115
|
+
| Curator (skill lifecycle) | basic |
|
|
116
|
+
| Self-evolution integration | docs only (separate offline repo) |
|
|
117
|
+
| Bundled skills | none — ship your own under `~/.deepagent-hermes/skills/` |
|
|
118
|
+
|
|
119
|
+
## License
|
|
120
|
+
|
|
121
|
+
MIT. See [LICENSE](./LICENSE). This project is a faithful reproduction of the design ideas in Nous Research's Hermes Agent — see [NOTICE](./NOTICE) for attribution.
|