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.
- helixagentai-0.1.3/.env.example +117 -0
- helixagentai-0.1.3/.gitignore +86 -0
- helixagentai-0.1.3/LICENSE +21 -0
- helixagentai-0.1.3/PKG-INFO +225 -0
- helixagentai-0.1.3/README.md +160 -0
- helixagentai-0.1.3/api/__init__.py +0 -0
- helixagentai-0.1.3/api/deps.py +75 -0
- helixagentai-0.1.3/api/errors.py +58 -0
- helixagentai-0.1.3/api/gateway.py +624 -0
- helixagentai-0.1.3/api/models.py +29 -0
- helixagentai-0.1.3/api/prometheus.py +23 -0
- helixagentai-0.1.3/cli/__init__.py +3 -0
- helixagentai-0.1.3/cli/__main__.py +6 -0
- helixagentai-0.1.3/cli/commands/__init__.py +0 -0
- helixagentai-0.1.3/cli/commands/chat.py +511 -0
- helixagentai-0.1.3/cli/commands/config.py +76 -0
- helixagentai-0.1.3/cli/commands/cron.py +112 -0
- helixagentai-0.1.3/cli/commands/docs.py +69 -0
- helixagentai-0.1.3/cli/commands/doctor.py +62 -0
- helixagentai-0.1.3/cli/commands/gateway.py +87 -0
- helixagentai-0.1.3/cli/commands/hub.py +408 -0
- helixagentai-0.1.3/cli/commands/install_cmd.py +89 -0
- helixagentai-0.1.3/cli/commands/logs.py +185 -0
- helixagentai-0.1.3/cli/commands/mcp.py +506 -0
- helixagentai-0.1.3/cli/commands/memory.py +53 -0
- helixagentai-0.1.3/cli/commands/models.py +648 -0
- helixagentai-0.1.3/cli/commands/run.py +58 -0
- helixagentai-0.1.3/cli/commands/search.py +223 -0
- helixagentai-0.1.3/cli/commands/skills.py +323 -0
- helixagentai-0.1.3/cli/commands/telegram.py +108 -0
- helixagentai-0.1.3/cli/commands/telegram_setup.py +198 -0
- helixagentai-0.1.3/cli/commands/update_cmd.py +106 -0
- helixagentai-0.1.3/cli/config/__init__.py +0 -0
- helixagentai-0.1.3/cli/core.py +329 -0
- helixagentai-0.1.3/cli/doctor/__init__.py +5 -0
- helixagentai-0.1.3/cli/doctor/checks.py +733 -0
- helixagentai-0.1.3/cli/doctor/findings.py +35 -0
- helixagentai-0.1.3/cli/doctor/fixes.py +128 -0
- helixagentai-0.1.3/cli/doctor/llm_doctor.py +180 -0
- helixagentai-0.1.3/cli/doctor/report.py +74 -0
- helixagentai-0.1.3/cli/doctor/runner.py +77 -0
- helixagentai-0.1.3/cli/installer/__init__.py +29 -0
- helixagentai-0.1.3/cli/installer/manifest.py +95 -0
- helixagentai-0.1.3/cli/installer/system.py +379 -0
- helixagentai-0.1.3/cli/installer/update.py +426 -0
- helixagentai-0.1.3/cli/main.py +322 -0
- helixagentai-0.1.3/cli/services/__init__.py +5 -0
- helixagentai-0.1.3/cli/services/cron_worker.py +33 -0
- helixagentai-0.1.3/cli/services/docs_site.py +128 -0
- helixagentai-0.1.3/cli/services/docs_worker.py +30 -0
- helixagentai-0.1.3/cli/services/gateway_daemon.py +271 -0
- helixagentai-0.1.3/cli/services/gateway_state.py +137 -0
- helixagentai-0.1.3/cli/services/gateway_worker.py +63 -0
- helixagentai-0.1.3/cli/services/supervisor.py +265 -0
- helixagentai-0.1.3/cli/shared/__init__.py +24 -0
- helixagentai-0.1.3/cli/shared/agent_host.py +43 -0
- helixagentai-0.1.3/cli/shared/commands/__init__.py +3 -0
- helixagentai-0.1.3/cli/shared/commands/agent_commands.py +488 -0
- helixagentai-0.1.3/cli/shared/commands/context_compress.py +87 -0
- helixagentai-0.1.3/cli/shared/commands/cron_commands.py +224 -0
- helixagentai-0.1.3/cli/shared/commands/project_init.py +67 -0
- helixagentai-0.1.3/cli/shared/commands/registry.py +118 -0
- helixagentai-0.1.3/cli/shared/commands/search_commands.py +75 -0
- helixagentai-0.1.3/cli/shared/commands/skills_commands.py +149 -0
- helixagentai-0.1.3/cli/shared/commands/subagent_commands.py +92 -0
- helixagentai-0.1.3/cli/shared/rich_text.py +35 -0
- helixagentai-0.1.3/cli/shared/slash_input.py +74 -0
- helixagentai-0.1.3/cli/tui/__init__.py +24 -0
- helixagentai-0.1.3/cli/tui/app.py +5 -0
- helixagentai-0.1.3/cli/tui/code/__init__.py +19 -0
- helixagentai-0.1.3/cli/tui/code/app.py +1374 -0
- helixagentai-0.1.3/cli/tui/code/handlers/__init__.py +4 -0
- helixagentai-0.1.3/cli/tui/code/handlers/events.py +211 -0
- helixagentai-0.1.3/cli/tui/code/handlers/slash.py +7 -0
- helixagentai-0.1.3/cli/tui/code/styles.py +85 -0
- helixagentai-0.1.3/cli/tui/code/widgets/__init__.py +17 -0
- helixagentai-0.1.3/cli/tui/code/widgets/context_bar.py +34 -0
- helixagentai-0.1.3/cli/tui/code/widgets/copy_selection_bar.py +77 -0
- helixagentai-0.1.3/cli/tui/code/widgets/prompt.py +11 -0
- helixagentai-0.1.3/cli/tui/code/widgets/slash_suggestions.py +40 -0
- helixagentai-0.1.3/cli/tui/code/widgets/status_bar.py +12 -0
- helixagentai-0.1.3/cli/tui/code/widgets/transcript.py +25 -0
- helixagentai-0.1.3/cli/tui/code/widgets/transcript_panel.py +41 -0
- helixagentai-0.1.3/cli/tui/legacy/app.py +4005 -0
- helixagentai-0.1.3/cli/tui/legacy/confirmation_modal.py +5 -0
- helixagentai-0.1.3/cli/tui/legacy/handlers/__init__.py +6 -0
- helixagentai-0.1.3/cli/tui/legacy/handlers/event_handler.py +381 -0
- helixagentai-0.1.3/cli/tui/legacy/handlers/slash_commands.py +306 -0
- helixagentai-0.1.3/cli/tui/legacy/plan_review_modal.py +35 -0
- helixagentai-0.1.3/cli/tui/legacy/subagents_widget.py +406 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/__init__.py +15 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/chat_log.py +42 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/input_area.py +15 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/main_content.py +29 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/sidebar.py +52 -0
- helixagentai-0.1.3/cli/tui/legacy/widgets/styles.py +366 -0
- helixagentai-0.1.3/cli/tui/modals/__init__.py +7 -0
- helixagentai-0.1.3/cli/tui/modals/confirmation.py +148 -0
- helixagentai-0.1.3/cli/tui/modals/confirmation_presenter.py +74 -0
- helixagentai-0.1.3/cli/tui/modals/cron_manager.py +222 -0
- helixagentai-0.1.3/cli/tui/modals/hub_browser.py +1054 -0
- helixagentai-0.1.3/cli/tui/modals/model_picker.py +188 -0
- helixagentai-0.1.3/cli/tui/modals/plan_review.py +135 -0
- helixagentai-0.1.3/cli/tui/modals/stack.py +29 -0
- helixagentai-0.1.3/cli/tui/modals/transcript_viewer.py +109 -0
- helixagentai-0.1.3/cli/tui/shared/__init__.py +43 -0
- helixagentai-0.1.3/cli/tui/shared/clipboard.py +91 -0
- helixagentai-0.1.3/cli/tui/shared/copy_bar.py +38 -0
- helixagentai-0.1.3/cli/tui/shared/diff_render.py +161 -0
- helixagentai-0.1.3/cli/tui/shared/formatters.py +73 -0
- helixagentai-0.1.3/cli/tui/shared/host_protocol.py +20 -0
- helixagentai-0.1.3/cli/tui/shared/keyboard_layout.py +131 -0
- helixagentai-0.1.3/cli/tui/shared/slash_suggestions.py +65 -0
- helixagentai-0.1.3/cli/tui/shared/text_escape.py +18 -0
- helixagentai-0.1.3/cli/tui/shared/transcript_store.py +134 -0
- helixagentai-0.1.3/cli/tui/web_entry.py +27 -0
- helixagentai-0.1.3/cli/tui/web_security.py +139 -0
- helixagentai-0.1.3/cli/tui/web_serve.py +88 -0
- helixagentai-0.1.3/cli/tui/web_server.py +70 -0
- helixagentai-0.1.3/cli/utils/__init__.py +0 -0
- helixagentai-0.1.3/cli/utils/banner.py +59 -0
- helixagentai-0.1.3/cli/utils/ports.py +42 -0
- helixagentai-0.1.3/cli/utils/rich_console.py +158 -0
- helixagentai-0.1.3/config.py +240 -0
- helixagentai-0.1.3/core/__init__.py +0 -0
- helixagentai-0.1.3/core/agent.py +409 -0
- helixagentai-0.1.3/core/agent_events.py +638 -0
- helixagentai-0.1.3/core/agent_execution.py +529 -0
- helixagentai-0.1.3/core/config_utils.py +126 -0
- helixagentai-0.1.3/core/context/__init__.py +17 -0
- helixagentai-0.1.3/core/context/compressor.py +186 -0
- helixagentai-0.1.3/core/context/manager.py +258 -0
- helixagentai-0.1.3/core/context/token_counter.py +125 -0
- helixagentai-0.1.3/core/cron/__init__.py +12 -0
- helixagentai-0.1.3/core/cron/expressions.py +43 -0
- helixagentai-0.1.3/core/cron/models.py +43 -0
- helixagentai-0.1.3/core/cron/notifier.py +79 -0
- helixagentai-0.1.3/core/cron/runner.py +211 -0
- helixagentai-0.1.3/core/cron/schedule_parse.py +76 -0
- helixagentai-0.1.3/core/cron/scheduler.py +76 -0
- helixagentai-0.1.3/core/cron/session_sync.py +75 -0
- helixagentai-0.1.3/core/cron/store.py +130 -0
- helixagentai-0.1.3/core/di/__init__.py +20 -0
- helixagentai-0.1.3/core/di/container.py +105 -0
- helixagentai-0.1.3/core/di/factories.py +20 -0
- helixagentai-0.1.3/core/di/providers.py +53 -0
- helixagentai-0.1.3/core/di/runtime_config.py +225 -0
- helixagentai-0.1.3/core/env_loader.py +178 -0
- helixagentai-0.1.3/core/evolution/__init__.py +7 -0
- helixagentai-0.1.3/core/evolution/engine.py +258 -0
- helixagentai-0.1.3/core/graph/__init__.py +7 -0
- helixagentai-0.1.3/core/graph/builder.py +199 -0
- helixagentai-0.1.3/core/graph/modes/__init__.py +13 -0
- helixagentai-0.1.3/core/graph/modes/_compile.py +22 -0
- helixagentai-0.1.3/core/graph/modes/hybrid.py +55 -0
- helixagentai-0.1.3/core/graph/modes/plan_execute.py +77 -0
- helixagentai-0.1.3/core/graph/modes/react.py +45 -0
- helixagentai-0.1.3/core/graph/modes/router.py +157 -0
- helixagentai-0.1.3/core/graph/nodes/__init__.py +3 -0
- helixagentai-0.1.3/core/graph/nodes/collect_subagent_node.py +60 -0
- helixagentai-0.1.3/core/graph/nodes/delegate_subagent_node.py +69 -0
- helixagentai-0.1.3/core/graph/nodes/execute_step_node.py +223 -0
- helixagentai-0.1.3/core/graph/nodes/finalize_node.py +146 -0
- helixagentai-0.1.3/core/graph/nodes/memory_retrieval_node.py +128 -0
- helixagentai-0.1.3/core/graph/nodes/meta_agent_node.py +83 -0
- helixagentai-0.1.3/core/graph/nodes/plan_node.py +481 -0
- helixagentai-0.1.3/core/graph/nodes/plan_review_node.py +177 -0
- helixagentai-0.1.3/core/graph/nodes/react_node.py +425 -0
- helixagentai-0.1.3/core/graph/nodes/self_refinement_node.py +117 -0
- helixagentai-0.1.3/core/graph/nodes/step_orchestrate_node.py +202 -0
- helixagentai-0.1.3/core/graph/nodes/tool_execution_node.py +108 -0
- helixagentai-0.1.3/core/graph/routers.py +99 -0
- helixagentai-0.1.3/core/graph/state.py +94 -0
- helixagentai-0.1.3/core/graph/tools.py +180 -0
- helixagentai-0.1.3/core/graph/visualization.py +310 -0
- helixagentai-0.1.3/core/hub/__init__.py +6 -0
- helixagentai-0.1.3/core/hub/autoupdate.py +119 -0
- helixagentai-0.1.3/core/hub/catalog.py +157 -0
- helixagentai-0.1.3/core/hub/claude_convert.py +45 -0
- helixagentai-0.1.3/core/hub/claude_marketplace.py +203 -0
- helixagentai-0.1.3/core/hub/claude_mcp.py +67 -0
- helixagentai-0.1.3/core/hub/clawhub.py +140 -0
- helixagentai-0.1.3/core/hub/hermes_hub.py +116 -0
- helixagentai-0.1.3/core/hub/importer.py +495 -0
- helixagentai-0.1.3/core/hub/installed.py +149 -0
- helixagentai-0.1.3/core/hub/interactive.py +178 -0
- helixagentai-0.1.3/core/hub/lockfile.py +75 -0
- helixagentai-0.1.3/core/hub/normalize.py +120 -0
- helixagentai-0.1.3/core/hub/skills_sh.py +67 -0
- helixagentai-0.1.3/core/hub/slash_registry.py +108 -0
- helixagentai-0.1.3/core/hub/sources.py +95 -0
- helixagentai-0.1.3/core/hub/updates.py +46 -0
- helixagentai-0.1.3/core/i18n/__init__.py +23 -0
- helixagentai-0.1.3/core/i18n/locale.py +81 -0
- helixagentai-0.1.3/core/i18n/messages.py +271 -0
- helixagentai-0.1.3/core/logging/__init__.py +14 -0
- helixagentai-0.1.3/core/logging/events.py +62 -0
- helixagentai-0.1.3/core/logging/paths.py +86 -0
- helixagentai-0.1.3/core/logging/reader.py +230 -0
- helixagentai-0.1.3/core/logging/rotation.py +81 -0
- helixagentai-0.1.3/core/logging/setup.py +93 -0
- helixagentai-0.1.3/core/logging/state.py +42 -0
- helixagentai-0.1.3/core/loop.py +55 -0
- helixagentai-0.1.3/core/loop_streaming.py +79 -0
- helixagentai-0.1.3/core/mcp/config.py +90 -0
- helixagentai-0.1.3/core/mcp/installer.py +269 -0
- helixagentai-0.1.3/core/mcp/manager.py +263 -0
- helixagentai-0.1.3/core/mcp/popular.py +144 -0
- helixagentai-0.1.3/core/mcp/tool.py +62 -0
- helixagentai-0.1.3/core/mcp/validate.py +52 -0
- helixagentai-0.1.3/core/memory/__init__.py +14 -0
- helixagentai-0.1.3/core/memory/chroma_embeddings.py +48 -0
- helixagentai-0.1.3/core/memory/conversation.py +274 -0
- helixagentai-0.1.3/core/memory/episodic.py +270 -0
- helixagentai-0.1.3/core/memory/facade.py +173 -0
- helixagentai-0.1.3/core/memory/ltm.py +128 -0
- helixagentai-0.1.3/core/memory/manager.py +17 -0
- helixagentai-0.1.3/core/memory/markdown.py +99 -0
- helixagentai-0.1.3/core/memory/procedural.py +218 -0
- helixagentai-0.1.3/core/memory/semantic.py +222 -0
- helixagentai-0.1.3/core/memory/strategic.py +286 -0
- helixagentai-0.1.3/core/memory/summarizer.py +77 -0
- helixagentai-0.1.3/core/memory/vector.py +236 -0
- helixagentai-0.1.3/core/meta_agent.py +300 -0
- helixagentai-0.1.3/core/models/__init__.py +32 -0
- helixagentai-0.1.3/core/models/catalog.py +436 -0
- helixagentai-0.1.3/core/models/client_factory.py +67 -0
- helixagentai-0.1.3/core/models/discovery.py +203 -0
- helixagentai-0.1.3/core/models/manager.py +186 -0
- helixagentai-0.1.3/core/models/profile_cleanup.py +118 -0
- helixagentai-0.1.3/core/models/provider.py +93 -0
- helixagentai-0.1.3/core/models/selector.py +106 -0
- helixagentai-0.1.3/core/models/setup_helpers.py +362 -0
- helixagentai-0.1.3/core/monitoring/__init__.py +4 -0
- helixagentai-0.1.3/core/monitoring/event_fields.py +25 -0
- helixagentai-0.1.3/core/monitoring/logger.py +152 -0
- helixagentai-0.1.3/core/monitoring/metrics.py +203 -0
- helixagentai-0.1.3/core/persistence.py +51 -0
- helixagentai-0.1.3/core/plan_review/__init__.py +27 -0
- helixagentai-0.1.3/core/plan_review/markdown_builder.py +144 -0
- helixagentai-0.1.3/core/plan_review/parser.py +245 -0
- helixagentai-0.1.3/core/plan_review/plan_storage.py +263 -0
- helixagentai-0.1.3/core/plan_review/review_events.py +121 -0
- helixagentai-0.1.3/core/plan_review/review_guard.py +200 -0
- helixagentai-0.1.3/core/platform_compat.py +213 -0
- helixagentai-0.1.3/core/presenters/__init__.py +3 -0
- helixagentai-0.1.3/core/presenters/live_buffer.py +108 -0
- helixagentai-0.1.3/core/project/__init__.py +27 -0
- helixagentai-0.1.3/core/project/helix_md.py +89 -0
- helixagentai-0.1.3/core/project/init_prompt.py +103 -0
- helixagentai-0.1.3/core/prompt_builder.py +132 -0
- helixagentai-0.1.3/core/runtime/__init__.py +6 -0
- helixagentai-0.1.3/core/runtime/executor.py +59 -0
- helixagentai-0.1.3/core/runtime/session.py +52 -0
- helixagentai-0.1.3/core/search/__init__.py +6 -0
- helixagentai-0.1.3/core/search/catalog.py +70 -0
- helixagentai-0.1.3/core/search/config.py +80 -0
- helixagentai-0.1.3/core/search/content.py +166 -0
- helixagentai-0.1.3/core/search/engine.py +108 -0
- helixagentai-0.1.3/core/search/providers.py +203 -0
- helixagentai-0.1.3/core/security/__init__.py +24 -0
- helixagentai-0.1.3/core/security/auth.py +178 -0
- helixagentai-0.1.3/core/security/confirmation.py +635 -0
- helixagentai-0.1.3/core/security/confirmation_events.py +117 -0
- helixagentai-0.1.3/core/security/permissions.py +53 -0
- helixagentai-0.1.3/core/security/safety.py +142 -0
- helixagentai-0.1.3/core/self_refinement/__init__.py +7 -0
- helixagentai-0.1.3/core/self_refinement/loop.py +295 -0
- helixagentai-0.1.3/core/session_models.py +176 -0
- helixagentai-0.1.3/core/skills/__init__.py +0 -0
- helixagentai-0.1.3/core/skills/assignments.py +165 -0
- helixagentai-0.1.3/core/skills/bundled/helix-cron/SKILL.md +124 -0
- helixagentai-0.1.3/core/skills/bundled.py +93 -0
- helixagentai-0.1.3/core/skills/generator.py +158 -0
- helixagentai-0.1.3/core/skills/manager.py +421 -0
- helixagentai-0.1.3/core/subagents/__init__.py +11 -0
- helixagentai-0.1.3/core/subagents/async_runner.py +375 -0
- helixagentai-0.1.3/core/subagents/base.py +134 -0
- helixagentai-0.1.3/core/subagents/communication.py +355 -0
- helixagentai-0.1.3/core/subagents/interaction.py +258 -0
- helixagentai-0.1.3/core/subagents/interaction_events.py +41 -0
- helixagentai-0.1.3/core/subagents/manager.py +405 -0
- helixagentai-0.1.3/core/subagents/process.py +933 -0
- helixagentai-0.1.3/core/subagents/registry.py +174 -0
- helixagentai-0.1.3/core/subagents/spawn.py +39 -0
- helixagentai-0.1.3/core/tools/__init__.py +0 -0
- helixagentai-0.1.3/core/tools/aliases.py +31 -0
- helixagentai-0.1.3/core/tools/ask_user.py +53 -0
- helixagentai-0.1.3/core/tools/base.py +42 -0
- helixagentai-0.1.3/core/tools/browser/__init__.py +5 -0
- helixagentai-0.1.3/core/tools/browser/policy.py +76 -0
- helixagentai-0.1.3/core/tools/browser/session.py +124 -0
- helixagentai-0.1.3/core/tools/browser/snapshot.py +77 -0
- helixagentai-0.1.3/core/tools/browser/tools.py +247 -0
- helixagentai-0.1.3/core/tools/code_executor.py +219 -0
- helixagentai-0.1.3/core/tools/database.py +167 -0
- helixagentai-0.1.3/core/tools/execution_context.py +52 -0
- helixagentai-0.1.3/core/tools/file_diff.py +77 -0
- helixagentai-0.1.3/core/tools/file_ops.py +155 -0
- helixagentai-0.1.3/core/tools/registry.py +182 -0
- helixagentai-0.1.3/core/tools/subagents.py +168 -0
- helixagentai-0.1.3/core/tools/terminal.py +79 -0
- helixagentai-0.1.3/core/tools/web_search.py +87 -0
- helixagentai-0.1.3/integrations/__init__.py +1 -0
- helixagentai-0.1.3/integrations/telegram/__init__.py +5 -0
- helixagentai-0.1.3/integrations/telegram/agent_setup.py +32 -0
- helixagentai-0.1.3/integrations/telegram/approvals.py +237 -0
- helixagentai-0.1.3/integrations/telegram/bot.py +494 -0
- helixagentai-0.1.3/integrations/telegram/commands.py +140 -0
- helixagentai-0.1.3/integrations/telegram/config.py +59 -0
- helixagentai-0.1.3/integrations/telegram/env_store.py +123 -0
- helixagentai-0.1.3/integrations/telegram/event_handler.py +201 -0
- helixagentai-0.1.3/integrations/telegram/file_handler.py +478 -0
- helixagentai-0.1.3/integrations/telegram/host.py +649 -0
- helixagentai-0.1.3/integrations/telegram/interactive.py +781 -0
- helixagentai-0.1.3/integrations/telegram/keyboards.py +318 -0
- helixagentai-0.1.3/integrations/telegram/live_presenter.py +120 -0
- helixagentai-0.1.3/integrations/telegram/main.py +25 -0
- helixagentai-0.1.3/integrations/telegram/markdown.py +215 -0
- helixagentai-0.1.3/integrations/telegram/media_group.py +84 -0
- helixagentai-0.1.3/integrations/telegram/model_switch.py +286 -0
- helixagentai-0.1.3/integrations/telegram/render.py +76 -0
- helixagentai-0.1.3/integrations/telegram/session.py +65 -0
- helixagentai-0.1.3/integrations/telegram/setup_api.py +83 -0
- helixagentai-0.1.3/integrations/telegram/typing_indicator.py +66 -0
- helixagentai-0.1.3/integrations/telegram/voice_handler.py +355 -0
- helixagentai-0.1.3/pyproject.toml +147 -0
- helixagentai-0.1.3/scripts/hatch_bump_version.py +35 -0
- helixagentai-0.1.3/scripts/install.ps1 +18 -0
- helixagentai-0.1.3/scripts/install.py +82 -0
- helixagentai-0.1.3/scripts/install.sh +16 -0
- helixagentai-0.1.3/scripts/setup_pypi_publish.sh +135 -0
- helixagentai-0.1.3/scripts/versioning.py +77 -0
- helixagentai-0.1.3/web-docs/assets/css/style.css +816 -0
- helixagentai-0.1.3/web-docs/assets/js/app.js +633 -0
- helixagentai-0.1.3/web-docs/assets/logo.svg +33 -0
- helixagentai-0.1.3/web-docs/build.py +105 -0
- helixagentai-0.1.3/web-docs/content/en/ARCHITECTURE.md +71 -0
- helixagentai-0.1.3/web-docs/content/en/BROWSER_TOOLS.md +67 -0
- helixagentai-0.1.3/web-docs/content/en/CLI.md +493 -0
- helixagentai-0.1.3/web-docs/content/en/CONFIGURATION.md +134 -0
- helixagentai-0.1.3/web-docs/content/en/DEPLOYMENT.md +28 -0
- helixagentai-0.1.3/web-docs/content/en/DOCTOR.md +40 -0
- helixagentai-0.1.3/web-docs/content/en/GATEWAY.md +43 -0
- helixagentai-0.1.3/web-docs/content/en/HUB.md +74 -0
- helixagentai-0.1.3/web-docs/content/en/INSTALLATION.md +154 -0
- helixagentai-0.1.3/web-docs/content/en/LOGS.md +144 -0
- helixagentai-0.1.3/web-docs/content/en/PYPI.md +231 -0
- helixagentai-0.1.3/web-docs/content/en/QUICKSTART.md +31 -0
- helixagentai-0.1.3/web-docs/content/en/README.md +40 -0
- helixagentai-0.1.3/web-docs/content/en/SECURITY.md +53 -0
- helixagentai-0.1.3/web-docs/content/en/SLASH_COMMANDS.md +188 -0
- helixagentai-0.1.3/web-docs/content/en/START_HERE.md +75 -0
- helixagentai-0.1.3/web-docs/content/en/TELEGRAM.md +91 -0
- helixagentai-0.1.3/web-docs/content/en/TROUBLESHOOTING.md +52 -0
- helixagentai-0.1.3/web-docs/content/en/TUI.md +35 -0
- helixagentai-0.1.3/web-docs/content/en/USER_GUIDE.md +854 -0
- helixagentai-0.1.3/web-docs/content/ru/ARCHITECTURE.md +19 -0
- helixagentai-0.1.3/web-docs/content/ru/BROWSER_TOOLS.md +41 -0
- helixagentai-0.1.3/web-docs/content/ru/CLI.md +260 -0
- helixagentai-0.1.3/web-docs/content/ru/CONFIGURATION.md +63 -0
- helixagentai-0.1.3/web-docs/content/ru/DEPLOYMENT.md +28 -0
- helixagentai-0.1.3/web-docs/content/ru/DOCTOR.md +39 -0
- helixagentai-0.1.3/web-docs/content/ru/GATEWAY.md +37 -0
- helixagentai-0.1.3/web-docs/content/ru/HUB.md +74 -0
- helixagentai-0.1.3/web-docs/content/ru/INSTALLATION.md +102 -0
- helixagentai-0.1.3/web-docs/content/ru/LOGS.md +90 -0
- helixagentai-0.1.3/web-docs/content/ru/PYPI.md +90 -0
- helixagentai-0.1.3/web-docs/content/ru/QUICKSTART.md +20 -0
- helixagentai-0.1.3/web-docs/content/ru/README.md +29 -0
- helixagentai-0.1.3/web-docs/content/ru/SECURITY.md +53 -0
- helixagentai-0.1.3/web-docs/content/ru/SLASH_COMMANDS.md +161 -0
- helixagentai-0.1.3/web-docs/content/ru/START_HERE.md +72 -0
- helixagentai-0.1.3/web-docs/content/ru/TELEGRAM.md +118 -0
- helixagentai-0.1.3/web-docs/content/ru/TROUBLESHOOTING.md +50 -0
- helixagentai-0.1.3/web-docs/content/ru/TUI.md +35 -0
- helixagentai-0.1.3/web-docs/content/ru/USER_GUIDE.md +854 -0
- helixagentai-0.1.3/web-docs/index.html +86 -0
- helixagentai-0.1.3/web-docs/nav.json +122 -0
- helixagentai-0.1.3/web-docs/search-index.json +402 -0
- 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
|
+
[](https://python.org)
|
|
71
|
+
[](LICENSE)
|
|
72
|
+
[](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
|
+
[](https://python.org)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](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
|