Holix 0.1.11__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.
- holix-0.1.11/.env.example +131 -0
- holix-0.1.11/.gitignore +86 -0
- holix-0.1.11/LICENSE +21 -0
- holix-0.1.11/PKG-INFO +230 -0
- holix-0.1.11/README.md +165 -0
- holix-0.1.11/api/__init__.py +0 -0
- holix-0.1.11/api/deps.py +136 -0
- holix-0.1.11/api/docs_chat.py +162 -0
- holix-0.1.11/api/errors.py +61 -0
- holix-0.1.11/api/gateway.py +171 -0
- holix-0.1.11/api/models.py +30 -0
- holix-0.1.11/api/prometheus.py +23 -0
- holix-0.1.11/api/routers/__init__.py +1 -0
- holix-0.1.11/api/routers/admin.py +76 -0
- holix-0.1.11/api/routers/health.py +59 -0
- holix-0.1.11/api/routers/hermes_jobs.py +208 -0
- holix-0.1.11/api/routers/hermes_sessions.py +214 -0
- holix-0.1.11/api/routers/hermes_v1.py +394 -0
- holix-0.1.11/api/routers/holix_config.py +84 -0
- holix-0.1.11/api/routers/holix_global.py +102 -0
- holix-0.1.11/api/routers/holix_mcp.py +243 -0
- holix-0.1.11/api/routers/holix_models.py +221 -0
- holix-0.1.11/api/routers/holix_profiles.py +299 -0
- holix-0.1.11/api/routers/holix_skills.py +175 -0
- holix-0.1.11/api/routers/holix_telegram.py +217 -0
- holix-0.1.11/api/routers/legacy_v1.py +306 -0
- holix-0.1.11/api/schemas/hermes.py +95 -0
- holix-0.1.11/api/schemas/holix.py +101 -0
- holix-0.1.11/api/services/__init__.py +0 -0
- holix-0.1.11/api/services/config_mask.py +35 -0
- holix-0.1.11/api/services/content_parts.py +158 -0
- holix-0.1.11/api/services/env_mask.py +22 -0
- holix-0.1.11/api/services/env_store.py +57 -0
- holix-0.1.11/api/services/hermes_sse.py +41 -0
- holix-0.1.11/api/services/holix_deps.py +31 -0
- holix-0.1.11/api/services/job_body.py +59 -0
- holix-0.1.11/api/services/profile_access.py +75 -0
- holix-0.1.11/api/services/telegram_ops.py +335 -0
- holix-0.1.11/api/state.py +23 -0
- holix-0.1.11/cli/__init__.py +3 -0
- holix-0.1.11/cli/__main__.py +6 -0
- holix-0.1.11/cli/commands/__init__.py +0 -0
- holix-0.1.11/cli/commands/chat.py +545 -0
- holix-0.1.11/cli/commands/config.py +78 -0
- holix-0.1.11/cli/commands/cron.py +112 -0
- holix-0.1.11/cli/commands/docs.py +69 -0
- holix-0.1.11/cli/commands/doctor.py +63 -0
- holix-0.1.11/cli/commands/gateway.py +144 -0
- holix-0.1.11/cli/commands/gateway_configure.py +328 -0
- holix-0.1.11/cli/commands/hub.py +413 -0
- holix-0.1.11/cli/commands/install_cmd.py +89 -0
- holix-0.1.11/cli/commands/logs.py +185 -0
- holix-0.1.11/cli/commands/mcp.py +506 -0
- holix-0.1.11/cli/commands/memory.py +51 -0
- holix-0.1.11/cli/commands/models.py +803 -0
- holix-0.1.11/cli/commands/profile.py +442 -0
- holix-0.1.11/cli/commands/run.py +64 -0
- holix-0.1.11/cli/commands/search.py +223 -0
- holix-0.1.11/cli/commands/skills.py +322 -0
- holix-0.1.11/cli/commands/telegram.py +253 -0
- holix-0.1.11/cli/commands/telegram_admin.py +43 -0
- holix-0.1.11/cli/commands/telegram_map.py +153 -0
- holix-0.1.11/cli/commands/telegram_requests.py +238 -0
- holix-0.1.11/cli/commands/telegram_setup.py +205 -0
- holix-0.1.11/cli/commands/update_cmd.py +106 -0
- holix-0.1.11/cli/config/__init__.py +0 -0
- holix-0.1.11/cli/core.py +563 -0
- holix-0.1.11/cli/doctor/__init__.py +5 -0
- holix-0.1.11/cli/doctor/checks.py +791 -0
- holix-0.1.11/cli/doctor/findings.py +35 -0
- holix-0.1.11/cli/doctor/fixes.py +168 -0
- holix-0.1.11/cli/doctor/llm_doctor.py +179 -0
- holix-0.1.11/cli/doctor/report.py +73 -0
- holix-0.1.11/cli/doctor/runner.py +78 -0
- holix-0.1.11/cli/installer/__init__.py +29 -0
- holix-0.1.11/cli/installer/manifest.py +95 -0
- holix-0.1.11/cli/installer/system.py +379 -0
- holix-0.1.11/cli/installer/update.py +426 -0
- holix-0.1.11/cli/main.py +353 -0
- holix-0.1.11/cli/services/__init__.py +5 -0
- holix-0.1.11/cli/services/cron_worker.py +33 -0
- holix-0.1.11/cli/services/docs_site.py +344 -0
- holix-0.1.11/cli/services/docs_worker.py +42 -0
- holix-0.1.11/cli/services/gateway_daemon.py +347 -0
- holix-0.1.11/cli/services/gateway_state.py +222 -0
- holix-0.1.11/cli/services/gateway_worker.py +78 -0
- holix-0.1.11/cli/services/supervisor.py +307 -0
- holix-0.1.11/cli/shared/__init__.py +24 -0
- holix-0.1.11/cli/shared/agent_host.py +43 -0
- holix-0.1.11/cli/shared/commands/__init__.py +3 -0
- holix-0.1.11/cli/shared/commands/agent_commands.py +494 -0
- holix-0.1.11/cli/shared/commands/context_compress.py +92 -0
- holix-0.1.11/cli/shared/commands/cron_commands.py +224 -0
- holix-0.1.11/cli/shared/commands/project_init.py +67 -0
- holix-0.1.11/cli/shared/commands/registry.py +118 -0
- holix-0.1.11/cli/shared/commands/search_commands.py +74 -0
- holix-0.1.11/cli/shared/commands/skills_commands.py +173 -0
- holix-0.1.11/cli/shared/commands/subagent_commands.py +92 -0
- holix-0.1.11/cli/shared/rich_text.py +35 -0
- holix-0.1.11/cli/shared/slash_input.py +74 -0
- holix-0.1.11/cli/tui/__init__.py +24 -0
- holix-0.1.11/cli/tui/app.py +5 -0
- holix-0.1.11/cli/tui/code/__init__.py +19 -0
- holix-0.1.11/cli/tui/code/app.py +1407 -0
- holix-0.1.11/cli/tui/code/handlers/__init__.py +4 -0
- holix-0.1.11/cli/tui/code/handlers/events.py +212 -0
- holix-0.1.11/cli/tui/code/handlers/slash.py +7 -0
- holix-0.1.11/cli/tui/code/styles.py +85 -0
- holix-0.1.11/cli/tui/code/widgets/__init__.py +17 -0
- holix-0.1.11/cli/tui/code/widgets/context_bar.py +34 -0
- holix-0.1.11/cli/tui/code/widgets/copy_selection_bar.py +77 -0
- holix-0.1.11/cli/tui/code/widgets/prompt.py +11 -0
- holix-0.1.11/cli/tui/code/widgets/slash_suggestions.py +40 -0
- holix-0.1.11/cli/tui/code/widgets/status_bar.py +12 -0
- holix-0.1.11/cli/tui/code/widgets/transcript.py +23 -0
- holix-0.1.11/cli/tui/code/widgets/transcript_panel.py +41 -0
- holix-0.1.11/cli/tui/legacy/app.py +4016 -0
- holix-0.1.11/cli/tui/legacy/confirmation_modal.py +5 -0
- holix-0.1.11/cli/tui/legacy/handlers/__init__.py +6 -0
- holix-0.1.11/cli/tui/legacy/handlers/event_handler.py +379 -0
- holix-0.1.11/cli/tui/legacy/handlers/slash_commands.py +305 -0
- holix-0.1.11/cli/tui/legacy/plan_review_modal.py +35 -0
- holix-0.1.11/cli/tui/legacy/subagents_widget.py +399 -0
- holix-0.1.11/cli/tui/legacy/widgets/__init__.py +15 -0
- holix-0.1.11/cli/tui/legacy/widgets/chat_log.py +42 -0
- holix-0.1.11/cli/tui/legacy/widgets/input_area.py +15 -0
- holix-0.1.11/cli/tui/legacy/widgets/main_content.py +28 -0
- holix-0.1.11/cli/tui/legacy/widgets/sidebar.py +52 -0
- holix-0.1.11/cli/tui/legacy/widgets/styles.py +366 -0
- holix-0.1.11/cli/tui/modals/__init__.py +7 -0
- holix-0.1.11/cli/tui/modals/confirmation.py +149 -0
- holix-0.1.11/cli/tui/modals/confirmation_presenter.py +74 -0
- holix-0.1.11/cli/tui/modals/cron_manager.py +221 -0
- holix-0.1.11/cli/tui/modals/hub_browser.py +1055 -0
- holix-0.1.11/cli/tui/modals/model_picker.py +187 -0
- holix-0.1.11/cli/tui/modals/plan_review.py +135 -0
- holix-0.1.11/cli/tui/modals/stack.py +29 -0
- holix-0.1.11/cli/tui/modals/transcript_viewer.py +109 -0
- holix-0.1.11/cli/tui/shared/__init__.py +43 -0
- holix-0.1.11/cli/tui/shared/clipboard.py +91 -0
- holix-0.1.11/cli/tui/shared/copy_bar.py +38 -0
- holix-0.1.11/cli/tui/shared/diff_render.py +161 -0
- holix-0.1.11/cli/tui/shared/formatters.py +73 -0
- holix-0.1.11/cli/tui/shared/host_protocol.py +20 -0
- holix-0.1.11/cli/tui/shared/keyboard_layout.py +135 -0
- holix-0.1.11/cli/tui/shared/slash_suggestions.py +65 -0
- holix-0.1.11/cli/tui/shared/text_escape.py +18 -0
- holix-0.1.11/cli/tui/shared/transcript_store.py +134 -0
- holix-0.1.11/cli/tui/web_entry.py +27 -0
- holix-0.1.11/cli/tui/web_security.py +138 -0
- holix-0.1.11/cli/tui/web_serve.py +86 -0
- holix-0.1.11/cli/tui/web_server.py +70 -0
- holix-0.1.11/cli/utils/__init__.py +0 -0
- holix-0.1.11/cli/utils/banner.py +59 -0
- holix-0.1.11/cli/utils/ports.py +41 -0
- holix-0.1.11/cli/utils/profile.py +24 -0
- holix-0.1.11/cli/utils/rich_console.py +158 -0
- holix-0.1.11/config.py +290 -0
- holix-0.1.11/core/__init__.py +0 -0
- holix-0.1.11/core/agent.py +458 -0
- holix-0.1.11/core/agent_events.py +638 -0
- holix-0.1.11/core/agent_execution.py +581 -0
- holix-0.1.11/core/config_utils.py +128 -0
- holix-0.1.11/core/context/__init__.py +17 -0
- holix-0.1.11/core/context/compressor.py +189 -0
- holix-0.1.11/core/context/manager.py +261 -0
- holix-0.1.11/core/context/token_counter.py +123 -0
- holix-0.1.11/core/cron/__init__.py +12 -0
- holix-0.1.11/core/cron/active_runs.py +51 -0
- holix-0.1.11/core/cron/expressions.py +43 -0
- holix-0.1.11/core/cron/models.py +45 -0
- holix-0.1.11/core/cron/notifier.py +77 -0
- holix-0.1.11/core/cron/runner.py +244 -0
- holix-0.1.11/core/cron/schedule_parse.py +76 -0
- holix-0.1.11/core/cron/scheduler.py +73 -0
- holix-0.1.11/core/cron/session_sync.py +75 -0
- holix-0.1.11/core/cron/store.py +135 -0
- holix-0.1.11/core/di/__init__.py +20 -0
- holix-0.1.11/core/di/container.py +108 -0
- holix-0.1.11/core/di/factories.py +20 -0
- holix-0.1.11/core/di/providers.py +53 -0
- holix-0.1.11/core/di/runtime_config.py +238 -0
- holix-0.1.11/core/docs_chat/__init__.py +6 -0
- holix-0.1.11/core/docs_chat/build_index.py +81 -0
- holix-0.1.11/core/docs_chat/chunking.py +124 -0
- holix-0.1.11/core/docs_chat/embeddings.py +76 -0
- holix-0.1.11/core/docs_chat/keywords.py +117 -0
- holix-0.1.11/core/docs_chat/retrieval.py +280 -0
- holix-0.1.11/core/docs_chat/service.py +411 -0
- holix-0.1.11/core/docs_chat/sessions.py +117 -0
- holix-0.1.11/core/env_loader.py +350 -0
- holix-0.1.11/core/evolution/__init__.py +7 -0
- holix-0.1.11/core/evolution/engine.py +257 -0
- holix-0.1.11/core/gateway/__init__.py +5 -0
- holix-0.1.11/core/gateway/companions.py +95 -0
- holix-0.1.11/core/gateway/profile_registry.py +94 -0
- holix-0.1.11/core/gateway/responses_store.py +157 -0
- holix-0.1.11/core/gateway/runs_store.py +136 -0
- holix-0.1.11/core/gateway/sessions_store.py +138 -0
- holix-0.1.11/core/global_config.py +227 -0
- holix-0.1.11/core/graph/__init__.py +7 -0
- holix-0.1.11/core/graph/builder.py +198 -0
- holix-0.1.11/core/graph/modes/__init__.py +13 -0
- holix-0.1.11/core/graph/modes/_compile.py +22 -0
- holix-0.1.11/core/graph/modes/hybrid.py +55 -0
- holix-0.1.11/core/graph/modes/plan_execute.py +77 -0
- holix-0.1.11/core/graph/modes/react.py +45 -0
- holix-0.1.11/core/graph/modes/router.py +156 -0
- holix-0.1.11/core/graph/nodes/__init__.py +3 -0
- holix-0.1.11/core/graph/nodes/collect_subagent_node.py +60 -0
- holix-0.1.11/core/graph/nodes/delegate_subagent_node.py +69 -0
- holix-0.1.11/core/graph/nodes/execute_step_node.py +226 -0
- holix-0.1.11/core/graph/nodes/finalize_node.py +146 -0
- holix-0.1.11/core/graph/nodes/memory_retrieval_node.py +127 -0
- holix-0.1.11/core/graph/nodes/meta_agent_node.py +83 -0
- holix-0.1.11/core/graph/nodes/plan_node.py +487 -0
- holix-0.1.11/core/graph/nodes/plan_review_node.py +177 -0
- holix-0.1.11/core/graph/nodes/react_node.py +507 -0
- holix-0.1.11/core/graph/nodes/self_refinement_node.py +117 -0
- holix-0.1.11/core/graph/nodes/step_orchestrate_node.py +205 -0
- holix-0.1.11/core/graph/nodes/tool_execution_node.py +123 -0
- holix-0.1.11/core/graph/routers.py +97 -0
- holix-0.1.11/core/graph/state.py +94 -0
- holix-0.1.11/core/graph/tools.py +179 -0
- holix-0.1.11/core/graph/visualization.py +308 -0
- holix-0.1.11/core/hub/__init__.py +6 -0
- holix-0.1.11/core/hub/autoupdate.py +119 -0
- holix-0.1.11/core/hub/catalog.py +157 -0
- holix-0.1.11/core/hub/claude_convert.py +44 -0
- holix-0.1.11/core/hub/claude_marketplace.py +203 -0
- holix-0.1.11/core/hub/claude_mcp.py +67 -0
- holix-0.1.11/core/hub/clawhub.py +140 -0
- holix-0.1.11/core/hub/hermes_hub.py +116 -0
- holix-0.1.11/core/hub/importer.py +495 -0
- holix-0.1.11/core/hub/installed.py +150 -0
- holix-0.1.11/core/hub/interactive.py +180 -0
- holix-0.1.11/core/hub/lockfile.py +75 -0
- holix-0.1.11/core/hub/normalize.py +120 -0
- holix-0.1.11/core/hub/skills_sh.py +67 -0
- holix-0.1.11/core/hub/slash_registry.py +108 -0
- holix-0.1.11/core/hub/sources.py +96 -0
- holix-0.1.11/core/hub/updates.py +46 -0
- holix-0.1.11/core/i18n/__init__.py +23 -0
- holix-0.1.11/core/i18n/locale.py +80 -0
- holix-0.1.11/core/i18n/messages.py +281 -0
- holix-0.1.11/core/logging/__init__.py +14 -0
- holix-0.1.11/core/logging/events.py +62 -0
- holix-0.1.11/core/logging/paths.py +86 -0
- holix-0.1.11/core/logging/reader.py +230 -0
- holix-0.1.11/core/logging/rotation.py +81 -0
- holix-0.1.11/core/logging/setup.py +93 -0
- holix-0.1.11/core/logging/state.py +42 -0
- holix-0.1.11/core/loop.py +53 -0
- holix-0.1.11/core/loop_streaming.py +96 -0
- holix-0.1.11/core/mcp/config.py +89 -0
- holix-0.1.11/core/mcp/installer.py +268 -0
- holix-0.1.11/core/mcp/manager.py +262 -0
- holix-0.1.11/core/mcp/popular.py +143 -0
- holix-0.1.11/core/mcp/tool.py +62 -0
- holix-0.1.11/core/mcp/validate.py +52 -0
- holix-0.1.11/core/memory/__init__.py +14 -0
- holix-0.1.11/core/memory/chroma_embeddings.py +48 -0
- holix-0.1.11/core/memory/conversation.py +281 -0
- holix-0.1.11/core/memory/episodic.py +270 -0
- holix-0.1.11/core/memory/facade.py +173 -0
- holix-0.1.11/core/memory/ltm.py +128 -0
- holix-0.1.11/core/memory/manager.py +17 -0
- holix-0.1.11/core/memory/markdown.py +103 -0
- holix-0.1.11/core/memory/procedural.py +218 -0
- holix-0.1.11/core/memory/semantic.py +222 -0
- holix-0.1.11/core/memory/session_search.py +124 -0
- holix-0.1.11/core/memory/strategic.py +286 -0
- holix-0.1.11/core/memory/summarizer.py +77 -0
- holix-0.1.11/core/memory/tool_content.py +19 -0
- holix-0.1.11/core/memory/vector.py +236 -0
- holix-0.1.11/core/meta_agent.py +300 -0
- holix-0.1.11/core/models/__init__.py +32 -0
- holix-0.1.11/core/models/catalog.py +442 -0
- holix-0.1.11/core/models/client_factory.py +85 -0
- holix-0.1.11/core/models/discovery.py +213 -0
- holix-0.1.11/core/models/fallback.py +122 -0
- holix-0.1.11/core/models/manager.py +264 -0
- holix-0.1.11/core/models/profile_cleanup.py +118 -0
- holix-0.1.11/core/models/provider.py +94 -0
- holix-0.1.11/core/models/selector.py +107 -0
- holix-0.1.11/core/models/setup_helpers.py +420 -0
- holix-0.1.11/core/monitoring/__init__.py +4 -0
- holix-0.1.11/core/monitoring/event_fields.py +25 -0
- holix-0.1.11/core/monitoring/logger.py +152 -0
- holix-0.1.11/core/monitoring/metrics.py +208 -0
- holix-0.1.11/core/paths.py +54 -0
- holix-0.1.11/core/persistence.py +51 -0
- holix-0.1.11/core/plan_review/__init__.py +27 -0
- holix-0.1.11/core/plan_review/markdown_builder.py +143 -0
- holix-0.1.11/core/plan_review/parser.py +245 -0
- holix-0.1.11/core/plan_review/plan_storage.py +283 -0
- holix-0.1.11/core/plan_review/review_events.py +121 -0
- holix-0.1.11/core/plan_review/review_guard.py +200 -0
- holix-0.1.11/core/platform_compat.py +231 -0
- holix-0.1.11/core/presenters/__init__.py +3 -0
- holix-0.1.11/core/presenters/live_buffer.py +108 -0
- holix-0.1.11/core/profile/__init__.py +1 -0
- holix-0.1.11/core/profile/init.py +70 -0
- holix-0.1.11/core/profile/soul.py +216 -0
- holix-0.1.11/core/profile/user_profile.py +222 -0
- holix-0.1.11/core/profile_keys.py +139 -0
- holix-0.1.11/core/project/__init__.py +27 -0
- holix-0.1.11/core/project/holix_md.py +94 -0
- holix-0.1.11/core/project/init_prompt.py +103 -0
- holix-0.1.11/core/prompt_builder.py +148 -0
- holix-0.1.11/core/runtime/__init__.py +6 -0
- holix-0.1.11/core/runtime/context_session.py +74 -0
- holix-0.1.11/core/runtime/executor.py +60 -0
- holix-0.1.11/core/runtime/session.py +36 -0
- holix-0.1.11/core/search/__init__.py +6 -0
- holix-0.1.11/core/search/catalog.py +69 -0
- holix-0.1.11/core/search/config.py +80 -0
- holix-0.1.11/core/search/content.py +166 -0
- holix-0.1.11/core/search/engine.py +108 -0
- holix-0.1.11/core/search/providers.py +203 -0
- holix-0.1.11/core/security/__init__.py +46 -0
- holix-0.1.11/core/security/auth.py +168 -0
- holix-0.1.11/core/security/confirmation.py +681 -0
- holix-0.1.11/core/security/confirmation_events.py +116 -0
- holix-0.1.11/core/security/permissions.py +52 -0
- holix-0.1.11/core/security/safety.py +142 -0
- holix-0.1.11/core/self_refinement/__init__.py +7 -0
- holix-0.1.11/core/self_refinement/loop.py +295 -0
- holix-0.1.11/core/session_models.py +175 -0
- holix-0.1.11/core/skills/__init__.py +0 -0
- holix-0.1.11/core/skills/assignments.py +166 -0
- holix-0.1.11/core/skills/bundled/holix-cron/SKILL.md +124 -0
- holix-0.1.11/core/skills/bundled.py +93 -0
- holix-0.1.11/core/skills/generator.py +159 -0
- holix-0.1.11/core/skills/manager.py +421 -0
- holix-0.1.11/core/subagents/__init__.py +11 -0
- holix-0.1.11/core/subagents/async_runner.py +375 -0
- holix-0.1.11/core/subagents/base.py +134 -0
- holix-0.1.11/core/subagents/communication.py +358 -0
- holix-0.1.11/core/subagents/interaction.py +258 -0
- holix-0.1.11/core/subagents/interaction_events.py +41 -0
- holix-0.1.11/core/subagents/manager.py +404 -0
- holix-0.1.11/core/subagents/process.py +938 -0
- holix-0.1.11/core/subagents/registry.py +174 -0
- holix-0.1.11/core/subagents/spawn.py +39 -0
- holix-0.1.11/core/terminal_whitelist_config.py +87 -0
- holix-0.1.11/core/tools/__init__.py +0 -0
- holix-0.1.11/core/tools/aliases.py +31 -0
- holix-0.1.11/core/tools/ask_user.py +53 -0
- holix-0.1.11/core/tools/base.py +42 -0
- holix-0.1.11/core/tools/browser/__init__.py +5 -0
- holix-0.1.11/core/tools/browser/policy.py +75 -0
- holix-0.1.11/core/tools/browser/session.py +124 -0
- holix-0.1.11/core/tools/browser/snapshot.py +77 -0
- holix-0.1.11/core/tools/browser/tools.py +247 -0
- holix-0.1.11/core/tools/code_executor.py +217 -0
- holix-0.1.11/core/tools/database.py +168 -0
- holix-0.1.11/core/tools/execution_context.py +110 -0
- holix-0.1.11/core/tools/file_diff.py +77 -0
- holix-0.1.11/core/tools/file_ops.py +161 -0
- holix-0.1.11/core/tools/profile_identity.py +194 -0
- holix-0.1.11/core/tools/registry.py +223 -0
- holix-0.1.11/core/tools/send_chat_files.py +59 -0
- holix-0.1.11/core/tools/session_memory.py +123 -0
- holix-0.1.11/core/tools/subagents.py +168 -0
- holix-0.1.11/core/tools/terminal.py +87 -0
- holix-0.1.11/core/tools/web_search.py +86 -0
- holix-0.1.11/core/url_utils.py +49 -0
- holix-0.1.11/core/workspace.py +38 -0
- holix-0.1.11/integrations/__init__.py +1 -0
- holix-0.1.11/integrations/telegram/__init__.py +5 -0
- holix-0.1.11/integrations/telegram/access_requests.py +184 -0
- holix-0.1.11/integrations/telegram/admin.py +49 -0
- holix-0.1.11/integrations/telegram/agent_setup.py +30 -0
- holix-0.1.11/integrations/telegram/allowlist.py +51 -0
- holix-0.1.11/integrations/telegram/approvals.py +238 -0
- holix-0.1.11/integrations/telegram/bot.py +612 -0
- holix-0.1.11/integrations/telegram/commands.py +243 -0
- holix-0.1.11/integrations/telegram/config.py +75 -0
- holix-0.1.11/integrations/telegram/delivery_bridge.py +28 -0
- holix-0.1.11/integrations/telegram/env_store.py +153 -0
- holix-0.1.11/integrations/telegram/event_handler.py +204 -0
- holix-0.1.11/integrations/telegram/file_handler.py +511 -0
- holix-0.1.11/integrations/telegram/host.py +693 -0
- holix-0.1.11/integrations/telegram/interactive.py +850 -0
- holix-0.1.11/integrations/telegram/keyboards.py +364 -0
- holix-0.1.11/integrations/telegram/live_presenter.py +120 -0
- holix-0.1.11/integrations/telegram/main.py +25 -0
- holix-0.1.11/integrations/telegram/markdown.py +215 -0
- holix-0.1.11/integrations/telegram/media_group.py +84 -0
- holix-0.1.11/integrations/telegram/model_switch.py +286 -0
- holix-0.1.11/integrations/telegram/notify.py +180 -0
- holix-0.1.11/integrations/telegram/outbound.py +236 -0
- holix-0.1.11/integrations/telegram/render.py +77 -0
- holix-0.1.11/integrations/telegram/session.py +68 -0
- holix-0.1.11/integrations/telegram/setup_api.py +83 -0
- holix-0.1.11/integrations/telegram/typing_indicator.py +66 -0
- holix-0.1.11/integrations/telegram/user_profiles.py +133 -0
- holix-0.1.11/integrations/telegram/voice_handler.py +355 -0
- holix-0.1.11/pyproject.toml +153 -0
- holix-0.1.11/scripts/changelog_release_notes.py +39 -0
- holix-0.1.11/scripts/docker-entrypoint.sh +37 -0
- holix-0.1.11/scripts/docker_bootstrap.py +85 -0
- holix-0.1.11/scripts/hatch_bump_version.py +35 -0
- holix-0.1.11/scripts/install.ps1 +18 -0
- holix-0.1.11/scripts/install.py +87 -0
- holix-0.1.11/scripts/install.sh +16 -0
- holix-0.1.11/scripts/rename_to_holix.py +226 -0
- holix-0.1.11/scripts/setup_pypi_publish.sh +135 -0
- holix-0.1.11/scripts/versioning.py +77 -0
- holix-0.1.11/web-docs/assets/css/chat-widget.css +486 -0
- holix-0.1.11/web-docs/assets/css/style.css +1254 -0
- holix-0.1.11/web-docs/assets/js/app.js +1074 -0
- holix-0.1.11/web-docs/assets/js/chat-widget.js +681 -0
- holix-0.1.11/web-docs/assets/logo.svg +33 -0
- holix-0.1.11/web-docs/build.py +207 -0
- holix-0.1.11/web-docs/content/en/ARCHITECTURE.md +81 -0
- holix-0.1.11/web-docs/content/en/BROWSER_TOOLS.md +67 -0
- holix-0.1.11/web-docs/content/en/CLI.md +604 -0
- holix-0.1.11/web-docs/content/en/CONFIGURATION.md +271 -0
- holix-0.1.11/web-docs/content/en/DEPLOYMENT.md +198 -0
- holix-0.1.11/web-docs/content/en/DOCTOR.md +40 -0
- holix-0.1.11/web-docs/content/en/EXECUTION_MODES.md +343 -0
- holix-0.1.11/web-docs/content/en/GATEWAY.md +152 -0
- holix-0.1.11/web-docs/content/en/GATEWAY_API.md +945 -0
- holix-0.1.11/web-docs/content/en/HUB.md +74 -0
- holix-0.1.11/web-docs/content/en/INSTALLATION.md +220 -0
- holix-0.1.11/web-docs/content/en/LOGS.md +144 -0
- holix-0.1.11/web-docs/content/en/PROFILES.md +308 -0
- holix-0.1.11/web-docs/content/en/PYPI.md +233 -0
- holix-0.1.11/web-docs/content/en/QUICKSTART.md +48 -0
- holix-0.1.11/web-docs/content/en/README.md +49 -0
- holix-0.1.11/web-docs/content/en/SECURITY.md +81 -0
- holix-0.1.11/web-docs/content/en/SLASH_COMMANDS.md +188 -0
- holix-0.1.11/web-docs/content/en/START_HERE.md +95 -0
- holix-0.1.11/web-docs/content/en/TELEGRAM.md +198 -0
- holix-0.1.11/web-docs/content/en/TELEGRAM_MULTI_PROFILE.md +216 -0
- holix-0.1.11/web-docs/content/en/TERMINAL_SECURITY.md +228 -0
- holix-0.1.11/web-docs/content/en/TROUBLESHOOTING.md +62 -0
- holix-0.1.11/web-docs/content/en/TUI.md +35 -0
- holix-0.1.11/web-docs/content/en/USER_GUIDE.md +811 -0
- holix-0.1.11/web-docs/content/ru/ARCHITECTURE.md +21 -0
- holix-0.1.11/web-docs/content/ru/BROWSER_TOOLS.md +41 -0
- holix-0.1.11/web-docs/content/ru/CLI.md +380 -0
- holix-0.1.11/web-docs/content/ru/CONFIGURATION.md +191 -0
- holix-0.1.11/web-docs/content/ru/DEPLOYMENT.md +198 -0
- holix-0.1.11/web-docs/content/ru/DOCTOR.md +39 -0
- holix-0.1.11/web-docs/content/ru/EXECUTION_MODES.md +343 -0
- holix-0.1.11/web-docs/content/ru/GATEWAY.md +152 -0
- holix-0.1.11/web-docs/content/ru/GATEWAY_API.md +945 -0
- holix-0.1.11/web-docs/content/ru/HUB.md +74 -0
- holix-0.1.11/web-docs/content/ru/INSTALLATION.md +168 -0
- holix-0.1.11/web-docs/content/ru/LOGS.md +90 -0
- holix-0.1.11/web-docs/content/ru/PROFILES.md +308 -0
- holix-0.1.11/web-docs/content/ru/PYPI.md +92 -0
- holix-0.1.11/web-docs/content/ru/QUICKSTART.md +43 -0
- holix-0.1.11/web-docs/content/ru/README.md +38 -0
- holix-0.1.11/web-docs/content/ru/SECURITY.md +81 -0
- holix-0.1.11/web-docs/content/ru/SLASH_COMMANDS.md +161 -0
- holix-0.1.11/web-docs/content/ru/START_HERE.md +91 -0
- holix-0.1.11/web-docs/content/ru/TELEGRAM.md +195 -0
- holix-0.1.11/web-docs/content/ru/TELEGRAM_MULTI_PROFILE.md +216 -0
- holix-0.1.11/web-docs/content/ru/TERMINAL_SECURITY.md +228 -0
- holix-0.1.11/web-docs/content/ru/TROUBLESHOOTING.md +60 -0
- holix-0.1.11/web-docs/content/ru/TUI.md +35 -0
- holix-0.1.11/web-docs/content/ru/USER_GUIDE.md +807 -0
- holix-0.1.11/web-docs/index.html +240 -0
- holix-0.1.11/web-docs/nav.json +152 -0
- holix-0.1.11/web-docs/robots.txt +11 -0
- holix-0.1.11/web-docs/search-chunks.json +10786 -0
- holix-0.1.11/web-docs/search-index.json +502 -0
- holix-0.1.11/web-docs/search-vectors.manifest.json +5 -0
- holix-0.1.11/web-docs/search-vectors.npz +0 -0
- holix-0.1.11/web-docs/seo-meta.json +443 -0
- holix-0.1.11/web-docs/seo_catalog.py +540 -0
- holix-0.1.11/web-docs/serve.py +32 -0
- holix-0.1.11/web-docs/sitemap.xml +138 -0
- holix-0.1.11/web-docs/yandex_514cfda3468a3bde.html +6 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Holix environment — copy to ~/.holix/.env (primary location)
|
|
2
|
+
# Optional: ./.env in a project dir (lower priority than ~/.holix/.env)
|
|
3
|
+
|
|
4
|
+
# --- Environment ---
|
|
5
|
+
HOLIX_ENV=development
|
|
6
|
+
# HOLIX_HOME= # override data dir (default: ~/.holix, XDG_DATA_HOME/helix, or %LOCALAPPDATA%\Holix on Windows)
|
|
7
|
+
# production: forces auth, stricter Telegram/CORS checks
|
|
8
|
+
|
|
9
|
+
# --- LLM (legacy single-provider; prefer holix 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 ~/.holix/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 holix 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 (holix logs) ---
|
|
39
|
+
# HOLIX_LOG_LEVEL=INFO
|
|
40
|
+
# HOLIX_LOG_DEBUG=false
|
|
41
|
+
# HOLIX_LOG_MAX_BYTES=10485760
|
|
42
|
+
# HOLIX_LOG_BACKUP_COUNT=10
|
|
43
|
+
# HOLIX_LOG_ROTATION_DAYS=14
|
|
44
|
+
|
|
45
|
+
# --- Web TUI (holix tui --web) ---
|
|
46
|
+
# HOLIX_TUI_WEB_TOKEN= # required for --allow-lan / production; optional on 127.0.0.1
|
|
47
|
+
|
|
48
|
+
# --- Gateway ---
|
|
49
|
+
HOLIX_GATEWAY_HOST=127.0.0.1
|
|
50
|
+
HOLIX_GATEWAY_PORT=8000
|
|
51
|
+
# HOLIX_GATEWAY_WITH_DOCS=1
|
|
52
|
+
# HOLIX_DOCS_HOST=127.0.0.1
|
|
53
|
+
# HOLIX_DOCS_PORT=8080
|
|
54
|
+
|
|
55
|
+
# --- Documentation-site chat widget (site-only assistant, no tools) ---
|
|
56
|
+
# HOLIX_DOCS_CHAT_ENABLED=1
|
|
57
|
+
# HOLIX_DOCS_CHAT_PROFILE=docs
|
|
58
|
+
# HOLIX_DOCS_CHAT_TOKEN= # random secret; used by docs server proxy → gateway (not in browser)
|
|
59
|
+
# HOLIX_DOCS_CHAT_RATE_LIMIT_RPM=30
|
|
60
|
+
# HOLIX_DOCS_CHAT_MODEL=smart # non-reasoning model; avoid coder (uses reasoning tokens)
|
|
61
|
+
# HOLIX_DOCS_CHAT_MAX_TOKENS=4096
|
|
62
|
+
# Profile `docs`: only LLM keys in ~/.holix/profiles/docs/.env — no terminal/file tools used
|
|
63
|
+
|
|
64
|
+
HOLIX_REQUIRE_AUTH=true
|
|
65
|
+
HOLIX_CORS_ORIGINS=http://127.0.0.1:8000,http://localhost:8000
|
|
66
|
+
HOLIX_API_KEYS_DB=data/security/api_keys.db
|
|
67
|
+
# Required when HOLIX_REQUIRE_AUTH=true (generate: openssl rand -hex 32)
|
|
68
|
+
HOLIX_API_KEY_PEPPER=
|
|
69
|
+
HOLIX_RATE_LIMIT_RPM=100
|
|
70
|
+
HOLIX_ADMIN_RATE_LIMIT_RPM=30
|
|
71
|
+
HOLIX_ENABLE_PROMETHEUS_METRICS=true
|
|
72
|
+
|
|
73
|
+
# --- Tools (production: disable risky tools) ---
|
|
74
|
+
HOLIX_ENABLE_CODE_EXECUTOR=true
|
|
75
|
+
HOLIX_ENABLE_TERMINAL_TOOL=true
|
|
76
|
+
HOLIX_TERMINAL_COMMAND_WHITELIST=true
|
|
77
|
+
# Extra allowed commands/prefixes (comma-separated): holix gateway start, docker, make
|
|
78
|
+
# HOLIX_TERMINAL_WHITELIST_EXTRA=helix,uv,docker,make
|
|
79
|
+
|
|
80
|
+
# --- Telegram (optional: uv sync --extra telegram) ---
|
|
81
|
+
TELEGRAM_BOT_TOKEN=
|
|
82
|
+
# HOLIX_TELEGRAM_ACCESS_REQUESTS=true # default: users send /start, admin approves via CLI
|
|
83
|
+
# HOLIX_TELEGRAM_ADMIN_USER_ID= # single Telegram admin (set via: holix telegram requests approve … --set-admin)
|
|
84
|
+
# HOLIX_TELEGRAM_ADMIN_PROFILE=admin # Holix profile for the Telegram admin
|
|
85
|
+
HOLIX_TELEGRAM_ALLOWED_USERS=
|
|
86
|
+
# HOLIX_TELEGRAM_ALLOW_ALL=true # dev only: allow any Telegram user (never use in production)
|
|
87
|
+
HOLIX_TELEGRAM_PROFILE=default
|
|
88
|
+
|
|
89
|
+
# --- Voice Messages (Telegram) ---
|
|
90
|
+
# Вариант A — OpenAI Whisper напрямую:
|
|
91
|
+
# OPENAI_API_KEY=sk-...
|
|
92
|
+
# HOLIX_WHISPER_MODEL=whisper-1
|
|
93
|
+
#
|
|
94
|
+
# Вариант B — через LiteLLM proxy (нужна модель whisper в config LiteLLM):
|
|
95
|
+
# HOLIX_WHISPER_BASE_URL=http://192.168.88.252:4000/v1
|
|
96
|
+
# HOLIX_WHISPER_API_KEY=sk-... # virtual key LiteLLM
|
|
97
|
+
# HOLIX_WHISPER_MODEL=whisper # model_name из LiteLLM config, не whisper-1
|
|
98
|
+
#
|
|
99
|
+
# Вариант C — тот же litellm-провайдер из профиля (HOLIX_WHISPER_USE_PROFILE_LITELLM=true):
|
|
100
|
+
# HOLIX_WHISPER_MODEL=whisper
|
|
101
|
+
#
|
|
102
|
+
# Вариант D — локально на машине с агентом (без облака, нужен ffmpeg):
|
|
103
|
+
# uv sync --extra voice
|
|
104
|
+
# HOLIX_WHISPER_BACKEND=local
|
|
105
|
+
# HOLIX_WHISPER_LOCAL_MODEL=base # tiny | base | small | medium | large-v3
|
|
106
|
+
# HOLIX_WHISPER_LOCAL_DEVICE=cpu # cuda для GPU
|
|
107
|
+
# HOLIX_WHISPER_LOCAL_COMPUTE_TYPE=int8 # float16 на GPU
|
|
108
|
+
# HOLIX_WHISPER_AUTO_DOWNLOAD=true # скачать модель при старте бота (по умолчанию)
|
|
109
|
+
# HOLIX_WHISPER_LOCAL_DOWNLOAD_ROOT= # каталог кэша (по умолчанию ~/.holix/models/whisper)
|
|
110
|
+
# HOLIX_TELEGRAM_VOICE_LANGUAGE=ru
|
|
111
|
+
#
|
|
112
|
+
# HOLIX_WHISPER_BACKEND=auto # local если установлен faster-whisper, иначе API
|
|
113
|
+
# HOLIX_TELEGRAM_VOICE_ENABLED=true
|
|
114
|
+
|
|
115
|
+
# --- Telegram files (photos, documents) ---
|
|
116
|
+
# HOLIX_TELEGRAM_FILES_ENABLED=true
|
|
117
|
+
# HOLIX_TELEGRAM_MAX_FILE_MB=20
|
|
118
|
+
# HOLIX_TELEGRAM_MEDIA_GROUP_DELAY_MS=800 # пауза перед обработкой альбома
|
|
119
|
+
# HOLIX_TELEGRAM_VISION_MODEL=smart # имя модели в LiteLLM с поддержкой vision
|
|
120
|
+
# Требуются также LITELLM_API_KEY + LITELLM_API_BASE (или holix models setup)
|
|
121
|
+
|
|
122
|
+
# --- Browser (optional: uv sync --extra browser) ---
|
|
123
|
+
ENABLE_BROWSER_TOOLS=true
|
|
124
|
+
BROWSER_HEADLESS=true
|
|
125
|
+
BROWSER_ALLOWED_HOSTS=
|
|
126
|
+
|
|
127
|
+
# --- Web search (holix search configure) ---
|
|
128
|
+
# FIRECRAWL_API_KEY=fc-...
|
|
129
|
+
# SEARXNG_BASE_URL=http://127.0.0.1:8080
|
|
130
|
+
|
|
131
|
+
# Profile secrets in config.yaml: use ${OPENAI_API_KEY} or ${ENV:OPENAI_API_KEY}
|
holix-0.1.11/.gitignore
ADDED
|
@@ -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
|
holix-0.1.11/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Holix 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.
|
holix-0.1.11/PKG-INFO
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Holix
|
|
3
|
+
Version: 0.1.11
|
|
4
|
+
Summary: Self-improving AI agent with memory, skills, MCP, CLI, and TUI
|
|
5
|
+
Project-URL: Homepage, https://holix-agent.ru
|
|
6
|
+
Project-URL: Documentation, https://holix-agent.ru
|
|
7
|
+
Project-URL: Repository, https://github.com/javded-itres/Holix
|
|
8
|
+
Project-URL: Issues, https://github.com/javded-itres/Holix/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/javded-itres/Holix/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
|
+
# Holix — Self-Improving AI Agent
|
|
67
|
+
|
|
68
|
+
**Holix** 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://pypi.org/project/Holix/)
|
|
71
|
+
[](https://python.org)
|
|
72
|
+
[](LICENSE)
|
|
73
|
+
[](docs/README.md)
|
|
74
|
+
|
|
75
|
+
**Website:** [holix-agent.ru](https://holix-agent.ru) · **PyPI:** [Holix](https://pypi.org/project/Holix/) · **GitHub:** [javded-itres/Holix](https://github.com/javded-itres/Holix) · **Telegram:** [@holix_agent](https://t.me/holix_agent) · **Docs:** [EN](docs/en/README.md) · [RU](docs/ru/README.md) · **Donate:** [Boosty](https://boosty.to/javded/single-payment/donation/805721/target?share=target_link)
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Features
|
|
80
|
+
|
|
81
|
+
- **Tool calling** — files, shell, web, code execution, optional Playwright browser tools
|
|
82
|
+
- **Persistent memory** — SQLite conversations + ChromaDB semantic search
|
|
83
|
+
- **Skills** — markdown skills with auto-generation and hub catalogs (ClawHub, Hermes, Claude plugins)
|
|
84
|
+
- **MCP** — configure and assign Model Context Protocol servers per agent
|
|
85
|
+
- **Multi-provider** — Ollama, LiteLLM, OpenAI, Groq, and any OpenAI-compatible API
|
|
86
|
+
- **Interfaces** — `holix tui`, `holix chat-command`, `holix run`, `holix gateway`
|
|
87
|
+
- **Security** — API keys, rate limits, command whitelist, confirmation prompts
|
|
88
|
+
- **Operations** — `holix doctor`, `holix logs`, background gateway supervisor, Docker
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Quick start
|
|
93
|
+
|
|
94
|
+
### Install
|
|
95
|
+
|
|
96
|
+
**Install from PyPI** (Python 3.12+). Package: [`Holix`](https://pypi.org/project/Holix/), CLI command: `holix`:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pipx install Holix # global CLI (recommended)
|
|
100
|
+
pipx install "Holix[all]" # + telegram, browser, tui-web, voice
|
|
101
|
+
|
|
102
|
+
# or in a virtualenv:
|
|
103
|
+
pip install Holix
|
|
104
|
+
pip install "Holix[telegram,browser]"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Do not use `pip install helix` — that is a **different** package on PyPI.
|
|
108
|
+
|
|
109
|
+
Update later: `holix update --channel pypi`
|
|
110
|
+
|
|
111
|
+
**From source (developers):**
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
git clone https://github.com/javded-itres/Holix.git
|
|
115
|
+
cd Holix
|
|
116
|
+
./scripts/install.sh # macOS / Linux
|
|
117
|
+
# Windows: .\scripts\install.ps1
|
|
118
|
+
|
|
119
|
+
holix version
|
|
120
|
+
holix doctor
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Publishing: [docs/en/PYPI.md](docs/en/PYPI.md)
|
|
124
|
+
|
|
125
|
+
Developer install:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
uv sync && uv pip install -e .
|
|
129
|
+
cp .env.example .env
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Full guide: [docs/en/INSTALLATION.md](docs/en/INSTALLATION.md)
|
|
133
|
+
|
|
134
|
+
### Configure and run
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
holix models setup
|
|
138
|
+
holix tui # recommended UI
|
|
139
|
+
# or:
|
|
140
|
+
holix chat-command
|
|
141
|
+
holix run "What is in this repo?"
|
|
142
|
+
holix gateway start
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Documentation (English)
|
|
148
|
+
|
|
149
|
+
| Topic | Link |
|
|
150
|
+
|-------|------|
|
|
151
|
+
| Install & update | [INSTALLATION.md](docs/en/INSTALLATION.md) |
|
|
152
|
+
| **CLI reference** | [CLI.md](docs/en/CLI.md) |
|
|
153
|
+
| **Slash commands `/`** | [SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md) |
|
|
154
|
+
| TUI | [TUI.md](docs/en/TUI.md) |
|
|
155
|
+
| Configuration | [CONFIGURATION.md](docs/en/CONFIGURATION.md) |
|
|
156
|
+
| Skill Hub | [HUB.md](docs/en/HUB.md) |
|
|
157
|
+
| API Gateway | [GATEWAY.md](docs/en/GATEWAY.md) |
|
|
158
|
+
| Logs | [LOGS.md](docs/en/LOGS.md) |
|
|
159
|
+
| Doctor | [DOCTOR.md](docs/en/DOCTOR.md) |
|
|
160
|
+
| Security | [SECURITY.md](docs/en/SECURITY.md) |
|
|
161
|
+
| Deployment | [DEPLOYMENT.md](docs/en/DEPLOYMENT.md) |
|
|
162
|
+
| Troubleshooting | [TROUBLESHOOTING.md](docs/en/TROUBLESHOOTING.md) |
|
|
163
|
+
| Architecture | [ARCHITECTURE.md](docs/en/ARCHITECTURE.md) |
|
|
164
|
+
|
|
165
|
+
## Документация (русский)
|
|
166
|
+
|
|
167
|
+
| Тема | Ссылка |
|
|
168
|
+
|------|--------|
|
|
169
|
+
| Установка | [INSTALLATION.md](docs/ru/INSTALLATION.md) |
|
|
170
|
+
| CLI | [CLI.md](docs/ru/CLI.md) |
|
|
171
|
+
| Слэш-команды | [SLASH_COMMANDS.md](docs/ru/SLASH_COMMANDS.md) |
|
|
172
|
+
| Начало | [START_HERE.md](docs/ru/START_HERE.md) |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## CLI at a glance
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
holix tui # main UI
|
|
180
|
+
holix run "query" # one-shot
|
|
181
|
+
holix models setup # providers
|
|
182
|
+
holix hub browse # external skills
|
|
183
|
+
holix mcp setup # MCP servers
|
|
184
|
+
holix gateway start|status|stop|reload
|
|
185
|
+
holix logs [-s agent] [-f]
|
|
186
|
+
holix doctor [--fix]
|
|
187
|
+
holix install | holix update
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
In TUI/Telegram, type `/help` for slash commands. See [docs/en/SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md).
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Architecture
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
HolixAgent → run_agent_loop() (core/agent_execution.py)
|
|
198
|
+
→ LangGraph / AgentLoop
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
| Layer | Path |
|
|
202
|
+
|-------|------|
|
|
203
|
+
| Execution | `core/agent_execution.py` |
|
|
204
|
+
| Events | `core/agent_events.py` |
|
|
205
|
+
| Tools | `core/tools/` |
|
|
206
|
+
| Memory | `core/memory/` |
|
|
207
|
+
| CLI | `cli/main.py` |
|
|
208
|
+
| Gateway | `api/gateway.py` |
|
|
209
|
+
|
|
210
|
+
Details: [docs/en/ARCHITECTURE.md](docs/en/ARCHITECTURE.md)
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Docker
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
docker compose up -d
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Contributing
|
|
223
|
+
|
|
224
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md). Run tests before PRs: `uv run pytest -m "not llm"`.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## License
|
|
229
|
+
|
|
230
|
+
MIT — see [LICENSE](LICENSE)
|
holix-0.1.11/README.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Holix — Self-Improving AI Agent
|
|
2
|
+
|
|
3
|
+
**Holix** 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://pypi.org/project/Holix/)
|
|
6
|
+
[](https://python.org)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](docs/README.md)
|
|
9
|
+
|
|
10
|
+
**Website:** [holix-agent.ru](https://holix-agent.ru) · **PyPI:** [Holix](https://pypi.org/project/Holix/) · **GitHub:** [javded-itres/Holix](https://github.com/javded-itres/Holix) · **Telegram:** [@holix_agent](https://t.me/holix_agent) · **Docs:** [EN](docs/en/README.md) · [RU](docs/ru/README.md) · **Donate:** [Boosty](https://boosty.to/javded/single-payment/donation/805721/target?share=target_link)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- **Tool calling** — files, shell, web, code execution, optional Playwright browser tools
|
|
17
|
+
- **Persistent memory** — SQLite conversations + ChromaDB semantic search
|
|
18
|
+
- **Skills** — markdown skills with auto-generation and hub catalogs (ClawHub, Hermes, Claude plugins)
|
|
19
|
+
- **MCP** — configure and assign Model Context Protocol servers per agent
|
|
20
|
+
- **Multi-provider** — Ollama, LiteLLM, OpenAI, Groq, and any OpenAI-compatible API
|
|
21
|
+
- **Interfaces** — `holix tui`, `holix chat-command`, `holix run`, `holix gateway`
|
|
22
|
+
- **Security** — API keys, rate limits, command whitelist, confirmation prompts
|
|
23
|
+
- **Operations** — `holix doctor`, `holix logs`, background gateway supervisor, Docker
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Quick start
|
|
28
|
+
|
|
29
|
+
### Install
|
|
30
|
+
|
|
31
|
+
**Install from PyPI** (Python 3.12+). Package: [`Holix`](https://pypi.org/project/Holix/), CLI command: `holix`:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pipx install Holix # global CLI (recommended)
|
|
35
|
+
pipx install "Holix[all]" # + telegram, browser, tui-web, voice
|
|
36
|
+
|
|
37
|
+
# or in a virtualenv:
|
|
38
|
+
pip install Holix
|
|
39
|
+
pip install "Holix[telegram,browser]"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Do not use `pip install helix` — that is a **different** package on PyPI.
|
|
43
|
+
|
|
44
|
+
Update later: `holix update --channel pypi`
|
|
45
|
+
|
|
46
|
+
**From source (developers):**
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
git clone https://github.com/javded-itres/Holix.git
|
|
50
|
+
cd Holix
|
|
51
|
+
./scripts/install.sh # macOS / Linux
|
|
52
|
+
# Windows: .\scripts\install.ps1
|
|
53
|
+
|
|
54
|
+
holix version
|
|
55
|
+
holix doctor
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Publishing: [docs/en/PYPI.md](docs/en/PYPI.md)
|
|
59
|
+
|
|
60
|
+
Developer install:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
uv sync && uv pip install -e .
|
|
64
|
+
cp .env.example .env
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Full guide: [docs/en/INSTALLATION.md](docs/en/INSTALLATION.md)
|
|
68
|
+
|
|
69
|
+
### Configure and run
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
holix models setup
|
|
73
|
+
holix tui # recommended UI
|
|
74
|
+
# or:
|
|
75
|
+
holix chat-command
|
|
76
|
+
holix run "What is in this repo?"
|
|
77
|
+
holix gateway start
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Documentation (English)
|
|
83
|
+
|
|
84
|
+
| Topic | Link |
|
|
85
|
+
|-------|------|
|
|
86
|
+
| Install & update | [INSTALLATION.md](docs/en/INSTALLATION.md) |
|
|
87
|
+
| **CLI reference** | [CLI.md](docs/en/CLI.md) |
|
|
88
|
+
| **Slash commands `/`** | [SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md) |
|
|
89
|
+
| TUI | [TUI.md](docs/en/TUI.md) |
|
|
90
|
+
| Configuration | [CONFIGURATION.md](docs/en/CONFIGURATION.md) |
|
|
91
|
+
| Skill Hub | [HUB.md](docs/en/HUB.md) |
|
|
92
|
+
| API Gateway | [GATEWAY.md](docs/en/GATEWAY.md) |
|
|
93
|
+
| Logs | [LOGS.md](docs/en/LOGS.md) |
|
|
94
|
+
| Doctor | [DOCTOR.md](docs/en/DOCTOR.md) |
|
|
95
|
+
| Security | [SECURITY.md](docs/en/SECURITY.md) |
|
|
96
|
+
| Deployment | [DEPLOYMENT.md](docs/en/DEPLOYMENT.md) |
|
|
97
|
+
| Troubleshooting | [TROUBLESHOOTING.md](docs/en/TROUBLESHOOTING.md) |
|
|
98
|
+
| Architecture | [ARCHITECTURE.md](docs/en/ARCHITECTURE.md) |
|
|
99
|
+
|
|
100
|
+
## Документация (русский)
|
|
101
|
+
|
|
102
|
+
| Тема | Ссылка |
|
|
103
|
+
|------|--------|
|
|
104
|
+
| Установка | [INSTALLATION.md](docs/ru/INSTALLATION.md) |
|
|
105
|
+
| CLI | [CLI.md](docs/ru/CLI.md) |
|
|
106
|
+
| Слэш-команды | [SLASH_COMMANDS.md](docs/ru/SLASH_COMMANDS.md) |
|
|
107
|
+
| Начало | [START_HERE.md](docs/ru/START_HERE.md) |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## CLI at a glance
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
holix tui # main UI
|
|
115
|
+
holix run "query" # one-shot
|
|
116
|
+
holix models setup # providers
|
|
117
|
+
holix hub browse # external skills
|
|
118
|
+
holix mcp setup # MCP servers
|
|
119
|
+
holix gateway start|status|stop|reload
|
|
120
|
+
holix logs [-s agent] [-f]
|
|
121
|
+
holix doctor [--fix]
|
|
122
|
+
holix install | holix update
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
In TUI/Telegram, type `/help` for slash commands. See [docs/en/SLASH_COMMANDS.md](docs/en/SLASH_COMMANDS.md).
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Architecture
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
HolixAgent → run_agent_loop() (core/agent_execution.py)
|
|
133
|
+
→ LangGraph / AgentLoop
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
| Layer | Path |
|
|
137
|
+
|-------|------|
|
|
138
|
+
| Execution | `core/agent_execution.py` |
|
|
139
|
+
| Events | `core/agent_events.py` |
|
|
140
|
+
| Tools | `core/tools/` |
|
|
141
|
+
| Memory | `core/memory/` |
|
|
142
|
+
| CLI | `cli/main.py` |
|
|
143
|
+
| Gateway | `api/gateway.py` |
|
|
144
|
+
|
|
145
|
+
Details: [docs/en/ARCHITECTURE.md](docs/en/ARCHITECTURE.md)
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Docker
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
docker compose up -d
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Contributing
|
|
158
|
+
|
|
159
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md). Run tests before PRs: `uv run pytest -m "not llm"`.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
MIT — see [LICENSE](LICENSE)
|
|
File without changes
|