HelixAgentAi 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. helixagentai-0.1.3/.env.example +117 -0
  2. helixagentai-0.1.3/.gitignore +86 -0
  3. helixagentai-0.1.3/LICENSE +21 -0
  4. helixagentai-0.1.3/PKG-INFO +225 -0
  5. helixagentai-0.1.3/README.md +160 -0
  6. helixagentai-0.1.3/api/__init__.py +0 -0
  7. helixagentai-0.1.3/api/deps.py +75 -0
  8. helixagentai-0.1.3/api/errors.py +58 -0
  9. helixagentai-0.1.3/api/gateway.py +624 -0
  10. helixagentai-0.1.3/api/models.py +29 -0
  11. helixagentai-0.1.3/api/prometheus.py +23 -0
  12. helixagentai-0.1.3/cli/__init__.py +3 -0
  13. helixagentai-0.1.3/cli/__main__.py +6 -0
  14. helixagentai-0.1.3/cli/commands/__init__.py +0 -0
  15. helixagentai-0.1.3/cli/commands/chat.py +511 -0
  16. helixagentai-0.1.3/cli/commands/config.py +76 -0
  17. helixagentai-0.1.3/cli/commands/cron.py +112 -0
  18. helixagentai-0.1.3/cli/commands/docs.py +69 -0
  19. helixagentai-0.1.3/cli/commands/doctor.py +62 -0
  20. helixagentai-0.1.3/cli/commands/gateway.py +87 -0
  21. helixagentai-0.1.3/cli/commands/hub.py +408 -0
  22. helixagentai-0.1.3/cli/commands/install_cmd.py +89 -0
  23. helixagentai-0.1.3/cli/commands/logs.py +185 -0
  24. helixagentai-0.1.3/cli/commands/mcp.py +506 -0
  25. helixagentai-0.1.3/cli/commands/memory.py +53 -0
  26. helixagentai-0.1.3/cli/commands/models.py +648 -0
  27. helixagentai-0.1.3/cli/commands/run.py +58 -0
  28. helixagentai-0.1.3/cli/commands/search.py +223 -0
  29. helixagentai-0.1.3/cli/commands/skills.py +323 -0
  30. helixagentai-0.1.3/cli/commands/telegram.py +108 -0
  31. helixagentai-0.1.3/cli/commands/telegram_setup.py +198 -0
  32. helixagentai-0.1.3/cli/commands/update_cmd.py +106 -0
  33. helixagentai-0.1.3/cli/config/__init__.py +0 -0
  34. helixagentai-0.1.3/cli/core.py +329 -0
  35. helixagentai-0.1.3/cli/doctor/__init__.py +5 -0
  36. helixagentai-0.1.3/cli/doctor/checks.py +733 -0
  37. helixagentai-0.1.3/cli/doctor/findings.py +35 -0
  38. helixagentai-0.1.3/cli/doctor/fixes.py +128 -0
  39. helixagentai-0.1.3/cli/doctor/llm_doctor.py +180 -0
  40. helixagentai-0.1.3/cli/doctor/report.py +74 -0
  41. helixagentai-0.1.3/cli/doctor/runner.py +77 -0
  42. helixagentai-0.1.3/cli/installer/__init__.py +29 -0
  43. helixagentai-0.1.3/cli/installer/manifest.py +95 -0
  44. helixagentai-0.1.3/cli/installer/system.py +379 -0
  45. helixagentai-0.1.3/cli/installer/update.py +426 -0
  46. helixagentai-0.1.3/cli/main.py +322 -0
  47. helixagentai-0.1.3/cli/services/__init__.py +5 -0
  48. helixagentai-0.1.3/cli/services/cron_worker.py +33 -0
  49. helixagentai-0.1.3/cli/services/docs_site.py +128 -0
  50. helixagentai-0.1.3/cli/services/docs_worker.py +30 -0
  51. helixagentai-0.1.3/cli/services/gateway_daemon.py +271 -0
  52. helixagentai-0.1.3/cli/services/gateway_state.py +137 -0
  53. helixagentai-0.1.3/cli/services/gateway_worker.py +63 -0
  54. helixagentai-0.1.3/cli/services/supervisor.py +265 -0
  55. helixagentai-0.1.3/cli/shared/__init__.py +24 -0
  56. helixagentai-0.1.3/cli/shared/agent_host.py +43 -0
  57. helixagentai-0.1.3/cli/shared/commands/__init__.py +3 -0
  58. helixagentai-0.1.3/cli/shared/commands/agent_commands.py +488 -0
  59. helixagentai-0.1.3/cli/shared/commands/context_compress.py +87 -0
  60. helixagentai-0.1.3/cli/shared/commands/cron_commands.py +224 -0
  61. helixagentai-0.1.3/cli/shared/commands/project_init.py +67 -0
  62. helixagentai-0.1.3/cli/shared/commands/registry.py +118 -0
  63. helixagentai-0.1.3/cli/shared/commands/search_commands.py +75 -0
  64. helixagentai-0.1.3/cli/shared/commands/skills_commands.py +149 -0
  65. helixagentai-0.1.3/cli/shared/commands/subagent_commands.py +92 -0
  66. helixagentai-0.1.3/cli/shared/rich_text.py +35 -0
  67. helixagentai-0.1.3/cli/shared/slash_input.py +74 -0
  68. helixagentai-0.1.3/cli/tui/__init__.py +24 -0
  69. helixagentai-0.1.3/cli/tui/app.py +5 -0
  70. helixagentai-0.1.3/cli/tui/code/__init__.py +19 -0
  71. helixagentai-0.1.3/cli/tui/code/app.py +1374 -0
  72. helixagentai-0.1.3/cli/tui/code/handlers/__init__.py +4 -0
  73. helixagentai-0.1.3/cli/tui/code/handlers/events.py +211 -0
  74. helixagentai-0.1.3/cli/tui/code/handlers/slash.py +7 -0
  75. helixagentai-0.1.3/cli/tui/code/styles.py +85 -0
  76. helixagentai-0.1.3/cli/tui/code/widgets/__init__.py +17 -0
  77. helixagentai-0.1.3/cli/tui/code/widgets/context_bar.py +34 -0
  78. helixagentai-0.1.3/cli/tui/code/widgets/copy_selection_bar.py +77 -0
  79. helixagentai-0.1.3/cli/tui/code/widgets/prompt.py +11 -0
  80. helixagentai-0.1.3/cli/tui/code/widgets/slash_suggestions.py +40 -0
  81. helixagentai-0.1.3/cli/tui/code/widgets/status_bar.py +12 -0
  82. helixagentai-0.1.3/cli/tui/code/widgets/transcript.py +25 -0
  83. helixagentai-0.1.3/cli/tui/code/widgets/transcript_panel.py +41 -0
  84. helixagentai-0.1.3/cli/tui/legacy/app.py +4005 -0
  85. helixagentai-0.1.3/cli/tui/legacy/confirmation_modal.py +5 -0
  86. helixagentai-0.1.3/cli/tui/legacy/handlers/__init__.py +6 -0
  87. helixagentai-0.1.3/cli/tui/legacy/handlers/event_handler.py +381 -0
  88. helixagentai-0.1.3/cli/tui/legacy/handlers/slash_commands.py +306 -0
  89. helixagentai-0.1.3/cli/tui/legacy/plan_review_modal.py +35 -0
  90. helixagentai-0.1.3/cli/tui/legacy/subagents_widget.py +406 -0
  91. helixagentai-0.1.3/cli/tui/legacy/widgets/__init__.py +15 -0
  92. helixagentai-0.1.3/cli/tui/legacy/widgets/chat_log.py +42 -0
  93. helixagentai-0.1.3/cli/tui/legacy/widgets/input_area.py +15 -0
  94. helixagentai-0.1.3/cli/tui/legacy/widgets/main_content.py +29 -0
  95. helixagentai-0.1.3/cli/tui/legacy/widgets/sidebar.py +52 -0
  96. helixagentai-0.1.3/cli/tui/legacy/widgets/styles.py +366 -0
  97. helixagentai-0.1.3/cli/tui/modals/__init__.py +7 -0
  98. helixagentai-0.1.3/cli/tui/modals/confirmation.py +148 -0
  99. helixagentai-0.1.3/cli/tui/modals/confirmation_presenter.py +74 -0
  100. helixagentai-0.1.3/cli/tui/modals/cron_manager.py +222 -0
  101. helixagentai-0.1.3/cli/tui/modals/hub_browser.py +1054 -0
  102. helixagentai-0.1.3/cli/tui/modals/model_picker.py +188 -0
  103. helixagentai-0.1.3/cli/tui/modals/plan_review.py +135 -0
  104. helixagentai-0.1.3/cli/tui/modals/stack.py +29 -0
  105. helixagentai-0.1.3/cli/tui/modals/transcript_viewer.py +109 -0
  106. helixagentai-0.1.3/cli/tui/shared/__init__.py +43 -0
  107. helixagentai-0.1.3/cli/tui/shared/clipboard.py +91 -0
  108. helixagentai-0.1.3/cli/tui/shared/copy_bar.py +38 -0
  109. helixagentai-0.1.3/cli/tui/shared/diff_render.py +161 -0
  110. helixagentai-0.1.3/cli/tui/shared/formatters.py +73 -0
  111. helixagentai-0.1.3/cli/tui/shared/host_protocol.py +20 -0
  112. helixagentai-0.1.3/cli/tui/shared/keyboard_layout.py +131 -0
  113. helixagentai-0.1.3/cli/tui/shared/slash_suggestions.py +65 -0
  114. helixagentai-0.1.3/cli/tui/shared/text_escape.py +18 -0
  115. helixagentai-0.1.3/cli/tui/shared/transcript_store.py +134 -0
  116. helixagentai-0.1.3/cli/tui/web_entry.py +27 -0
  117. helixagentai-0.1.3/cli/tui/web_security.py +139 -0
  118. helixagentai-0.1.3/cli/tui/web_serve.py +88 -0
  119. helixagentai-0.1.3/cli/tui/web_server.py +70 -0
  120. helixagentai-0.1.3/cli/utils/__init__.py +0 -0
  121. helixagentai-0.1.3/cli/utils/banner.py +59 -0
  122. helixagentai-0.1.3/cli/utils/ports.py +42 -0
  123. helixagentai-0.1.3/cli/utils/rich_console.py +158 -0
  124. helixagentai-0.1.3/config.py +240 -0
  125. helixagentai-0.1.3/core/__init__.py +0 -0
  126. helixagentai-0.1.3/core/agent.py +409 -0
  127. helixagentai-0.1.3/core/agent_events.py +638 -0
  128. helixagentai-0.1.3/core/agent_execution.py +529 -0
  129. helixagentai-0.1.3/core/config_utils.py +126 -0
  130. helixagentai-0.1.3/core/context/__init__.py +17 -0
  131. helixagentai-0.1.3/core/context/compressor.py +186 -0
  132. helixagentai-0.1.3/core/context/manager.py +258 -0
  133. helixagentai-0.1.3/core/context/token_counter.py +125 -0
  134. helixagentai-0.1.3/core/cron/__init__.py +12 -0
  135. helixagentai-0.1.3/core/cron/expressions.py +43 -0
  136. helixagentai-0.1.3/core/cron/models.py +43 -0
  137. helixagentai-0.1.3/core/cron/notifier.py +79 -0
  138. helixagentai-0.1.3/core/cron/runner.py +211 -0
  139. helixagentai-0.1.3/core/cron/schedule_parse.py +76 -0
  140. helixagentai-0.1.3/core/cron/scheduler.py +76 -0
  141. helixagentai-0.1.3/core/cron/session_sync.py +75 -0
  142. helixagentai-0.1.3/core/cron/store.py +130 -0
  143. helixagentai-0.1.3/core/di/__init__.py +20 -0
  144. helixagentai-0.1.3/core/di/container.py +105 -0
  145. helixagentai-0.1.3/core/di/factories.py +20 -0
  146. helixagentai-0.1.3/core/di/providers.py +53 -0
  147. helixagentai-0.1.3/core/di/runtime_config.py +225 -0
  148. helixagentai-0.1.3/core/env_loader.py +178 -0
  149. helixagentai-0.1.3/core/evolution/__init__.py +7 -0
  150. helixagentai-0.1.3/core/evolution/engine.py +258 -0
  151. helixagentai-0.1.3/core/graph/__init__.py +7 -0
  152. helixagentai-0.1.3/core/graph/builder.py +199 -0
  153. helixagentai-0.1.3/core/graph/modes/__init__.py +13 -0
  154. helixagentai-0.1.3/core/graph/modes/_compile.py +22 -0
  155. helixagentai-0.1.3/core/graph/modes/hybrid.py +55 -0
  156. helixagentai-0.1.3/core/graph/modes/plan_execute.py +77 -0
  157. helixagentai-0.1.3/core/graph/modes/react.py +45 -0
  158. helixagentai-0.1.3/core/graph/modes/router.py +157 -0
  159. helixagentai-0.1.3/core/graph/nodes/__init__.py +3 -0
  160. helixagentai-0.1.3/core/graph/nodes/collect_subagent_node.py +60 -0
  161. helixagentai-0.1.3/core/graph/nodes/delegate_subagent_node.py +69 -0
  162. helixagentai-0.1.3/core/graph/nodes/execute_step_node.py +223 -0
  163. helixagentai-0.1.3/core/graph/nodes/finalize_node.py +146 -0
  164. helixagentai-0.1.3/core/graph/nodes/memory_retrieval_node.py +128 -0
  165. helixagentai-0.1.3/core/graph/nodes/meta_agent_node.py +83 -0
  166. helixagentai-0.1.3/core/graph/nodes/plan_node.py +481 -0
  167. helixagentai-0.1.3/core/graph/nodes/plan_review_node.py +177 -0
  168. helixagentai-0.1.3/core/graph/nodes/react_node.py +425 -0
  169. helixagentai-0.1.3/core/graph/nodes/self_refinement_node.py +117 -0
  170. helixagentai-0.1.3/core/graph/nodes/step_orchestrate_node.py +202 -0
  171. helixagentai-0.1.3/core/graph/nodes/tool_execution_node.py +108 -0
  172. helixagentai-0.1.3/core/graph/routers.py +99 -0
  173. helixagentai-0.1.3/core/graph/state.py +94 -0
  174. helixagentai-0.1.3/core/graph/tools.py +180 -0
  175. helixagentai-0.1.3/core/graph/visualization.py +310 -0
  176. helixagentai-0.1.3/core/hub/__init__.py +6 -0
  177. helixagentai-0.1.3/core/hub/autoupdate.py +119 -0
  178. helixagentai-0.1.3/core/hub/catalog.py +157 -0
  179. helixagentai-0.1.3/core/hub/claude_convert.py +45 -0
  180. helixagentai-0.1.3/core/hub/claude_marketplace.py +203 -0
  181. helixagentai-0.1.3/core/hub/claude_mcp.py +67 -0
  182. helixagentai-0.1.3/core/hub/clawhub.py +140 -0
  183. helixagentai-0.1.3/core/hub/hermes_hub.py +116 -0
  184. helixagentai-0.1.3/core/hub/importer.py +495 -0
  185. helixagentai-0.1.3/core/hub/installed.py +149 -0
  186. helixagentai-0.1.3/core/hub/interactive.py +178 -0
  187. helixagentai-0.1.3/core/hub/lockfile.py +75 -0
  188. helixagentai-0.1.3/core/hub/normalize.py +120 -0
  189. helixagentai-0.1.3/core/hub/skills_sh.py +67 -0
  190. helixagentai-0.1.3/core/hub/slash_registry.py +108 -0
  191. helixagentai-0.1.3/core/hub/sources.py +95 -0
  192. helixagentai-0.1.3/core/hub/updates.py +46 -0
  193. helixagentai-0.1.3/core/i18n/__init__.py +23 -0
  194. helixagentai-0.1.3/core/i18n/locale.py +81 -0
  195. helixagentai-0.1.3/core/i18n/messages.py +271 -0
  196. helixagentai-0.1.3/core/logging/__init__.py +14 -0
  197. helixagentai-0.1.3/core/logging/events.py +62 -0
  198. helixagentai-0.1.3/core/logging/paths.py +86 -0
  199. helixagentai-0.1.3/core/logging/reader.py +230 -0
  200. helixagentai-0.1.3/core/logging/rotation.py +81 -0
  201. helixagentai-0.1.3/core/logging/setup.py +93 -0
  202. helixagentai-0.1.3/core/logging/state.py +42 -0
  203. helixagentai-0.1.3/core/loop.py +55 -0
  204. helixagentai-0.1.3/core/loop_streaming.py +79 -0
  205. helixagentai-0.1.3/core/mcp/config.py +90 -0
  206. helixagentai-0.1.3/core/mcp/installer.py +269 -0
  207. helixagentai-0.1.3/core/mcp/manager.py +263 -0
  208. helixagentai-0.1.3/core/mcp/popular.py +144 -0
  209. helixagentai-0.1.3/core/mcp/tool.py +62 -0
  210. helixagentai-0.1.3/core/mcp/validate.py +52 -0
  211. helixagentai-0.1.3/core/memory/__init__.py +14 -0
  212. helixagentai-0.1.3/core/memory/chroma_embeddings.py +48 -0
  213. helixagentai-0.1.3/core/memory/conversation.py +274 -0
  214. helixagentai-0.1.3/core/memory/episodic.py +270 -0
  215. helixagentai-0.1.3/core/memory/facade.py +173 -0
  216. helixagentai-0.1.3/core/memory/ltm.py +128 -0
  217. helixagentai-0.1.3/core/memory/manager.py +17 -0
  218. helixagentai-0.1.3/core/memory/markdown.py +99 -0
  219. helixagentai-0.1.3/core/memory/procedural.py +218 -0
  220. helixagentai-0.1.3/core/memory/semantic.py +222 -0
  221. helixagentai-0.1.3/core/memory/strategic.py +286 -0
  222. helixagentai-0.1.3/core/memory/summarizer.py +77 -0
  223. helixagentai-0.1.3/core/memory/vector.py +236 -0
  224. helixagentai-0.1.3/core/meta_agent.py +300 -0
  225. helixagentai-0.1.3/core/models/__init__.py +32 -0
  226. helixagentai-0.1.3/core/models/catalog.py +436 -0
  227. helixagentai-0.1.3/core/models/client_factory.py +67 -0
  228. helixagentai-0.1.3/core/models/discovery.py +203 -0
  229. helixagentai-0.1.3/core/models/manager.py +186 -0
  230. helixagentai-0.1.3/core/models/profile_cleanup.py +118 -0
  231. helixagentai-0.1.3/core/models/provider.py +93 -0
  232. helixagentai-0.1.3/core/models/selector.py +106 -0
  233. helixagentai-0.1.3/core/models/setup_helpers.py +362 -0
  234. helixagentai-0.1.3/core/monitoring/__init__.py +4 -0
  235. helixagentai-0.1.3/core/monitoring/event_fields.py +25 -0
  236. helixagentai-0.1.3/core/monitoring/logger.py +152 -0
  237. helixagentai-0.1.3/core/monitoring/metrics.py +203 -0
  238. helixagentai-0.1.3/core/persistence.py +51 -0
  239. helixagentai-0.1.3/core/plan_review/__init__.py +27 -0
  240. helixagentai-0.1.3/core/plan_review/markdown_builder.py +144 -0
  241. helixagentai-0.1.3/core/plan_review/parser.py +245 -0
  242. helixagentai-0.1.3/core/plan_review/plan_storage.py +263 -0
  243. helixagentai-0.1.3/core/plan_review/review_events.py +121 -0
  244. helixagentai-0.1.3/core/plan_review/review_guard.py +200 -0
  245. helixagentai-0.1.3/core/platform_compat.py +213 -0
  246. helixagentai-0.1.3/core/presenters/__init__.py +3 -0
  247. helixagentai-0.1.3/core/presenters/live_buffer.py +108 -0
  248. helixagentai-0.1.3/core/project/__init__.py +27 -0
  249. helixagentai-0.1.3/core/project/helix_md.py +89 -0
  250. helixagentai-0.1.3/core/project/init_prompt.py +103 -0
  251. helixagentai-0.1.3/core/prompt_builder.py +132 -0
  252. helixagentai-0.1.3/core/runtime/__init__.py +6 -0
  253. helixagentai-0.1.3/core/runtime/executor.py +59 -0
  254. helixagentai-0.1.3/core/runtime/session.py +52 -0
  255. helixagentai-0.1.3/core/search/__init__.py +6 -0
  256. helixagentai-0.1.3/core/search/catalog.py +70 -0
  257. helixagentai-0.1.3/core/search/config.py +80 -0
  258. helixagentai-0.1.3/core/search/content.py +166 -0
  259. helixagentai-0.1.3/core/search/engine.py +108 -0
  260. helixagentai-0.1.3/core/search/providers.py +203 -0
  261. helixagentai-0.1.3/core/security/__init__.py +24 -0
  262. helixagentai-0.1.3/core/security/auth.py +178 -0
  263. helixagentai-0.1.3/core/security/confirmation.py +635 -0
  264. helixagentai-0.1.3/core/security/confirmation_events.py +117 -0
  265. helixagentai-0.1.3/core/security/permissions.py +53 -0
  266. helixagentai-0.1.3/core/security/safety.py +142 -0
  267. helixagentai-0.1.3/core/self_refinement/__init__.py +7 -0
  268. helixagentai-0.1.3/core/self_refinement/loop.py +295 -0
  269. helixagentai-0.1.3/core/session_models.py +176 -0
  270. helixagentai-0.1.3/core/skills/__init__.py +0 -0
  271. helixagentai-0.1.3/core/skills/assignments.py +165 -0
  272. helixagentai-0.1.3/core/skills/bundled/helix-cron/SKILL.md +124 -0
  273. helixagentai-0.1.3/core/skills/bundled.py +93 -0
  274. helixagentai-0.1.3/core/skills/generator.py +158 -0
  275. helixagentai-0.1.3/core/skills/manager.py +421 -0
  276. helixagentai-0.1.3/core/subagents/__init__.py +11 -0
  277. helixagentai-0.1.3/core/subagents/async_runner.py +375 -0
  278. helixagentai-0.1.3/core/subagents/base.py +134 -0
  279. helixagentai-0.1.3/core/subagents/communication.py +355 -0
  280. helixagentai-0.1.3/core/subagents/interaction.py +258 -0
  281. helixagentai-0.1.3/core/subagents/interaction_events.py +41 -0
  282. helixagentai-0.1.3/core/subagents/manager.py +405 -0
  283. helixagentai-0.1.3/core/subagents/process.py +933 -0
  284. helixagentai-0.1.3/core/subagents/registry.py +174 -0
  285. helixagentai-0.1.3/core/subagents/spawn.py +39 -0
  286. helixagentai-0.1.3/core/tools/__init__.py +0 -0
  287. helixagentai-0.1.3/core/tools/aliases.py +31 -0
  288. helixagentai-0.1.3/core/tools/ask_user.py +53 -0
  289. helixagentai-0.1.3/core/tools/base.py +42 -0
  290. helixagentai-0.1.3/core/tools/browser/__init__.py +5 -0
  291. helixagentai-0.1.3/core/tools/browser/policy.py +76 -0
  292. helixagentai-0.1.3/core/tools/browser/session.py +124 -0
  293. helixagentai-0.1.3/core/tools/browser/snapshot.py +77 -0
  294. helixagentai-0.1.3/core/tools/browser/tools.py +247 -0
  295. helixagentai-0.1.3/core/tools/code_executor.py +219 -0
  296. helixagentai-0.1.3/core/tools/database.py +167 -0
  297. helixagentai-0.1.3/core/tools/execution_context.py +52 -0
  298. helixagentai-0.1.3/core/tools/file_diff.py +77 -0
  299. helixagentai-0.1.3/core/tools/file_ops.py +155 -0
  300. helixagentai-0.1.3/core/tools/registry.py +182 -0
  301. helixagentai-0.1.3/core/tools/subagents.py +168 -0
  302. helixagentai-0.1.3/core/tools/terminal.py +79 -0
  303. helixagentai-0.1.3/core/tools/web_search.py +87 -0
  304. helixagentai-0.1.3/integrations/__init__.py +1 -0
  305. helixagentai-0.1.3/integrations/telegram/__init__.py +5 -0
  306. helixagentai-0.1.3/integrations/telegram/agent_setup.py +32 -0
  307. helixagentai-0.1.3/integrations/telegram/approvals.py +237 -0
  308. helixagentai-0.1.3/integrations/telegram/bot.py +494 -0
  309. helixagentai-0.1.3/integrations/telegram/commands.py +140 -0
  310. helixagentai-0.1.3/integrations/telegram/config.py +59 -0
  311. helixagentai-0.1.3/integrations/telegram/env_store.py +123 -0
  312. helixagentai-0.1.3/integrations/telegram/event_handler.py +201 -0
  313. helixagentai-0.1.3/integrations/telegram/file_handler.py +478 -0
  314. helixagentai-0.1.3/integrations/telegram/host.py +649 -0
  315. helixagentai-0.1.3/integrations/telegram/interactive.py +781 -0
  316. helixagentai-0.1.3/integrations/telegram/keyboards.py +318 -0
  317. helixagentai-0.1.3/integrations/telegram/live_presenter.py +120 -0
  318. helixagentai-0.1.3/integrations/telegram/main.py +25 -0
  319. helixagentai-0.1.3/integrations/telegram/markdown.py +215 -0
  320. helixagentai-0.1.3/integrations/telegram/media_group.py +84 -0
  321. helixagentai-0.1.3/integrations/telegram/model_switch.py +286 -0
  322. helixagentai-0.1.3/integrations/telegram/render.py +76 -0
  323. helixagentai-0.1.3/integrations/telegram/session.py +65 -0
  324. helixagentai-0.1.3/integrations/telegram/setup_api.py +83 -0
  325. helixagentai-0.1.3/integrations/telegram/typing_indicator.py +66 -0
  326. helixagentai-0.1.3/integrations/telegram/voice_handler.py +355 -0
  327. helixagentai-0.1.3/pyproject.toml +147 -0
  328. helixagentai-0.1.3/scripts/hatch_bump_version.py +35 -0
  329. helixagentai-0.1.3/scripts/install.ps1 +18 -0
  330. helixagentai-0.1.3/scripts/install.py +82 -0
  331. helixagentai-0.1.3/scripts/install.sh +16 -0
  332. helixagentai-0.1.3/scripts/setup_pypi_publish.sh +135 -0
  333. helixagentai-0.1.3/scripts/versioning.py +77 -0
  334. helixagentai-0.1.3/web-docs/assets/css/style.css +816 -0
  335. helixagentai-0.1.3/web-docs/assets/js/app.js +633 -0
  336. helixagentai-0.1.3/web-docs/assets/logo.svg +33 -0
  337. helixagentai-0.1.3/web-docs/build.py +105 -0
  338. helixagentai-0.1.3/web-docs/content/en/ARCHITECTURE.md +71 -0
  339. helixagentai-0.1.3/web-docs/content/en/BROWSER_TOOLS.md +67 -0
  340. helixagentai-0.1.3/web-docs/content/en/CLI.md +493 -0
  341. helixagentai-0.1.3/web-docs/content/en/CONFIGURATION.md +134 -0
  342. helixagentai-0.1.3/web-docs/content/en/DEPLOYMENT.md +28 -0
  343. helixagentai-0.1.3/web-docs/content/en/DOCTOR.md +40 -0
  344. helixagentai-0.1.3/web-docs/content/en/GATEWAY.md +43 -0
  345. helixagentai-0.1.3/web-docs/content/en/HUB.md +74 -0
  346. helixagentai-0.1.3/web-docs/content/en/INSTALLATION.md +154 -0
  347. helixagentai-0.1.3/web-docs/content/en/LOGS.md +144 -0
  348. helixagentai-0.1.3/web-docs/content/en/PYPI.md +231 -0
  349. helixagentai-0.1.3/web-docs/content/en/QUICKSTART.md +31 -0
  350. helixagentai-0.1.3/web-docs/content/en/README.md +40 -0
  351. helixagentai-0.1.3/web-docs/content/en/SECURITY.md +53 -0
  352. helixagentai-0.1.3/web-docs/content/en/SLASH_COMMANDS.md +188 -0
  353. helixagentai-0.1.3/web-docs/content/en/START_HERE.md +75 -0
  354. helixagentai-0.1.3/web-docs/content/en/TELEGRAM.md +91 -0
  355. helixagentai-0.1.3/web-docs/content/en/TROUBLESHOOTING.md +52 -0
  356. helixagentai-0.1.3/web-docs/content/en/TUI.md +35 -0
  357. helixagentai-0.1.3/web-docs/content/en/USER_GUIDE.md +854 -0
  358. helixagentai-0.1.3/web-docs/content/ru/ARCHITECTURE.md +19 -0
  359. helixagentai-0.1.3/web-docs/content/ru/BROWSER_TOOLS.md +41 -0
  360. helixagentai-0.1.3/web-docs/content/ru/CLI.md +260 -0
  361. helixagentai-0.1.3/web-docs/content/ru/CONFIGURATION.md +63 -0
  362. helixagentai-0.1.3/web-docs/content/ru/DEPLOYMENT.md +28 -0
  363. helixagentai-0.1.3/web-docs/content/ru/DOCTOR.md +39 -0
  364. helixagentai-0.1.3/web-docs/content/ru/GATEWAY.md +37 -0
  365. helixagentai-0.1.3/web-docs/content/ru/HUB.md +74 -0
  366. helixagentai-0.1.3/web-docs/content/ru/INSTALLATION.md +102 -0
  367. helixagentai-0.1.3/web-docs/content/ru/LOGS.md +90 -0
  368. helixagentai-0.1.3/web-docs/content/ru/PYPI.md +90 -0
  369. helixagentai-0.1.3/web-docs/content/ru/QUICKSTART.md +20 -0
  370. helixagentai-0.1.3/web-docs/content/ru/README.md +29 -0
  371. helixagentai-0.1.3/web-docs/content/ru/SECURITY.md +53 -0
  372. helixagentai-0.1.3/web-docs/content/ru/SLASH_COMMANDS.md +161 -0
  373. helixagentai-0.1.3/web-docs/content/ru/START_HERE.md +72 -0
  374. helixagentai-0.1.3/web-docs/content/ru/TELEGRAM.md +118 -0
  375. helixagentai-0.1.3/web-docs/content/ru/TROUBLESHOOTING.md +50 -0
  376. helixagentai-0.1.3/web-docs/content/ru/TUI.md +35 -0
  377. helixagentai-0.1.3/web-docs/content/ru/USER_GUIDE.md +854 -0
  378. helixagentai-0.1.3/web-docs/index.html +86 -0
  379. helixagentai-0.1.3/web-docs/nav.json +122 -0
  380. helixagentai-0.1.3/web-docs/search-index.json +402 -0
  381. helixagentai-0.1.3/web-docs/serve.py +32 -0
