better-dsh 0.2.5 → 0.3.0-c

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 (1002) hide show
  1. package/README.md +27 -3
  2. package/THIRD_PARTY_NOTICES.md +52 -0
  3. package/cordis.patch.yml +44 -0
  4. package/docs/20_specs/ast/spec.md +26 -3
  5. package/docs/20_specs/dvc/spec.md +20 -1
  6. package/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +62 -0
  7. package/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +325 -0
  8. package/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +185 -0
  9. package/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
  10. package/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +101 -0
  11. package/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +54 -0
  12. package/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +447 -0
  13. package/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +63 -0
  14. package/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
  15. package/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +220 -0
  16. package/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +151 -0
  17. package/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
  18. package/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
  19. package/docs/dev-test-environment-notes.md +137 -0
  20. package/docs/specs/ast/spec.md +26 -3
  21. package/docs/specs/ast-engine-deomp/spec.md +170 -0
  22. package/docs/specs/authentication-only-web-admission/spec.md +51 -0
  23. package/docs/specs/docs-packaging-trim/spec.md +110 -0
  24. package/docs/specs/dvc/spec.md +20 -1
  25. package/docs/specs/remote-pty-label/spec.md +126 -0
  26. package/docs/specs/welcome-self-contained/spec.md +13 -0
  27. package/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
  28. package/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  29. package/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  30. package/dsh-docs/baseline.md +13 -0
  31. package/dsh-docs/subsystems/invariants.md +3 -0
  32. package/dsh-docs/subsystems/invariants.zh.md +3 -0
  33. package/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  34. package/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
  35. package/lib/LaunchOptions-B874eBu2.js +4 -0
  36. package/lib/LaunchOptions-kGXcZOe0.js +17 -0
  37. package/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  38. package/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
  39. package/lib/ast-assets/ast-grep.wasm +0 -0
  40. package/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  41. package/lib/ast-assets/tree-sitter-c.wasm +0 -0
  42. package/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  43. package/lib/ast-assets/tree-sitter-css.wasm +0 -0
  44. package/lib/ast-assets/tree-sitter-go.wasm +0 -0
  45. package/lib/ast-assets/tree-sitter-html.wasm +0 -0
  46. package/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  47. package/lib/ast-assets/tree-sitter-json.wasm +0 -0
  48. package/lib/ast-assets/tree-sitter-python.wasm +0 -0
  49. package/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  50. package/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  51. package/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  52. package/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  53. package/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  54. package/lib/ast-assets/tree-sitter.wasm +0 -0
  55. package/lib/bidi-BalpKaJc.js +16106 -0
  56. package/lib/bundle-delivery.d.ts +20 -0
  57. package/lib/bundle-delivery.js +212 -0
  58. package/lib/chunk-DQxbwPpZ.js +30 -0
  59. package/lib/client/index.js +2 -2
  60. package/lib/compaction/index.d.ts +3 -3
  61. package/lib/compaction/index.js +4 -4
  62. package/lib/failover/index.d.ts +3 -3
  63. package/lib/failover/index.js +5 -5
  64. package/lib/fs-aware/sandbox-plugin.js +22 -22
  65. package/lib/hmr.d.ts +32 -0
  66. package/lib/hmr.js +49 -0
  67. package/lib/index-DTDXUe6m.d.ts +208 -0
  68. package/lib/index-browser-CysrjMyM.js +21061 -0
  69. package/lib/index.d.ts +4 -4
  70. package/lib/index.js +399 -151
  71. package/lib/kernel-bridge.py +172 -0
  72. package/lib/{kernel-env-hxaihi9C.js → kernel-env-D8UOWeji.js} +2 -2
  73. package/lib/kernel-env.js +1 -1
  74. package/lib/lib-C8_jXvwA.js +894 -0
  75. package/lib/{lsp-server-registry-XU6aHSqZ.js → lsp-server-registry-BXvUTBY7.js} +1 -1
  76. package/lib/{lsp-server-registry-946ysdqg.js → lsp-server-registry-CH9WNFFt.js} +13 -13
  77. package/lib/main-BQeFrBM1.js +3 -0
  78. package/lib/main-CupOhMp5.js +1432 -0
  79. package/lib/mobile/plugin.d.ts +4 -4
  80. package/lib/mobile/plugin.js +10 -10
  81. package/lib/puppeteer-core-CSk2PtSm.js +1136 -0
  82. package/lib/py-sdk.js +1 -1
  83. package/lib/remote/plugin.d.ts +3 -3
  84. package/lib/remote/plugin.js +151 -56
  85. package/lib/url-schemes/index.d.ts +11 -11
  86. package/lib/url-schemes/index.js +5269 -501
  87. package/lib/util-BHL_dfV_.js +2953 -0
  88. package/lib/wasm_bg-CNXhHjVg.js +1291 -0
  89. package/lib/web-password.d.ts +7 -7
  90. package/lib/web-password.js +2 -2
  91. package/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  92. package/lib/{web-trust-BO66y72w.js → web-trust-D6gJpUMf.js} +41 -9
  93. package/lib/{web-trust-BihHCelF.d.ts → web-trust-Dej_RI2B.d.ts} +19 -12
  94. package/lib/web-trust.d.ts +2 -1
  95. package/lib/web-trust.js +2 -1
  96. package/lib/webserver.d.ts +10 -0
  97. package/lib/webserver.js +19 -0
  98. package/lib/welcome-notice.d.ts +18 -0
  99. package/lib/welcome-notice.js +59 -0
  100. package/lib/{wrap-Bzdimp4p.js → wrap-T4I0nfPM.js} +55 -52
  101. package/package.json +93 -46
  102. package/scripts/register-bundle.mjs +80 -0
  103. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/MdxPage-CTY7atqe.js +0 -11
  104. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/extract_omp.mjs +0 -42
  105. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/fetch_pi.py +0 -52
  106. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/jsx-runtime-BHwPObl3.js +0 -13
  107. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_extracted.json +0 -1
  108. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_pages.txt +0 -35
  109. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/package.json +0 -1
  110. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_convert.py +0 -49
  111. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_pages.txt +0 -30
  112. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/serialize_omp.py +0 -250
  113. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/README.md +0 -80
  114. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/Overview.md +0 -88
  115. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/acp.md +0 -151
  116. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/advisor.md +0 -185
  117. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/agents-and-roles.md +0 -168
  118. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/approvals.md +0 -200
  119. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/cli.md +0 -381
  120. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/code-intelligence.md +0 -225
  121. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/collab.md +0 -207
  122. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/commit.md +0 -169
  123. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/compaction.md +0 -195
  124. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/computer.md +0 -224
  125. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/context-files.md +0 -184
  126. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-models.md +0 -284
  127. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-tools.md +0 -248
  128. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/debugging.md +0 -254
  129. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/editing.md +0 -157
  130. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/env.md +0 -552
  131. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/extension-authoring.md +0 -378
  132. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/files.md +0 -144
  133. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/github.md +0 -175
  134. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/goal.md +0 -156
  135. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/handoff.md +0 -139
  136. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/hooks.md +0 -257
  137. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/keybindings.md +0 -204
  138. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/magic-keywords.md +0 -135
  139. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/marketplace.md +0 -269
  140. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp-authoring.md +0 -243
  141. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp.md +0 -260
  142. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/memory.md +0 -306
  143. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/modes.md +0 -214
  144. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/pages.txt +0 -56
  145. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plan.md +0 -126
  146. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plugins.md +0 -287
  147. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prewalk.md +0 -122
  148. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prompt-templates.md +0 -149
  149. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/providers.md +0 -229
  150. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/quickstart.md +0 -117
  151. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/review.md +0 -248
  152. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/roles.md +0 -247
  153. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/rpc.md +0 -523
  154. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sdk.md +0 -260
  155. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/secrets.md +0 -199
  156. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/security.md +0 -260
  157. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-format.md +0 -254
  158. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-tree.md +0 -135
  159. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sessions.md +0 -223
  160. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/settings.md +0 -290
  161. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/skills.md +0 -187
  162. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/slash.md +0 -328
  163. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagent-authoring.md +0 -165
  164. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagents.md +0 -149
  165. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/themes.md +0 -230
  166. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/tools.md +0 -120
  167. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/ttsr.md +0 -242
  168. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/using.md +0 -214
  169. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/vibe.md +0 -187
  170. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/web.md +0 -233
  171. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/compaction.md +0 -427
  172. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/containerization.md +0 -162
  173. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/custom-provider.md +0 -782
  174. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/development.md +0 -96
  175. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/environment-variables.md +0 -104
  176. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/extensions.md +0 -3058
  177. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/index.md +0 -89
  178. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/json.md +0 -105
  179. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/keybindings.md +0 -244
  180. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/llama-cpp.md +0 -106
  181. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/models.md +0 -587
  182. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/packages.md +0 -234
  183. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/pages.txt +0 -30
  184. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/prompt-templates.md +0 -101
  185. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/providers.md +0 -327
  186. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/quickstart.md +0 -172
  187. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/rpc.md +0 -1679
  188. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sdk.md +0 -1239
  189. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/security.md +0 -64
  190. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/session-format.md +0 -454
  191. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sessions.md +0 -150
  192. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/settings.md +0 -374
  193. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/shell-aliases.md +0 -18
  194. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/skills.md +0 -241
  195. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/terminal-setup.md +0 -199
  196. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/termux.md +0 -135
  197. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/themes.md +0 -328
  198. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tmux.md +0 -68
  199. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tui.md +0 -965
  200. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/usage.md +0 -315
  201. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/windows.md +0 -44
  202. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/crawl.py +0 -103
  203. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/docs-tree.json +0 -82965
  204. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/download.py +0 -56
  205. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/gen_mapping.py +0 -125
  206. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/pages.json +0 -232
  207. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-plugins.json +0 -1
  208. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-skills.json +0 -4
  209. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/_category_.json +0 -8
  210. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/acp-internals.md +0 -181
  211. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-platform-adapters.md +0 -788
  212. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-providers.md +0 -464
  213. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-tools.md +0 -211
  214. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/agent-loop.md +0 -242
  215. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/architecture.md +0 -279
  216. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/billing-lifecycle.md +0 -184
  217. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-provider-plugin.md +0 -153
  218. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-supervisor.md +0 -198
  219. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/chronos-managed-cron-contract.md +0 -227
  220. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cli-internals.md +0 -85
  221. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/codebase-ownership.md +0 -34
  222. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/completion-backlog-delivery.md +0 -52
  223. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-compression-and-caching.md +0 -642
  224. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-engine-plugin.md +0 -272
  225. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/contributing.md +0 -303
  226. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/creating-skills.md +0 -438
  227. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cron-internals.md +0 -380
  228. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/desktop-plugin-sdk.md +0 -952
  229. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/egress-internals.md +0 -319
  230. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/extending-the-cli.md +0 -192
  231. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-internals.md +0 -297
  232. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-monitoring.md +0 -309
  233. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-session-lifecycle.md +0 -621
  234. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/image-gen-provider-plugin.md +0 -316
  235. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/memory-provider-plugin.md +0 -452
  236. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/micro-compaction.md +0 -406
  237. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/middleware.md +0 -266
  238. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/model-provider-plugin.md +0 -327
  239. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/multiplexing-gateway.md +0 -228
  240. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/observer-hooks.md +0 -331
  241. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugin-llm-access.md +0 -506
  242. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugins/index.md +0 -1775
  243. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/programmatic-integration.md +0 -212
  244. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/prompt-assembly.md +0 -328
  245. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/provider-runtime.md +0 -222
  246. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-connector-contract.md +0 -790
  247. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-shared-metrics.md +0 -487
  248. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/secret-source-plugin.md +0 -192
  249. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/session-storage.md +0 -523
  250. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/state-db-recovery.md +0 -107
  251. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/streaming-tts.md +0 -98
  252. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/subagent-lifecycle-api.md +0 -61
  253. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/terminal-environment-plugin.md +0 -140
  254. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/tools-runtime.md +0 -250
  255. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/trajectory-format.md +0 -232
  256. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/video-gen-provider-plugin.md +0 -231
  257. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/web-search-provider-plugin.md +0 -260
  258. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/worktree-ui-dev.md +0 -168
  259. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/_category_.json +0 -8
  260. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/installation.md +0 -200
  261. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/learning-path.md +0 -169
  262. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/nix-setup.md +0 -1234
  263. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/platform-support.md +0 -50
  264. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/quickstart.md +0 -399
  265. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/termux.md +0 -301
  266. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/updating.md +0 -374
  267. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/_category_.json +0 -6
  268. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/agent-email-address.md +0 -93
  269. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automate-with-cron.md +0 -292
  270. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automation-blueprints.md +0 -595
  271. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/aws-bedrock.md +0 -196
  272. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/azure-foundry.md +0 -334
  273. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-script-only.md +0 -247
  274. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-troubleshooting.md +0 -235
  275. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/daily-briefing-bot.md +0 -272
  276. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/delegation-patterns.md +0 -242
  277. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/desktop-native-signin.md +0 -125
  278. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/github-pr-review-agent.md +0 -303
  279. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-gemini.md +0 -270
  280. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-vertex.md +0 -148
  281. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-llm-on-mac.md +0 -252
  282. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-ollama-setup.md +0 -338
  283. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/manage-hermes-cloud-with-mcp.md +0 -176
  284. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/microsoft-graph-app-registration.md +0 -180
  285. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/migrate-from-openclaw.md +0 -252
  286. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/minimax-oauth.md +0 -226
  287. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/oauth-over-ssh.md +0 -172
  288. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/operate-teams-meeting-pipeline.md +0 -295
  289. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/pipe-script-output.md +0 -249
  290. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/python-library.md +0 -333
  291. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-hermes-with-nous-portal.md +0 -276
  292. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-nemotron-3-ultra-free.md +0 -123
  293. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/secure-hermes-on-a-work-machine.md +0 -182
  294. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/team-telegram-assistant.md +0 -441
  295. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/tips.md +0 -238
  296. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/troubleshooting-agent-quality.md +0 -145
  297. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-mcp-with-hermes.md +0 -541
  298. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-soul-with-hermes.md +0 -264
  299. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-voice-mode-with-hermes.md +0 -473
  300. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/webhook-github-pr-review.md +0 -336
  301. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/work-with-skills.md +0 -290
  302. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/xai-grok-oauth.md +0 -243
  303. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/index.mdx +0 -155
  304. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/buzz.md +0 -57
  305. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/index.md +0 -126
  306. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/nous-portal.md +0 -286
  307. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/providers.md +0 -1681
  308. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/_category_.json +0 -8
  309. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/automation-blueprints-catalog.mdx +0 -36
  310. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-commands.md +0 -1900
  311. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-symbols.md +0 -126
  312. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/environment-variables.md +0 -952
  313. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/faq.md +0 -874
  314. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/mcp-config-reference.md +0 -439
  315. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/model-catalog.md +0 -121
  316. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/optional-skills-catalog.md +0 -303
  317. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/profile-commands.md +0 -544
  318. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/skills-catalog.md +0 -132
  319. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/slash-commands.md +0 -336
  320. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/tools-reference.md +0 -399
  321. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/toolsets-reference.md +0 -171
  322. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/_category_.json +0 -8
  323. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/bot-mode.md +0 -309
  324. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/checkpoints-and-rollback.md +0 -283
  325. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/cli.md +0 -591
  326. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuration.md +0 -2901
  327. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuring-models.md +0 -414
  328. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/desktop.md +0 -728
  329. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/docker.md +0 -896
  330. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/index.md +0 -10
  331. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/iron-proxy.md +0 -570
  332. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/network-isolation.md +0 -201
  333. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/_category_.json +0 -8
  334. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/acp.md +0 -407
  335. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/api-server.md +0 -810
  336. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/batch-processing.md +0 -230
  337. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/browser.md +0 -901
  338. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/built-in-plugins.md +0 -366
  339. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/code-execution.md +0 -319
  340. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/codex-app-server-runtime.md +0 -460
  341. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/computer-use.md +0 -636
  342. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-files.md +0 -237
  343. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-references.md +0 -142
  344. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-pools.md +0 -308
  345. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-vault.md +0 -122
  346. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/cron.md +0 -1262
  347. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/curator.md +0 -409
  348. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/delegation.md +0 -664
  349. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/deliverable-mode.md +0 -134
  350. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/document-extraction.md +0 -58
  351. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/extending-the-dashboard.md +0 -927
  352. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/fallback-providers.md +0 -444
  353. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/goals.md +0 -293
  354. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/heartbeat.md +0 -68
  355. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/honcho.md +0 -276
  356. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/hooks.md +0 -2007
  357. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/image-generation.md +0 -347
  358. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-multi-gateway.md +0 -52
  359. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-tutorial.md +0 -310
  360. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-worker-lanes.md +0 -142
  361. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban.md +0 -1327
  362. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/loops.md +0 -122
  363. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/lsp.md +0 -307
  364. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mcp.md +0 -957
  365. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory-providers.md +0 -699
  366. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory.md +0 -466
  367. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mixture-of-agents.md +0 -246
  368. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/overview.md +0 -57
  369. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/personality.md +0 -289
  370. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/pets.md +0 -236
  371. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugin-catalog.md +0 -212
  372. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugins.md +0 -847
  373. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/provider-routing.md +0 -229
  374. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skills.md +0 -1112
  375. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skins.md +0 -271
  376. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/spotify.md +0 -279
  377. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/subscription-proxy.md +0 -203
  378. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-gateway.md +0 -223
  379. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-search.md +0 -277
  380. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tools.md +0 -261
  381. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tts.md +0 -744
  382. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/vision.md +0 -214
  383. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/voice-mode.md +0 -608
  384. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/wake-word.md +0 -343
  385. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-dashboard.md +0 -1206
  386. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-search.md +0 -506
  387. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/x-search.md +0 -167
  388. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/git-worktrees.md +0 -196
  389. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/import-from-other-agents.md +0 -74
  390. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/local-models.md +0 -140
  391. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/managed-scope.md +0 -157
  392. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/_category_.json +0 -8
  393. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/a2a.md +0 -130
  394. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/bluebubbles.md +0 -171
  395. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/buzz.md +0 -162
  396. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/dingtalk.md +0 -283
  397. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/discord.md +0 -936
  398. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/email.md +0 -223
  399. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/feishu.md +0 -599
  400. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/google_chat.md +0 -430
  401. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/homeassistant.md +0 -269
  402. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/index.md +0 -859
  403. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/irc.md +0 -78
  404. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/line.md +0 -201
  405. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/matrix.md +0 -910
  406. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/mattermost.md +0 -340
  407. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/msgraph-webhook.md +0 -142
  408. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/ntfy.md +0 -157
  409. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/open-webui.md +0 -296
  410. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/photon.md +0 -255
  411. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/qqbot.md +0 -123
  412. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/raft.md +0 -70
  413. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/relay.md +0 -212
  414. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/signal.md +0 -262
  415. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/simplex.md +0 -151
  416. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/slack.md +0 -1093
  417. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/sms.md +0 -203
  418. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams-meetings.md +0 -242
  419. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams.md +0 -288
  420. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/telegram.md +0 -1373
  421. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/webhooks.md +0 -694
  422. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom-callback.md +0 -179
  423. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom.md +0 -306
  424. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/weixin.md +0 -333
  425. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp-cloud.md +0 -417
  426. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp.md +0 -283
  427. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/yuanbao.md +0 -342
  428. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-connection-desktop.md +0 -361
  429. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-profile-gateways.md +0 -1062
  430. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profile-distributions.md +0 -757
  431. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profiles.md +0 -418
  432. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/bitwarden.md +0 -155
  433. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/command.md +0 -50
  434. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/index.md +0 -50
  435. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/onepassword.md +0 -169
  436. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/security.md +0 -892
  437. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/sessions.md +0 -990
  438. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -110
  439. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -146
  440. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-findmy.md +0 -149
  441. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  442. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-claude-code.md +0 -763
  443. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-codex.md +0 -169
  444. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-computer-use.md +0 -355
  445. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-hermes-agent.md +0 -230
  446. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-merge-reconciler.md +0 -176
  447. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-opencode.md +0 -237
  448. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  449. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  450. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -265
  451. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  452. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-claude-design.md +0 -668
  453. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-comfyui.md +0 -616
  454. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-design-md.md +0 -238
  455. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -212
  456. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-humanizer.md +0 -663
  457. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-manim-video.md +0 -292
  458. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-p5js.md +0 -576
  459. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -223
  460. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  461. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-sketch.md +0 -240
  462. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-songwriting-and-ai-music.md +0 -319
  463. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/devops/devops-sdlc-review.md +0 -195
  464. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-email-inbox-triage.md +0 -115
  465. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-himalaya.md +0 -319
  466. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  467. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  468. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  469. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issue-to-pr.md +0 -95
  470. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  471. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  472. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  473. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  474. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-songsee.md +0 -98
  475. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-youtube-content.md +0 -100
  476. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  477. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-evaluation-weights-and-biases.md +0 -613
  478. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  479. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  480. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-serving-llms-vllm.md +0 -387
  481. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -85
  482. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  483. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-box.md +0 -132
  484. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-document-to-action-items.md +0 -99
  485. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-docx.md +0 -213
  486. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -348
  487. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-maps.md +0 -210
  488. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-meeting-action-items.md +0 -105
  489. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -70
  490. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  491. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -193
  492. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-pdf.md +0 -142
  493. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -237
  494. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-product-price-monitor.md +0 -97
  495. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-session-librarian.md +0 -122
  496. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -129
  497. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-weekly-review-planning.md +0 -99
  498. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-xlsx.md +0 -213
  499. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  500. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blocked-page-recovery.md +0 -155
  501. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  502. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md +0 -106
  503. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-grounded-citations.md +0 -274
  504. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-llm-wiki.md +0 -526
  505. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -1645
  506. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -127
  507. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -450
  508. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-codebase-inspection.md +0 -132
  509. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -183
  510. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-github.md +0 -73
  511. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +0 -230
  512. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-inspecting-hermes-desktop-dom.md +0 -177
  513. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger.md +0 -337
  514. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-python-debugpy.md +0 -391
  515. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-requesting-code-review.md +0 -298
  516. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-simplify-code.md +0 -288
  517. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  518. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-systematic-debugging.md +0 -429
  519. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-test-driven-development.md +0 -380
  520. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/web/web-blocked-page-recovery.md +0 -155
  521. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/google-workspace.md +0 -191
  522. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-antigravity-cli.md +0 -259
  523. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-blackbox.md +0 -161
  524. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-dynamic-workflow.md +0 -198
  525. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-grok.md +0 -326
  526. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-honcho.md +0 -446
  527. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-openhands.md +0 -167
  528. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  529. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -228
  530. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -225
  531. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/communication/communication-one-three-one-rule.md +0 -114
  532. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ai-presenter-video.md +0 -211
  533. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-archify.md +0 -66
  534. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ascii-art.md +0 -338
  535. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  536. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-auteur.md +0 -195
  537. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-article-illustrator.md +0 -225
  538. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-comic.md +0 -264
  539. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-comfyui.md +0 -616
  540. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  541. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-creative-ideation.md +0 -192
  542. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-draw-your-font.md +0 -169
  543. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-dream-loop.md +0 -297
  544. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-excalidraw.md +0 -212
  545. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-heartmula.md +0 -191
  546. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-hyperframes.md +0 -222
  547. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-impeccable.md +0 -56
  548. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ip-as-logo.md +0 -171
  549. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -220
  550. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  551. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-mono-color.md +0 -158
  552. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pixel-art.md +0 -234
  553. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pretext.md +0 -238
  554. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-simple-english.md +0 -362
  555. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-sketch.md +0 -240
  556. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-social-media-content-calendar.md +0 -88
  557. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-system-atlas.md +0 -105
  558. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-tldraw-offline.md +0 -294
  559. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-unreal-mcp.md +0 -269
  560. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/data-science/data-science-jupyter-notebook.md +0 -195
  561. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-actual-setup.md +0 -164
  562. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-docker-management.md +0 -298
  563. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-hermes-s6-container-supervision.md +0 -198
  564. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  565. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -326
  566. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-setup-wizard-generator.md +0 -133
  567. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  568. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  569. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/email/email-agentmail.md +0 -104
  570. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  571. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  572. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  573. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  574. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  575. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  576. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-polymarket.md +0 -97
  577. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  578. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-stocks.md +0 -112
  579. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-minecraft-modpack-server.md +0 -209
  580. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-pokemon-player.md +0 -240
  581. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -259
  582. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -470
  583. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  584. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcp-oauth-remote-gateway.md +0 -389
  585. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  586. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  587. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -366
  588. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  589. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  590. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  591. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-evaluation-weights-and-biases.md +0 -613
  592. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  593. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -388
  594. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-guidance.md +0 -595
  595. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  596. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-llama-cpp.md +0 -267
  597. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -679
  598. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-serving-llms-vllm.md +0 -387
  599. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  600. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  601. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  602. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-modal.md +0 -368
  603. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-huggingface-hub.md +0 -100
  604. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-segment-anything-model.md +0 -525
  605. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -415
  606. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-obliteratus.md +0 -360
  607. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  608. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -396
  609. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -97
  610. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  611. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -522
  612. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-research-dspy.md +0 -609
  613. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-saelens.md +0 -439
  614. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  615. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  616. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  617. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -208
  618. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -404
  619. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  620. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-trl-fine-tuning.md +0 -512
  621. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  622. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  623. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-mpp-agent.md +0 -142
  624. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-link-cli.md +0 -202
  625. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-projects.md +0 -138
  626. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  627. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-decision-questionnaire.md +0 -133
  628. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  629. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-live-dashboard.md +0 -126
  630. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  631. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-property-listings.md +0 -121
  632. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shop.md +0 -238
  633. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  634. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  635. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  636. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-bioinformatics.md +0 -254
  637. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-blogwatcher.md +0 -162
  638. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -217
  639. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-domain-intel.md +0 -121
  640. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  641. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  642. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -232
  643. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-osint-investigation.md +0 -295
  644. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  645. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-pinecone-research.md +0 -125
  646. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-qmd.md +0 -459
  647. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-research-paper-writing.md +0 -1645
  648. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-rss-feeds.md +0 -114
  649. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-scrapling.md +0 -351
  650. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-searxng-search.md +0 -212
  651. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-1password.md +0 -173
  652. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-godmode.md +0 -421
  653. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-oss-forensics.md +0 -426
  654. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-sherlock.md +0 -208
  655. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-unbroker.md +0 -331
  656. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-web-pentest.md +0 -337
  657. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/smart-home/smart-home-openhue.md +0 -127
  658. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/social-media/social-media-reddit-reading.md +0 -146
  659. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-ast-grep.md +0 -307
  660. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-code-wiki.md +0 -463
  661. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-grill-me.md +0 -135
  662. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-pr-lens.md +0 -160
  663. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-rest-graphql-debug.md +0 -532
  664. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-subagent-driven-development.md +0 -370
  665. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-cloudflare-temporary-deploy.md +0 -144
  666. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-har-derived-api-client.md +0 -180
  667. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-page-agent.md +0 -207
  668. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-publish-site.md +0 -174
  669. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-scrollcraft.md +0 -257
  670. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -127
  671. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/tui.md +0 -313
  672. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/which-file-does-what.md +0 -57
  673. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-native.md +0 -326
  674. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-wsl-quickstart.md +0 -358
  675. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-stories.mdx +0 -10
  676. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docusaurus.config.ts +0 -210
  677. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/acp-internals.md +0 -181
  678. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-platform-adapters.md +0 -686
  679. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-providers.md +0 -459
  680. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-tools.md +0 -209
  681. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/agent-loop.md +0 -239
  682. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/architecture.md +0 -277
  683. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/browser-supervisor.md +0 -160
  684. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-compression-and-caching.md +0 -328
  685. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-engine-plugin.md +0 -193
  686. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/contributing.md +0 -253
  687. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/creating-skills.md +0 -375
  688. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/cron-internals.md +0 -236
  689. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/extending-the-cli.md +0 -192
  690. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/gateway-internals.md +0 -267
  691. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/image-gen-provider-plugin.md +0 -288
  692. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/memory-provider-plugin.md +0 -258
  693. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/model-provider-plugin.md +0 -267
  694. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugin-llm-access.md +0 -401
  695. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugins/index.md +0 -1156
  696. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/programmatic-integration.md +0 -126
  697. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/prompt-assembly.md +0 -273
  698. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/provider-runtime.md +0 -208
  699. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/session-storage.md +0 -420
  700. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/tools-runtime.md +0 -236
  701. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/trajectory-format.md +0 -222
  702. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/video-gen-provider-plugin.md +0 -231
  703. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/web-search-provider-plugin.md +0 -260
  704. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/installation.md +0 -204
  705. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/learning-path.md +0 -154
  706. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/nix-setup.md +0 -975
  707. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/quickstart.md +0 -352
  708. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/termux.md +0 -236
  709. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/updating.md +0 -231
  710. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automate-with-cron.md +0 -266
  711. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automation-blueprints.md +0 -595
  712. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/aws-bedrock.md +0 -170
  713. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/azure-foundry.md +0 -334
  714. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-script-only.md +0 -247
  715. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-troubleshooting.md +0 -227
  716. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/daily-briefing-bot.md +0 -268
  717. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/delegation-patterns.md +0 -239
  718. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/github-pr-review-agent.md +0 -303
  719. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/google-gemini.md +0 -254
  720. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-llm-on-mac.md +0 -240
  721. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-ollama-setup.md +0 -317
  722. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/microsoft-graph-app-registration.md +0 -180
  723. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/migrate-from-openclaw.md +0 -244
  724. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/minimax-oauth.md +0 -228
  725. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/oauth-over-ssh.md +0 -96
  726. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/operate-teams-meeting-pipeline.md +0 -288
  727. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/pipe-script-output.md +0 -217
  728. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/python-library.md +0 -333
  729. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/run-hermes-with-nous-portal.md +0 -273
  730. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/team-telegram-assistant.md +0 -441
  731. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/tips.md +0 -234
  732. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-mcp-with-hermes.md +0 -490
  733. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-soul-with-hermes.md +0 -264
  734. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-voice-mode-with-hermes.md +0 -469
  735. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/webhook-github-pr-review.md +0 -329
  736. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/work-with-skills.md +0 -290
  737. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/xai-grok-oauth.md +0 -243
  738. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/index.mdx +0 -117
  739. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/buzz.md +0 -57
  740. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/index.md +0 -100
  741. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/nous-portal.md +0 -272
  742. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/providers.md +0 -1433
  743. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/cli-commands.md +0 -1259
  744. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/environment-variables.md +0 -678
  745. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/faq.md +0 -859
  746. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/mcp-config-reference.md +0 -250
  747. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/model-catalog.md +0 -103
  748. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/optional-skills-catalog.md +0 -220
  749. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/profile-commands.md +0 -467
  750. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/skills-catalog.md +0 -156
  751. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/slash-commands.md +0 -272
  752. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/tools-reference.md +0 -261
  753. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/toolsets-reference.md +0 -162
  754. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/checkpoints-and-rollback.md +0 -251
  755. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/cli.md +0 -445
  756. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuration.md +0 -1746
  757. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuring-models.md +0 -239
  758. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/docker.md +0 -595
  759. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/acp.md +0 -341
  760. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/api-server.md +0 -456
  761. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/batch-processing.md +0 -229
  762. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/browser.md +0 -629
  763. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/built-in-plugins.md +0 -269
  764. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/code-execution.md +0 -240
  765. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/codex-app-server-runtime.md +0 -441
  766. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/computer-use.md +0 -144
  767. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-files.md +0 -218
  768. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-references.md +0 -142
  769. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/credential-pools.md +0 -240
  770. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/cron.md +0 -761
  771. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/curator.md +0 -248
  772. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/delegation.md +0 -355
  773. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/deliverable-mode.md +0 -91
  774. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/extending-the-dashboard.md +0 -907
  775. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/fallback-providers.md +0 -408
  776. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/goals.md +0 -180
  777. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/honcho.md +0 -233
  778. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/hooks.md +0 -1388
  779. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/image-generation.md +0 -150
  780. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-tutorial.md +0 -308
  781. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-worker-lanes.md +0 -117
  782. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban.md +0 -863
  783. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/lsp.md +0 -217
  784. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/mcp.md +0 -591
  785. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory-providers.md +0 -570
  786. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory.md +0 -233
  787. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/overview.md +0 -52
  788. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/personality.md +0 -271
  789. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/plugins.md +0 -346
  790. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/provider-routing.md +0 -200
  791. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skills.md +0 -760
  792. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skins.md +0 -271
  793. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/spotify.md +0 -279
  794. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/subscription-proxy.md +0 -163
  795. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tool-gateway.md +0 -187
  796. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tools.md +0 -223
  797. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tts.md +0 -456
  798. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/vision.md +0 -210
  799. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/voice-mode.md +0 -521
  800. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-dashboard.md +0 -351
  801. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-search.md +0 -422
  802. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/x-search.md +0 -147
  803. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/git-worktrees.md +0 -173
  804. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/bluebubbles.md +0 -143
  805. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/dingtalk.md +0 -283
  806. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/discord.md +0 -843
  807. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/email.md +0 -190
  808. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/feishu.md +0 -538
  809. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/google_chat.md +0 -283
  810. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/homeassistant.md +0 -252
  811. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/index.md +0 -569
  812. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/line.md +0 -199
  813. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/matrix.md +0 -677
  814. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/mattermost.md +0 -340
  815. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/msgraph-webhook.md +0 -137
  816. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/ntfy.md +0 -155
  817. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/open-webui.md +0 -296
  818. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/qqbot.md +0 -123
  819. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/signal.md +0 -257
  820. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/simplex.md +0 -98
  821. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/slack.md +0 -614
  822. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/sms.md +0 -203
  823. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams-meetings.md +0 -233
  824. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams.md +0 -255
  825. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/telegram.md +0 -1241
  826. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/webhooks.md +0 -601
  827. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom-callback.md +0 -149
  828. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom.md +0 -292
  829. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/weixin.md +0 -312
  830. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/whatsapp.md +0 -236
  831. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/yuanbao.md +0 -341
  832. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profile-distributions.md +0 -573
  833. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profiles.md +0 -272
  834. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/bitwarden.md +0 -143
  835. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/index.md +0 -9
  836. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/security.md +0 -664
  837. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/sessions.md +0 -609
  838. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -106
  839. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -114
  840. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-findmy.md +0 -147
  841. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  842. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-macos-computer-use.md +0 -175
  843. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-claude-code.md +0 -763
  844. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-codex.md +0 -143
  845. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-hermes-agent.md +0 -947
  846. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-opencode.md +0 -237
  847. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  848. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  849. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -261
  850. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  851. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-claude-design.md +0 -609
  852. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-comfyui.md +0 -547
  853. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-design-md.md +0 -189
  854. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -210
  855. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-humanizer.md +0 -594
  856. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-manim-video.md +0 -289
  857. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-p5js.md +0 -574
  858. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -211
  859. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  860. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-sketch.md +0 -238
  861. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-songwriting-and-ai-music.md +0 -305
  862. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/email/email-himalaya.md +0 -305
  863. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  864. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  865. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  866. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  867. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  868. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  869. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  870. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-songsee.md +0 -98
  871. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-youtube-content.md +0 -93
  872. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  873. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-evaluation-weights-and-biases.md +0 -609
  874. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  875. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  876. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-inference-serving-llms-vllm.md +0 -386
  877. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -81
  878. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  879. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -325
  880. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-maps.md +0 -196
  881. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -69
  882. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  883. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -190
  884. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -257
  885. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -127
  886. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  887. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  888. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-llm-wiki.md +0 -469
  889. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -2395
  890. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -124
  891. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -428
  892. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -181
  893. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +0 -183
  894. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger.md +0 -337
  895. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-python-debugpy.md +0 -391
  896. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-requesting-code-review.md +0 -287
  897. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  898. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-systematic-debugging.md +0 -385
  899. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-test-driven-development.md +0 -361
  900. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/google-workspace.md +0 -191
  901. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-blackbox.md +0 -162
  902. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-honcho.md +0 -446
  903. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  904. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -210
  905. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -206
  906. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/communication/communication-one-three-one-rule.md +0 -114
  907. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  908. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  909. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-heartmula.md +0 -189
  910. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-hyperframes.md +0 -205
  911. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -173
  912. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  913. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/data-science/data-science-jupyter-notebook.md +0 -180
  914. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-docker-management.md +0 -297
  915. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  916. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -327
  917. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  918. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  919. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/email/email-agentmail.md +0 -143
  920. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  921. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  922. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  923. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  924. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  925. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  926. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-polymarket.md +0 -94
  927. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  928. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-stocks.md +0 -108
  929. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -255
  930. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -431
  931. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  932. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  933. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  934. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -350
  935. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  936. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  937. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  938. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -381
  939. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-guidance.md +0 -591
  940. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  941. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -671
  942. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  943. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  944. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  945. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-modal.md +0 -362
  946. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-models-segment-anything-model.md +0 -525
  947. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -401
  948. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  949. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -377
  950. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -145
  951. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  952. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -514
  953. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-saelens.md +0 -407
  954. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  955. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  956. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  957. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -206
  958. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -378
  959. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  960. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-trl-fine-tuning.md +0 -477
  961. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  962. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  963. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  964. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  965. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  966. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shop.md +0 -354
  967. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  968. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  969. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  970. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-bioinformatics.md +0 -252
  971. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -188
  972. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-domain-intel.md +0 -117
  973. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  974. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  975. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -213
  976. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-osint-investigation.md +0 -243
  977. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  978. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-qmd.md +0 -435
  979. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-scrapling.md +0 -351
  980. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-searxng-search.md +0 -229
  981. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-1password.md +0 -173
  982. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-oss-forensics.md +0 -421
  983. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-sherlock.md +0 -208
  984. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/software-development/software-development-rest-graphql-debug.md +0 -531
  985. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/web-development/web-development-page-agent.md +0 -207
  986. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -125
  987. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/tui.md +0 -256
  988. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-native.md +0 -325
  989. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-wsl-quickstart.md +0 -332
  990. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-stories.mdx +0 -10
  991. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms-full.txt +0 -88833
  992. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms.txt +0 -267
  993. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages-map.txt +0 -928
  994. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages.json +0 -4218
  995. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-README.md +0 -101
  996. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/clone_repo.sh +0 -17
  997. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/crawl.py +0 -82
  998. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/gen_mapping.py +0 -112
  999. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/retry-none.json +0 -305
  1000. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/verify_orphans.py +0 -53
  1001. /package/lib/{native-capture-x_Hos2e8.js → native-capture-BEByDXYM.js} +0 -0
  1002. /package/lib/{py-sdk-Chvy92MB.js → py-sdk-D7klhpWb.js} +0 -0
