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.
Files changed (282) hide show
  1. deepagent_hermes-0.1.0/.github/workflows/ci.yml +55 -0
  2. deepagent_hermes-0.1.0/.github/workflows/release.yml +23 -0
  3. deepagent_hermes-0.1.0/.gitignore +64 -0
  4. deepagent_hermes-0.1.0/CHANGELOG.md +90 -0
  5. deepagent_hermes-0.1.0/LICENSE +21 -0
  6. deepagent_hermes-0.1.0/NOTICE +54 -0
  7. deepagent_hermes-0.1.0/PKG-INFO +166 -0
  8. deepagent_hermes-0.1.0/README.md +121 -0
  9. deepagent_hermes-0.1.0/SPEC.md +608 -0
  10. deepagent_hermes-0.1.0/deepagent-hermes.toml +63 -0
  11. deepagent_hermes-0.1.0/examples/cli_smoke.py +37 -0
  12. deepagent_hermes-0.1.0/examples/dogfood.py +223 -0
  13. deepagent_hermes-0.1.0/examples/dogfood_procedural.py +220 -0
  14. deepagent_hermes-0.1.0/examples/host_adoption_smoke.py +120 -0
  15. deepagent_hermes-0.1.0/examples/live_smoke.py +85 -0
  16. deepagent_hermes-0.1.0/examples/live_smoke_reflection.py +124 -0
  17. deepagent_hermes-0.1.0/examples/load_into_deepagent_code.md +83 -0
  18. deepagent_hermes-0.1.0/prompts/combined_review.md +56 -0
  19. deepagent_hermes-0.1.0/prompts/compression_summary.md +50 -0
  20. deepagent_hermes-0.1.0/prompts/computer_use.md +25 -0
  21. deepagent_hermes-0.1.0/prompts/curator_review.md +48 -0
  22. deepagent_hermes-0.1.0/prompts/default_identity.md +11 -0
  23. deepagent_hermes-0.1.0/prompts/google_execution.md +13 -0
  24. deepagent_hermes-0.1.0/prompts/memory_guidance.md +14 -0
  25. deepagent_hermes-0.1.0/prompts/memory_review.md +14 -0
  26. deepagent_hermes-0.1.0/prompts/openai_execution.md +45 -0
  27. deepagent_hermes-0.1.0/prompts/platform_hints/cli.md +7 -0
  28. deepagent_hermes-0.1.0/prompts/platform_hints/cron.md +9 -0
  29. deepagent_hermes-0.1.0/prompts/session_search_guidance.md +10 -0
  30. deepagent_hermes-0.1.0/prompts/skill_review.md +51 -0
  31. deepagent_hermes-0.1.0/prompts/skills_guidance.md +15 -0
  32. deepagent_hermes-0.1.0/prompts/task_completion.md +12 -0
  33. deepagent_hermes-0.1.0/prompts/tool_use_enforcement.md +20 -0
  34. deepagent_hermes-0.1.0/pyproject.toml +96 -0
  35. deepagent_hermes-0.1.0/skills/README.md +32 -0
  36. deepagent_hermes-0.1.0/skills/data-science/DESCRIPTION.md +3 -0
  37. deepagent_hermes-0.1.0/skills/data-science/jupyter-live-kernel/SKILL.md +167 -0
  38. deepagent_hermes-0.1.0/skills/github/DESCRIPTION.md +3 -0
  39. deepagent_hermes-0.1.0/skills/github/codebase-inspection/SKILL.md +116 -0
  40. deepagent_hermes-0.1.0/skills/github/github-auth/SKILL.md +247 -0
  41. deepagent_hermes-0.1.0/skills/github/github-auth/scripts/gh-env.sh +66 -0
  42. deepagent_hermes-0.1.0/skills/github/github-code-review/SKILL.md +481 -0
  43. deepagent_hermes-0.1.0/skills/github/github-code-review/references/review-output-template.md +74 -0
  44. deepagent_hermes-0.1.0/skills/github/github-issues/SKILL.md +370 -0
  45. deepagent_hermes-0.1.0/skills/github/github-issues/templates/bug-report.md +35 -0
  46. deepagent_hermes-0.1.0/skills/github/github-issues/templates/feature-request.md +31 -0
  47. deepagent_hermes-0.1.0/skills/github/github-pr-workflow/SKILL.md +367 -0
  48. deepagent_hermes-0.1.0/skills/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  49. deepagent_hermes-0.1.0/skills/github/github-pr-workflow/references/conventional-commits.md +71 -0
  50. deepagent_hermes-0.1.0/skills/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  51. deepagent_hermes-0.1.0/skills/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
  52. deepagent_hermes-0.1.0/skills/github/github-repo-management/SKILL.md +516 -0
  53. deepagent_hermes-0.1.0/skills/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
  54. deepagent_hermes-0.1.0/skills/mlops/DESCRIPTION.md +3 -0
  55. deepagent_hermes-0.1.0/skills/mlops/evaluation/DESCRIPTION.md +3 -0
  56. deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/SKILL.md +498 -0
  57. deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/api-evaluation.md +490 -0
  58. deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/benchmark-guide.md +488 -0
  59. deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/custom-tasks.md +602 -0
  60. deepagent_hermes-0.1.0/skills/mlops/evaluation/evaluating-llms-harness/references/distributed-eval.md +519 -0
  61. deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/SKILL.md +594 -0
  62. deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
  63. deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
  64. deepagent_hermes-0.1.0/skills/mlops/evaluation/weights-and-biases/references/sweeps.md +847 -0
  65. deepagent_hermes-0.1.0/skills/mlops/huggingface-hub/SKILL.md +81 -0
  66. deepagent_hermes-0.1.0/skills/mlops/vector-databases/DESCRIPTION.md +3 -0
  67. deepagent_hermes-0.1.0/skills/note-taking/DESCRIPTION.md +3 -0
  68. deepagent_hermes-0.1.0/skills/note-taking/obsidian/SKILL.md +61 -0
  69. deepagent_hermes-0.1.0/skills/productivity/DESCRIPTION.md +3 -0
  70. deepagent_hermes-0.1.0/skills/productivity/google-workspace/SKILL.md +335 -0
  71. deepagent_hermes-0.1.0/skills/productivity/google-workspace/references/gmail-search-syntax.md +63 -0
  72. deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/_hermes_home.py +42 -0
  73. deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/google_api.py +1225 -0
  74. deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/gws_bridge.py +111 -0
  75. deepagent_hermes-0.1.0/skills/productivity/google-workspace/scripts/setup.py +455 -0
  76. deepagent_hermes-0.1.0/skills/productivity/notion/SKILL.md +448 -0
  77. deepagent_hermes-0.1.0/skills/productivity/notion/references/block-types.md +112 -0
  78. deepagent_hermes-0.1.0/skills/productivity/powerpoint/LICENSE.txt +30 -0
  79. deepagent_hermes-0.1.0/skills/productivity/powerpoint/SKILL.md +237 -0
  80. deepagent_hermes-0.1.0/skills/productivity/powerpoint/editing.md +205 -0
  81. deepagent_hermes-0.1.0/skills/productivity/powerpoint/pptxgenjs.md +420 -0
  82. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/__init__.py +0 -0
  83. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/add_slide.py +195 -0
  84. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/clean.py +286 -0
  85. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
  86. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
  87. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
  88. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/pack.py +159 -0
  89. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  90. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  91. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  92. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  93. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  94. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  95. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  96. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  97. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  98. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  99. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  100. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  101. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  102. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  103. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  104. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  105. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  106. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  107. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  108. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  109. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  110. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  111. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  112. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  113. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  114. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  115. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  116. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
  117. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
  118. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
  119. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
  120. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
  121. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  122. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  123. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  124. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  125. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  126. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  127. deepagent_hermes-0.1.0/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  128. deepagent_hermes-0.1.0/skills/research/DESCRIPTION.md +3 -0
  129. deepagent_hermes-0.1.0/skills/research/arxiv/SKILL.md +282 -0
  130. deepagent_hermes-0.1.0/skills/research/arxiv/scripts/search_arxiv.py +114 -0
  131. deepagent_hermes-0.1.0/skills/research/blogwatcher/SKILL.md +137 -0
  132. deepagent_hermes-0.1.0/skills/research/llm-wiki/SKILL.md +507 -0
  133. deepagent_hermes-0.1.0/skills/research/research-paper-writing/SKILL.md +2377 -0
  134. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/autoreason-methodology.md +394 -0
  135. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/checklists.md +434 -0
  136. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/citation-workflow.md +564 -0
  137. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/experiment-patterns.md +728 -0
  138. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/human-evaluation.md +476 -0
  139. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/paper-types.md +481 -0
  140. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
  141. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/sources.md +191 -0
  142. deepagent_hermes-0.1.0/skills/research/research-paper-writing/references/writing-guide.md +474 -0
  143. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/README.md +251 -0
  144. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/README.md +534 -0
  145. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  146. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  147. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  148. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  149. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  150. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/README.md +50 -0
  151. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl.sty +312 -0
  152. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
  153. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
  154. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
  155. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
  156. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/custom.bib +70 -0
  157. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/acl/formatting.md +326 -0
  158. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/README.md +3 -0
  159. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  160. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  161. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  162. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  163. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  164. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  165. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
  166. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
  167. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  168. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  169. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  170. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  171. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  172. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  173. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
  174. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
  175. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
  176. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
  177. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
  178. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
  179. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
  180. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  181. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
  182. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
  183. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  184. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
  185. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  186. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
  187. deepagent_hermes-0.1.0/skills/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
  188. deepagent_hermes-0.1.0/skills/software-development/hermes-agent-skill-authoring/SKILL.md +165 -0
  189. deepagent_hermes-0.1.0/skills/software-development/plan/SKILL.md +58 -0
  190. deepagent_hermes-0.1.0/skills/software-development/python-debugpy/SKILL.md +375 -0
  191. deepagent_hermes-0.1.0/skills/software-development/requesting-code-review/SKILL.md +280 -0
  192. deepagent_hermes-0.1.0/skills/software-development/spike/SKILL.md +197 -0
  193. deepagent_hermes-0.1.0/skills/software-development/systematic-debugging/SKILL.md +367 -0
  194. deepagent_hermes-0.1.0/skills/software-development/test-driven-development/SKILL.md +343 -0
  195. deepagent_hermes-0.1.0/skills/software-development/writing-plans/SKILL.md +297 -0
  196. deepagent_hermes-0.1.0/src/deepagent_hermes/__init__.py +32 -0
  197. deepagent_hermes-0.1.0/src/deepagent_hermes/agent.py +294 -0
  198. deepagent_hermes-0.1.0/src/deepagent_hermes/budget.py +222 -0
  199. deepagent_hermes-0.1.0/src/deepagent_hermes/caching.py +178 -0
  200. deepagent_hermes-0.1.0/src/deepagent_hermes/cli.py +672 -0
  201. deepagent_hermes-0.1.0/src/deepagent_hermes/compression.py +486 -0
  202. deepagent_hermes-0.1.0/src/deepagent_hermes/config.py +438 -0
  203. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/__init__.py +49 -0
  204. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/__main__.py +47 -0
  205. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/deliverers.py +287 -0
  206. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/jobs.py +657 -0
  207. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/scheduler.py +384 -0
  208. deepagent_hermes-0.1.0/src/deepagent_hermes/cron/tool.py +210 -0
  209. deepagent_hermes-0.1.0/src/deepagent_hermes/curator.py +480 -0
  210. deepagent_hermes-0.1.0/src/deepagent_hermes/extractors.py +172 -0
  211. deepagent_hermes-0.1.0/src/deepagent_hermes/memory/__init__.py +46 -0
  212. deepagent_hermes-0.1.0/src/deepagent_hermes/memory/provider.py +175 -0
  213. deepagent_hermes-0.1.0/src/deepagent_hermes/memory/threat_patterns.py +286 -0
  214. deepagent_hermes-0.1.0/src/deepagent_hermes/memory/tool.py +530 -0
  215. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/__init__.py +31 -0
  216. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/__init__.py +6 -0
  217. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/honcho_provider/__init__.py +414 -0
  218. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/builtin/honcho_provider/plugin.yaml +6 -0
  219. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/context.py +305 -0
  220. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/event_bus.py +474 -0
  221. deepagent_hermes-0.1.0/src/deepagent_hermes/plugins/loader.py +308 -0
  222. deepagent_hermes-0.1.0/src/deepagent_hermes/prompts.py +486 -0
  223. deepagent_hermes-0.1.0/src/deepagent_hermes/reflection.py +473 -0
  224. deepagent_hermes-0.1.0/src/deepagent_hermes/search/__init__.py +1 -0
  225. deepagent_hermes-0.1.0/src/deepagent_hermes/search/session_search.py +469 -0
  226. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/__init__.py +39 -0
  227. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/library.py +435 -0
  228. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/loader.py +125 -0
  229. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/prompt.py +225 -0
  230. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/tools.py +429 -0
  231. deepagent_hermes-0.1.0/src/deepagent_hermes/skills/validator.py +236 -0
  232. deepagent_hermes-0.1.0/src/deepagent_hermes/state.py +131 -0
  233. deepagent_hermes-0.1.0/src/deepagent_hermes/store/__init__.py +1 -0
  234. deepagent_hermes-0.1.0/src/deepagent_hermes/store/recorder.py +323 -0
  235. deepagent_hermes-0.1.0/src/deepagent_hermes/store/sqlite_fts.py +1246 -0
  236. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/__init__.py +1 -0
  237. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/clarify.py +88 -0
  238. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/__init__.py +1 -0
  239. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/base.py +405 -0
  240. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/daytona.py +320 -0
  241. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/docker.py +412 -0
  242. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/local.py +197 -0
  243. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/modal.py +283 -0
  244. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/singularity.py +232 -0
  245. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/environments/ssh.py +505 -0
  246. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/file.py +96 -0
  247. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/registry.py +238 -0
  248. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/todo.py +69 -0
  249. deepagent_hermes-0.1.0/src/deepagent_hermes/tools/toolsets.py +208 -0
  250. deepagent_hermes-0.1.0/tests/__init__.py +0 -0
  251. deepagent_hermes-0.1.0/tests/conftest.py +37 -0
  252. deepagent_hermes-0.1.0/tests/test_bundled_skills.py +45 -0
  253. deepagent_hermes-0.1.0/tests/test_caching_strategy.py +172 -0
  254. deepagent_hermes-0.1.0/tests/test_cli_show_config.py +52 -0
  255. deepagent_hermes-0.1.0/tests/test_compression.py +183 -0
  256. deepagent_hermes-0.1.0/tests/test_config.py +252 -0
  257. deepagent_hermes-0.1.0/tests/test_cron_deliverers.py +208 -0
  258. deepagent_hermes-0.1.0/tests/test_cron_jobs.py +155 -0
  259. deepagent_hermes-0.1.0/tests/test_curator_lifecycle.py +285 -0
  260. deepagent_hermes-0.1.0/tests/test_honcho_provider.py +503 -0
  261. deepagent_hermes-0.1.0/tests/test_integration_smoke.py +175 -0
  262. deepagent_hermes-0.1.0/tests/test_iteration_budget.py +145 -0
  263. deepagent_hermes-0.1.0/tests/test_memory_provider_abc.py +145 -0
  264. deepagent_hermes-0.1.0/tests/test_memory_snapshot_frozen.py +241 -0
  265. deepagent_hermes-0.1.0/tests/test_plugin_event_bus.py +417 -0
  266. deepagent_hermes-0.1.0/tests/test_plugin_loader.py +172 -0
  267. deepagent_hermes-0.1.0/tests/test_prompt_assembly.py +157 -0
  268. deepagent_hermes-0.1.0/tests/test_reflection_trigger.py +275 -0
  269. deepagent_hermes-0.1.0/tests/test_session_search_modes.py +367 -0
  270. deepagent_hermes-0.1.0/tests/test_skill_library.py +262 -0
  271. deepagent_hermes-0.1.0/tests/test_skill_loader.py +156 -0
  272. deepagent_hermes-0.1.0/tests/test_skill_validator.py +254 -0
  273. deepagent_hermes-0.1.0/tests/test_sqlite_fts_store.py +340 -0
  274. deepagent_hermes-0.1.0/tests/test_state.py +133 -0
  275. deepagent_hermes-0.1.0/tests/test_terminal_daytona_modal.py +202 -0
  276. deepagent_hermes-0.1.0/tests/test_terminal_docker.py +164 -0
  277. deepagent_hermes-0.1.0/tests/test_terminal_local.py +130 -0
  278. deepagent_hermes-0.1.0/tests/test_terminal_singularity.py +89 -0
  279. deepagent_hermes-0.1.0/tests/test_terminal_ssh.py +292 -0
  280. deepagent_hermes-0.1.0/tests/test_threat_patterns.py +153 -0
  281. deepagent_hermes-0.1.0/tests/test_tool_registry.py +215 -0
  282. 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.