@@ -0,0 +1,117 @@
1
+ # Helix environment — copy to ~/.helix/.env (primary location)
2
+ # Optional: ./.env in a project dir (lower priority than ~/.helix/.env)
3
+
4
+ # --- Environment ---
5
+ HELIX_ENV=development
6
+ # HELIX_HOME= # override data dir (default: ~/.helix, XDG_DATA_HOME/helix, or %LOCALAPPDATA%\Helix on Windows)
7
+ # production: forces auth, stricter Telegram/CORS checks
8
+
9
+ # --- LLM (legacy single-provider; prefer helix models setup + profile providers) ---
10
+ MODEL=qwen2.5-coder:32b
11
+ BASE_URL=http://localhost:11434/v1
12
+ API_KEY=ollama
13
+ TEMPERATURE=0.7
14
+
15
+ # --- Cloud provider API keys (used via ${ENV:VAR} in ~/.helix/profiles/*/config.yaml) ---
16
+ # OPENAI_API_KEY=
17
+ # OPENROUTER_API_KEY=
18
+ # OPENROUTER_HTTP_REFERER=https://github.com/your-org/helix
19
+ # DEEPSEEK_API_KEY=
20
+ # MOONSHOT_API_KEY=
21
+ # XAI_API_KEY=
22
+ # GROQ_API_KEY=
23
+ # GOOGLE_API_KEY=
24
+ # MISTRAL_API_KEY=
25
+ # TOGETHER_API_KEY=
26
+ # FIREWORKS_API_KEY=
27
+ # CEREBRAS_API_KEY=
28
+ # LITELLM_API_KEY=
29
+ # Hosts for local / remote inference (used by helix models add ollama|litellm|vllm)
30
+ # OLLAMA_HOST=http://127.0.0.1:11434
31
+ # LITELLM_API_BASE=http://127.0.0.1:4000
32
+ # VLLM_HOST=http://127.0.0.1:8000
33
+
34
+ # --- Agent ---
35
+ MAX_STEPS=15
36
+ DATA_DIR=data
37
+
38
+ # --- Logging (helix logs) ---
39
+ # HELIX_LOG_LEVEL=INFO
40
+ # HELIX_LOG_DEBUG=false
41
+ # HELIX_LOG_MAX_BYTES=10485760
42
+ # HELIX_LOG_BACKUP_COUNT=10
43
+ # HELIX_LOG_ROTATION_DAYS=14
44
+
45
+ # --- Web TUI (helix tui --web) ---
46
+ # HELIX_TUI_WEB_TOKEN= # required for --allow-lan / production; optional on 127.0.0.1
47
+
48
+ # --- Gateway ---
49
+ HELIX_GATEWAY_HOST=127.0.0.1
50
+ HELIX_GATEWAY_PORT=8000
51
+ # HELIX_GATEWAY_WITH_DOCS=1
52
+ # HELIX_DOCS_HOST=127.0.0.1
53
+ # HELIX_DOCS_PORT=8080
54
+ HELIX_REQUIRE_AUTH=false
55
+ HELIX_CORS_ORIGINS=http://127.0.0.1:8000,http://localhost:8000
56
+ HELIX_API_KEYS_DB=data/security/api_keys.db
57
+ HELIX_API_KEY_PEPPER=
58
+ HELIX_RATE_LIMIT_RPM=100
59
+ HELIX_ADMIN_RATE_LIMIT_RPM=30
60
+ HELIX_ENABLE_PROMETHEUS_METRICS=true
61
+
62
+ # --- Tools (production: disable risky tools) ---
63
+ HELIX_ENABLE_CODE_EXECUTOR=true
64
+ HELIX_ENABLE_TERMINAL_TOOL=true
65
+ HELIX_TERMINAL_COMMAND_WHITELIST=true
66
+ # Extra allowed commands/prefixes (comma-separated): helix gateway start, docker, make
67
+ # HELIX_TERMINAL_WHITELIST_EXTRA=helix,uv,docker,make
68
+
69
+ # --- Telegram (optional: uv sync --extra telegram) ---
70
+ TELEGRAM_BOT_TOKEN=
71
+ HELIX_TELEGRAM_ALLOWED_USERS=
72
+ # HELIX_TELEGRAM_ALLOW_ALL=true # dev only: allow any Telegram user (never use in production)
73
+ HELIX_TELEGRAM_PROFILE=default
74
+
75
+ # --- Voice Messages (Telegram) ---
76
+ # Вариант A — OpenAI Whisper напрямую:
77
+ # OPENAI_API_KEY=sk-...
78
+ # HELIX_WHISPER_MODEL=whisper-1
79
+ #
80
+ # Вариант B — через LiteLLM proxy (нужна модель whisper в config LiteLLM):
81
+ # HELIX_WHISPER_BASE_URL=http://192.168.88.252:4000/v1
82
+ # HELIX_WHISPER_API_KEY=sk-... # virtual key LiteLLM
83
+ # HELIX_WHISPER_MODEL=whisper # model_name из LiteLLM config, не whisper-1
84
+ #
85
+ # Вариант C — тот же litellm-провайдер из профиля (HELIX_WHISPER_USE_PROFILE_LITELLM=true):
86
+ # HELIX_WHISPER_MODEL=whisper
87
+ #
88
+ # Вариант D — локально на машине с агентом (без облака, нужен ffmpeg):
89
+ # uv sync --extra voice
90
+ # HELIX_WHISPER_BACKEND=local
91
+ # HELIX_WHISPER_LOCAL_MODEL=base # tiny | base | small | medium | large-v3
92
+ # HELIX_WHISPER_LOCAL_DEVICE=cpu # cuda для GPU
93
+ # HELIX_WHISPER_LOCAL_COMPUTE_TYPE=int8 # float16 на GPU
94
+ # HELIX_WHISPER_AUTO_DOWNLOAD=true # скачать модель при старте бота (по умолчанию)
95
+ # HELIX_WHISPER_LOCAL_DOWNLOAD_ROOT= # каталог кэша (по умолчанию ~/.helix/models/whisper)
96
+ # HELIX_TELEGRAM_VOICE_LANGUAGE=ru
97
+ #
98
+ # HELIX_WHISPER_BACKEND=auto # local если установлен faster-whisper, иначе API
99
+ # HELIX_TELEGRAM_VOICE_ENABLED=true
100
+
101
+ # --- Telegram files (photos, documents) ---
102
+ # HELIX_TELEGRAM_FILES_ENABLED=true
103
+ # HELIX_TELEGRAM_MAX_FILE_MB=20
104
+ # HELIX_TELEGRAM_MEDIA_GROUP_DELAY_MS=800 # пауза перед обработкой альбома
105
+ # HELIX_TELEGRAM_VISION_MODEL=smart # имя модели в LiteLLM с поддержкой vision
106
+ # Требуются также LITELLM_API_KEY + LITELLM_API_BASE (или helix models setup)
107
+
108
+ # --- Browser (optional: uv sync --extra browser) ---
109
+ ENABLE_BROWSER_TOOLS=true
110
+ BROWSER_HEADLESS=true
111
+ BROWSER_ALLOWED_HOSTS=
112
+
113
+ # --- Web search (helix search configure) ---
114
+ # FIRECRAWL_API_KEY=fc-...
115
+ # SEARXNG_BASE_URL=http://127.0.0.1:8080
116
+
117
+ # Profile secrets in config.yaml: use ${OPENAI_API_KEY} or ${ENV:OPENAI_API_KEY}
@@ -0,0 +1,86 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ pip-wheel-metadata/
20
+ share/python-wheels/
21
+ *.egg-info/
22
+ .installed.cfg
23
+ *.egg
24
+ MANIFEST
25
+
26
+ # Virtual environments
27
+ .venv/
28
+ venv/
29
+ ENV/
30
+ env/
31
+ .virtualenvs/
32
+
33
+ # IDEs
34
+ .idea/
35
+ .vscode/
36
+ *.swp
37
+ *.swo
38
+ *~
39
+ .DS_Store
40
+
41
+ # Logs
42
+ logs/
43
+ *.log
44
+
45
+ # Data and databases
46
+ data/
47
+ *.db
48
+ *.sqlite
49
+ *.sqlite3
50
+
51
+ # Environment
52
+ .env
53
+ .env.local
54
+ .env.*.local
55
+
56
+ # ChromaDB
57
+ chroma_data/
58
+ **/vector_db/
59
+ **/skills_db/
60
+
61
+ # Testing
62
+ .pytest_cache/
63
+ .coverage
64
+ htmlcov/
65
+ .tox/
66
+ .hypothesis/
67
+
68
+ # Docker
69
+ .docker/
70
+
71
+ # Temporary files
72
+ *.tmp
73
+ *.temp
74
+ .cache/
75
+ .idea
76
+
77
+ # Local experiments (not part of Helix product)
78
+ mcp_registry_system.py
79
+ mcp_registry_tool.sh
80
+ mcp_system_config.json
81
+ MCP_REGISTRY_SYSTEM_REPORT.md
82
+
83
+ # Helix local runtime
84
+ .helix/
85
+ .langgraph_api/
86
+ .pid
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Helix Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,225 @@
1
+ Metadata-Version: 2.4
2
+ Name: HelixAgentAi
3
+ Version: 0.1.3
4
+ Summary: Self-improving AI agent with memory, skills, MCP, CLI, and TUI
5
+ Project-URL: Homepage, https://helix-agent.ru
6
+ Project-URL: Documentation, https://helix-agent.ru
7
+ Project-URL: Repository, https://github.com/javded-itres/HelixAgent
8
+ Project-URL: Issues, https://github.com/javded-itres/HelixAgent/issues
9
+ Project-URL: Changelog, https://github.com/javded-itres/HelixAgent/blob/master/docs/CHANGELOG.md
10
+ Author: Pavel Lukyanov
11
+ License-Expression: MIT
12
+ License-File: LICENSE
13
+ Keywords: agent,ai,cli,langgraph,llm,mcp,tools
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3 :: Only
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Requires-Python: >=3.12
25
+ Requires-Dist: aiohttp>=3.9.0
26
+ Requires-Dist: aiosqlite>=0.19.0
27
+ Requires-Dist: chromadb>=0.4.0
28
+ Requires-Dist: croniter>=2.0.0
29
+ Requires-Dist: dishka>=1.10.1
30
+ Requires-Dist: fastapi>=0.136.3
31
+ Requires-Dist: langchain-core>=0.3.0
32
+ Requires-Dist: langgraph-checkpoint>=4.0.0
33
+ Requires-Dist: langgraph>=1.2.0
34
+ Requires-Dist: mcp>=1.2.0
35
+ Requires-Dist: openai>=1.30.0
36
+ Requires-Dist: prompt-toolkit>=3.0.0
37
+ Requires-Dist: pydantic-settings>=2.0
38
+ Requires-Dist: pydantic>=2.0
39
+ Requires-Dist: python-dotenv>=1.0.0
40
+ Requires-Dist: pyyaml>=6.0
41
+ Requires-Dist: rich>=13.0.0
42
+ Requires-Dist: textual>=0.80.0
43
+ Requires-Dist: tiktoken>=0.7.0
44
+ Requires-Dist: typer>=0.9.0
45
+ Requires-Dist: uvicorn>=0.48.0
46
+ Provides-Extra: all
47
+ Requires-Dist: aiogram>=3.15.0; extra == 'all'
48
+ Requires-Dist: faster-whisper>=1.1.0; extra == 'all'
49
+ Requires-Dist: playwright>=1.49.0; extra == 'all'
50
+ Requires-Dist: psutil>=6.0.0; extra == 'all'
51
+ Requires-Dist: pypdf>=4.0.0; extra == 'all'
52
+ Requires-Dist: textual-serve>=1.1.3; extra == 'all'
53
+ Provides-Extra: browser
54
+ Requires-Dist: playwright>=1.49.0; extra == 'browser'
55
+ Provides-Extra: telegram
56
+ Requires-Dist: aiogram>=3.15.0; extra == 'telegram'
57
+ Requires-Dist: pypdf>=4.0.0; extra == 'telegram'
58
+ Provides-Extra: tui-web
59
+ Requires-Dist: textual-serve>=1.1.3; extra == 'tui-web'
60
+ Provides-Extra: voice
61
+ Requires-Dist: faster-whisper>=1.1.0; extra == 'voice'
62
+ Provides-Extra: windows
63
+ Requires-Dist: psutil>=6.0.0; extra == 'windows'
64
+ Description-Content-Type: text/markdown
65
+
66
+ # Helix — Self-Improving AI Agent
67
+
68
+ **Helix** is a self-improving AI agent with persistent memory, a skills system, tool calling, MCP integration, and multiple interfaces: CLI, TUI, API gateway, and Telegram.
69
+
70
+ [![Python](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://python.org)
71
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
72
+ [![Docs](https://img.shields.io/badge/docs-en%20%7C%20ru-blue)](docs/README.md)
73
+
74
+ **Website:** [helix-agent.ru](https://helix-agent.ru) · **GitHub:** [javded-itres/HelixAgent](https://github.com/javded-itres/HelixAgent) · **Documentation:** [English](docs/en/README.md) · [Русский](docs/ru/README.md) · **Donate:** [support the project](https://messenger.online.sberbank.ru/sl/uwKJ687QKl7d1a1Ui)
75
+
76
+ ---
77
+
78
+ ## Features
79
+
80
+ - **Tool calling** — files, shell, web, code execution, optional Playwright browser tools
81
+ - **Persistent memory** — SQLite conversations + ChromaDB semantic search
82
+ - **Skills** — markdown skills with auto-generation and hub catalogs (ClawHub, Hermes, Claude plugins)
83
+ - **MCP** — configure and assign Model Context Protocol servers per agent
84
+ - **Multi-provider** — Ollama, LiteLLM, OpenAI, Groq, and any OpenAI-compatible API
85
+ - **Interfaces** — `helix tui`, `helix chat-command`, `helix run`, `helix gateway`
86
+ - **Security** — API keys, rate limits, command whitelist, confirmation prompts
87
+ - **Operations** — `helix doctor`, `helix logs`, background gateway supervisor, Docker
88
+
89
+ ---
90
+
91
+ ## Quick start
92
+
93
+ ### Install
94
+
95
+ **PyPI** (Python 3.12+). Package: `HelixAgentAi` (HelixAgent), command: `helix`:
96
+
97
+ ```bash
98
+ pipx install HelixAgentAi # global CLI (recommended)
99
+ # or in a venv:
100
+ pip install HelixAgentAi
101
+ pip install "HelixAgentAi[all]" # telegram + browser + tui-web
102
+ ```
103
+
104
+ Do not use `pip install helix` — that is a different package on PyPI.
105
+
106
+ **From source:**
107
+
108
+ ```bash
109
+ git clone https://github.com/javded-itres/HelixAgent.git
110
+ cd HelixAgent
111
+ ./scripts/install.sh # macOS / Linux
112
+ # Windows: .\scripts\install.ps1
113
+
114
+ helix version
115
+ helix doctor
116
+ ```
117
+
118
+ Publishing: [docs/en/PYPI.md](docs/en/PYPI.md)
119
+
120
+ Developer install:
121
+
122
+ ```bash
123
+ uv sync && uv pip install -e .
124
+ cp .env.example .env
125
+ ```
126
+
127
+ Full guide: [docs/en/INSTALLATION.md](docs/en/INSTALLATION.md)
128
+
129
+ ### Configure and run
130
+
131
+ ```bash
132
+ helix models setup
133
+ helix tui # recommended UI
134
+ # or:
135
+ helix chat-command
136
+ helix run "What is in this repo?"
137
+ helix gateway start
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Documentation (English)
143
+
144
+ | Topic | Link |
145
+ |-------|------|
146
+ | Install & update | [INSTALLATION.md](docs/en/INSTALLATION.md) |
147
+ | **CLI reference** | [CLI.md](docs/en/CLI.md) |
148
+ | **Slash commands `/`** | [SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md) |
149
+ | TUI | [TUI.md](docs/en/TUI.md) |
150
+ | Configuration | [CONFIGURATION.md](docs/en/CONFIGURATION.md) |
151
+ | Skill Hub | [HUB.md](docs/en/HUB.md) |
152
+ | API Gateway | [GATEWAY.md](docs/en/GATEWAY.md) |
153
+ | Logs | [LOGS.md](docs/en/LOGS.md) |
154
+ | Doctor | [DOCTOR.md](docs/en/DOCTOR.md) |
155
+ | Security | [SECURITY.md](docs/en/SECURITY.md) |
156
+ | Deployment | [DEPLOYMENT.md](docs/en/DEPLOYMENT.md) |
157
+ | Troubleshooting | [TROUBLESHOOTING.md](docs/en/TROUBLESHOOTING.md) |
158
+ | Architecture | [ARCHITECTURE.md](docs/en/ARCHITECTURE.md) |
159
+
160
+ ## Документация (русский)
161
+
162
+ | Тема | Ссылка |
163
+ |------|--------|
164
+ | Установка | [INSTALLATION.md](docs/ru/INSTALLATION.md) |
165
+ | CLI | [CLI.md](docs/ru/CLI.md) |
166
+ | Слэш-команды | [SLASH_COMMANDS.md](docs/ru/SLASH_COMMANDS.md) |
167
+ | Начало | [START_HERE.md](docs/ru/START_HERE.md) |
168
+
169
+ ---
170
+
171
+ ## CLI at a glance
172
+
173
+ ```bash
174
+ helix tui # main UI
175
+ helix run "query" # one-shot
176
+ helix models setup # providers
177
+ helix hub browse # external skills
178
+ helix mcp setup # MCP servers
179
+ helix gateway start|status|stop|reload
180
+ helix logs [-s agent] [-f]
181
+ helix doctor [--fix]
182
+ helix install | helix update
183
+ ```
184
+
185
+ In TUI/Telegram, type `/help` for slash commands. See [docs/en/SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md).
186
+
187
+ ---
188
+
189
+ ## Architecture
190
+
191
+ ```
192
+ HelixAgent → run_agent_loop() (core/agent_execution.py)
193
+ → LangGraph / AgentLoop
194
+ ```
195
+
196
+ | Layer | Path |
197
+ |-------|------|
198
+ | Execution | `core/agent_execution.py` |
199
+ | Events | `core/agent_events.py` |
200
+ | Tools | `core/tools/` |
201
+ | Memory | `core/memory/` |
202
+ | CLI | `cli/main.py` |
203
+ | Gateway | `api/gateway.py` |
204
+
205
+ Details: [docs/en/ARCHITECTURE.md](docs/en/ARCHITECTURE.md)
206
+
207
+ ---
208
+
209
+ ## Docker
210
+
211
+ ```bash
212
+ docker compose up -d
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Contributing
218
+
219
+ See [CONTRIBUTING.md](CONTRIBUTING.md). Run tests before PRs: `uv run pytest -m "not llm"`.
220
+
221
+ ---
222
+
223
+ ## License
224
+
225
+ MIT — see [LICENSE](LICENSE)
@@ -0,0 +1,160 @@
1
+ # Helix — Self-Improving AI Agent
2
+
3
+ **Helix** is a self-improving AI agent with persistent memory, a skills system, tool calling, MCP integration, and multiple interfaces: CLI, TUI, API gateway, and Telegram.
4
+
5
+ [![Python](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://python.org)
6
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
+ [![Docs](https://img.shields.io/badge/docs-en%20%7C%20ru-blue)](docs/README.md)
8
+
9
+ **Website:** [helix-agent.ru](https://helix-agent.ru) · **GitHub:** [javded-itres/HelixAgent](https://github.com/javded-itres/HelixAgent) · **Documentation:** [English](docs/en/README.md) · [Русский](docs/ru/README.md) · **Donate:** [support the project](https://messenger.online.sberbank.ru/sl/uwKJ687QKl7d1a1Ui)
10
+
11
+ ---
12
+
13
+ ## Features
14
+
15
+ - **Tool calling** — files, shell, web, code execution, optional Playwright browser tools
16
+ - **Persistent memory** — SQLite conversations + ChromaDB semantic search
17
+ - **Skills** — markdown skills with auto-generation and hub catalogs (ClawHub, Hermes, Claude plugins)
18
+ - **MCP** — configure and assign Model Context Protocol servers per agent
19
+ - **Multi-provider** — Ollama, LiteLLM, OpenAI, Groq, and any OpenAI-compatible API
20
+ - **Interfaces** — `helix tui`, `helix chat-command`, `helix run`, `helix gateway`
21
+ - **Security** — API keys, rate limits, command whitelist, confirmation prompts
22
+ - **Operations** — `helix doctor`, `helix logs`, background gateway supervisor, Docker
23
+
24
+ ---
25
+
26
+ ## Quick start
27
+
28
+ ### Install
29
+
30
+ **PyPI** (Python 3.12+). Package: `HelixAgentAi` (HelixAgent), command: `helix`:
31
+
32
+ ```bash
33
+ pipx install HelixAgentAi # global CLI (recommended)
34
+ # or in a venv:
35
+ pip install HelixAgentAi
36
+ pip install "HelixAgentAi[all]" # telegram + browser + tui-web
37
+ ```
38
+
39
+ Do not use `pip install helix` — that is a different package on PyPI.
40
+
41
+ **From source:**
42
+
43
+ ```bash
44
+ git clone https://github.com/javded-itres/HelixAgent.git
45
+ cd HelixAgent
46
+ ./scripts/install.sh # macOS / Linux
47
+ # Windows: .\scripts\install.ps1
48
+
49
+ helix version
50
+ helix doctor
51
+ ```
52
+
53
+ Publishing: [docs/en/PYPI.md](docs/en/PYPI.md)
54
+
55
+ Developer install:
56
+
57
+ ```bash
58
+ uv sync && uv pip install -e .
59
+ cp .env.example .env
60
+ ```
61
+
62
+ Full guide: [docs/en/INSTALLATION.md](docs/en/INSTALLATION.md)
63
+
64
+ ### Configure and run
65
+
66
+ ```bash
67
+ helix models setup
68
+ helix tui # recommended UI
69
+ # or:
70
+ helix chat-command
71
+ helix run "What is in this repo?"
72
+ helix gateway start
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Documentation (English)
78
+
79
+ | Topic | Link |
80
+ |-------|------|
81
+ | Install & update | [INSTALLATION.md](docs/en/INSTALLATION.md) |
82
+ | **CLI reference** | [CLI.md](docs/en/CLI.md) |
83
+ | **Slash commands `/`** | [SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md) |
84
+ | TUI | [TUI.md](docs/en/TUI.md) |
85
+ | Configuration | [CONFIGURATION.md](docs/en/CONFIGURATION.md) |
86
+ | Skill Hub | [HUB.md](docs/en/HUB.md) |
87
+ | API Gateway | [GATEWAY.md](docs/en/GATEWAY.md) |
88
+ | Logs | [LOGS.md](docs/en/LOGS.md) |
89
+ | Doctor | [DOCTOR.md](docs/en/DOCTOR.md) |
90
+ | Security | [SECURITY.md](docs/en/SECURITY.md) |
91
+ | Deployment | [DEPLOYMENT.md](docs/en/DEPLOYMENT.md) |
92
+ | Troubleshooting | [TROUBLESHOOTING.md](docs/en/TROUBLESHOOTING.md) |
93
+ | Architecture | [ARCHITECTURE.md](docs/en/ARCHITECTURE.md) |
94
+
95
+ ## Документация (русский)
96
+
97
+ | Тема | Ссылка |
98
+ |------|--------|
99
+ | Установка | [INSTALLATION.md](docs/ru/INSTALLATION.md) |
100
+ | CLI | [CLI.md](docs/ru/CLI.md) |
101
+ | Слэш-команды | [SLASH_COMMANDS.md](docs/ru/SLASH_COMMANDS.md) |
102
+ | Начало | [START_HERE.md](docs/ru/START_HERE.md) |
103
+
104
+ ---
105
+
106
+ ## CLI at a glance
107
+
108
+ ```bash
109
+ helix tui # main UI
110
+ helix run "query" # one-shot
111
+ helix models setup # providers
112
+ helix hub browse # external skills
113
+ helix mcp setup # MCP servers
114
+ helix gateway start|status|stop|reload
115
+ helix logs [-s agent] [-f]
116
+ helix doctor [--fix]
117
+ helix install | helix update
118
+ ```
119
+
120
+ In TUI/Telegram, type `/help` for slash commands. See [docs/en/SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md).
121
+
122
+ ---
123
+
124
+ ## Architecture
125
+
126
+ ```
127
+ HelixAgent → run_agent_loop() (core/agent_execution.py)
128
+ → LangGraph / AgentLoop
129
+ ```
130
+
131
+ | Layer | Path |
132
+ |-------|------|
133
+ | Execution | `core/agent_execution.py` |
134
+ | Events | `core/agent_events.py` |
135
+ | Tools | `core/tools/` |
136
+ | Memory | `core/memory/` |
137
+ | CLI | `cli/main.py` |
138
+ | Gateway | `api/gateway.py` |
139
+
140
+ Details: [docs/en/ARCHITECTURE.md](docs/en/ARCHITECTURE.md)
141
+
142
+ ---
143
+
144
+ ## Docker
145
+
146
+ ```bash
147
+ docker compose up -d
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Contributing
153
+
154
+ See [CONTRIBUTING.md](CONTRIBUTING.md). Run tests before PRs: `uv run pytest -m "not llm"`.
155
+
156
+ ---
157
+
158
+ ## License
159
+
160
+ MIT — see [LICENSE](LICENSE)
File without changes
@@ -0,0 +1,75 @@
1
+ """FastAPI dependencies for Helix gateway."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+
7
+ from fastapi import Header, HTTPException
8
+
9
+ from config import settings
10
+
11
+ # Set by gateway lifespan
12
+ api_key_manager = None
13
+ rate_limiter = None
14
+
15
+
16
+ def _extract_api_key(
17
+ authorization: Optional[str],
18
+ x_api_key: Optional[str],
19
+ ) -> Optional[str]:
20
+ if authorization and authorization.startswith("Bearer "):
21
+ return authorization[7:]
22
+ if x_api_key:
23
+ return x_api_key
24
+ return None
25
+
26
+
27
+ async def _validate_key(api_key: str, *, default_limit: int) -> dict:
28
+ if api_key_manager is None:
29
+ raise HTTPException(status_code=503, detail="API key manager not initialized")
30
+
31
+ key_info = await api_key_manager.validate_api_key(api_key)
32
+ if not key_info:
33
+ raise HTTPException(status_code=401, detail="Invalid API key")
34
+
35
+ limit = int(key_info.get("rate_limit") or default_limit)
36
+ key_hash = api_key_manager.hash_key(api_key)
37
+ if rate_limiter and not rate_limiter.check_rate_limit(key_hash, limit):
38
+ raise HTTPException(status_code=429, detail="Rate limit exceeded")
39
+
40
+ return key_info
41
+
42
+
43
+ async def verify_api_key(
44
+ authorization: Optional[str] = Header(None),
45
+ x_api_key: Optional[str] = Header(None),
46
+ ) -> Optional[dict]:
47
+ """Optional auth for public /v1 routes when require_auth is disabled."""
48
+ if not settings.effective_require_auth:
49
+ api_key = _extract_api_key(authorization, x_api_key)
50
+ if not api_key:
51
+ return None
52
+ return await _validate_key(api_key, default_limit=settings.rate_limit_rpm)
53
+
54
+ api_key = _extract_api_key(authorization, x_api_key)
55
+ if not api_key:
56
+ raise HTTPException(status_code=401, detail="API key required")
57
+ return await _validate_key(api_key, default_limit=settings.rate_limit_rpm)
58
+
59
+
60
+ async def verify_admin_key(
61
+ authorization: Optional[str] = Header(None),
62
+ x_api_key: Optional[str] = Header(None),
63
+ ) -> dict:
64
+ """Admin routes always require a valid admin API key."""
65
+ from core.security.permissions import PermissionChecker
66
+
67
+ api_key = _extract_api_key(authorization, x_api_key)
68
+ if not api_key:
69
+ raise HTTPException(status_code=401, detail="Admin API key required")
70
+
71
+ key_info = await _validate_key(api_key, default_limit=settings.admin_rate_limit_rpm)
72
+ checker = PermissionChecker(key_info["permissions"])
73
+ if not checker.is_admin():
74
+ raise HTTPException(status_code=403, detail="Admin permission required")
75
+ return key_info