@@ -1,1373 +0,0 @@
1
- ---
2
- sidebar_position: 1
3
- title: "Telegram"
4
- description: "Set up Hermes Agent as a Telegram bot"
5
- ---
6
-
7
- # Telegram Setup
8
-
9
- Hermes Agent integrates with Telegram as a full-featured conversational bot. Once connected, you can chat with your agent from any device, send voice memos that get auto-transcribed, receive scheduled task results, and use the agent in group chats. The integration is built on [python-telegram-bot](https://python-telegram-bot.org/) and supports text, voice, images, and file attachments.
10
-
11
- ## Quick setup (dashboard and desktop app)
12
-
13
- The **Messaging → Telegram** page in the [dashboard](../features/web-dashboard.md) and the [desktop app](../desktop.md) has a **Create with QR** button. Scan the code (or open the link) in Telegram; Hermes creates the bot for you, detects your Telegram user ID, writes `TELEGRAM_BOT_TOKEN` and `TELEGRAM_ALLOWED_USERS` into your profile's `.env`, and restarts the gateway. If you prefer to create the bot yourself, follow the manual steps below.
14
-
15
- ## Step 1: Create a Bot via BotFather
16
-
17
- Every Telegram bot requires an API token issued by [@BotFather](https://t.me/BotFather), Telegram's official bot management tool.
18
-
19
- 1. Open Telegram and search for **@BotFather**, or visit [t.me/BotFather](https://t.me/BotFather)
20
- 2. Send `/newbot`
21
- 3. Choose a **display name** (e.g., "Hermes Agent") — this can be anything
22
- 4. Choose a **username** — this must be unique and end in `bot` (e.g., `my_hermes_bot`)
23
- 5. BotFather replies with your **API token**. It looks like this:
24
-
25
- ```
26
- 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
27
- ```
28
-
29
- :::warning
30
- Keep your bot token secret. Anyone with this token can control your bot. If it leaks, revoke it immediately via `/revoke` in BotFather.
31
- :::
32
-
33
- ## Step 2: Customize Your Bot (Optional)
34
-
35
- These BotFather commands improve the user experience. Message @BotFather and use:
36
-
37
- | Command | Purpose |
38
- |---------|---------|
39
- | `/setdescription` | The "What can this bot do?" text shown before a user starts chatting |
40
- | `/setabouttext` | Short text on the bot's profile page |
41
- | `/setuserpic` | Upload an avatar for your bot |
42
- | `/setcommands` | Define the command menu (the `/` button in chat) |
43
- | `/setprivacy` | Control whether the bot sees all group messages (see Step 3) |
44
-
45
- :::tip
46
- For `/setcommands`, a useful starting set:
47
-
48
- ```
49
- help - Show help information
50
- new - Start a new conversation
51
- sethome - Set this chat as the home channel
52
- ```
53
- :::
54
-
55
- ### Online/Offline status indicator (Optional)
56
-
57
- Telegram bots have no real online/offline presence dot — that green dot is a
58
- *user-account* feature, not something the Bot API exposes for bots. The closest
59
- surface is the bot's **short description** (the line shown under its name in the
60
- bot's profile).
61
-
62
- Enable `status_indicator` and Hermes sets that short description to **Online**
63
- when the gateway connects and **Offline** on a clean shutdown:
64
-
65
- ```yaml
66
- gateway:
67
- platforms:
68
- telegram:
69
- extra:
70
- status_indicator: true
71
- # Optional custom strings (defaults: "Online" / "Offline"):
72
- status_online: "🟢 Online"
73
- status_offline: "🔴 Offline"
74
- ```
75
-
76
- Notes:
77
-
78
- - The short description is **global** to the bot (visible to all users), not
79
- per-chat. Users see it on the bot's profile page, not as a live badge inside
80
- an open chat.
81
- - Only a **clean** gateway shutdown (`/stop`, `disconnect`) writes "Offline".
82
- A hard crash leaves the last-known status — the inherent limitation of a
83
- profile-text indicator.
84
- - Off by default, since it mutates the bot's global profile.
85
-
86
- ### Command menu priority and cap (Optional)
87
-
88
- Hermes registers its command menu automatically when the Telegram gateway starts. The menu is built from the central slash-command registry plus eligible plugin/skill commands, then capped so Telegram accepts the payload reliably. The default cap is 60 commands — enough to keep all built-in commands plus common skill commands visible.
89
-
90
- If you have skill, plugin, or built-in commands that should stay visible in Telegram's `/` picker, prioritize them in `~/.hermes/config.yaml`:
91
-
92
- ```yaml
93
- platforms:
94
- telegram:
95
- extra:
96
- command_menu:
97
- max_commands: 60
98
- priority_mode: prepend # prepend | append | replace
99
- priority:
100
- - my_plugin_command
101
- - songsee # skill commands work here too
102
- ```
103
-
104
- `priority_mode` controls how your list combines with Hermes' built-in priority list:
105
-
106
- - `prepend`: put your commands first, then Hermes defaults
107
- - `append`: keep Hermes defaults first, then your commands
108
- - `replace`: use only your list for priority ordering
109
-
110
- Priority is applied to the **combined** candidate list (core commands, plugin commands, and skill commands) before the cap is enforced — so a prioritized skill command is guaranteed a menu slot even when core commands alone would fill the menu. Previously skills were always trimmed first and alphabetically, so late-alphabet skills could never appear regardless of `priority`.
111
-
112
- Telegram allows up to 100 BotCommands, but large command payloads can fail. Hermes defaults to 60 for reliability and clamps configured values to `1..100`; use `/commands` for the full command list.
113
-
114
- ### Inline command picker: search every command (no cap)
115
-
116
- The `/` menu is capped, but Telegram's **inline mode** is not. Once enabled, type `@yourbotname` followed by a search term in any chat to get a live, searchable picker over **every** Hermes command and installed skill — results are computed per keystroke and paginated, so nothing is ever trimmed:
117
-
118
- ```
119
- @yourbotname plan → tap the /plan result to send it
120
- @yourbotname plan migrate auth to OIDC → sends /plan migrate auth to OIDC
121
- @yourbotname pdf → finds skills matching "pdf" by name or description
122
- ```
123
-
124
- The first word filters the catalog; everything after it is carried into the sent command as its argument. Tapping a result sends the command as a normal message from you, so it dispatches through the standard command path (command-prefixed messages reach the bot even with privacy mode on).
125
-
126
- **One-time setup:** inline mode is off by default for every Telegram bot. Enable it in [@BotFather](https://t.me/BotFather) with `/setinline` (pick your bot, set any placeholder text, e.g. `Search commands and skills...`). Until then, Telegram never delivers inline queries and the picker stays inert.
127
-
128
- Results are only served to users who pass your gateway allowlist — unauthorized users get an empty list, so your installed skill catalog is not exposed to strangers (inline queries can be sent from any chat, even ones the bot is not in).
129
-
130
- ## Step 3: Privacy Mode (Critical for Groups)
131
-
132
- Telegram bots have a **privacy mode** that is **enabled by default**. This is the single most common source of confusion when using bots in groups.
133
-
134
- **With privacy mode ON**, your bot can only see:
135
- - Messages that start with a `/` command
136
- - Replies directly to the bot's own messages
137
- - Service messages (member joins/leaves, pinned messages, etc.)
138
- - Messages in channels where the bot is an admin
139
-
140
- **With privacy mode OFF**, the bot receives every message in the group.
141
-
142
- ### How to disable privacy mode
143
-
144
- 1. Message **@BotFather**
145
- 2. Send `/mybots`
146
- 3. Select your bot
147
- 4. Go to **Bot Settings → Group Privacy → Turn off**
148
-
149
- :::warning
150
- **You must remove and re-add the bot to any group** after changing the privacy setting. Telegram caches the privacy state when a bot joins a group, and it will not update until the bot is removed and re-added.
151
- :::
152
-
153
- :::tip
154
- An alternative to disabling privacy mode: promote the bot to **group admin**. Admin bots always receive all messages regardless of the privacy setting, and this avoids needing to toggle the global privacy mode.
155
- :::
156
-
157
- ### Observe group chatter without auto-replying
158
-
159
- For OpenClaw/Yuanbao-style group behavior, configure Telegram so the bot can **see** ordinary group messages but only **responds** when directly triggered:
160
-
161
- ```yaml
162
- telegram:
163
- allowed_chats:
164
- - "-1001234567890"
165
- group_allowed_chats:
166
- - "-1001234567890"
167
- require_mention: true
168
- observe_unmentioned_group_messages: true
169
- ```
170
-
171
- With this mode enabled, unmentioned group messages from explicitly allowlisted chats/topics are appended to the shared chat/topic session transcript as observed context, but they do not dispatch the agent. `allowed_chats` gates where the bot responds; `group_allowed_chats` authorizes the shared group session used for observed context, so use the same chat IDs for this mode. A later `@botname` mention, reply to the bot, or configured mention pattern in that same allowlisted chat/topic can use that observed context. The triggered message is also tagged with `[nickname|user_id]` and gets a per-turn safety prompt so the model treats prior observed lines as context, not instructions addressed to the bot.
172
-
173
- Equivalent environment variable:
174
-
175
- ```bash
176
- TELEGRAM_ALLOWED_CHATS=-1001234567890
177
- TELEGRAM_GROUP_ALLOWED_CHATS=-1001234567890
178
- TELEGRAM_OBSERVE_UNMENTIONED_GROUP_MESSAGES=true
179
- ```
180
-
181
- This requires Telegram to deliver ordinary group messages to the gateway, so disable BotFather privacy mode or promote the bot to group admin as described above.
182
-
183
- ## Step 4: Find Your User ID
184
-
185
- Hermes Agent uses numeric Telegram user IDs to control access. Your user ID is **not** your username — it's a number like `123456789`.
186
-
187
- **Method 1 (recommended):** Message [@userinfobot](https://t.me/userinfobot) — it instantly replies with your user ID.
188
-
189
- **Method 2:** Message [@get_id_bot](https://t.me/get_id_bot) — another reliable option.
190
-
191
- Save this number; you'll need it for the next step.
192
-
193
- ## Step 5: Configure Hermes
194
-
195
- ### Option A: Interactive Setup (Recommended)
196
-
197
- ```bash
198
- hermes gateway setup
199
- ```
200
-
201
- Select **Telegram** when prompted. The wizard asks for your bot token and allowed user IDs, then writes the configuration for you.
202
-
203
- ### Option B: Manual Configuration
204
-
205
- Add the following to `~/.hermes/.env`:
206
-
207
- ```bash
208
- TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
209
- TELEGRAM_ALLOWED_USERS=123456789 # Comma-separated for multiple users
210
- ```
211
-
212
- ### Start the Gateway
213
-
214
- ```bash
215
- hermes gateway
216
- ```
217
-
218
- The bot should come online within seconds. Send it a message on Telegram to verify.
219
-
220
- ## Sending Generated Files from Docker-backed Terminals
221
-
222
- If your terminal backend is `docker`, keep in mind that Telegram attachments are
223
- sent by the **gateway process**, not from inside the container. That means the
224
- final `MEDIA:/...` path must be readable on the host where the gateway is
225
- running.
226
-
227
- Common pitfall:
228
-
229
- - the agent writes a file inside Docker to `/workspace/report.txt`
230
- - the model emits `MEDIA:/workspace/report.txt`
231
- - Telegram delivery fails because `/workspace/report.txt` only exists inside the
232
- container, not on the host
233
-
234
- Recommended pattern:
235
-
236
- ```yaml
237
- terminal:
238
- backend: docker
239
- docker_volumes:
240
- - "/home/user/.hermes/cache/documents:/output"
241
- ```
242
-
243
- Then:
244
-
245
- - write files inside Docker to `/output/...`
246
- - emit the **host-visible** path in `MEDIA:`, for example:
247
- `MEDIA:/home/user/.hermes/cache/documents/report.txt`
248
-
249
- If you already have a `docker_volumes:` section, add the new mount to the same
250
- list. YAML duplicate keys silently override earlier ones.
251
-
252
- ### Supported `MEDIA:` file extensions
253
-
254
- The gateway extracts `MEDIA:/path/to/file` tags from agent replies and ships the referenced file as a platform-native attachment. Supported extensions across all gateway platforms:
255
-
256
- | Category | Extensions |
257
- |---|---|
258
- | Images | `png`, `jpg`, `jpeg`, `gif`, `webp`, `bmp`, `tiff`, `svg` |
259
- | Audio | `mp3`, `wav`, `ogg`, `m4a`, `opus`, `flac`, `aac` |
260
- | Video | `mp4`, `mov`, `webm`, `mkv`, `avi` |
261
- | **Documents** | `pdf`, `txt`, `md`, `csv`, `json`, `xml`, `html`, `yaml`, `yml`, `log` |
262
- | **Office** | `docx`, `xlsx`, `pptx`, `odt`, `ods`, `odp` |
263
- | **Archives** | `zip`, `rar`, `7z`, `tar`, `gz`, `bz2` |
264
- | **Books / packages** | `epub`, `apk`, `ipa` |
265
-
266
- Anything on this list is delivered as a native attachment on platforms that support it (Telegram, Discord, Signal, Slack, WhatsApp, Feishu, Matrix, etc.); on platforms without native support it falls back to a link or plain-text indicator. The **bold** categories were added in the last few releases — if you were relying on the model saying `here is the file: /path/to/report.docx` instead, swap to `MEDIA:/path/to/report.docx` for native delivery.
267
-
268
- ## Webhook Mode
269
-
270
- By default, Hermes connects to Telegram using **long polling** — the gateway makes outbound requests to Telegram's servers to fetch new updates. This works well for local and always-on deployments.
271
-
272
- For **cloud deployments** (Fly.io, Railway, Render, etc.), **webhook mode** is more cost-effective. These platforms can auto-wake suspended machines on inbound HTTP traffic, but not on outbound connections. Since polling is outbound, a polling bot can never sleep. Webhook mode flips the direction — Telegram pushes updates to your bot's HTTPS URL, enabling sleep-when-idle deployments.
273
-
274
- | | Polling (default) | Webhook |
275
- |---|---|---|
276
- | Direction | Gateway → Telegram (outbound) | Telegram → Gateway (inbound) |
277
- | Best for | Local, always-on servers | Cloud platforms with auto-wake |
278
- | Setup | No extra config | Set `TELEGRAM_WEBHOOK_URL` |
279
- | Idle cost | Machine must stay running | Machine can sleep between messages |
280
-
281
- ### Configuration
282
-
283
- Add the following to `~/.hermes/.env`:
284
-
285
- ```bash
286
- TELEGRAM_WEBHOOK_URL=https://my-app.fly.dev/telegram
287
- TELEGRAM_WEBHOOK_SECRET="$(openssl rand -hex 32)" # required
288
- # TELEGRAM_WEBHOOK_PORT=8443 # optional, default 8443
289
- ```
290
-
291
- | Variable | Required | Description |
292
- |----------|----------|-------------|
293
- | `TELEGRAM_WEBHOOK_URL` | Yes | Public HTTPS URL where Telegram will send updates. The URL path is auto-extracted (e.g., `/telegram` from the example above). |
294
- | `TELEGRAM_WEBHOOK_SECRET` | **Yes** (when `TELEGRAM_WEBHOOK_URL` is set) | Secret token that Telegram echoes in every webhook request for verification. The gateway refuses to start without it — see [GHSA-3vpc-7q5r-276h](https://github.com/NousResearch/hermes-agent/security/advisories/GHSA-3vpc-7q5r-276h). Generate with `openssl rand -hex 32`. |
295
- | `TELEGRAM_WEBHOOK_PORT` | No | Local port the webhook server listens on (default: `8443`). |
296
-
297
- When `TELEGRAM_WEBHOOK_URL` is set, the gateway starts an HTTP webhook server instead of polling. When unset, polling mode is used — no behavior change from previous versions.
298
-
299
- ### Cloud deployment example (Fly.io)
300
-
301
- 1. Add the env vars to your Fly.io app secrets:
302
-
303
- ```bash
304
- fly secrets set TELEGRAM_WEBHOOK_URL=https://my-app.fly.dev/telegram
305
- fly secrets set TELEGRAM_WEBHOOK_SECRET=$(openssl rand -hex 32)
306
- ```
307
-
308
- 2. Expose the webhook port in your `fly.toml`:
309
-
310
- ```toml
311
- [[services]]
312
- internal_port = 8443
313
- protocol = "tcp"
314
-
315
- [[services.ports]]
316
- handlers = ["tls", "http"]
317
- port = 443
318
- ```
319
-
320
- 3. Deploy:
321
-
322
- ```bash
323
- fly deploy
324
- ```
325
-
326
- The gateway log should show: `[telegram] Connected to Telegram (webhook mode)`.
327
-
328
- ## Proxy Support
329
-
330
- If Telegram's API is blocked or you need to route traffic through a proxy, set a Telegram-specific proxy URL. This takes priority over the generic `HTTPS_PROXY` / `HTTP_PROXY` env vars.
331
-
332
- **Option 1: config.yaml (recommended)**
333
-
334
- ```yaml
335
- telegram:
336
- proxy_url: "socks5://127.0.0.1:1080"
337
- ```
338
-
339
- **Option 2: environment variable**
340
-
341
- ```bash
342
- TELEGRAM_PROXY=socks5://127.0.0.1:1080
343
- ```
344
-
345
- Supported schemes: `http://`, `https://`, `socks5://`.
346
-
347
- The proxy applies to both the main Telegram connection and the fallback IP transport. If no Telegram-specific proxy is set, the gateway falls back to `HTTPS_PROXY` / `HTTP_PROXY` / `ALL_PROXY` (or macOS system proxy auto-detection).
348
-
349
- If the fallback IP discovery path is unhealthy on your host, set `HERMES_TELEGRAM_DISABLE_FALLBACK_IPS=true` to keep cold connect on the plain `api.telegram.org` path. You can also bound DNS-over-HTTPS fallback discovery with `HERMES_TELEGRAM_FALLBACK_DISCOVERY_TIMEOUT` in seconds; the default is `5`.
350
-
351
- ## Home Channel
352
-
353
- Use the `/sethome` command in any Telegram chat (DM or group) to designate it as the **home channel**. Scheduled tasks (cron jobs) deliver their results to this channel.
354
-
355
- You can also set it manually in `~/.hermes/.env`:
356
-
357
- ```bash
358
- TELEGRAM_HOME_CHANNEL=-1001234567890
359
- TELEGRAM_HOME_CHANNEL_NAME="My Notes"
360
- ```
361
-
362
- :::tip
363
- Group chat IDs are negative numbers (e.g., `-1001234567890`). Your personal DM chat ID is the same as your user ID.
364
- :::
365
-
366
- ### Cron deliveries in topic mode
367
-
368
- If you have topic mode enabled in your bot DM, cron messages delivered to the root chat land in the system-only lobby — replying there opens no session and you see the "main chat is reserved for system commands" notice. Create a dedicated forum topic (e.g. `Cron`) and set:
369
-
370
- ```bash
371
- TELEGRAM_CRON_THREAD_ID=<topic_thread_id>
372
- ```
373
-
374
- `TELEGRAM_CRON_THREAD_ID` overrides `TELEGRAM_HOME_CHANNEL_THREAD_ID` for cron deliveries only. Replies in that topic continue the topic's existing session.
375
-
376
- ## Voice Messages
377
-
378
- ### Incoming Voice (Speech-to-Text)
379
-
380
- Voice messages you send on Telegram are automatically transcribed by Hermes's configured STT provider and injected as text into the conversation.
381
-
382
- - `local` uses `faster-whisper` on the machine running Hermes — no API key required
383
- - `groq` uses Groq Whisper and requires `GROQ_API_KEY`
384
- - `openai` uses OpenAI Whisper and requires `VOICE_TOOLS_OPENAI_KEY`
385
-
386
- #### Skipping STT: pass the raw audio file to the agent
387
-
388
- If you'd rather have the **agent itself** handle audio — for diarization, a custom transcription tool, or just archiving the recording — set `stt.enabled: false` in `~/.hermes/config.yaml`:
389
-
390
- ```yaml
391
- stt:
392
- enabled: false
393
- ```
394
-
395
- With STT disabled, the gateway still downloads the voice/audio attachment into Hermes's audio cache, but **does not transcribe it**. The agent receives the message with a marker like:
396
-
397
- ```
398
- [The user sent a voice message: /home/<user>/.hermes/cache/audio/<hash>.ogg]
399
- ```
400
-
401
- Your tools or skills can then read that path directly (e.g., hand it off to a local diarization pipeline, a richer transcription model, or upload it to long-term storage). The file extension reflects the original format Telegram delivered (`.ogg` for voice notes, `.mp3`/`.m4a`/etc. for audio attachments).
402
-
403
- This pairs naturally with the [local Bot API server](#large-files-20mb-via-local-bot-api-server) section below, which lifts Telegram's 20MB getFile ceiling to 2GB — useful when the recordings you want to process are longer than a couple of minutes.
404
-
405
- ### Outgoing Voice (Text-to-Speech)
406
-
407
- When the agent generates audio via TTS, it's delivered as native Telegram **voice bubbles** — the round, inline-playable kind.
408
-
409
- - **OpenAI and ElevenLabs** produce Opus natively — no extra setup needed
410
- - **Edge TTS** (the default free provider) outputs MP3 and requires **ffmpeg** to convert to Opus:
411
-
412
- ```bash
413
- # Ubuntu/Debian
414
- sudo apt install ffmpeg
415
-
416
- # macOS
417
- brew install ffmpeg
418
- ```
419
-
420
- Without ffmpeg, Edge TTS audio is sent as a regular audio file (still playable, but uses the rectangular player instead of a voice bubble).
421
-
422
- Configure the TTS provider in your `config.yaml` under the `tts.provider` key.
423
-
424
- ## Large Files (>20MB) via Local Bot API Server
425
-
426
- Telegram's **public** Bot API caps `getFile` downloads at **20 MB**, so any voice note, audio file, video, or document larger than that is silently rejected by Hermes with a "too large" reply. The documented way around this is to run a **local** [telegram-bot-api](https://github.com/tdlib/telegram-bot-api) daemon — the same server software Telegram uses, but running on your network. A local server raises the file ceiling to **2 GB** and Hermes auto-lifts its own internal cap when it sees a custom `base_url` configured.
427
-
428
- This unlocks workflows like:
429
-
430
- - Sending long voice memos (45-minute meetings, podcasts) to the bot
431
- - Uploading large videos for vision-tool processing
432
- - Archiving raw audio for offline pipelines like diarization, alignment, or training data
433
-
434
- ### Step 1: Obtain Telegram API credentials
435
-
436
- The local server talks directly to Telegram's MTProto layer (not the public Bot API), so it needs **MTProto credentials**:
437
-
438
- 1. Visit [my.telegram.org/apps](https://my.telegram.org/apps) and sign in with your Telegram account.
439
- 2. Create a new application (any name and short description will do).
440
- 3. Copy the `api_id` and `api_hash` — both are required.
441
-
442
- ### Step 2: Run the telegram-bot-api server
443
-
444
- The community-maintained [`aiogram/telegram-bot-api`](https://hub.docker.com/r/aiogram/telegram-bot-api) Docker image is the easiest path. A minimal `docker-compose.yaml` (use `--local` mode to enable the higher limits):
445
-
446
- ```yaml
447
- services:
448
- tg-bot-api:
449
- image: aiogram/telegram-bot-api:latest
450
- container_name: tg-bot-api
451
- restart: unless-stopped
452
- ports:
453
- - "127.0.0.1:8081:8081" # bind to loopback only; see security note
454
- environment:
455
- TELEGRAM_API_ID: "12345" # your api_id from Step 1
456
- TELEGRAM_API_HASH: "abcdef..." # your api_hash from Step 1
457
- TELEGRAM_LOCAL: "1" # enable --local mode (raises 20MB → 2GB)
458
- volumes:
459
- - ./tg-bot-api-data:/var/lib/telegram-bot-api
460
- ```
461
-
462
- Bring it up:
463
-
464
- ```bash
465
- docker compose up -d tg-bot-api
466
- docker logs --tail 20 tg-bot-api
467
- ```
468
-
469
- :::warning Security
470
- The local Bot API server takes your bot token in the URL path (e.g. `/bot<TOKEN>/getMe`) with **no additional auth**. Anyone who can reach the port can fully control your bot — read every message it can see, send messages as it, etc. Bind the container to `127.0.0.1` and/or front it with a reverse proxy on a private network. **Never expose port 8081 to the public internet.**
471
- :::
472
-
473
- ### Step 3: Log the bot out of the public API (one-time)
474
-
475
- A bot can only be active on **one** Bot API server at a time. If your bot was already running against `api.telegram.org` (which it almost certainly was), you must explicitly log it out there before the local server will accept it:
476
-
477
- ```bash
478
- curl "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/logOut"
479
- # expected response: {"ok":true,"result":true}
480
- ```
481
-
482
- This is a one-shot migration step — you don't repeat it on every restart. Telegram delivers any messages received after `logOut` through the new server instead.
483
-
484
- Verify the local server can talk to Telegram on the bot's behalf:
485
-
486
- ```bash
487
- curl "http://127.0.0.1:8081/bot<YOUR_BOT_TOKEN>/getMe"
488
- # expected response: {"ok":true,"result":{"id":...,"is_bot":true,...}}
489
- ```
490
-
491
- ### Step 4: Point Hermes at the local server
492
-
493
- Add the URLs under `platforms.telegram.extra` in `~/.hermes/config.yaml`:
494
-
495
- ```yaml
496
- platforms:
497
- telegram:
498
- extra:
499
- base_url: "http://127.0.0.1:8081/bot"
500
- base_file_url: "http://127.0.0.1:8081/file/bot"
501
- local_mode: true # see Step 5 below — only set this if the bot's data
502
- # directory is readable by the Hermes process
503
- ```
504
-
505
- :::caution Use `platforms.telegram.extra`, not `telegram.extra`
506
- At the moment only the `platforms.<name>.extra` form is deep-merged into the platform config. Keys placed directly under a top-level `telegram.extra` block are silently dropped.
507
- :::
508
-
509
- When `base_url` is set, Hermes:
510
-
511
- - Builds the python-telegram-bot client against the local server
512
- - Auto-lifts its internal document/audio size cap from 20 MB → 2 GB
513
- - Reports the active limit in the "too large" error message (`Maximum: 2048 MB.`) so it's obvious which mode you're in
514
-
515
- Restart the gateway and look for a confirmation log line:
516
-
517
- ```bash
518
- hermes gateway restart
519
- grep -E "Using custom Telegram base_url|Using Telegram local_mode" ~/.hermes/logs/gateway.log | tail
520
- ```
521
-
522
- ### Step 5: `local_mode` — file access on disk
523
-
524
- The local server has **two ways** to deliver files:
525
-
526
- 1. **Without `--local`** (the default): files are served over HTTP at `/file/bot<TOKEN>/<path>`, same as the public Bot API. The 20MB ceiling stays in effect. Useful as a network-fix only (e.g. when `api.telegram.org` is unreachable but you can self-host); not what you want for the size lift.
527
- 2. **With `--local`** (set via `TELEGRAM_LOCAL=1` above): files are written to the server's filesystem and the `getFile` response returns an **absolute path** instead of an HTTP URL. The 20MB ceiling is lifted. Hermes must then read the bytes **from disk**, not over HTTP.
528
-
529
- To make the disk-read path work, set `local_mode: true` in the config above **and** make sure the Hermes process can read the path the server returns. Two scenarios:
530
-
531
- - **Same machine** — telegram-bot-api and Hermes run on the same host. Bind-mount the data volume to a directory that Hermes can read (e.g., `/var/lib/telegram-bot-api`), and make sure the file ownership matches. The container drops privileges to its internal `telegram-bot-api` user (uid varies by image); the simplest fix is to add `user: "<UID>:<GID>"` to the compose service so files are owned by a uid Hermes already runs as.
532
- - **Different machines** — the bot server runs on one host (e.g., a NAS, a separate VM) and Hermes on another. The server's data directory must be shared with the Hermes machine at the **same absolute path** the server reports (typically `/var/lib/telegram-bot-api`). NFS works well for this; CIFS/SMB with `uid=` mount remapping is friendlier if you don't want to deal with uid mismatches at the filesystem level.
533
-
534
- If `local_mode: true` is set but Hermes can't `stat` the returned file path (permissions or wrong mount), python-telegram-bot silently falls back to an HTTP `getFile` against the local server — which in `--local` mode responds with `404 Not Found`. The symptom shows up in `gateway.log` as:
535
-
536
- ```
537
- [Telegram] Failed to cache voice: Not Found
538
- telegram.error.InvalidToken: Not Found
539
- ```
540
-
541
- If you see that, the cap-lift is working but the file-share isn't. Verify `ls -la /var/lib/telegram-bot-api/<TOKEN>/voice/` from the Hermes host as the user the gateway runs as, and confirm a single file is `cat`-able without a permission error.
542
-
543
- ### Step 6: Test it
544
-
545
- Send the bot a voice note or audio file that's bigger than 20 MB. Tail the gateway log:
546
-
547
- ```bash
548
- tail -f ~/.hermes/logs/gateway.log | grep -iE "telegram|cache"
549
- ```
550
-
551
- You should see a `[Telegram] Cached user voice at /home/<user>/.hermes/cache/audio/...` line and **no** "too large" rejection. Combined with `stt.enabled: false` (above), the path to the original audio file then lands in the agent's inbound message for downstream processing.
552
-
553
- ## Group Chat Usage
554
-
555
- Hermes Agent works in Telegram group chats with a few considerations:
556
-
557
- - **Privacy mode** determines what messages the bot can see (see [Step 3](#step-3-privacy-mode-critical-for-groups))
558
- - `TELEGRAM_ALLOWED_USERS` still applies — only authorized users can trigger the bot, even in groups
559
- - You can keep the bot from responding to ordinary group chatter with `telegram.require_mention: true`
560
- - With `telegram.require_mention: true`, group messages are accepted when they are:
561
- - replies to one of the bot's messages
562
- - `@botusername` mentions
563
- - `/command@botusername` (Telegram's bot-menu command form that includes the bot name)
564
- - matches for one of your configured regex wake words in `telegram.mention_patterns`
565
- - In groups with multiple Hermes bots, `telegram.exclusive_bot_mentions` keeps routing deterministic. When a message explicitly mentions one or more Telegram bot usernames, only the mentioned bot profiles process it; other Hermes bots ignore it before reply and wake-word fallbacks run. This is enabled by default.
566
- - Renaming the bot's `@username` in BotFather is picked up automatically — Hermes follows the new handle for mention routing without a gateway restart. Collectible (Fragment) usernames that don't end in `bot` are supported too.
567
- - Use `telegram.ignored_threads` to keep Hermes silent in specific Telegram forum topics, even when the group would otherwise allow free responses or mention-triggered replies
568
- - If `telegram.require_mention` is left unset or false, Hermes keeps the previous open-group behavior and responds to normal group messages it can see
569
-
570
- ### Multiple Hermes bots in one group
571
-
572
- If you run several Hermes profiles in the same Telegram group, create one Telegram bot token per profile and start one gateway per profile. Do not reuse the same bot token in multiple running gateways; Telegram will reject concurrent polling for the same token.
573
-
574
- Recommended group config:
575
-
576
- ```yaml
577
- telegram:
578
- require_mention: true
579
- exclusive_bot_mentions: true
580
- mention_patterns: []
581
- ```
582
-
583
- With this setup, a group message like `@research_bot @ops_bot summarize this` is processed by `research_bot` and `ops_bot` only. Other Hermes bots in the group stay silent, even if the message is a reply to one of their earlier messages or would otherwise match a shared wake word.
584
-
585
- Two Hermes bots that answer each other's quote-replies can still loop forever with `TELEGRAM_ALLOW_BOTS=all`, because a reply to the bot always passes the `require_mention` gate. Setting `telegram.bots_require_mention: true` (env `TELEGRAM_BOTS_REQUIRE_MENTION`) closes that path: a message from another bot only triggers a response when it explicitly `@mentions` this bot, while human replies keep working unchanged.
586
-
587
- A bot-to-bot loop guard also meters every chat where bot-authored messages are admitted (`TELEGRAM_ALLOW_BOTS` set to `mentions` or `all`). Once 20 bot messages land in one chat inside 5 minutes, further bot messages in that chat are dropped for 10 minutes and one warning is logged; human messages are never counted or dropped. Settings live in `config.yaml`:
588
-
589
- ```yaml
590
- gateway:
591
- bot_loop_guard:
592
- enabled: true # false turns the guard off
593
- max_events: 20 # bot messages per chat per window
594
- window_seconds: 300
595
- cooldown_seconds: 600
596
- ```
597
-
598
- A legitimate high-volume bot posting more than 20 messages into one chat in 5 minutes trips the guard too; raise `max_events` for that gateway.
599
-
600
- Group conversation text and media captions keep every mention when the message names other participants too (`@research_bot , @ops_bot are you both listening?` reaches `research_bot` verbatim); when this bot is the only one addressed, its own handle is still stripped so short answers such as `@hermes_bot 2` keep working. Group turns also carry the bot's own Telegram username in the per-channel context so the model can tell which retained mentions are for it. Slash commands still use the normal command-trigger cleanup.
601
-
602
- Set `exclusive_bot_mentions: false` only for legacy groups where explicit mentions should not override reply and wake-word triggers.
603
-
604
- To operate several profiles, run the gateway command once per profile. For example:
605
-
606
- ```bash
607
- # default profile
608
- hermes gateway start
609
- hermes gateway status
610
- hermes gateway stop
611
-
612
- # named profiles
613
- hermes -p research gateway start
614
- hermes -p research gateway status
615
- hermes -p research gateway stop
616
- ```
617
-
618
- For a small fixed fleet, use a shell loop or script that calls `hermes gateway <action>` for the default profile and `hermes -p <profile> gateway <action>` for each named profile. This is more reliable than assuming a single process-level command controls every named profile on every service manager.
619
-
620
- ### Troubleshooting: works in DMs but not groups
621
-
622
- If the bot responds in a private chat but stays silent in a group, check these
623
- gates in order:
624
-
625
- 1. **Telegram delivery:** turn off BotFather privacy mode, promote the bot to
626
- admin, or mention the bot directly. Hermes cannot respond to group messages
627
- that Telegram never delivers to the bot.
628
- 2. **Rejoin after changing privacy:** remove the bot from the group and add it
629
- again after changing BotFather privacy settings. Telegram may keep the old
630
- delivery behavior for existing memberships.
631
- 3. **Hermes authorization:** make sure the sender is listed in
632
- `TELEGRAM_ALLOWED_USERS` or `TELEGRAM_GROUP_ALLOWED_USERS`, or allow the
633
- group chat with `TELEGRAM_GROUP_ALLOWED_CHATS`.
634
- 4. **Mention filters:** if `telegram.require_mention: true` is set, normal
635
- group chatter is ignored unless the message is a slash command, reply to the
636
- bot, `@botusername` mention, or configured `mention_patterns` match.
637
- 5. **Multi-bot routing:** if a group contains several bots, make sure each
638
- Hermes profile uses a unique bot token and keep `exclusive_bot_mentions`
639
- enabled unless you intentionally want legacy shared-trigger behavior.
640
-
641
- Negative chat IDs are normal for Telegram groups and supergroups. If you use
642
- chat-scoped authorization, put those IDs in `TELEGRAM_GROUP_ALLOWED_CHATS`, not
643
- the sender-user allowlist.
644
-
645
- ### Example group trigger configuration
646
-
647
- Add this to `~/.hermes/config.yaml`:
648
-
649
- ```yaml
650
- telegram:
651
- require_mention: true
652
- exclusive_bot_mentions: true
653
- mention_patterns:
654
- - "^\\s*chompy\\b"
655
- ignored_threads:
656
- - 31
657
- - "42"
658
- ```
659
-
660
- This example allows all the usual direct triggers plus messages that begin with `chompy`, even if they do not use an `@mention`.
661
- Messages in Telegram topics `31` and `42` are always ignored before the mention and free-response checks run.
662
-
663
- ### Notes on `mention_patterns`
664
-
665
- - Patterns use Python regular expressions
666
- - Matching is case-insensitive
667
- - Patterns are checked against both text messages and media captions
668
- - Invalid regex patterns are ignored with a warning in the gateway logs rather than crashing the bot
669
- - If you want a pattern to match only at the start of a message, anchor it with `^`
670
-
671
- ## Private Chat Topics (Bot API 9.4)
672
-
673
- Telegram Bot API 9.4 (February 2026) introduced **Private Chat Topics** — bots can create forum-style topic threads directly in 1-on-1 DM chats, no supergroup needed. This lets you run multiple isolated workspaces within your existing DM with Hermes.
674
-
675
- ### Use case
676
-
677
- If you work on several long-running projects, topics keep their context separate:
678
-
679
- - **Topic "Website"** — work on your production web service
680
- - **Topic "Research"** — literature review and paper exploration
681
- - **Topic "General"** — miscellaneous tasks and quick questions
682
-
683
- Each topic gets its own conversation session, history, and context — completely isolated from the others.
684
-
685
- ### Configuration
686
-
687
- :::caution Prerequisites
688
- Before adding topics to your config, the user must **enable Topics mode** in the DM chat with the bot:
689
-
690
- 1. Open your private chat with the Hermes bot in Telegram
691
- 2. Tap the bot's name at the top to open chat info
692
- 3. Enable **Topics** (the toggle to turn the chat into a forum)
693
-
694
- Without this, Hermes will log `The chat is not a forum` on startup and skip topic creation. This is a Telegram client-side setting — the bot cannot enable it programmatically.
695
- :::
696
-
697
- Add topics under `platforms.telegram.extra.dm_topics` in `~/.hermes/config.yaml`:
698
-
699
- ```yaml
700
- platforms:
701
- telegram:
702
- extra:
703
- dm_topics:
704
- - chat_id: 123456789 # Your Telegram user ID
705
- topics:
706
- - name: General
707
- icon_color: 7322096
708
- - name: Website
709
- icon_color: 9367192
710
- - name: Research
711
- icon_color: 16766590
712
- skill: arxiv # Auto-load a skill in this topic
713
- ```
714
-
715
- **Fields:**
716
-
717
- | Field | Required | Description |
718
- |-------|----------|-------------|
719
- | `name` | Yes | Topic display name |
720
- | `icon_color` | No | Telegram icon color code (integer) |
721
- | `icon_custom_emoji_id` | No | Custom emoji ID for the topic icon |
722
- | `skill` | No | Skill to auto-load on new sessions in this topic |
723
- | `thread_id` | No | Auto-populated after topic creation — don't set manually |
724
-
725
- ### How it works
726
-
727
- 1. On gateway startup, Hermes calls `createForumTopic` for each topic that doesn't have a `thread_id` yet
728
- 2. The `thread_id` is saved back to `config.yaml` automatically — subsequent restarts skip the API call
729
- 3. Each topic maps to an isolated session key: `agent:main:telegram:dm:{chat_id}:{thread_id}`
730
- 4. Messages in each topic have their own conversation history, memory flush, and context window
731
-
732
- ### Root DM handling
733
-
734
- By default, messages sent to the root DM (outside any topic) are processed
735
- normally. Set `ignore_root_dm: true` to turn the root DM into a lobby — normal
736
- messages are silently ignored for users who have DM topics configured, while
737
- system commands (`/start`, `/help`, `/status`, etc.) still work.
738
-
739
- ```yaml
740
- platforms:
741
- telegram:
742
- extra:
743
- ignore_root_dm: true
744
- dm_topics:
745
- - chat_id: 123456789
746
- topics:
747
- - name: General
748
- ```
749
-
750
- The check is **per-chat**: only users with at least one entry in `dm_topics`
751
- will have their root DM affected. Users without configured topics are
752
- unaffected.
753
-
754
- ### Skill binding
755
-
756
- Topics with a `skill` field automatically load that skill when a new session starts in the topic. This works exactly like typing `/skill-name` at the start of a conversation — the skill content is injected into the first message, and subsequent messages see it in the conversation history.
757
-
758
- For example, a topic with `skill: arxiv` will have the arxiv skill pre-loaded whenever its session resets (after an explicit `/new` or `/reset`).
759
-
760
- :::tip
761
- Topics created outside of the config (e.g., by manually calling the Telegram API) are discovered automatically when a `forum_topic_created` service message arrives. You can also add topics to the config while the gateway is running — they'll be picked up on the next cache miss.
762
- :::
763
-
764
- ## Multi-session DM mode (`/topic`)
765
-
766
- A ChatGPT-style multi-session DM — one bot, many parallel conversations. Unlike the operator-curated `extra.dm_topics` above, this mode is **user-driven**: no config, no pre-declared topic names. The end user flips it on with `/topic`, then taps the Telegram **+** button to create as many topics as they want, each one a fully independent Hermes session.
767
-
768
- ### `/topic` subcommands
769
-
770
- | Form | Context | Effect |
771
- |------|---------|--------|
772
- | `/topic` | Root DM, not yet enabled | Check BotFather capabilities, enable multi-session mode, create pinned System topic |
773
- | `/topic` | Root DM, already enabled | Show status: unlinked sessions available for restore |
774
- | `/topic` | Inside a topic | Show the current topic's session binding |
775
- | `/topic help` | Any | Inline usage |
776
- | `/topic off` | Root DM | Disable multi-session mode and clear all topic bindings for this chat |
777
- | `/topic <session-id>` | Inside a topic | Restore a previous Telegram session into the current topic |
778
-
779
- Only authorized users (allowlist via `TELEGRAM_ALLOWED_USERS` / platform auth config) can run `/topic`. An unauthorized sender gets a refusal instead of activation.
780
-
781
- ### DM Topics vs Multi-session DM mode
782
-
783
- | | `extra.dm_topics` (config-driven) | `/topic` (user-driven) |
784
- |---|---|---|
785
- | Who activates it | Operator, in `config.yaml` | End user, by sending `/topic` |
786
- | Topic list | Fixed set declared in config | User creates/deletes topics freely |
787
- | Topic names | Chosen by operator | Chosen by user; auto-renamed to match Hermes session title |
788
- | Root DM behavior | Normal chat (lobby if `ignore_root_dm: true`) | Becomes a system lobby (non-command messages are rejected) |
789
- | Primary use case | Permanent workspaces with optional skill binding | Ad-hoc parallel sessions |
790
- | Persistence | `extra.dm_topics` in config | `telegram_dm_topic_mode` + `telegram_dm_topic_bindings` SQLite tables |
791
-
792
- Both features can coexist on the same bot — you'd run `/topic` from a user's DM, and `extra.dm_topics` continues to manage operator-declared topics for other chats.
793
-
794
- ### Prerequisites
795
-
796
- In **@BotFather**, open your bot → **Bot Settings → Threads Settings**:
797
-
798
- 1. Turn on **Threaded Mode** (enables `has_topics_enabled`)
799
- 2. Do **not** disable users creating topics (keeps `allows_users_to_create_topics` on)
800
-
801
- When the user first runs `/topic`, Hermes calls `getMe` to verify both flags. If either is off, Hermes sends a screenshot of the BotFather Threads Settings page and explains what to toggle — no activation happens until prerequisites are met.
802
-
803
- ### Activation flow
804
-
805
- From the root DM, send:
806
-
807
- ```
808
- /topic
809
- ```
810
-
811
- Hermes will:
812
-
813
- 1. Check `getMe().has_topics_enabled` and `allows_users_to_create_topics`
814
- 2. If both are true, enable multi-session topic mode for this DM
815
- 3. Create and pin a **System** topic for status/commands (best-effort)
816
- 4. Reply with a list of previous unlinked Telegram sessions the user can restore
817
-
818
- After activation, the **root DM is a lobby**: normal prompts are rejected with guidance pointing at **All Messages**. System commands (`/status`, `/sessions`, `/usage`, `/help`, etc.) still work in the root.
819
-
820
- ### Creating a new topic (end-user flow)
821
-
822
- 1. Open the bot DM in Telegram
823
- 2. Tap **All Messages** at the top of the bot interface, then send any message
824
- 3. Telegram creates a new topic for that message
825
- 4. Hermes responds inside that topic — the topic is now a standalone session
826
-
827
- Every topic gets its own conversation history, model state, tool execution, and session ID. The isolation key is `agent:main:telegram:dm:{chat_id}:{thread_id}` — identical to the config-driven DM topics isolation.
828
-
829
- ### Auto-renamed topics
830
-
831
- When Hermes generates a session title for a topic (via the auto-title pipeline, after the first exchange), the Telegram topic itself is renamed to match — e.g. "New Topic" becomes "Database migration plan". The rename is best-effort: failures are logged but don't break the session.
832
-
833
- To disable this and keep your manually-chosen topic names untouched, set:
834
-
835
- ```yaml
836
- gateway:
837
- platforms:
838
- telegram:
839
- extra:
840
- disable_topic_auto_rename: true
841
- ```
842
-
843
- When this flag is on, Hermes still generates an internal session title (used by `hermes sessions`, the TUI, etc.) but never edits the Telegram topic name. Useful when you organise topics by hand under BotFather Threaded Mode and don't want every first reply to overwrite the title.
844
-
845
- ### `/new` inside a topic
846
-
847
- Resets the current topic's session (new session ID, fresh history) without touching other topics. Hermes replies with a reminder that for parallel work, creating another topic (via **All Messages**) is usually what you want.
848
-
849
- ### Restoring a previous session
850
-
851
- Inside a topic, send:
852
-
853
- ```
854
- /topic <session-id>
855
- ```
856
-
857
- This binds the current topic to an existing Hermes session instead of starting fresh. Useful for continuing a conversation that started before topic mode was enabled. Restrictions:
858
-
859
- - The target session must belong to the same Telegram user
860
- - The target session must not already be bound to another topic
861
-
862
- Hermes confirms with the session title and replays the last assistant message for context.
863
-
864
- To discover session IDs, send `/topic` (no argument) in the root DM — Hermes lists the user's unlinked Telegram sessions.
865
-
866
- ### `/topic` inside a topic (no argument)
867
-
868
- Shows the current topic's binding: session title, session ID, and hints for `/new` vs creating another topic.
869
-
870
- ### Under the hood
871
-
872
- - Activation persists to `telegram_dm_topic_mode(profile_name, chat_id, user_id, enabled, ...)` in `state.db`. Primary key is `(profile_name, chat_id)` so multiplexed / profile-routed bots sharing one `state.db` do not clobber each other when the same Telegram user DMs multiple bots (private `chat_id` is the user id and is identical across bots).
873
- - Each topic binding persists to `telegram_dm_topic_bindings(profile_name, chat_id, thread_id, session_id, ...)` with PK `(profile_name, chat_id, thread_id)` and `ON DELETE CASCADE` on `session_id` — pruning a session automatically clears its topic binding
874
- - The topic-mode SQLite migration is **opt-in**: it runs on the first `/topic` call, never on gateway startup. Until a user runs `/topic` in this profile, `state.db` is unchanged. Schema v3 adds `profile_name`; legacy rows migrate into the `default` namespace only
875
- - Each inbound DM message looks up its `(profile_name, chat_id, thread_id)` binding using the **routed** profile (`source.profile`, not the process-global active profile). If present, the lookup routes the message to the bound session via `SessionStore.switch_session()` so the session-key-to-session-id mapping stays consistent on disk
876
- - `/new` inside a topic rewrites the binding row to point at the new session ID, so the next message stays on the fresh session
877
- - Topics declared in `extra.dm_topics` are **never auto-renamed** — the operator-chosen name is preserved even when multi-session mode is enabled
878
- - Set `extra.disable_topic_auto_rename: true` to turn off auto-rename for **all** topics in the chat (ad-hoc topics created via Threaded Mode included)
879
- - The General (pinned top) topic in a forum-enabled DM is treated as the root lobby, regardless of whether Telegram delivers its messages with `message_thread_id=1` or with no thread_id
880
- - Root-lobby reminders are rate-limited to one message per 30 seconds per **(profile, chat)** — a user who forgets topic mode is on and types ten prompts in the root won't get ten replies, and two multiplexed profiles sharing a chat id do not suppress each other's reminders
881
- - BotFather setup screenshots are rate-limited to one send per 5 minutes per **(profile, chat)** — repeated `/topic` attempts while Threads Settings are still disabled won't re-upload the same image
882
- - `/bg <prompt>` started inside a topic delivers its result back to the same topic; background sessions don't trigger auto-rename of the owning topic
883
- - `/topic` itself is gated by the bot's user authorization check — unauthorized DMs get a refusal instead of activation
884
-
885
- ### Disabling multi-session mode
886
-
887
- Send `/topic off` in the root DM. Hermes flips the row off for **this profile's** namespace, clears that profile's `(thread_id → session_id)` bindings for the chat, and the root DM reverts to a normal Hermes chat. Existing topics in Telegram aren't deleted — they just stop being gated as independent sessions. Re-run `/topic` later to turn it back on.
888
-
889
- If you need to clean up by hand (e.g. a bulk reset across many chats), scope rows by `profile_name` (use `default` for single-profile installs):
890
-
891
- ```bash
892
- sqlite3 ~/.hermes/state.db \
893
- "UPDATE telegram_dm_topic_mode SET enabled = 0
894
- WHERE profile_name = 'default' AND chat_id = '<your_chat_id>';
895
- DELETE FROM telegram_dm_topic_bindings
896
- WHERE profile_name = 'default' AND chat_id = '<your_chat_id>';"
897
- ```
898
-
899
- ### Downgrading Hermes
900
-
901
- If you downgrade to a Hermes version that predates `/topic`, the feature simply stops working — the `telegram_dm_topic_mode` and `telegram_dm_topic_bindings` tables remain in `state.db` but are ignored by older code. DMs revert to the native per-thread isolation (each `message_thread_id` still gets its own session via `build_session_key`), so your existing Telegram topics keep working as parallel sessions. The root DM is no longer a lobby — messages there go into the agent like they used to. Re-upgrading reactivates multi-session mode exactly where it was.
902
-
903
- ## Group Forum Topic Skill Binding
904
-
905
- Supergroups with **Topics mode** enabled (also called "forum topics") already get session isolation per topic — each `thread_id` maps to its own conversation. But you may want to **auto-load a skill** when messages arrive in a specific group topic, just like DM topic skill binding works.
906
-
907
- ### Use case
908
-
909
- A team supergroup with forum topics for different workstreams:
910
-
911
- - **Engineering** topic → auto-loads the `software-development` skill
912
- - **Research** topic → auto-loads the `arxiv` skill
913
- - **General** topic → no skill, general-purpose assistant
914
-
915
- ### Configuration
916
-
917
- Add topic bindings under `platforms.telegram.extra.group_topics` in `~/.hermes/config.yaml`:
918
-
919
- ```yaml
920
- platforms:
921
- telegram:
922
- extra:
923
- group_topics:
924
- - chat_id: -1001234567890 # Supergroup ID
925
- topics:
926
- - name: Engineering
927
- thread_id: 5
928
- skill: software-development
929
- - name: Research
930
- thread_id: 12
931
- skill: arxiv
932
- - name: General
933
- thread_id: 1
934
- # No skill — general purpose
935
- ```
936
-
937
- **Fields:**
938
-
939
- | Field | Required | Description |
940
- |-------|----------|-------------|
941
- | `chat_id` | Yes | The supergroup's numeric ID (negative number starting with `-100`) |
942
- | `name` | No | Human-readable label for the topic (informational only) |
943
- | `thread_id` | Yes | Telegram forum topic ID — visible in `t.me/c/<group_id>/<thread_id>` links |
944
- | `skill` | No | Skill to auto-load on new sessions in this topic |
945
-
946
- ### How it works
947
-
948
- 1. When a message arrives in a mapped group topic, Hermes looks up the `chat_id` and `thread_id` in `group_topics` config
949
- 2. If a matching entry has a `skill` field, that skill is auto-loaded for the session — identical to DM topic skill binding
950
- 3. Topics without a `skill` key get session isolation only (existing behavior, unchanged)
951
- 4. Unmapped `thread_id` values or `chat_id` values fall through silently — no error, no skill
952
-
953
- ### Differences from DM Topics
954
-
955
- | | DM Topics | Group Topics |
956
- |---|---|---|
957
- | Config key | `extra.dm_topics` | `extra.group_topics` |
958
- | Topic creation | Hermes creates topics via API if `thread_id` is missing | Admin creates topics in Telegram UI |
959
- | `thread_id` | Auto-populated after creation | Must be set manually |
960
- | `icon_color` / `icon_custom_emoji_id` | Supported | Not applicable (admin controls appearance) |
961
- | Skill binding | ✓ | ✓ |
962
- | Session isolation | ✓ | ✓ (already built-in for forum topics) |
963
-
964
- :::tip
965
- To find a topic's `thread_id`, open the topic in Telegram Web or Desktop and look at the URL: `https://t.me/c/1234567890/5` — the last number (`5`) is the `thread_id`. The `chat_id` for supergroups is the group ID prefixed with `-100` (e.g., group `1234567890` becomes `-1001234567890`).
966
- :::
967
-
968
- ## Recent Bot API Features
969
-
970
- - **Bot API 9.4 (Feb 2026):** Private Chat Topics — bots can create forum topics in 1-on-1 DM chats via `createForumTopic`. Hermes uses this for two distinct features: operator-curated [Private Chat Topics](#private-chat-topics-bot-api-94) (config-driven, fixed topic list) and user-driven [Multi-session DM mode](#multi-session-dm-mode-topic) (activated by `/topic`, unlimited user-created topics).
971
- - **Privacy policy:** Telegram now requires bots to have a privacy policy. Set one via BotFather with `/setprivacy_policy`, or Telegram may auto-generate a placeholder. This is particularly important if your bot is public-facing.
972
- - **Bot API 9.5 (Mar 2026): Native streaming via `sendMessageDraft`.** Hermes supports Telegram's native streaming-draft API as an opt-in transport for private chats. The default remains the legacy `editMessageText` path because draft previews can visibly collapse and re-render on some Telegram clients.
973
-
974
- ### Streaming transport (`gateway.streaming.transport`)
975
-
976
- When streaming is enabled (`gateway.streaming.enabled: true`), Hermes picks one of four transports:
977
-
978
- | Value | Behaviour |
979
- |---|---|
980
- | `auto` (default) | Native draft streaming on supported chats (currently Telegram DMs); legacy edit-based path otherwise. Falls back gracefully if a draft frame fails. |
981
- | `draft` | Force native drafts. Logs a downgrade and falls back to edit if the chat doesn't support drafts (e.g. groups/topics). |
982
- | `edit` | Legacy progressive `editMessageText` polling for every chat type. |
983
- | `off` | Disable streaming entirely (final reply only, no progressive updates). |
984
-
985
- In `~/.hermes/config.yaml`:
986
-
987
- ```yaml
988
- gateway:
989
- streaming:
990
- enabled: true
991
- transport: auto # auto | draft | edit | off
992
- ```
993
-
994
- **What you'll see in DMs with `edit` (default)** — the gateway sends a normal preview message and progressively updates it via `editMessageText`, avoiding Telegram's draft-preview collapse/rollback effect.
995
-
996
- **What you'll see in DMs with `auto` or `draft`** — Telegram shows an animated draft preview that updates token-by-token. When the reply finishes, it's delivered as a regular message and the draft preview clears naturally on the client. Drafts have no message id, so the final answer is what stays in your chat history.
997
-
998
- **What about groups, supergroups, forum topics?** Telegram restricts `sendMessageDraft` to private chats (DMs). The gateway transparently falls back to the edit-based path for everything else — same UX as before.
999
-
1000
- **What if a draft frame fails?** Any failure (transient network error, server-side rejection, older python-telegram-bot install) flips that response back to the edit-based path for the rest of the stream. The next response gets a fresh attempt.
1001
-
1002
- ## Rendering: Rich Messages, Tables and Link Previews
1003
-
1004
- **Rich Messages (Bot API 10.1).** Final replies that contain constructs the legacy MarkdownV2 path degrades — tables, task lists, collapsible `<details>`, and block math — are sent with Telegram's native [`sendRichMessage`](https://core.telegram.org/bots/api#sendrichmessage) using the agent's **raw markdown**, so they render natively with no client-side flattening. In DMs, the default `rich_drafts: false` keeps the streaming preview plain — it uses Telegram's ephemeral draft transport with legacy rendering (tables and other rich-only constructs stay as raw markdown in the preview) — then persists the completed response with `sendRichMessage`. Setting `rich_drafts: true` makes the live preview use `sendRichMessageDraft` too. Edit-based streams can finalize an existing preview in place through `editMessageText`'s `rich_message` parameter. Ordinary replies (plain prose, bold/italic, simple lists) stay on the MarkdownV2 path for consistent font weight and spacing across clients.
1005
-
1006
- The rich path is skipped automatically when content exceeds the 32,768-character rich text limit, and any rejection from Telegram (unsupported endpoint on an older `python-telegram-bot`, parser error, oversized blocks/columns) **transparently falls back** to the MarkdownV2 path — your message is never lost. Transient/network errors are *not* silently re-sent (no duplicate final message).
1007
-
1008
- **MarkdownV2 fallback.** When the rich path is unavailable for a message, Hermes converts markdown to MarkdownV2. Since MarkdownV2 has no native table syntax, pipe tables are normalized:
1009
-
1010
- - **Small tables** are flattened into **row-group bullets** — each row becomes a readable bulleted list under the column headings. Good for 2–4 columns and short cells.
1011
- - **Larger or wider tables** fall back to a **fenced code block** with aligned columns so nothing collapses.
1012
-
1013
- Rich messages are **opt-in**. The default stays on the legacy MarkdownV2 path because current Telegram clients can make Bot API rich messages difficult to copy as plain text, which is especially painful for command snippets and mobile handoffs. To enable native rendering for tables/task lists/details/math:
1014
-
1015
- ```yaml
1016
- gateway:
1017
- platforms:
1018
- telegram:
1019
- extra:
1020
- rich_messages: true
1021
- rich_drafts: false
1022
- allow_cjk_rich_messages: false
1023
- ```
1024
-
1025
- This setting is for client-rendering/copy compatibility; Hermes already falls back automatically when Telegram rejects the rich API call. `rich_drafts` controls whether the DM streaming preview *renders* rich (`sendRichMessageDraft`) and stays off by default because Telegram Desktop/macOS can visually overlay rich draft frames until the chat redraws; with it off, the preview streams plain and the final still arrives as a native Rich Message.
1026
-
1027
- CJK text (Chinese, Japanese, Korean, and rare Han extensions) stays on the legacy MarkdownV2 path by default because affected Telegram Desktop/macOS clients have rendered Bot API rich messages with overlapping CJK glyph artifacts. If you use an unaffected client and prefer native rich tables/task lists/details/math for CJK payloads, set `allow_cjk_rich_messages: true` alongside `rich_messages: true` to opt in to that client-side risk.
1028
-
1029
- If you only want the legacy "always code-block" table behavior while keeping rich messages enabled, disable table normalization by setting `telegram.pretty_tables: false` in `config.yaml` (default: `true`).
1030
-
1031
- **Link previews.** Telegram auto-generates link previews for URLs in bot messages. If you'd rather suppress those (long `/tools` output, agent reply that mentions ten links, etc.):
1032
-
1033
- ```yaml
1034
- gateway:
1035
- platforms:
1036
- telegram:
1037
- extra:
1038
- disable_link_previews: true
1039
- ```
1040
-
1041
- When enabled, Hermes attaches Telegram's `LinkPreviewOptions(is_disabled=True)` to every outgoing message and falls back to the legacy `disable_web_page_preview` parameter on older `python-telegram-bot` versions.
1042
-
1043
- ## Group Allowlisting
1044
-
1045
- Telegram groups and forum chats have two orthogonal gates you can configure:
1046
-
1047
- - **Sender user IDs** (`group_allow_from` / `TELEGRAM_GROUP_ALLOWED_USERS`) — sender-scoped allowlist that applies only to group/forum messages. Use this when you want specific users to be able to invoke the bot in groups without adding them to `TELEGRAM_ALLOWED_USERS` (which would also give them DM access).
1048
- - **Chat IDs** (`group_allowed_chats` / `TELEGRAM_GROUP_ALLOWED_CHATS`) — chat-scoped allowlist. Any member of these groups/forums can interact with the bot. Useful for team/support bots where group membership itself is the access signal.
1049
-
1050
- ```yaml
1051
- gateway:
1052
- platforms:
1053
- telegram:
1054
- extra:
1055
- # Global access (DMs + groups). Users here can always invoke the bot.
1056
- allow_from:
1057
- - "123456789"
1058
- # Sender IDs allowed in groups/forums only. Does NOT grant DM access.
1059
- group_allow_from:
1060
- - "987654321"
1061
- # Entire groups/forums — any member is authorized.
1062
- group_allowed_chats:
1063
- - "-1001234567890"
1064
- ```
1065
-
1066
- Equivalent env vars:
1067
-
1068
- ```bash
1069
- TELEGRAM_ALLOWED_USERS="123456789"
1070
- TELEGRAM_GROUP_ALLOWED_USERS="987654321"
1071
- TELEGRAM_GROUP_ALLOWED_CHATS="-1001234567890"
1072
- ```
1073
-
1074
- Behavior:
1075
-
1076
- - `TELEGRAM_ALLOWED_USERS` covers all chat types (DMs, groups, forums).
1077
- - `TELEGRAM_GROUP_ALLOWED_USERS` only authorizes the listed senders in groups/forums. They still can't DM the bot unless listed in `TELEGRAM_ALLOWED_USERS`.
1078
- - A chat in `TELEGRAM_GROUP_ALLOWED_CHATS` authorizes every member of that chat, regardless of sender.
1079
- - Use `*` in any of these to allow any sender/chat.
1080
- - This layers on top of existing mention/pattern triggers and on top of `group_topics` + `ignored_threads`.
1081
-
1082
- ### Migration from before PR #17686
1083
-
1084
- Prior to this split, `TELEGRAM_GROUP_ALLOWED_USERS` was the only knob and users put **chat IDs** in it. For backward compatibility, chat-ID-shaped values (starting with `-`) in `TELEGRAM_GROUP_ALLOWED_USERS` are still honored as chat IDs and a deprecation warning is logged once. Migration:
1085
-
1086
- ```bash
1087
- # Old (still works, but deprecated)
1088
- TELEGRAM_GROUP_ALLOWED_USERS="-1001234567890"
1089
-
1090
- # New
1091
- TELEGRAM_GROUP_ALLOWED_CHATS="-1001234567890"
1092
- ```
1093
-
1094
- ### Guest @mention bypass (`guest_mode`)
1095
-
1096
- In a typical setup, `group_allowed_chats` is a hard gate: messages from groups outside the list are silently dropped, even if a member explicitly @mentions the bot. That's the right default for support / team bots.
1097
-
1098
- For more casual setups — friend group chats where you want the bot **mostly silent** but **occasionally available on explicit ping** — enable `guest_mode`:
1099
-
1100
- ```yaml
1101
- gateway:
1102
- platforms:
1103
- telegram:
1104
- extra:
1105
- group_allowed_chats:
1106
- - "-1001234567890" # your main allowlisted group
1107
- guest_mode: true # non-allowlisted groups: allow on @mention only
1108
- ```
1109
-
1110
- Env equivalent:
1111
-
1112
- ```bash
1113
- TELEGRAM_GUEST_MODE=true
1114
- ```
1115
-
1116
- Default: `false`.
1117
-
1118
- With `guest_mode: true`, a message from a non-allowlisted group is processed **only** if it explicitly @mentions the bot. The mention is required every turn — there's no session stickiness for guest interactions, so the bot never auto-engages in a friend group thread it isn't pinged into.
1119
-
1120
- DMs and allowlisted groups behave exactly as before.
1121
-
1122
- ## Slash Command Access Control
1123
-
1124
- By default, every allowed user can run every slash command. To split your allowlist into **admins** (full slash command access) and **regular users** (only commands you explicitly enable), add `allow_admin_from` and `user_allowed_commands` to the platform's `extra` block:
1125
-
1126
- ```yaml
1127
- gateway:
1128
- platforms:
1129
- telegram:
1130
- extra:
1131
- # Existing allowlists (unchanged)
1132
- allow_from:
1133
- - "123456789" # admin
1134
- - "555555555" # regular user
1135
- - "777777777" # regular user
1136
-
1137
- # NEW — admins get all slash commands (built-in + plugin)
1138
- allow_admin_from:
1139
- - "123456789"
1140
-
1141
- # NEW — non-admin allowed users can only run these slash commands.
1142
- # /help and /whoami are always allowed so users can see their access.
1143
- user_allowed_commands:
1144
- - status
1145
- - model
1146
- - history
1147
-
1148
- # Optional: separate admin/command lists for groups
1149
- group_allow_admin_from:
1150
- - "123456789"
1151
- group_user_allowed_commands:
1152
- - status
1153
- ```
1154
-
1155
- **Behavior:**
1156
-
1157
- - A user listed in `allow_admin_from` for a scope (DM or group) can run **every** registered slash command — built-in commands AND plugin-registered ones — through the live registry.
1158
- - A user in `allow_from` but **not** in `allow_admin_from` can only run commands listed in `user_allowed_commands`, plus the always-allowed floor: `/help` and `/whoami`.
1159
- - Plain chat (non-slash messages) is unaffected. Non-admin users can still talk to the agent normally, they just can't trigger arbitrary commands.
1160
- - **Backward compat:** if `allow_admin_from` is not set for a scope, slash command gating is disabled for that scope. Existing installs keep working with no changes.
1161
- - DM admin status does not imply group admin status. Each scope has its own admin list.
1162
- - If only `group_allow_admin_from` is set, DM scope stays in unrestricted (backward-compat) mode.
1163
-
1164
- Use `/whoami` to see the active scope, your tier (admin / user / unrestricted), and which slash commands you can run.
1165
-
1166
- ## Interactive Model Picker
1167
-
1168
- When you send `/model` with no arguments in a Telegram chat, Hermes shows an interactive inline keyboard for switching models:
1169
-
1170
- 1. **Provider selection** — buttons showing each available provider with model counts (e.g., "OpenAI (15)", "✓ Anthropic (12)" for the current provider).
1171
- 2. **Model selection** — paginated model list with **Prev**/**Next** navigation, a **Back** button to return to providers, and **Cancel**.
1172
-
1173
- The current model and provider are displayed at the top. All navigation happens by editing the same message in-place (no chat clutter).
1174
-
1175
- :::tip
1176
- If you know the exact model name, type `/model <name>` directly to skip the picker. You can also type `/model <name> --global` to persist the change across sessions.
1177
- :::
1178
-
1179
- ## DNS-over-HTTPS Fallback IPs
1180
-
1181
- In some restricted networks, `api.telegram.org` may resolve to an IP that is unreachable. The Telegram adapter includes a **fallback IP** mechanism that transparently retries connections against alternative IPs while preserving the correct TLS hostname and SNI.
1182
-
1183
- ### How it works
1184
-
1185
- 1. If `TELEGRAM_FALLBACK_IPS` is set, those IPs are used directly.
1186
- 2. Otherwise, the adapter automatically queries **Google DNS** and **Cloudflare DNS** via DNS-over-HTTPS (DoH) to discover alternative IPs for `api.telegram.org`.
1187
- 3. Known IPv4 Telegram API IPs are tried **before** the dual-stack `api.telegram.org` hostname. A blackholed IPv6 path can sit in `connect()` without erroring, which used to pin the event loop so the 30s init deadline never fired.
1188
- 4. If DoH is also blocked or times out, a hardcoded IPv4 seed list (`149.154.166.110`, `149.154.167.220`) is used as that IPv4-first list. The hostname remains last resort.
1189
- 5. Once a path succeeds, it becomes "sticky" — subsequent requests use it directly. The hostname is kept as a last resort for IPv6-only networks.
1190
-
1191
- ### Configuration
1192
-
1193
- ```bash
1194
- # Explicit fallback IPs (comma-separated)
1195
- TELEGRAM_FALLBACK_IPS=149.154.167.220,149.154.167.221
1196
- ```
1197
-
1198
- Or in `~/.hermes/config.yaml`:
1199
-
1200
- ```yaml
1201
- platforms:
1202
- telegram:
1203
- extra:
1204
- fallback_ips:
1205
- - "149.154.167.220"
1206
- ```
1207
-
1208
- :::tip
1209
- You usually don't need to configure this manually. The auto-discovery via DoH handles most restricted-network scenarios. The `TELEGRAM_FALLBACK_IPS` env var is only needed if DoH is also blocked on your network. If IPv6 is broken on the host, you can also set `network.force_ipv4: true` in `config.yaml` to skip AAAA lookups process-wide.
1210
- :::
1211
-
1212
- ## Proxy Support
1213
-
1214
- If your network requires an HTTP proxy to reach the internet (common in corporate environments), the Telegram adapter automatically reads standard proxy environment variables and routes all connections through the proxy.
1215
-
1216
- ### Supported variables
1217
-
1218
- The adapter checks these environment variables in order, using the first one that is set:
1219
-
1220
- 1. `HTTPS_PROXY`
1221
- 2. `HTTP_PROXY`
1222
- 3. `ALL_PROXY`
1223
- 4. `https_proxy` / `http_proxy` / `all_proxy` (lowercase variants)
1224
-
1225
- ### Configuration
1226
-
1227
- Set the proxy in your environment before starting the gateway:
1228
-
1229
- ```bash
1230
- export HTTPS_PROXY=http://proxy.example.com:8080
1231
- hermes gateway
1232
- ```
1233
-
1234
- Or add it to `~/.hermes/.env`:
1235
-
1236
- ```bash
1237
- HTTPS_PROXY=http://proxy.example.com:8080
1238
- ```
1239
-
1240
- The proxy applies to both the primary transport and all fallback IP transports. No additional Hermes configuration is needed — if the environment variable is set, it's used automatically.
1241
-
1242
- :::note
1243
- This covers the custom fallback transport layer that Hermes uses for Telegram connections. The standard `httpx` client used elsewhere already respects proxy env vars natively.
1244
- :::
1245
-
1246
- ## Message Reactions
1247
-
1248
- The bot can add emoji reactions to messages as visual processing feedback:
1249
-
1250
- - 👀 when the bot starts processing your message
1251
- - 👍 when the response is delivered successfully
1252
- - 👎 if an error occurs during processing
1253
-
1254
- Reactions are **disabled by default**. Enable them in `config.yaml`:
1255
-
1256
- ```yaml
1257
- telegram:
1258
- reactions: true
1259
- ```
1260
-
1261
- Or via environment variable:
1262
-
1263
- ```bash
1264
- TELEGRAM_REACTIONS=true
1265
- ```
1266
-
1267
- :::note
1268
- Unlike Discord (where reactions are additive), Telegram's Bot API replaces all bot reactions in a single call. The transition from 👀 to 👍/👎 happens atomically — you won't see both at once.
1269
- :::
1270
-
1271
- :::tip
1272
- If the bot doesn't have permission to add reactions in a group, the reaction calls fail silently and message processing continues normally.
1273
- :::
1274
-
1275
- ## Per-Channel Prompts
1276
-
1277
- Assign ephemeral system prompts to specific Telegram groups or forum topics. The prompt is injected at runtime on every turn — never persisted to transcript history — so changes take effect immediately.
1278
-
1279
- ```yaml
1280
- telegram:
1281
- channel_prompts:
1282
- "-1001234567890": |
1283
- You are a research assistant. Focus on academic sources,
1284
- citations, and concise synthesis.
1285
- "42": |
1286
- This topic is for creative writing feedback. Be warm and
1287
- constructive.
1288
- ```
1289
-
1290
- Keys are chat IDs (groups/supergroups) or forum topic IDs. For forum groups, topic-level prompts override the group-level prompt:
1291
-
1292
- - Message in topic `42` inside group `-1001234567890` → uses topic `42`'s prompt
1293
- - Message in topic `99` (no explicit entry) → falls back to group `-1001234567890`'s prompt
1294
- - Message in a group with no entry → no channel prompt applied
1295
-
1296
- Numeric YAML keys are automatically normalized to strings.
1297
-
1298
- ## Troubleshooting
1299
-
1300
- | Problem | Solution |
1301
- |---------|----------|
1302
- | Bot not responding at all | Verify `TELEGRAM_BOT_TOKEN` is correct. Check `hermes gateway` logs for errors. |
1303
- | Bot responds with "unauthorized" | Your user ID is not in `TELEGRAM_ALLOWED_USERS`. Double-check with @userinfobot. |
1304
- | Bot ignores group messages | Privacy mode is likely on. Disable it (Step 3) or make the bot a group admin. **Remember to remove and re-add the bot after changing privacy.** |
1305
- | Voice messages not transcribed | Verify STT is available: install `faster-whisper` for local transcription, or set `GROQ_API_KEY` / `VOICE_TOOLS_OPENAI_KEY` in `~/.hermes/.env`. |
1306
- | Voice replies are files, not bubbles | Install `ffmpeg` (needed for Edge TTS Opus conversion). |
1307
- | Bot token revoked/invalid | Generate a new token via `/revoke` then `/newbot` or `/token` in BotFather. Update your `.env` file. |
1308
- | Webhook not receiving updates | Verify `TELEGRAM_WEBHOOK_URL` is publicly reachable (test with `curl`). Ensure your platform/reverse proxy routes inbound HTTPS traffic from the URL's port to the local listen port configured by `TELEGRAM_WEBHOOK_PORT` (they do not need to be the same number). Ensure SSL/TLS is active — Telegram only sends to HTTPS URLs. Check firewall rules. |
1309
-
1310
- ## Exec Approval
1311
-
1312
- When the agent tries to run a potentially dangerous command, it asks you for approval in the chat:
1313
-
1314
- > ⚠️ This command is potentially dangerous (recursive delete). Reply "yes" to approve.
1315
-
1316
- Reply "yes"/"y" to approve or "no"/"n" to deny.
1317
-
1318
- ## Interactive Prompts (clarify)
1319
-
1320
- When the agent calls the `clarify` tool — to ask which approach you prefer, get post-task feedback, or check before a non-trivial decision — Telegram renders the question with **inline keyboard buttons**:
1321
-
1322
- > ❓ Which framework should I use for the dashboard?
1323
- >
1324
- > [1. Next.js] [2. Remix] [3. Astro]
1325
- > [✏️ Other (type answer)]
1326
-
1327
- Tap a button to answer, or tap **Other** to type a free-form response (the next message you send becomes the answer). Open-ended `clarify` calls (no preset choices) skip the buttons and just capture your next message.
1328
-
1329
- Configure the response timeout via `agent.clarify_timeout` in `~/.hermes/config.yaml` (default `600` seconds). If you don't respond within the timeout, the agent unblocks with a sentinel message and adapts rather than hanging.
1330
-
1331
- ## Push notification volume
1332
-
1333
- Telegram fires a push notification on every message the bot sends. For long agent turns that emit tool-progress bubbles, streaming updates, and status callbacks, this gets noisy fast. The Telegram adapter has two notification modes:
1334
-
1335
- | Mode | Behavior |
1336
- |------|----------|
1337
- | `important` (default) | Only **final responses**, **approval prompts**, and **slash-command confirmations** ring. Tool progress, streaming chunks, and status messages are delivered with `disable_notification=true`. |
1338
- | `all` | Every outgoing message fires a push notification. Legacy behavior; opt in if you genuinely want to hear about every tool call. |
1339
-
1340
- Configure in `~/.hermes/config.yaml`:
1341
-
1342
- ```yaml
1343
- display:
1344
- platforms:
1345
- telegram:
1346
- notifications: important # or "all"
1347
- ```
1348
-
1349
- Env override (handy for quick A/B testing):
1350
-
1351
- ```bash
1352
- HERMES_TELEGRAM_NOTIFICATIONS=all
1353
- ```
1354
-
1355
- Unknown values log a warning and fall back to `important`.
1356
-
1357
- ## Status messages edited in place
1358
-
1359
- The Telegram adapter routes recurring agent status callbacks (e.g. "Compressing context…", "Calling tool…") through `send_or_update_status()`, which keeps a `{(chat_id, status_key) → message_id}` cache and **edits the existing bubble** on subsequent emits instead of appending a new one each time. Distinct `status_key` values get their own messages; distinct chats never collide. If the edit fails (e.g. the user deleted the message, or it's older than Telegram allows for edits), the cache entry is dropped and the next emit posts a fresh message and re-caches its ID. No config required — this is the default Telegram behavior. Other adapters that don't implement `send_or_update_status` fall through to plain `send()` unchanged.
1360
-
1361
- ## Pin incoming user message during agent turn
1362
-
1363
- When a user sends a message that triggers an agent turn, the Telegram adapter pins that incoming message for the duration of the turn and unpins it when the response is finished — a lightweight visual indicator that the bot is actively working on the message rather than ignoring it. The pin uses `disable_notification=true` to avoid extra pings. No config required.
1364
-
1365
- ## Security
1366
-
1367
- :::warning
1368
- Always set `TELEGRAM_ALLOWED_USERS` to restrict who can interact with your bot. Without it, the gateway denies all users by default as a safety measure.
1369
- :::
1370
-
1371
- Never share your bot token publicly. If compromised, revoke it immediately via BotFather's `/revoke` command.
1372
-
1373
- For more details, see the [Security documentation](/user-guide/security). You can also use [DM pairing](/user-guide/messaging#dm-pairing-alternative-to-allowlists) for a more dynamic approach to user authorization.