mindroot 9.11.0__py3-none-any.whl → 9.13.0__py3-none-any.whl
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.
Potentially problematic release.
This version of mindroot might be problematic. Click here for more details.
- mindroot/coreplugins/admin/static/js/model-preferences-v2.js +1 -1
- mindroot/coreplugins/home/templates/home.jinja2 +1 -0
- mindroot/docs/Makefile +20 -0
- mindroot/docs/_build/doctrees/chat_with_assistant.doctree +0 -0
- mindroot/docs/_build/doctrees/developer_documentation.doctree +0 -0
- mindroot/docs/_build/doctrees/environment.pickle +0 -0
- mindroot/docs/_build/doctrees/getting_started.doctree +0 -0
- mindroot/docs/_build/doctrees/index.doctree +0 -0
- mindroot/docs/_build/doctrees/install_plugins_with_tools.doctree +0 -0
- mindroot/docs/_build/doctrees/installation.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_api_key.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_plugin_installation.doctree +0 -0
- mindroot/docs/_build/doctrees/programming_task.doctree +0 -0
- mindroot/docs/_build/doctrees/source/ahp.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.admin.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.api_keys.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat_avatar.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.check_list.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.credits.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.email.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.env_manager.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.events.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.handlers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.jwt_auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.l8n.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.mcp_.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.persona.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.startup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.subscriptions.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.usage.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.user_service.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.json_str_block.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.plugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.backup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.registry.doctree +0 -0
- mindroot/docs/_build/doctrees/source/modules.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mr_agent_expert_instr.doctree +0 -0
- mindroot/docs/_build/doctrees/starting_mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/user_documentation.doctree +0 -0
- mindroot/docs/_build/html/.buildinfo +4 -0
- mindroot/docs/_build/html/.buildinfo.bak +4 -0
- mindroot/docs/_build/html/_images/envvar.png +0 -0
- mindroot/docs/_build/html/_images/files.png +0 -0
- mindroot/docs/_build/html/_images/installopenrouter.png +0 -0
- mindroot/docs/_build/html/_images/mood.png +0 -0
- mindroot/docs/_build/html/_images/moon.png +0 -0
- mindroot/docs/_build/html/_images/openrouter.png +0 -0
- mindroot/docs/_build/html/_images/restart.png +0 -0
- mindroot/docs/_build/html/_modules/index.html +425 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_importer.html +292 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_router.html +620 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/asset_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/command_router.html +518 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_catalog_routes.html +275 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_publish_routes.html +581 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_registry_routes.html +623 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_routes.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mod.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/oauth_callback_router.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_handler.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_router.html +428 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_manager.html +610 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_router.html +146 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_routes.html +230 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/registry_settings_routes.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/router.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/server_router.html +271 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/service_models.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/settings_router.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/api_key_manager.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/mod.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/router.html +170 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/commands.html +565 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/mod.html +118 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/models.html +130 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/router.html +571 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/services.html +645 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_manager.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_routes.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/check_list/mod.html +460 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/conversion.html +232 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/ledger.html +283 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/mod.html +355 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/models.html +269 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/router.html +306 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/storage.html +257 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/email_provider.html +159 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/imap_handler.html +343 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/mod.html +210 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/services.html +172 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/smtp_handler.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/test_email_service.html +179 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/mod.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/router.html +147 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/events/router.html +201 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/agent_ops.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/index_ops.html +214 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/plugin_ops.html +263 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/publish.html +225 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/mod.html +120 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/router.html +184 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/utils.html +166 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/middleware.html +400 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/mod.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/router.html +134 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/language_detection.html +296 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/middleware.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/mod.html +393 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_enhanced.html +408 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_l8n_standalone.html +379 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_middleware.html +394 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/utils.html +348 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_commands.html +456 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_manager.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/dynamic_commands.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mcp_manager.html +1186 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mod.html +510 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/oauth_storage.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/server_installer.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/testmcpclient.html +217 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/init_persona.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/mod.html +276 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/startup/mod.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/credit_integration.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/mod.html +1089 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/models.html +261 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/router.html +502 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/storage.html +413 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/stripe_integration.html +178 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/subscription_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/webhook_handler.html +327 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/handlers.html +157 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/mod.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/models.html +141 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/reporting.html +226 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/router.html +228 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/storage.html +264 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/admin_init.html +234 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/email_service.html +204 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/mod.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/password_reset_service.html +336 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/role_service.html +183 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/router.html +202 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/api_key.html +129 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/auth.html +203 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog.html +259 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog2.html +500 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/butemplates.html +415 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatcontext.html +401 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog.html +619 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog_optimized.html +655 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_escape.html +138 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_str_block/json_str_block.html +213 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/parent_templates.html +181 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/installation.html +481 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/l8n_static_handler.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader_with_l8n.html +391 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/manifest.html +450 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/mapping.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/paths.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins_install.html +171 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/commands.html +125 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/hooks.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/missing.html +169 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/model_preferences_v2.html +291 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/services.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers.html +465 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/route_decorators.html +175 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/session_files.html +142 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/streamcmd.html +246 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/templates.html +677 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/token_counter.html +326 -0
- mindroot/docs/_build/html/_modules/mindroot/migrate.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/component_manager.html +140 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/data_access.html +302 -0
- mindroot/docs/_build/html/_modules/mindroot/server.html +317 -0
- mindroot/docs/_build/html/_modules/mindroot/server_missing_normal_args.html +322 -0
- mindroot/docs/_build/html/_modules/mindroot/server_prev.html +298 -0
- mindroot/docs/_build/html/_sources/chat_with_assistant.rst.txt +14 -0
- mindroot/docs/_build/html/_sources/developer_documentation.rst.txt +26 -0
- mindroot/docs/_build/html/_sources/getting_started.rst.txt +139 -0
- mindroot/docs/_build/html/_sources/index.rst.txt +38 -0
- mindroot/docs/_build/html/_sources/install_plugins_with_tools.rst.txt +25 -0
- mindroot/docs/_build/html/_sources/installation.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/llm_api_key.rst.txt +22 -0
- mindroot/docs/_build/html/_sources/llm_plugin_installation.rst.txt +27 -0
- mindroot/docs/_build/html/_sources/programming_task.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/ahp.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.admin.rst.txt +189 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.api_keys.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat_avatar.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.check_list.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.credits.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.email.rst.txt +77 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.env_manager.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.events.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.handlers.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.rst.txt +53 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.jwt_auth.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.l8n.rst.txt +109 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.mcp_.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.persona.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.rst.txt +35 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.startup.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.subscriptions.rst.txt +85 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.usage.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.user_service.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.auth.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.json_str_block.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.plugins.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.backup.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.rst.txt +152 -0
- mindroot/docs/_build/html/_sources/source/mindroot.registry.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.rst.txt +54 -0
- mindroot/docs/_build/html/_sources/source/modules.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mr_agent_expert_instr.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/starting_mindroot.rst.txt +12 -0
- mindroot/docs/_build/html/_sources/user_documentation.rst.txt +16 -0
- mindroot/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +123 -0
- mindroot/docs/_build/html/_static/basic.css +906 -0
- mindroot/docs/_build/html/_static/css/badge_only.css +1 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/theme.css +4 -0
- mindroot/docs/_build/html/_static/custom.css +19 -0
- mindroot/docs/_build/html/_static/debug.css +69 -0
- mindroot/docs/_build/html/_static/doctools.js +149 -0
- mindroot/docs/_build/html/_static/documentation_options.js +13 -0
- mindroot/docs/_build/html/_static/file.png +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/jquery.js +2 -0
- mindroot/docs/_build/html/_static/js/badge_only.js +1 -0
- mindroot/docs/_build/html/_static/js/theme.js +1 -0
- mindroot/docs/_build/html/_static/js/versions.js +228 -0
- mindroot/docs/_build/html/_static/language_data.js +192 -0
- mindroot/docs/_build/html/_static/minus.png +0 -0
- mindroot/docs/_build/html/_static/plus.png +0 -0
- mindroot/docs/_build/html/_static/pygments.css +232 -0
- mindroot/docs/_build/html/_static/scripts/furo-extensions.js +0 -0
- mindroot/docs/_build/html/_static/scripts/furo.js +3 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.map +1 -0
- mindroot/docs/_build/html/_static/searchtools.js +635 -0
- mindroot/docs/_build/html/_static/skeleton.css +296 -0
- mindroot/docs/_build/html/_static/sphinx_highlight.js +154 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css.map +1 -0
- mindroot/docs/_build/html/_static/styles/furo.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo.css.map +1 -0
- mindroot/docs/_build/html/chat_with_assistant.html +329 -0
- mindroot/docs/_build/html/developer_documentation.html +338 -0
- mindroot/docs/_build/html/genindex.html +4690 -0
- mindroot/docs/_build/html/getting_started.html +423 -0
- mindroot/docs/_build/html/index.html +357 -0
- mindroot/docs/_build/html/install_plugins_with_tools.html +336 -0
- mindroot/docs/_build/html/installation.html +330 -0
- mindroot/docs/_build/html/llm_api_key.html +337 -0
- mindroot/docs/_build/html/llm_plugin_installation.html +338 -0
- mindroot/docs/_build/html/objects.inv +0 -0
- mindroot/docs/_build/html/programming_task.html +326 -0
- mindroot/docs/_build/html/py-modindex.html +1307 -0
- mindroot/docs/_build/html/search.html +307 -0
- mindroot/docs/_build/html/searchindex.js +1 -0
- mindroot/docs/_build/html/source/ahp.html +302 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.admin.html +2212 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.api_keys.html +532 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat.html +1185 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat_avatar.html +311 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.check_list.html +441 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.credits.html +879 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.email.html +554 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.env_manager.html +447 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.events.html +338 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.html +1785 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.handlers.html +481 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.html +696 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.jwt_auth.html +432 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.l8n.html +933 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.mcp_.html +1271 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.persona.html +386 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.startup.html +327 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.subscriptions.html +1631 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.usage.html +677 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.user_service.html +681 -0
- mindroot/docs/_build/html/source/mindroot.html +811 -0
- mindroot/docs/_build/html/source/mindroot.lib.auth.html +407 -0
- mindroot/docs/_build/html/source/mindroot.lib.html +2027 -0
- mindroot/docs/_build/html/source/mindroot.lib.json_str_block.html +344 -0
- mindroot/docs/_build/html/source/mindroot.lib.plugins.html +1050 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.backup.html +324 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.html +572 -0
- mindroot/docs/_build/html/source/mindroot.registry.html +501 -0
- mindroot/docs/_build/html/source/modules.html +377 -0
- mindroot/docs/_build/html/source/mr_agent_expert_instr.html +302 -0
- mindroot/docs/_build/html/starting_mindroot.html +325 -0
- mindroot/docs/_build/html/user_documentation.html +333 -0
- mindroot/docs/_static/custom.css +19 -0
- mindroot/docs/chat_with_assistant.rst +14 -0
- mindroot/docs/conf.py +54 -0
- mindroot/docs/data/agents/local/Assistant/agent.json +27 -0
- mindroot/docs/data/agents/local/SysAdmin/agent.json +33 -0
- mindroot/docs/data/equivalent_flags.json +1 -0
- mindroot/docs/data/mcp/servers.json +9 -0
- mindroot/docs/data/models.json +57 -0
- mindroot/docs/data/plugin_manifest.json +95 -0
- mindroot/docs/data/preferred_models.json +12 -0
- mindroot/docs/data/providers.json +62 -0
- mindroot/docs/developer_documentation.rst +26 -0
- mindroot/docs/envvar.png +0 -0
- mindroot/docs/files.png +0 -0
- mindroot/docs/getting_started.rst +139 -0
- mindroot/docs/index.rst +38 -0
- mindroot/docs/install_plugins_with_tools.rst +25 -0
- mindroot/docs/installation.rst +21 -0
- mindroot/docs/installopenrouter.png +0 -0
- mindroot/docs/llm_api_key.rst +22 -0
- mindroot/docs/llm_plugin_installation.rst +27 -0
- mindroot/docs/make.bat +35 -0
- mindroot/docs/mood.png +0 -0
- mindroot/docs/moon.png +0 -0
- mindroot/docs/openrouter.png +0 -0
- mindroot/docs/personas/local/Assistant/avatar.png +0 -0
- mindroot/docs/personas/local/Assistant/faceref.png +0 -0
- mindroot/docs/personas/local/Assistant/persona.json +7 -0
- mindroot/docs/programming_task.rst +10 -0
- mindroot/docs/restart.png +0 -0
- mindroot/docs/source/ahp.rst +7 -0
- mindroot/docs/source/mindroot.coreplugins.admin.rst +189 -0
- mindroot/docs/source/mindroot.coreplugins.api_keys.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.chat.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.chat_avatar.rst +10 -0
- mindroot/docs/source/mindroot.coreplugins.check_list.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.credits.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.email.rst +77 -0
- mindroot/docs/source/mindroot.coreplugins.env_manager.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.events.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.index.handlers.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.index.rst +53 -0
- mindroot/docs/source/mindroot.coreplugins.jwt_auth.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.l8n.rst +109 -0
- mindroot/docs/source/mindroot.coreplugins.mcp_.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.persona.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.rst +35 -0
- mindroot/docs/source/mindroot.coreplugins.startup.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.subscriptions.rst +85 -0
- mindroot/docs/source/mindroot.coreplugins.usage.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.user_service.rst +69 -0
- mindroot/docs/source/mindroot.lib.auth.rst +29 -0
- mindroot/docs/source/mindroot.lib.json_str_block.rst +21 -0
- mindroot/docs/source/mindroot.lib.plugins.rst +69 -0
- mindroot/docs/source/mindroot.lib.providers.backup.rst +10 -0
- mindroot/docs/source/mindroot.lib.providers.rst +61 -0
- mindroot/docs/source/mindroot.lib.rst +152 -0
- mindroot/docs/source/mindroot.registry.rst +29 -0
- mindroot/docs/source/mindroot.rst +54 -0
- mindroot/docs/source/modules.rst +7 -0
- mindroot/docs/source/mr_agent_expert_instr.rst +7 -0
- mindroot/docs/starting_mindroot.rst +12 -0
- mindroot/docs/user_documentation.rst +16 -0
- mindroot/lib/providers/model_preferences_v2.py +5 -3
- mindroot/server.py +10 -1
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/METADATA +1 -1
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/RECORD +417 -10
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/WHEEL +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/entry_points.txt +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/licenses/LICENSE +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="../../">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
<title>mindroot.server_prev — MindRoot 9.10.0 documentation</title>
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<script src="../../_static/jquery.js?v=5d32c60e"></script>
|
|
14
|
+
<script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
|
15
|
+
<script src="../../_static/documentation_options.js?v=3c16008f"></script>
|
|
16
|
+
<script src="../../_static/doctools.js?v=9bcbadda"></script>
|
|
17
|
+
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
18
|
+
<script src="../../_static/js/theme.js"></script>
|
|
19
|
+
<link rel="index" title="Index" href="../../genindex.html" />
|
|
20
|
+
<link rel="search" title="Search" href="../../search.html" />
|
|
21
|
+
</head>
|
|
22
|
+
|
|
23
|
+
<body class="wy-body-for-nav">
|
|
24
|
+
<div class="wy-grid-for-nav">
|
|
25
|
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
26
|
+
<div class="wy-side-scroll">
|
|
27
|
+
<div class="wy-side-nav-search" style="background: #343131" >
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<a href="../../index.html" class="icon icon-home">
|
|
32
|
+
MindRoot
|
|
33
|
+
</a>
|
|
34
|
+
<div role="search">
|
|
35
|
+
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
|
36
|
+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
37
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
38
|
+
<input type="hidden" name="area" value="default" />
|
|
39
|
+
</form>
|
|
40
|
+
</div>
|
|
41
|
+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
42
|
+
<!-- Local TOC -->
|
|
43
|
+
<div class="local-toc"></div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</nav>
|
|
47
|
+
|
|
48
|
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #343131" >
|
|
49
|
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
50
|
+
<a href="../../index.html">MindRoot</a>
|
|
51
|
+
</nav>
|
|
52
|
+
|
|
53
|
+
<div class="wy-nav-content">
|
|
54
|
+
<div class="rst-content">
|
|
55
|
+
<div role="navigation" aria-label="Page navigation">
|
|
56
|
+
<ul class="wy-breadcrumbs">
|
|
57
|
+
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
|
58
|
+
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
|
|
59
|
+
<li class="breadcrumb-item active">mindroot.server_prev</li>
|
|
60
|
+
<li class="wy-breadcrumbs-aside">
|
|
61
|
+
</li>
|
|
62
|
+
</ul>
|
|
63
|
+
<hr/>
|
|
64
|
+
</div>
|
|
65
|
+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
66
|
+
<div itemprop="articleBody">
|
|
67
|
+
|
|
68
|
+
<h1>Source code for mindroot.server_prev</h1><div class="highlight"><pre>
|
|
69
|
+
<span></span><span class="kn">from</span><span class="w"> </span><span class="nn">fastapi</span><span class="w"> </span><span class="kn">import</span> <span class="n">FastAPI</span><span class="p">,</span> <span class="n">Response</span><span class="p">,</span> <span class="n">Request</span>
|
|
70
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">fastapi.staticfiles</span><span class="w"> </span><span class="kn">import</span> <span class="n">StaticFiles</span>
|
|
71
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">fastapi.templating</span><span class="w"> </span><span class="kn">import</span> <span class="n">Jinja2Templates</span>
|
|
72
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
|
73
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</span>
|
|
74
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.lib</span><span class="w"> </span><span class="kn">import</span> <span class="n">plugins</span>
|
|
75
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.lib.chatcontext</span><span class="w"> </span><span class="kn">import</span> <span class="n">ChatContext</span>
|
|
76
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.lib.providers.hooks</span><span class="w"> </span><span class="kn">import</span> <span class="n">hook_manager</span>
|
|
77
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.lib.utils.debug</span><span class="w"> </span><span class="kn">import</span> <span class="n">debug_box</span>
|
|
78
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">asyncio</span>
|
|
79
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">uvicorn</span>
|
|
80
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">termcolor</span><span class="w"> </span><span class="kn">import</span> <span class="n">colored</span>
|
|
81
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">socket</span>
|
|
82
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">fastapi.middleware.cors</span><span class="w"> </span><span class="kn">import</span> <span class="n">CORSMiddleware</span>
|
|
83
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">starlette.middleware.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseHTTPMiddleware</span>
|
|
84
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">dotenv</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_dotenv</span>
|
|
85
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.migrate</span><span class="w"> </span><span class="kn">import</span> <span class="n">run_migrations</span>
|
|
86
|
+
|
|
87
|
+
<span class="c1"># import for file copy</span>
|
|
88
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">shutil</span><span class="w"> </span><span class="kn">import</span> <span class="n">copyfile</span>
|
|
89
|
+
|
|
90
|
+
<span class="c1"># Load environment variables from .env file at the start</span>
|
|
91
|
+
<span class="c1"># Set override=True to make .env variables override existing environment variables</span>
|
|
92
|
+
<span class="n">load_dotenv</span><span class="p">(</span><span class="n">override</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
93
|
+
|
|
94
|
+
<div class="viewcode-block" id="parse_args">
|
|
95
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.parse_args">[docs]</a>
|
|
96
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">parse_args</span><span class="p">():</span>
|
|
97
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">argparse</span>
|
|
98
|
+
<span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="o">.</span><span class="n">ArgumentParser</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">"Run the server"</span><span class="p">)</span>
|
|
99
|
+
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"-p"</span><span class="p">,</span> <span class="s2">"--port"</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">int</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">"Port to run the server on"</span><span class="p">)</span>
|
|
100
|
+
<span class="c1"># need to include optional admin-user and admin-password</span>
|
|
101
|
+
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"-u"</span><span class="p">,</span> <span class="s2">"--admin-user"</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">"Admin username"</span><span class="p">)</span>
|
|
102
|
+
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"-pw"</span><span class="p">,</span> <span class="s2">"--admin-password"</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">"Admin password"</span><span class="p">)</span>
|
|
103
|
+
<span class="k">return</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span></div>
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<div class="viewcode-block" id="get_project_root">
|
|
107
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.get_project_root">[docs]</a>
|
|
108
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">get_project_root</span><span class="p">():</span>
|
|
109
|
+
<span class="k">return</span> <span class="n">Path</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">())</span></div>
|
|
110
|
+
|
|
111
|
+
<span class="c1">#return Path(__file__).parent</span>
|
|
112
|
+
|
|
113
|
+
<div class="viewcode-block" id="create_directories">
|
|
114
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.create_directories">[docs]</a>
|
|
115
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">create_directories</span><span class="p">():</span>
|
|
116
|
+
<span class="n">root</span> <span class="o">=</span> <span class="n">get_project_root</span><span class="p">()</span>
|
|
117
|
+
<span class="n">directories</span> <span class="o">=</span> <span class="p">[</span>
|
|
118
|
+
<span class="s2">"data"</span><span class="p">,</span>
|
|
119
|
+
<span class="s2">"imgs"</span><span class="p">,</span>
|
|
120
|
+
<span class="s2">"models"</span><span class="p">,</span>
|
|
121
|
+
<span class="s2">"models/face"</span><span class="p">,</span>
|
|
122
|
+
<span class="s2">"models/llm"</span><span class="p">,</span>
|
|
123
|
+
<span class="s2">"static/personas"</span><span class="p">,</span>
|
|
124
|
+
<span class="s2">"personas"</span><span class="p">,</span>
|
|
125
|
+
<span class="s2">"personas/local"</span><span class="p">,</span>
|
|
126
|
+
<span class="s2">"personas/shared"</span><span class="p">,</span>
|
|
127
|
+
<span class="s2">"data/sessions"</span>
|
|
128
|
+
<span class="p">]</span>
|
|
129
|
+
<span class="n">chatlog_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'CHATLOG_DIR'</span><span class="p">,</span> <span class="s1">'data/chat'</span><span class="p">)</span>
|
|
130
|
+
<span class="n">directories</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">chatlog_dir</span><span class="p">)</span>
|
|
131
|
+
|
|
132
|
+
<span class="k">for</span> <span class="n">directory</span> <span class="ow">in</span> <span class="n">directories</span><span class="p">:</span>
|
|
133
|
+
<span class="p">(</span><span class="n">root</span> <span class="o">/</span> <span class="n">directory</span><span class="p">)</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">parents</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
<span class="n">create_directories</span><span class="p">()</span>
|
|
137
|
+
|
|
138
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">mimetypes</span>
|
|
139
|
+
<span class="n">mimetypes</span><span class="o">.</span><span class="n">add_type</span><span class="p">(</span><span class="s1">'application/javascript'</span><span class="p">,</span> <span class="s1">'.js'</span><span class="p">)</span>
|
|
140
|
+
<span class="n">mimetypes</span><span class="o">.</span><span class="n">add_type</span><span class="p">(</span><span class="s1">'text/css'</span><span class="p">,</span> <span class="s1">'.css'</span><span class="p">)</span>
|
|
141
|
+
|
|
142
|
+
<span class="n">templates</span> <span class="o">=</span> <span class="kc">None</span>
|
|
143
|
+
<span class="n">app</span> <span class="o">=</span> <span class="kc">None</span>
|
|
144
|
+
<span class="n">failed_plugins</span> <span class="o">=</span> <span class="p">[]</span>
|
|
145
|
+
|
|
146
|
+
<div class="viewcode-block" id="setup_app_internal">
|
|
147
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.setup_app_internal">[docs]</a>
|
|
148
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">setup_app_internal</span><span class="p">(</span><span class="n">app_</span><span class="p">):</span>
|
|
149
|
+
<span class="k">global</span> <span class="n">app</span><span class="p">,</span> <span class="n">templates</span>
|
|
150
|
+
<span class="n">app</span> <span class="o">=</span> <span class="n">app_</span>
|
|
151
|
+
|
|
152
|
+
<span class="n">root</span> <span class="o">=</span> <span class="n">get_project_root</span><span class="p">()</span>
|
|
153
|
+
<span class="n">source_root</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="vm">__file__</span><span class="p">)</span><span class="o">.</span><span class="n">parent</span>
|
|
154
|
+
<span class="k">await</span> <span class="n">plugins</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">app</span><span class="o">=</span><span class="n">app</span><span class="p">)</span>
|
|
155
|
+
<span class="n">app</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s2">"/static"</span><span class="p">,</span> <span class="n">StaticFiles</span><span class="p">(</span><span class="n">directory</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">root</span> <span class="o">/</span> <span class="s2">"static"</span><span class="p">),</span> <span class="n">follow_symlink</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span> <span class="n">name</span><span class="o">=</span><span class="s2">"static"</span><span class="p">)</span>
|
|
156
|
+
<span class="n">app</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s2">"/imgs"</span><span class="p">,</span> <span class="n">StaticFiles</span><span class="p">(</span><span class="n">directory</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">root</span> <span class="o">/</span> <span class="s2">"imgs"</span><span class="p">),</span> <span class="n">follow_symlink</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span> <span class="n">name</span><span class="o">=</span><span class="s2">"imgs"</span><span class="p">)</span>
|
|
157
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">root</span> <span class="o">/</span> <span class="s2">"imgs/logo.png"</span><span class="p">):</span>
|
|
158
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">colored</span><span class="p">(</span><span class="s2">"No logo found, copying default logo from coreplugins"</span><span class="p">,</span> <span class="s2">"yellow"</span><span class="p">))</span>
|
|
159
|
+
<span class="n">copyfile</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">source_root</span> <span class="o">/</span> <span class="s2">"coreplugins/home/static/imgs/logo.png"</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">root</span> <span class="o">/</span> <span class="s2">"imgs/logo.png"</span><span class="p">))</span>
|
|
160
|
+
<span class="k">return</span> <span class="n">app</span></div>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
<div class="viewcode-block" id="is_port_in_use">
|
|
164
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.is_port_in_use">[docs]</a>
|
|
165
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">is_port_in_use</span><span class="p">(</span><span class="n">port</span><span class="p">):</span>
|
|
166
|
+
<span class="k">with</span> <span class="n">socket</span><span class="o">.</span><span class="n">socket</span><span class="p">(</span><span class="n">socket</span><span class="o">.</span><span class="n">AF_INET</span><span class="p">,</span> <span class="n">socket</span><span class="o">.</span><span class="n">SOCK_STREAM</span><span class="p">)</span> <span class="k">as</span> <span class="n">s</span><span class="p">:</span>
|
|
167
|
+
<span class="k">try</span><span class="p">:</span>
|
|
168
|
+
<span class="n">s</span><span class="o">.</span><span class="n">bind</span><span class="p">((</span><span class="s1">'0.0.0.0'</span><span class="p">,</span> <span class="n">port</span><span class="p">))</span>
|
|
169
|
+
<span class="k">return</span> <span class="kc">False</span>
|
|
170
|
+
<span class="k">except</span> <span class="n">socket</span><span class="o">.</span><span class="n">error</span><span class="p">:</span>
|
|
171
|
+
<span class="k">return</span> <span class="kc">True</span></div>
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
<div class="viewcode-block" id="find_available_port">
|
|
175
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.find_available_port">[docs]</a>
|
|
176
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">find_available_port</span><span class="p">(</span><span class="n">start_port</span><span class="o">=</span><span class="mi">8010</span><span class="p">,</span> <span class="n">max_attempts</span><span class="o">=</span><span class="mi">100</span><span class="p">):</span>
|
|
177
|
+
<span class="n">port</span> <span class="o">=</span> <span class="n">start_port</span>
|
|
178
|
+
<span class="k">while</span> <span class="n">port</span> <span class="o"><</span> <span class="n">start_port</span> <span class="o">+</span> <span class="n">max_attempts</span><span class="p">:</span>
|
|
179
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">is_port_in_use</span><span class="p">(</span><span class="n">port</span><span class="p">):</span>
|
|
180
|
+
<span class="k">return</span> <span class="n">port</span>
|
|
181
|
+
<span class="n">port</span> <span class="o">+=</span> <span class="mi">1</span>
|
|
182
|
+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Could not find an available port after </span><span class="si">{</span><span class="n">max_attempts</span><span class="si">}</span><span class="s2"> attempts"</span><span class="p">)</span></div>
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
<div class="viewcode-block" id="HeaderMiddleware">
|
|
186
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.HeaderMiddleware">[docs]</a>
|
|
187
|
+
<span class="k">class</span><span class="w"> </span><span class="nc">HeaderMiddleware</span><span class="p">(</span><span class="n">BaseHTTPMiddleware</span><span class="p">):</span>
|
|
188
|
+
<div class="viewcode-block" id="HeaderMiddleware.dispatch">
|
|
189
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.HeaderMiddleware.dispatch">[docs]</a>
|
|
190
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">dispatch</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">:</span> <span class="n">Request</span><span class="p">,</span> <span class="n">call_next</span><span class="p">):</span>
|
|
191
|
+
<span class="c1"># First get the response from other middleware and routes</span>
|
|
192
|
+
<span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="n">call_next</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
|
|
193
|
+
|
|
194
|
+
<span class="c1"># Add security headers</span>
|
|
195
|
+
<span class="n">response</span><span class="o">.</span><span class="n">headers</span><span class="p">[</span><span class="s2">"X-Content-Type-Options"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"nosniff"</span>
|
|
196
|
+
|
|
197
|
+
<span class="c1">#chat widgets don't work if we do this</span>
|
|
198
|
+
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'MR_X_FRAME_SAMEORIGIN'</span><span class="p">,</span> <span class="s1">'false'</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">'true'</span><span class="p">:</span>
|
|
199
|
+
<span class="n">response</span><span class="o">.</span><span class="n">headers</span><span class="p">[</span><span class="s2">"X-Frame-Options"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"SAMEORIGIN"</span>
|
|
200
|
+
|
|
201
|
+
<span class="n">response</span><span class="o">.</span><span class="n">headers</span><span class="p">[</span><span class="s2">"X-XSS-Protection"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"1; mode=block"</span>
|
|
202
|
+
|
|
203
|
+
<span class="k">return</span> <span class="n">response</span></div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
<div class="viewcode-block" id="main">
|
|
208
|
+
<a class="viewcode-back" href="../../source/mindroot.html#mindroot.server_prev.main">[docs]</a>
|
|
209
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">():</span>
|
|
210
|
+
<span class="k">global</span> <span class="n">app</span>
|
|
211
|
+
|
|
212
|
+
<span class="c1"># Run migrations first, before anything else</span>
|
|
213
|
+
<span class="n">run_migrations</span><span class="p">()</span>
|
|
214
|
+
|
|
215
|
+
<span class="n">cmd_args</span> <span class="o">=</span> <span class="n">parse_args</span><span class="p">()</span>
|
|
216
|
+
<span class="c1"># save ALL parsed args in app state</span>
|
|
217
|
+
<span class="n">port</span> <span class="o">=</span> <span class="mi">8010</span>
|
|
218
|
+
<span class="k">if</span> <span class="n">cmd_args</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
|
|
219
|
+
<span class="n">port</span> <span class="o">=</span> <span class="n">cmd_args</span><span class="o">.</span><span class="n">port</span>
|
|
220
|
+
<span class="k">else</span><span class="p">:</span>
|
|
221
|
+
<span class="n">cmd_args</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">port</span>
|
|
222
|
+
|
|
223
|
+
<span class="n">app</span> <span class="o">=</span> <span class="n">FastAPI</span><span class="p">()</span>
|
|
224
|
+
|
|
225
|
+
<span class="c1">#app.add_middleware(</span>
|
|
226
|
+
<span class="c1"># CORSMiddleware,</span>
|
|
227
|
+
<span class="c1"># allow_origins=["*"] # This one line is all you need to allow all origins</span>
|
|
228
|
+
<span class="c1">#)</span>
|
|
229
|
+
|
|
230
|
+
<span class="n">app</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">cmd_args</span> <span class="o">=</span> <span class="n">cmd_args</span>
|
|
231
|
+
|
|
232
|
+
<span class="n">debug_box</span><span class="p">(</span><span class="s2">"pre_load"</span><span class="p">)</span>
|
|
233
|
+
<span class="n">loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
|
|
234
|
+
<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">plugins</span><span class="o">.</span><span class="n">pre_load</span><span class="p">(</span><span class="n">app</span><span class="p">))</span> <span class="c1"># middleware</span>
|
|
235
|
+
|
|
236
|
+
<span class="n">debug_box</span><span class="p">(</span><span class="s2">"finished with pre_load, now calling uvicorn.run"</span><span class="p">)</span>
|
|
237
|
+
|
|
238
|
+
<span class="nd">@app</span><span class="o">.</span><span class="n">on_event</span><span class="p">(</span><span class="s2">"startup"</span><span class="p">)</span>
|
|
239
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">setup_app</span><span class="p">():</span>
|
|
240
|
+
<span class="k">global</span> <span class="n">app</span>
|
|
241
|
+
<span class="k">await</span> <span class="n">setup_app_internal</span><span class="p">(</span><span class="n">app</span><span class="p">)</span>
|
|
242
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">colored</span><span class="p">(</span><span class="s2">"Plugin setup complete"</span><span class="p">,</span> <span class="s2">"green"</span><span class="p">))</span>
|
|
243
|
+
|
|
244
|
+
<span class="nd">@app</span><span class="o">.</span><span class="n">on_event</span><span class="p">(</span><span class="s2">"shutdown"</span><span class="p">)</span>
|
|
245
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">shutdown_event</span><span class="p">():</span>
|
|
246
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"Shutting down MindRoot"</span><span class="p">)</span>
|
|
247
|
+
<span class="n">hook_manager</span><span class="o">.</span><span class="n">eject</span><span class="p">()</span>
|
|
248
|
+
|
|
249
|
+
<span class="n">app</span><span class="o">.</span><span class="n">add_middleware</span><span class="p">(</span>
|
|
250
|
+
<span class="n">CORSMiddleware</span><span class="p">,</span>
|
|
251
|
+
<span class="n">allow_origins</span><span class="o">=</span><span class="p">[</span><span class="s2">"*"</span><span class="p">],</span> <span class="c1"># Replace with your specific origins for production</span>
|
|
252
|
+
<span class="n">allow_credentials</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
|
253
|
+
<span class="n">allow_methods</span><span class="o">=</span><span class="p">[</span><span class="s2">"*"</span><span class="p">],</span> <span class="c1"># Or specify: ["GET", "POST", "PUT", "DELETE", etc.]</span>
|
|
254
|
+
<span class="n">allow_headers</span><span class="o">=</span><span class="p">[</span><span class="s2">"*"</span><span class="p">],</span> <span class="c1"># Or specify required headers</span>
|
|
255
|
+
<span class="n">expose_headers</span><span class="o">=</span><span class="p">[</span><span class="s2">"*"</span><span class="p">]</span> <span class="c1"># Headers that browsers are allowed to access</span>
|
|
256
|
+
<span class="p">)</span>
|
|
257
|
+
|
|
258
|
+
<span class="n">app</span><span class="o">.</span><span class="n">add_middleware</span><span class="p">(</span><span class="n">HeaderMiddleware</span><span class="p">)</span>
|
|
259
|
+
|
|
260
|
+
<span class="k">try</span><span class="p">:</span>
|
|
261
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">colored</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Starting server on port </span><span class="si">{</span><span class="n">port</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"green"</span><span class="p">))</span>
|
|
262
|
+
<span class="n">uvicorn</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">app</span><span class="p">,</span> <span class="n">host</span><span class="o">=</span><span class="s2">"0.0.0.0"</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="n">port</span><span class="p">,</span> <span class="n">lifespan</span><span class="o">=</span><span class="s2">"on"</span><span class="p">,</span> <span class="n">timeout_graceful_shutdown</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
|
263
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
264
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">colored</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Error starting server: </span><span class="si">{</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"red"</span><span class="p">))</span></div>
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
|
268
|
+
<span class="n">main</span><span class="p">()</span>
|
|
269
|
+
</pre></div>
|
|
270
|
+
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
273
|
+
<footer>
|
|
274
|
+
|
|
275
|
+
<hr/>
|
|
276
|
+
|
|
277
|
+
<div role="contentinfo">
|
|
278
|
+
<p>© Copyright 2025, Jason Livesay.</p>
|
|
279
|
+
</div>
|
|
280
|
+
|
|
281
|
+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
282
|
+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
283
|
+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
</footer>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
289
|
+
</section>
|
|
290
|
+
</div>
|
|
291
|
+
<script>
|
|
292
|
+
jQuery(function () {
|
|
293
|
+
SphinxRtdTheme.Navigation.enable(true);
|
|
294
|
+
});
|
|
295
|
+
</script>
|
|
296
|
+
|
|
297
|
+
</body>
|
|
298
|
+
</html>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Chat with Assistant
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
- On the home page, click the Assistant button.
|
|
5
|
+
|
|
6
|
+
- A new tab will open with a chat UI.
|
|
7
|
+
|
|
8
|
+
- Try requesting something from the assistant, for example:
|
|
9
|
+
|
|
10
|
+
"Create a mood tracker table showing daily activities with emoji ratings and star scores for each day of the work week."
|
|
11
|
+
|
|
12
|
+
.. image:: mood.png
|
|
13
|
+
|
|
14
|
+
(Note: shown is typical output from DeepSeek Chat 3.1)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Developer Documentation
|
|
2
|
+
=======================
|
|
3
|
+
|
|
4
|
+
This section contains documentation for developers working with MindRoot.
|
|
5
|
+
|
|
6
|
+
.. todo:: Add developer documentation content here
|
|
7
|
+
|
|
8
|
+
API Reference
|
|
9
|
+
-------------
|
|
10
|
+
|
|
11
|
+
.. todo:: Add API reference documentation
|
|
12
|
+
|
|
13
|
+
Plugin Development
|
|
14
|
+
------------------
|
|
15
|
+
|
|
16
|
+
.. todo:: Add plugin development guide
|
|
17
|
+
|
|
18
|
+
Contributing
|
|
19
|
+
------------
|
|
20
|
+
|
|
21
|
+
.. todo:: Add contribution guidelines
|
|
22
|
+
|
|
23
|
+
Architecture
|
|
24
|
+
------------
|
|
25
|
+
|
|
26
|
+
.. todo:: Add system architecture overview
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
Getting Started
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
If MindRoot is already installed and running, skip to `LLM Plugin Installation`_.
|
|
5
|
+
If using pre-configured MindRoot hosting, skip to `LLM API Key`_.
|
|
6
|
+
|
|
7
|
+
.. todo:: Add getting started content here
|
|
8
|
+
|
|
9
|
+
Installation
|
|
10
|
+
------------
|
|
11
|
+
|
|
12
|
+
Usually you need to create a python virtual environment:
|
|
13
|
+
|
|
14
|
+
``python -m venv .venv``
|
|
15
|
+
|
|
16
|
+
And activate:
|
|
17
|
+
|
|
18
|
+
``source .venv/bin/activate``
|
|
19
|
+
|
|
20
|
+
Then just install with pip:
|
|
21
|
+
|
|
22
|
+
``pip install mindroot``
|
|
23
|
+
|
|
24
|
+
Starting MindRoot
|
|
25
|
+
-----------------
|
|
26
|
+
|
|
27
|
+
The first time you can specify the admin user and password:
|
|
28
|
+
|
|
29
|
+
``mindroot -u admin -pw password``
|
|
30
|
+
|
|
31
|
+
The server defaults to `http://0.0.0.0:8010/ <http://0.0.0.0:8010/>`_ .
|
|
32
|
+
You will need to log in.
|
|
33
|
+
|
|
34
|
+
LLM Plugin Installation
|
|
35
|
+
-----------------------
|
|
36
|
+
|
|
37
|
+
- Go to the `/admin` page by clicking the Admin link at the top of the home page.
|
|
38
|
+
|
|
39
|
+
- Go to the Install/Registry tab
|
|
40
|
+
|
|
41
|
+
- Search for 'OpenRouter' and click Install next to the result that comes up.
|
|
42
|
+
|
|
43
|
+
.. image:: installopenrouter.png
|
|
44
|
+
|
|
45
|
+
- A dialog will show the log of the installation.
|
|
46
|
+
|
|
47
|
+
- Restart: Server Settings | Server Control | Restart
|
|
48
|
+
|
|
49
|
+
.. image:: restart.png
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
If you want, you can make sure the OpenRouter Plugin is installed:
|
|
53
|
+
|
|
54
|
+
- Go to the /admin page (Admin link on home page)
|
|
55
|
+
|
|
56
|
+
- Expand the Advanced section and click on Plugins
|
|
57
|
+
|
|
58
|
+
- OpenRouter/ah_openrouter should show up
|
|
59
|
+
|
|
60
|
+
.. image:: openrouter.png
|
|
61
|
+
|
|
62
|
+
LLM API Key
|
|
63
|
+
-----------
|
|
64
|
+
|
|
65
|
+
For this section you will need an API key from an LLM provider.
|
|
66
|
+
We will assume OpenRouter for this example.
|
|
67
|
+
|
|
68
|
+
Now, enter your `OpenRouter API key <https://openrouter.ai/settings/keys>`_:
|
|
69
|
+
|
|
70
|
+
- Go to `/admin` (Admin link on home page) Advanced | Environment Variables
|
|
71
|
+
|
|
72
|
+
.. image:: envvar.png
|
|
73
|
+
|
|
74
|
+
- Find the ah_openrouter section and the `OPENROUTER_KEY` field; click Edit.
|
|
75
|
+
|
|
76
|
+
- Enter your key and press Save.
|
|
77
|
+
|
|
78
|
+
Finally, restart MindRoot:
|
|
79
|
+
|
|
80
|
+
- Go to Admin | Server Settings | Server Control
|
|
81
|
+
- Click on Restart Server
|
|
82
|
+
|
|
83
|
+
.. image:: restart.png
|
|
84
|
+
|
|
85
|
+
Chat with Assistant
|
|
86
|
+
-------------------
|
|
87
|
+
|
|
88
|
+
- On the home page, click the Assistant button.
|
|
89
|
+
|
|
90
|
+
- A new tab will open with a chat UI.
|
|
91
|
+
|
|
92
|
+
- Try requesting something from the assistant, for example:
|
|
93
|
+
|
|
94
|
+
"Create a mood tracker table showing daily activities with emoji ratings and star scores for each day of the work week."
|
|
95
|
+
|
|
96
|
+
.. image:: mood.png
|
|
97
|
+
|
|
98
|
+
(Note: shown is typical output from DeepSeek Chat 3.1)
|
|
99
|
+
|
|
100
|
+
Install Plugins with Tools
|
|
101
|
+
--------------------------
|
|
102
|
+
|
|
103
|
+
(Note: if you are using MindRoot hosting, these tools are already installed).
|
|
104
|
+
|
|
105
|
+
- Go to Admin | Install/Registry
|
|
106
|
+
|
|
107
|
+
- Install the runvnc/ah_shell and runvnc/ah_files plugins:
|
|
108
|
+
|
|
109
|
+
- Click on Plugins.
|
|
110
|
+
|
|
111
|
+
- Enter e.g. "Files" in the Search input
|
|
112
|
+
|
|
113
|
+
.. image:: files.png
|
|
114
|
+
|
|
115
|
+
- Click Install
|
|
116
|
+
|
|
117
|
+
- Repeat for Shell (execute commands)
|
|
118
|
+
|
|
119
|
+
- Restart MindRoot:
|
|
120
|
+
|
|
121
|
+
- Go to Admin | Server Settings | Server Control
|
|
122
|
+
- Click on Restart Server
|
|
123
|
+
|
|
124
|
+
.. image:: restart.png
|
|
125
|
+
|
|
126
|
+
Give Assistant a Programming Task
|
|
127
|
+
---------------------------------
|
|
128
|
+
|
|
129
|
+
- On the home page, click the Assistant button to open a new chat.
|
|
130
|
+
|
|
131
|
+
- "Create a simple but beautiful web page about the phases of the moon. Save to ./imgs/moon.html and provide a clickable link to /imgs/moon.html"
|
|
132
|
+
|
|
133
|
+
.. image:: moon.png
|
|
134
|
+
|
|
135
|
+
(Note: shown is typical output from DeepSeek Chat 3.1)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
.. MindRoot documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Sat Aug 23 15:52:37 2025.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
MindRoot Documentation
|
|
7
|
+
======================
|
|
8
|
+
|
|
9
|
+
Welcome to the MindRoot documentation. This documentation is divided into two main sections:
|
|
10
|
+
|
|
11
|
+
- **User Documentation**: For end users who want to install, configure, and use MindRoot
|
|
12
|
+
- **Developer Documentation**: For developers who want to extend, contribute to, or understand MindRoot's architecture
|
|
13
|
+
|
|
14
|
+
.. toctree::
|
|
15
|
+
:maxdepth: 2
|
|
16
|
+
:caption: User Documentation:
|
|
17
|
+
|
|
18
|
+
user_documentation
|
|
19
|
+
|
|
20
|
+
.. toctree::
|
|
21
|
+
:maxdepth: 2
|
|
22
|
+
:caption: Developer Documentation:
|
|
23
|
+
|
|
24
|
+
developer_documentation
|
|
25
|
+
modules
|
|
26
|
+
|
|
27
|
+
Indices and tables
|
|
28
|
+
==================
|
|
29
|
+
|
|
30
|
+
* :ref:`genindex`
|
|
31
|
+
* :ref:`modindex`
|
|
32
|
+
* :ref:`search`
|
|
33
|
+
|
|
34
|
+
View Source Code
|
|
35
|
+
================
|
|
36
|
+
|
|
37
|
+
* :ref:`viewcode`
|
|
38
|
+
* `Browse source code <_sources/>`_
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Install Plugins with Tools
|
|
2
|
+
==========================
|
|
3
|
+
|
|
4
|
+
(Note: if you are using MindRoot hosting, these tools are already installed).
|
|
5
|
+
|
|
6
|
+
- Go to Admin | Install/Registry
|
|
7
|
+
|
|
8
|
+
- Install the runvnc/ah_shell and runvnc/ah_files plugins:
|
|
9
|
+
|
|
10
|
+
- Click on Plugins.
|
|
11
|
+
|
|
12
|
+
- Enter e.g. "Files" in the Search input
|
|
13
|
+
|
|
14
|
+
.. image:: files.png
|
|
15
|
+
|
|
16
|
+
- Click Install
|
|
17
|
+
|
|
18
|
+
- Repeat for Shell (execute commands)
|
|
19
|
+
|
|
20
|
+
- Restart MindRoot:
|
|
21
|
+
|
|
22
|
+
- Go to Admin | Server Settings | Server Control
|
|
23
|
+
- Click on Restart Server
|
|
24
|
+
|
|
25
|
+
.. image:: restart.png
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Installation
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
If MindRoot is already installed and running, skip to :doc:`LLM Plugin Installation <llm_plugin_installation>`.
|
|
5
|
+
If using pre-configured MindRoot hosting, skip to :doc:`LLM API Key <llm_api_key>`.
|
|
6
|
+
|
|
7
|
+
Create and enter a directory for your mindroot instance:
|
|
8
|
+
|
|
9
|
+
``mkdir ~/mymindroot && cd ~/mymindroot``
|
|
10
|
+
|
|
11
|
+
Usually you need to create a python virtual environment:
|
|
12
|
+
|
|
13
|
+
``python -m venv .venv``
|
|
14
|
+
|
|
15
|
+
And activate:
|
|
16
|
+
|
|
17
|
+
``source .venv/bin/activate``
|
|
18
|
+
|
|
19
|
+
Then just install with pip:
|
|
20
|
+
|
|
21
|
+
``pip install mindroot``
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
LLM API Key
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
For this section you will need an API key from an LLM provider.
|
|
5
|
+
We will assume OpenRouter for this example.
|
|
6
|
+
|
|
7
|
+
Now, enter your `OpenRouter API key <https://openrouter.ai/settings/keys>`_:
|
|
8
|
+
|
|
9
|
+
- Go to `/admin` (Admin link on home page) Advanced | Environment Variables
|
|
10
|
+
|
|
11
|
+
.. image:: envvar.png
|
|
12
|
+
|
|
13
|
+
- Find the ah_openrouter section and the `OPENROUTER_KEY` field; click Edit.
|
|
14
|
+
|
|
15
|
+
- Enter your key and press Save.
|
|
16
|
+
|
|
17
|
+
Finally, restart MindRoot:
|
|
18
|
+
|
|
19
|
+
- Go to Admin | Server Settings | Server Control
|
|
20
|
+
- Click on Restart Server
|
|
21
|
+
|
|
22
|
+
.. image:: restart.png
|