aria-ai 0.1.0__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.
- aria_ai-0.1.0/PKG-INFO +423 -0
- aria_ai-0.1.0/README.md +385 -0
- aria_ai-0.1.0/pyproject.toml +99 -0
- aria_ai-0.1.0/setup.cfg +4 -0
- aria_ai-0.1.0/src/aria/__init__.py +16 -0
- aria_ai-0.1.0/src/aria/agents/__init__.py +14 -0
- aria_ai-0.1.0/src/aria/agents/aria.py +93 -0
- aria_ai-0.1.0/src/aria/agents/instructions/__init__.py +83 -0
- aria_ai-0.1.0/src/aria/agents/instructions/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/agents/instructions/tests/test_load_agent_instructions.py +112 -0
- aria_ai-0.1.0/src/aria/agents/prompt_enhancer.py +135 -0
- aria_ai-0.1.0/src/aria/agents/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/agents/tests/test_worker.py +79 -0
- aria_ai-0.1.0/src/aria/agents/worker.py +76 -0
- aria_ai-0.1.0/src/aria/ax_cli/__init__.py +23 -0
- aria_ai-0.1.0/src/aria/ax_cli/app.py +132 -0
- aria_ai-0.1.0/src/aria/ax_cli/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/ax_cli/tests/test_ax_cli.py +92 -0
- aria_ai-0.1.0/src/aria/cli/__init__.py +73 -0
- aria_ai-0.1.0/src/aria/cli/check.py +369 -0
- aria_ai-0.1.0/src/aria/cli/config.py +479 -0
- aria_ai-0.1.0/src/aria/cli/dev.py +40 -0
- aria_ai-0.1.0/src/aria/cli/extras.py +420 -0
- aria_ai-0.1.0/src/aria/cli/knowledge.py +113 -0
- aria_ai-0.1.0/src/aria/cli/lightpanda.py +113 -0
- aria_ai-0.1.0/src/aria/cli/main.py +155 -0
- aria_ai-0.1.0/src/aria/cli/models.py +217 -0
- aria_ai-0.1.0/src/aria/cli/processes.py +195 -0
- aria_ai-0.1.0/src/aria/cli/server.py +682 -0
- aria_ai-0.1.0/src/aria/cli/system.py +315 -0
- aria_ai-0.1.0/src/aria/cli/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/cli/tests/test_aria_cli.py +82 -0
- aria_ai-0.1.0/src/aria/cli/tests/test_check.py +151 -0
- aria_ai-0.1.0/src/aria/cli/tests/test_extras.py +125 -0
- aria_ai-0.1.0/src/aria/cli/tests/test_server_cli.py +143 -0
- aria_ai-0.1.0/src/aria/cli/tests/test_system_cmd.py +60 -0
- aria_ai-0.1.0/src/aria/cli/users.py +381 -0
- aria_ai-0.1.0/src/aria/cli/vllm.py +131 -0
- aria_ai-0.1.0/src/aria/cli/web.py +196 -0
- aria_ai-0.1.0/src/aria/cli/worker/__init__.py +271 -0
- aria_ai-0.1.0/src/aria/cli/worker/_runner.py +141 -0
- aria_ai-0.1.0/src/aria/cli/worker/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/cli/worker/tests/test_worker_helpers.py +70 -0
- aria_ai-0.1.0/src/aria/config/__init__.py +94 -0
- aria_ai-0.1.0/src/aria/config/api.py +165 -0
- aria_ai-0.1.0/src/aria/config/database.py +19 -0
- aria_ai-0.1.0/src/aria/config/folders.py +105 -0
- aria_ai-0.1.0/src/aria/config/huggingface.py +30 -0
- aria_ai-0.1.0/src/aria/config/models.py +119 -0
- aria_ai-0.1.0/src/aria/config/service.py +13 -0
- aria_ai-0.1.0/src/aria/db/__init__.py +45 -0
- aria_ai-0.1.0/src/aria/db/auth.py +72 -0
- aria_ai-0.1.0/src/aria/db/layer.py +438 -0
- aria_ai-0.1.0/src/aria/db/local_storage_client.py +199 -0
- aria_ai-0.1.0/src/aria/db/models.py +198 -0
- aria_ai-0.1.0/src/aria/db/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/db/tests/conftest.py +359 -0
- aria_ai-0.1.0/src/aria/db/tests/test_auth_integration.py +137 -0
- aria_ai-0.1.0/src/aria/db/tests/test_json_helpers.py +246 -0
- aria_ai-0.1.0/src/aria/db/tests/test_local_storage_client.py +364 -0
- aria_ai-0.1.0/src/aria/db/tests/test_models.py +438 -0
- aria_ai-0.1.0/src/aria/db/tests/test_sqlite_data_layer.py +592 -0
- aria_ai-0.1.0/src/aria/db/tests/test_storage_integration.py +256 -0
- aria_ai-0.1.0/src/aria/gui/__init__.py +78 -0
- aria_ai-0.1.0/src/aria/gui/dialogs/__init__.py +6 -0
- aria_ai-0.1.0/src/aria/gui/dialogs/about.py +24 -0
- aria_ai-0.1.0/src/aria/gui/dialogs/edit_user.py +62 -0
- aria_ai-0.1.0/src/aria/gui/stylesheet.py +677 -0
- aria_ai-0.1.0/src/aria/gui/tray.py +81 -0
- aria_ai-0.1.0/src/aria/gui/ui/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/gui/ui/aboutwindow.py +117 -0
- aria_ai-0.1.0/src/aria/gui/ui/edituserdialog.py +126 -0
- aria_ai-0.1.0/src/aria/gui/ui/mainwindow.py +866 -0
- aria_ai-0.1.0/src/aria/gui/windows/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/gui/windows/main_window.py +526 -0
- aria_ai-0.1.0/src/aria/gui/windows/server_handlers.py +476 -0
- aria_ai-0.1.0/src/aria/gui/windows/user_handlers.py +233 -0
- aria_ai-0.1.0/src/aria/gui/wizard.py +726 -0
- aria_ai-0.1.0/src/aria/helpers/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/helpers/dotenv.py +69 -0
- aria_ai-0.1.0/src/aria/helpers/memory.py +107 -0
- aria_ai-0.1.0/src/aria/helpers/network.py +51 -0
- aria_ai-0.1.0/src/aria/helpers/nvidia.py +774 -0
- aria_ai-0.1.0/src/aria/helpers/tests/test_calculate_max_safe_context.py +412 -0
- aria_ai-0.1.0/src/aria/helpers/tests/test_dotenv.py +66 -0
- aria_ai-0.1.0/src/aria/helpers/tests/test_nvidia.py +1472 -0
- aria_ai-0.1.0/src/aria/helpers/tests/test_nvidia_integration.py +325 -0
- aria_ai-0.1.0/src/aria/helpers/ui.py +78 -0
- aria_ai-0.1.0/src/aria/initializer.py +154 -0
- aria_ai-0.1.0/src/aria/llm/__init__.py +41 -0
- aria_ai-0.1.0/src/aria/llm/_compress.py +319 -0
- aria_ai-0.1.0/src/aria/llm/_factory.py +185 -0
- aria_ai-0.1.0/src/aria/llm/_sanitize.py +391 -0
- aria_ai-0.1.0/src/aria/llm/_state.py +395 -0
- aria_ai-0.1.0/src/aria/llm/_utils.py +149 -0
- aria_ai-0.1.0/src/aria/llm/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/llm/tests/test_compress.py +377 -0
- aria_ai-0.1.0/src/aria/preflight.py +772 -0
- aria_ai-0.1.0/src/aria/scripts/__init__.py +9 -0
- aria_ai-0.1.0/src/aria/scripts/lightpanda.py +214 -0
- aria_ai-0.1.0/src/aria/scripts/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/scripts/tests/test_vllm_install.py +133 -0
- aria_ai-0.1.0/src/aria/scripts/vllm.py +211 -0
- aria_ai-0.1.0/src/aria/server/__init__.py +28 -0
- aria_ai-0.1.0/src/aria/server/manager.py +470 -0
- aria_ai-0.1.0/src/aria/server/process_utils.py +153 -0
- aria_ai-0.1.0/src/aria/server/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/server/tests/test_server_manager.py +49 -0
- aria_ai-0.1.0/src/aria/server/tests/test_vllm_health.py +110 -0
- aria_ai-0.1.0/src/aria/server/tests/test_vllm_server.py +313 -0
- aria_ai-0.1.0/src/aria/server/vllm.py +794 -0
- aria_ai-0.1.0/src/aria/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tests/test_path_augmentation.py +120 -0
- aria_ai-0.1.0/src/aria/tests/test_preflight_extras.py +272 -0
- aria_ai-0.1.0/src/aria/tests/test_remote_mode.py +78 -0
- aria_ai-0.1.0/src/aria/tests/test_workflow_state.py +306 -0
- aria_ai-0.1.0/src/aria/tools/__init__.py +38 -0
- aria_ai-0.1.0/src/aria/tools/ax/__init__.py +9 -0
- aria_ai-0.1.0/src/aria/tools/ax/dispatcher.py +413 -0
- aria_ai-0.1.0/src/aria/tools/ax/exceptions.py +5 -0
- aria_ai-0.1.0/src/aria/tools/ax/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tools/ax/tests/test_dispatcher.py +187 -0
- aria_ai-0.1.0/src/aria/tools/browser/__init__.py +30 -0
- aria_ai-0.1.0/src/aria/tools/browser/constants.py +24 -0
- aria_ai-0.1.0/src/aria/tools/browser/exceptions.py +45 -0
- aria_ai-0.1.0/src/aria/tools/browser/functions.py +156 -0
- aria_ai-0.1.0/src/aria/tools/browser/manager.py +691 -0
- aria_ai-0.1.0/src/aria/tools/browser/tests/conftest.py +17 -0
- aria_ai-0.1.0/src/aria/tools/browser/tests/test_lightpanda_live.py +196 -0
- aria_ai-0.1.0/src/aria/tools/browser/tests/test_manager.py +282 -0
- aria_ai-0.1.0/src/aria/tools/constants.py +62 -0
- aria_ai-0.1.0/src/aria/tools/database.py +73 -0
- aria_ai-0.1.0/src/aria/tools/decorators.py +155 -0
- aria_ai-0.1.0/src/aria/tools/development/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/development/_internals.py +416 -0
- aria_ai-0.1.0/src/aria/tools/development/constants.py +21 -0
- aria_ai-0.1.0/src/aria/tools/development/decorators.py +127 -0
- aria_ai-0.1.0/src/aria/tools/development/exceptions.py +48 -0
- aria_ai-0.1.0/src/aria/tools/development/python.py +271 -0
- aria_ai-0.1.0/src/aria/tools/development/tests/test_argv_handling.py +89 -0
- aria_ai-0.1.0/src/aria/tools/development/tests/test_development_decorators.py +434 -0
- aria_ai-0.1.0/src/aria/tools/development/tests/test_internals.py +609 -0
- aria_ai-0.1.0/src/aria/tools/development/tests/test_python_runner.py +277 -0
- aria_ai-0.1.0/src/aria/tools/errors.py +15 -0
- aria_ai-0.1.0/src/aria/tools/files/__init__.py +50 -0
- aria_ai-0.1.0/src/aria/tools/files/_internals.py +310 -0
- aria_ai-0.1.0/src/aria/tools/files/_responses.py +46 -0
- aria_ai-0.1.0/src/aria/tools/files/constants.py +84 -0
- aria_ai-0.1.0/src/aria/tools/files/decorators.py +140 -0
- aria_ai-0.1.0/src/aria/tools/files/exceptions.py +47 -0
- aria_ai-0.1.0/src/aria/tools/files/file_management.py +173 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_behavioral_contract.py +189 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_decorators.py +136 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_file_internals.py +679 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_file_management.py +64 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_unified_read.py +246 -0
- aria_ai-0.1.0/src/aria/tools/files/tests/test_write_operations.py +258 -0
- aria_ai-0.1.0/src/aria/tools/files/unified_read.py +833 -0
- aria_ai-0.1.0/src/aria/tools/files/write_operations.py +368 -0
- aria_ai-0.1.0/src/aria/tools/http/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/http/functions.py +124 -0
- aria_ai-0.1.0/src/aria/tools/http/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tools/http/tests/test_http.py +75 -0
- aria_ai-0.1.0/src/aria/tools/imdb/__init__.py +26 -0
- aria_ai-0.1.0/src/aria/tools/imdb/constants.py +44 -0
- aria_ai-0.1.0/src/aria/tools/imdb/exceptions.py +43 -0
- aria_ai-0.1.0/src/aria/tools/imdb/functions.py +521 -0
- aria_ai-0.1.0/src/aria/tools/imdb/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/tools/imdb/tests/test_imdb_functions.py +636 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/database.py +220 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/functions.py +333 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/models.py +43 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tools/knowledge/tests/test_knowledge.py +206 -0
- aria_ai-0.1.0/src/aria/tools/models.py +58 -0
- aria_ai-0.1.0/src/aria/tools/planner/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/planner/database.py +401 -0
- aria_ai-0.1.0/src/aria/tools/planner/functions.py +994 -0
- aria_ai-0.1.0/src/aria/tools/planner/models.py +79 -0
- aria_ai-0.1.0/src/aria/tools/planner/registry.py +39 -0
- aria_ai-0.1.0/src/aria/tools/planner/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/tools/planner/tests/conftest.py +22 -0
- aria_ai-0.1.0/src/aria/tools/planner/tests/test_planner_functions.py +389 -0
- aria_ai-0.1.0/src/aria/tools/process/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/process/functions.py +686 -0
- aria_ai-0.1.0/src/aria/tools/process/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tools/process/tests/test_process.py +485 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/__init__.py +13 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/constants.py +57 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/database.py +426 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/functions.py +504 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/models.py +248 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/registry.py +85 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/session.py +516 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/tests/test_reasoning_functions.py +485 -0
- aria_ai-0.1.0/src/aria/tools/reasoning/tests/test_reasoning_session.py +300 -0
- aria_ai-0.1.0/src/aria/tools/registry.py +385 -0
- aria_ai-0.1.0/src/aria/tools/retry.py +76 -0
- aria_ai-0.1.0/src/aria/tools/schemas.py +337 -0
- aria_ai-0.1.0/src/aria/tools/scratchpad/__init__.py +5 -0
- aria_ai-0.1.0/src/aria/tools/scratchpad/database.py +180 -0
- aria_ai-0.1.0/src/aria/tools/scratchpad/functions.py +229 -0
- aria_ai-0.1.0/src/aria/tools/scratchpad/tests/__init__.py +0 -0
- aria_ai-0.1.0/src/aria/tools/scratchpad/tests/test_scratchpad.py +279 -0
- aria_ai-0.1.0/src/aria/tools/search/__init__.py +21 -0
- aria_ai-0.1.0/src/aria/tools/search/_download_internals.py +469 -0
- aria_ai-0.1.0/src/aria/tools/search/_url_classifier.py +124 -0
- aria_ai-0.1.0/src/aria/tools/search/constants.py +81 -0
- aria_ai-0.1.0/src/aria/tools/search/download.py +132 -0
- aria_ai-0.1.0/src/aria/tools/search/duckduckgo.py +132 -0
- aria_ai-0.1.0/src/aria/tools/search/exceptions.py +33 -0
- aria_ai-0.1.0/src/aria/tools/search/finance.py +494 -0
- aria_ai-0.1.0/src/aria/tools/search/searxng.py +291 -0
- aria_ai-0.1.0/src/aria/tools/search/tests/test_download.py +665 -0
- aria_ai-0.1.0/src/aria/tools/search/tests/test_duckduckgo.py +280 -0
- aria_ai-0.1.0/src/aria/tools/search/tests/test_finance.py +663 -0
- aria_ai-0.1.0/src/aria/tools/search/tests/test_url_classifier.py +261 -0
- aria_ai-0.1.0/src/aria/tools/search/tests/test_weather.py +70 -0
- aria_ai-0.1.0/src/aria/tools/search/weather.py +169 -0
- aria_ai-0.1.0/src/aria/tools/search/web_search.py +86 -0
- aria_ai-0.1.0/src/aria/tools/search/youtube.py +165 -0
- aria_ai-0.1.0/src/aria/tools/shell/__init__.py +7 -0
- aria_ai-0.1.0/src/aria/tools/shell/constants.py +66 -0
- aria_ai-0.1.0/src/aria/tools/shell/exceptions.py +38 -0
- aria_ai-0.1.0/src/aria/tools/shell/execution.py +172 -0
- aria_ai-0.1.0/src/aria/tools/shell/functions.py +260 -0
- aria_ai-0.1.0/src/aria/tools/shell/tests/__init__.py +1 -0
- aria_ai-0.1.0/src/aria/tools/shell/tests/test_platform_detection.py +72 -0
- aria_ai-0.1.0/src/aria/tools/shell/tests/test_shell_functions.py +406 -0
- aria_ai-0.1.0/src/aria/tools/shell/tests/test_validation.py +202 -0
- aria_ai-0.1.0/src/aria/tools/shell/validation.py +122 -0
- aria_ai-0.1.0/src/aria/tools/tests/test_contract_verification.py +128 -0
- aria_ai-0.1.0/src/aria/tools/tests/test_registry.py +50 -0
- aria_ai-0.1.0/src/aria/tools/tests/test_registry_slim.py +131 -0
- aria_ai-0.1.0/src/aria/tools/tests/test_tool_schemas.py +115 -0
- aria_ai-0.1.0/src/aria/tools/tests/test_utils.py +124 -0
- aria_ai-0.1.0/src/aria/tools/utils.py +248 -0
- aria_ai-0.1.0/src/aria/tools/worker/__init__.py +4 -0
- aria_ai-0.1.0/src/aria/tools/worker/functions.py +365 -0
- aria_ai-0.1.0/src/aria/web/__init__.py +12 -0
- aria_ai-0.1.0/src/aria/web/hooks.py +154 -0
- aria_ai-0.1.0/src/aria/web/lifecycle.py +489 -0
- aria_ai-0.1.0/src/aria/web/message_pipeline.py +308 -0
- aria_ai-0.1.0/src/aria/web/session.py +231 -0
- aria_ai-0.1.0/src/aria/web/state.py +102 -0
- aria_ai-0.1.0/src/aria/web/tests/test_lifecycle.py +45 -0
- aria_ai-0.1.0/src/aria/web/tests/test_message_pipeline.py +262 -0
- aria_ai-0.1.0/src/aria/web/tests/test_session.py +276 -0
- aria_ai-0.1.0/src/aria/web/tests/test_state.py +137 -0
- aria_ai-0.1.0/src/aria/web_ui.py +54 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/PKG-INFO +423 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/SOURCES.txt +255 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/dependency_links.txt +1 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/entry_points.txt +4 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/requires.txt +32 -0
- aria_ai-0.1.0/src/aria_ai.egg-info/top_level.txt +1 -0
aria_ai-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aria-ai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Aria - AI Assistant with web UI, CLI management, and local LLM support
|
|
5
|
+
Author-email: Malvavisc0 <207609879+malvavisc0@users.noreply.github.com>
|
|
6
|
+
Requires-Python: >=3.12
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: chainlit
|
|
9
|
+
Requires-Dist: chromadb
|
|
10
|
+
Requires-Dist: ddgs
|
|
11
|
+
Requires-Dist: markdownify
|
|
12
|
+
Requires-Dist: httpx
|
|
13
|
+
Requires-Dist: huggingface-hub
|
|
14
|
+
Requires-Dist: imdbinfo
|
|
15
|
+
Requires-Dist: langfuse
|
|
16
|
+
Requires-Dist: llama-index
|
|
17
|
+
Requires-Dist: llama-index-embeddings-openai-like
|
|
18
|
+
Requires-Dist: llama-index-instrumentation
|
|
19
|
+
Requires-Dist: llama-index-llms-openrouter
|
|
20
|
+
Requires-Dist: llama-index-vector-stores-chroma
|
|
21
|
+
Requires-Dist: loguru
|
|
22
|
+
Requires-Dist: markitdown
|
|
23
|
+
Requires-Dist: openinference-instrumentation-llama-index
|
|
24
|
+
Requires-Dist: playwright
|
|
25
|
+
Requires-Dist: pydantic
|
|
26
|
+
Requires-Dist: pillow
|
|
27
|
+
Requires-Dist: pypdfium2
|
|
28
|
+
Requires-Dist: python-dotenv
|
|
29
|
+
Requires-Dist: sqlalchemy
|
|
30
|
+
Requires-Dist: typer
|
|
31
|
+
Requires-Dist: yfinance
|
|
32
|
+
Requires-Dist: youtube-transcript-api
|
|
33
|
+
Requires-Dist: llama-index-embeddings-huggingface
|
|
34
|
+
Provides-Extra: gui
|
|
35
|
+
Requires-Dist: pyside6; extra == "gui"
|
|
36
|
+
Provides-Extra: vllm
|
|
37
|
+
Requires-Dist: vllm>=0.20.0; extra == "vllm"
|
|
38
|
+
|
|
39
|
+
<div align="center">
|
|
40
|
+
|
|
41
|
+
# ๐ง Aria
|
|
42
|
+
|
|
43
|
+
**Your local AI assistant with a unified tool-driven architecture**
|
|
44
|
+
|
|
45
|
+
[](https://www.python.org/downloads/)
|
|
46
|
+
[](https://github.com/malvavisc0/aria/actions/workflows/ci.yml)
|
|
47
|
+
[](https://pypi.org/project/aria-ai/)
|
|
48
|
+
[](https://github.com/malvavisc0/aria/pkgs/container/aria)
|
|
49
|
+
[](LICENSE)
|
|
50
|
+
[](https://github.com/astral-sh/ruff)
|
|
51
|
+
|
|
52
|
+
*Run a local AI assistant with a web UI, CLI, and desktop GUI*
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div align="center">
|
|
57
|
+
<img src="screenshot.png" alt="Aria Screenshot" width="80%">
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## โจ Features
|
|
63
|
+
|
|
64
|
+
| | Feature | Description |
|
|
65
|
+
|:--|:--------|:------------|
|
|
66
|
+
| ๐ฏ | **Unified Tool Architecture** | 7 categories, 33 tools managed by a centralized registry |
|
|
67
|
+
| ๐ฅ๏ธ | **Multiple Interfaces** | Web UI, CLI, and native PySide6 desktop GUI |
|
|
68
|
+
| ๐ค | **Local LLM Support** | Run models locally with vLLM (GPU-accelerated inference with GPTQ/AWQ quantization) |
|
|
69
|
+
| ๐ | **Browser Automation** | Lightpanda headless browser with CDP/Playwright support |
|
|
70
|
+
| ๐ | **Privacy First** | Your data stays on your machine |
|
|
71
|
+
| ๐ | **Web Research** | Search, weather, finance, and more |
|
|
72
|
+
| ๐ป | **Code Execution** | Safe Python sandbox and shell commands |
|
|
73
|
+
| ๐ | **Knowledge & Planning** | Persistent knowledge store, structured reasoning, task planning |
|
|
74
|
+
| ๐ท | **Worker Agents** | Background workers for heavy tasks (research, code generation, analysis) |
|
|
75
|
+
| ๐ง | **CLI Tool Commands** | Domain-specific CLI commands for search, finance, IMDb, and more |
|
|
76
|
+
| ๐ฌ | **Model Fine-Tuning** | LoRA/QLoRA fine-tuning with CLI-driven workflows |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## ๐ Quick Start
|
|
81
|
+
|
|
82
|
+
### Option A โ Run from source
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
git clone git@github.com:malvavisc0/aria.git
|
|
86
|
+
cd aria
|
|
87
|
+
uv sync
|
|
88
|
+
aria server run
|
|
89
|
+
# โ Open http://localhost:9876
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Option B โ Install from PyPI
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pip install aria-ai
|
|
96
|
+
aria server run
|
|
97
|
+
# โ Open http://localhost:9876
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Option C โ Docker (GPU required)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria:latest
|
|
104
|
+
# โ Open http://localhost:9876
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Option D โ Desktop GUI
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
pip install aria-ai[gui]
|
|
111
|
+
aria-gui
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Or download the standalone binary for your platform from the [latest release](https://github.com/malvavisc0/aria/releases/latest):
|
|
115
|
+
|
|
116
|
+
| Platform | File |
|
|
117
|
+
|----------|------|
|
|
118
|
+
| ๐ง Linux | `Aria-x86_64.AppImage` |
|
|
119
|
+
| ๐ช Windows | `Aria-Windows-x86_64.zip` |
|
|
120
|
+
| ๐ macOS (Apple Silicon) | `Aria-macOS-arm64.zip` |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## ๐ค Agent System
|
|
125
|
+
|
|
126
|
+
Aria uses a **tool-first architecture** centered around one primary agent with a centralized tool registry. Tools are organized into always-loaded core capabilities and on-demand domain tools that load when needed. Heavy tasks are delegated to background **worker agents**.
|
|
127
|
+
|
|
128
|
+
### How It Works
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
User Request โ Aria โ Registry-selected tools โ Response
|
|
132
|
+
โ (heavy tasks)
|
|
133
|
+
Worker Agent โ Background execution โ Result file
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Aria evaluates each request, keeps core capabilities available by default, and pulls in domain-specific tools only when the task requires them. Tasks requiring 5+ tool calls are automatically delegated to worker agents that run in the background.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## ๐ ๏ธ Tools
|
|
141
|
+
|
|
142
|
+
Tools are organized into **7 categories** (33 tools) managed by a centralized registry. Core and file tools are always available; domain tools load on demand.
|
|
143
|
+
|
|
144
|
+
| Category | Loading | Tools |
|
|
145
|
+
|:---------|:--------|:------|
|
|
146
|
+
| ๐ง **Core** | Always | reasoning, plan, knowledge, scratchpad, web_search, download, weather, shell |
|
|
147
|
+
| ๐ **Files** | Always | read_file, write_file, edit_file, file_info, list_files, search_files, copy_file, delete_file, rename_file |
|
|
148
|
+
| ๐ **Browser** | On-demand | open_url, browser_click |
|
|
149
|
+
| ๐ **Development** | On-demand | python |
|
|
150
|
+
| ๐ **Finance** | On-demand | fetch_current_stock_price, fetch_company_information, fetch_ticker_news |
|
|
151
|
+
| ๐ฌ **Entertainment** | On-demand | search_imdb_titles, get_movie_details, get_person_details, get_person_filmography, get_all_series_episodes, get_movie_reviews, get_movie_trivia, get_youtube_video_transcription |
|
|
152
|
+
| ๐ฅ๏ธ **System** | On-demand | http_request, process |
|
|
153
|
+
|
|
154
|
+
Domain tools are also accessible via CLI commands through `ax` (e.g., `ax web search`, `ax knowledge store`, `ax dev run`).
|
|
155
|
+
|
|
156
|
+
For the full inventory with parameter reference, see [`docs/tools-inventory.md`](docs/tools-inventory.md).
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## ๐ฆ Installation
|
|
161
|
+
|
|
162
|
+
### Prerequisites
|
|
163
|
+
|
|
164
|
+
- **GPU with 8 GB+ VRAM** (minimum; 12 GB+ recommended)
|
|
165
|
+
- **16 GB+ system RAM**
|
|
166
|
+
- Python 3.12 or higher
|
|
167
|
+
- `uv` package manager (recommended)
|
|
168
|
+
- Git
|
|
169
|
+
|
|
170
|
+
> See [`docs/memory-requirements.md`](docs/memory-requirements.md) for detailed VRAM/RAM breakdown per model.
|
|
171
|
+
|
|
172
|
+
### Install
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Clone the repository
|
|
176
|
+
git clone git@github.com:malvavisc0/aria.git
|
|
177
|
+
cd aria
|
|
178
|
+
|
|
179
|
+
# Install dependencies
|
|
180
|
+
uv sync
|
|
181
|
+
|
|
182
|
+
# Or with GUI support
|
|
183
|
+
uv sync --extra gui
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### First Run
|
|
187
|
+
|
|
188
|
+
On first launch, Aria automatically:
|
|
189
|
+
- Creates `.env` configuration with generated auth secrets
|
|
190
|
+
- Sets up the SQLite database
|
|
191
|
+
- Creates required directories
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
ax check preflight # Verify installation
|
|
195
|
+
aria server run # Start the web server
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## ๐ป CLI Commands
|
|
201
|
+
|
|
202
|
+
Aria ships with two CLI entry points:
|
|
203
|
+
|
|
204
|
+
| CLI | Purpose | Commands |
|
|
205
|
+
|:----|:--------|:---------|
|
|
206
|
+
| `aria` | Management CLI | Server, users, models, vLLM, config, system, Lightpanda |
|
|
207
|
+
| `ax` | Agent Experience CLI | Web, knowledge, dev, worker, processes, check |
|
|
208
|
+
|
|
209
|
+
### `aria` โ Management CLI
|
|
210
|
+
|
|
211
|
+
Human-facing commands for infrastructure and system management.
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Server management
|
|
215
|
+
aria server run # Run in foreground
|
|
216
|
+
aria server start # Start in background
|
|
217
|
+
aria server stop # Stop the server
|
|
218
|
+
aria server status # Check status
|
|
219
|
+
|
|
220
|
+
# Inference engine
|
|
221
|
+
aria vllm install # Install vLLM with auto-detected hardware target
|
|
222
|
+
aria vllm status # Check vLLM installation status and version
|
|
223
|
+
aria vllm info # Show vLLM configuration details
|
|
224
|
+
|
|
225
|
+
# Browser
|
|
226
|
+
aria lightpanda download # Download Lightpanda headless browser
|
|
227
|
+
aria lightpanda status # Check Lightpanda installation
|
|
228
|
+
|
|
229
|
+
# Model management
|
|
230
|
+
aria models download # Download a model from Hugging Face
|
|
231
|
+
aria models list # List downloaded models
|
|
232
|
+
aria models memory # Show model memory requirements
|
|
233
|
+
|
|
234
|
+
# User management
|
|
235
|
+
aria users list # List users
|
|
236
|
+
aria users add # Add new user
|
|
237
|
+
aria users reset-password # Reset user password
|
|
238
|
+
aria users update # Update user details
|
|
239
|
+
aria users delete # Delete a user
|
|
240
|
+
|
|
241
|
+
# System info
|
|
242
|
+
aria system info # Full system overview
|
|
243
|
+
aria system gpu # GPU information
|
|
244
|
+
aria system vram # VRAM details
|
|
245
|
+
aria system context # Calculate max context size
|
|
246
|
+
|
|
247
|
+
# Configuration
|
|
248
|
+
aria config show # Show current config
|
|
249
|
+
aria config paths # Show configured paths
|
|
250
|
+
aria config database # Show database info
|
|
251
|
+
aria config api # Show API endpoints
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### `ax` โ Agent Experience CLI
|
|
255
|
+
|
|
256
|
+
Agent-facing commands for research, knowledge, code execution, and workflow management.
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Web & research
|
|
260
|
+
ax web search "query" # Web search
|
|
261
|
+
ax web fetch "url" # Fetch URL content
|
|
262
|
+
ax web weather "city" # Weather forecast
|
|
263
|
+
|
|
264
|
+
# Knowledge
|
|
265
|
+
ax knowledge store "key" "v" # Store a fact
|
|
266
|
+
ax knowledge recall "key" # Retrieve a fact
|
|
267
|
+
ax knowledge search "query" # Search stored facts
|
|
268
|
+
|
|
269
|
+
# Development
|
|
270
|
+
ax dev run "code" # Execute Python code
|
|
271
|
+
|
|
272
|
+
# Workers
|
|
273
|
+
ax worker spawn --prompt "..." # Launch background worker
|
|
274
|
+
ax worker list # List workers
|
|
275
|
+
|
|
276
|
+
# Processes & checks
|
|
277
|
+
ax processes list # List background processes
|
|
278
|
+
ax check preflight # Verify installation
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## ๐ฅ๏ธ GUI Application
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
aria-gui # Launch desktop application (requires: uv sync --extra gui)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
The native PySide6 desktop GUI provides:
|
|
290
|
+
|
|
291
|
+
| Tab | Features |
|
|
292
|
+
|:----|:---------|
|
|
293
|
+
| **Overview** | System status, database info, API endpoints, debug log viewer |
|
|
294
|
+
| **Setup** | Install vLLM, download models from Hugging Face, and manage Lightpanda browser โ with real-time output and cancel support |
|
|
295
|
+
| **Users** | Create, edit, delete users with password strength validation |
|
|
296
|
+
| **Settings** | Configure model paths, API URLs, and service parameters |
|
|
297
|
+
| **Logs** | View application logs with search, level filtering, and auto-refresh |
|
|
298
|
+
|
|
299
|
+
Additional features:
|
|
300
|
+
- **System tray** โ minimizes to tray on close; force-quit via menu or Ctrl+Q
|
|
301
|
+
- **First-run wizard** โ guided setup on first launch
|
|
302
|
+
- **Responsive layout** โ adapts to window size
|
|
303
|
+
- **Preflight checks** โ validates configuration on tab switch
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## ๐ Web UI
|
|
308
|
+
|
|
309
|
+
After starting the server, access the web interface at `http://localhost:9876`
|
|
310
|
+
|
|
311
|
+
The web UI is powered by [Chainlit](https://github.com/Chainlit/chainlit) and provides a chat interface to interact with Aria.
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## ๐ณ Docker
|
|
316
|
+
|
|
317
|
+
### Quick start
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# NVIDIA / CUDA
|
|
321
|
+
docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria:latest
|
|
322
|
+
|
|
323
|
+
# AMD / ROCm
|
|
324
|
+
docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-rocm:latest
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Docker Compose
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Copy and configure environment
|
|
331
|
+
cp .env.example .env
|
|
332
|
+
|
|
333
|
+
# NVIDIA / CUDA
|
|
334
|
+
docker compose up -d
|
|
335
|
+
|
|
336
|
+
# AMD / ROCm
|
|
337
|
+
docker compose --profile rocm up -d aria-rocm
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
| Image | Base | GPU |
|
|
341
|
+
|-------|------|-----|
|
|
342
|
+
| `ghcr.io/malvavisc0/aria:latest` | vLLM (CUDA/CPU) | NVIDIA |
|
|
343
|
+
| `ghcr.io/malvavisc0/aria-rocm:latest` | vLLM (ROCm) | AMD |
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## โ๏ธ Configuration
|
|
348
|
+
|
|
349
|
+
Aria uses environment variables stored in `.env`:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Runtime data lives under ~/.aria (override with ARIA_HOME)
|
|
353
|
+
#ARIA_HOME=~/.aria
|
|
354
|
+
CHAINLIT_AUTH_SECRET=<auto-generated>
|
|
355
|
+
|
|
356
|
+
# Chat model (served by vLLM)
|
|
357
|
+
CHAT_MODEL = Granite-4.1-8B
|
|
358
|
+
CHAT_MODEL_PATH = ethanhunt3/Granite-4.1-8B-GPTQ-INT4
|
|
359
|
+
CHAT_CONTEXT_SIZE = 32768
|
|
360
|
+
|
|
361
|
+
# Embeddings model (loaded in-process via HuggingFace)
|
|
362
|
+
EMBEDDINGS_MODEL = granite-embedding-311m-multilingual-r2
|
|
363
|
+
EMBED_MODEL_PATH = ibm-granite/granite-embedding-311m-multilingual-r2
|
|
364
|
+
|
|
365
|
+
# vLLM engine
|
|
366
|
+
ARIA_VLLM_QUANT = gptq_marlin
|
|
367
|
+
ARIA_VLLM_GPU_MEMORY_UTILIZATION = 0.85
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
<details>
|
|
371
|
+
<summary>๐ Directory Structure</summary>
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
~/.aria/ # Runtime data root (ARIA_HOME)
|
|
375
|
+
โโโ workspace/ # Agent-facing workspace (file tools)
|
|
376
|
+
โโโ bin/ # Downloaded binaries (lightpanda, etc.)
|
|
377
|
+
โโโ db/ # SQLite (aria.db, tools.db) and ChromaDB
|
|
378
|
+
โโโ models/ # Downloaded model files
|
|
379
|
+
โโโ logs/ # Runtime logs
|
|
380
|
+
โโโ storage/ # Chainlit file storage
|
|
381
|
+
โโโ uploads/ # User-uploaded files
|
|
382
|
+
โโโ workers/ # Worker agent state
|
|
383
|
+
|
|
384
|
+
<project>/.env # Configuration
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
</details>
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## ๐ค Contributing
|
|
392
|
+
|
|
393
|
+
Contributions are welcome! Please feel free to submit issues and pull requests.
|
|
394
|
+
|
|
395
|
+
### Development Setup
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
# Install dev dependencies
|
|
399
|
+
uv sync --group dev
|
|
400
|
+
|
|
401
|
+
# Run tests
|
|
402
|
+
uv run pytest
|
|
403
|
+
|
|
404
|
+
# Lint and format code
|
|
405
|
+
uv run ruff check src/
|
|
406
|
+
uv run ruff format src/
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## ๐ License
|
|
412
|
+
|
|
413
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
<div align="center">
|
|
418
|
+
|
|
419
|
+
**Made with โค๏ธ by malvavisc0**
|
|
420
|
+
|
|
421
|
+
[Report Bug](https://github.com/malvavisc0/aria/issues) ยท [Request Feature](https://github.com/malvavisc0/aria/issues)
|
|
422
|
+
|
|
423
|
+
</div>
|