fixos 2.2.37__tar.gz → 2.2.39__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.
- {fixos-2.2.37 → fixos-2.2.39}/CHANGELOG.md +70 -0
- {fixos-2.2.37 → fixos-2.2.39}/PKG-INFO +118 -9
- {fixos-2.2.37 → fixos-2.2.39}/README.md +118 -9
- {fixos-2.2.37 → fixos-2.2.39}/fixos/__init__.py +1 -1
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/session_handlers.py +16 -8
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/cleanup_cmd.py +78 -24
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/fix_cmd.py +21 -5
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/main.py +30 -3
- fixos-2.2.39/fixos/cli/projects_cmd.py +346 -0
- fixos-2.2.39/fixos/cli/quick_cmd.py +226 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli.py +3 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/config.py +12 -1
- {fixos-2.2.37 → fixos-2.2.39}/fixos/constants.py +6 -0
- fixos-2.2.39/fixos/diagnostics/__init__.py +4 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/resources.py +8 -6
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/security.py +3 -1
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/dev_project_analyzer.py +44 -29
- fixos-2.2.39/fixos/diagnostics/project_scanner.py +258 -0
- fixos-2.2.39/fixos/diagnostics/quick_snapshot.py +823 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/service_cleanup.py +76 -13
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/service_scanner.py +145 -22
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/system_checks.py +40 -8
- {fixos-2.2.37 → fixos-2.2.39}/fixos/providers/llm.py +95 -12
- {fixos-2.2.37 → fixos-2.2.39}/fixos/watch.py +32 -1
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/PKG-INFO +118 -9
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/SOURCES.txt +14 -1
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/top_level.txt +1 -0
- {fixos-2.2.37 → fixos-2.2.39}/pyproject.toml +1 -1
- {fixos-2.2.37 → fixos-2.2.39}/setup.py +1 -1
- fixos-2.2.39/tests/unit/test_dev_project_analyzer.py +56 -0
- fixos-2.2.39/tests/unit/test_llm_provider.py +144 -0
- fixos-2.2.39/tests/unit/test_project_scanner.py +273 -0
- fixos-2.2.39/tests/unit/test_projects_cmd.py +174 -0
- fixos-2.2.39/tests/unit/test_quick_cmd.py +87 -0
- fixos-2.2.39/tests/unit/test_quick_snapshot.py +176 -0
- fixos-2.2.39/tests/unit/test_resources_quick.py +21 -0
- fixos-2.2.39/tests/unit/test_security_quick.py +23 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_service_cleanup.py +121 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_service_scanner.py +46 -3
- fixos-2.2.39/tests/unit/test_system_checks_parallel.py +56 -0
- fixos-2.2.37/fixos/diagnostics/__init__.py +0 -3
- {fixos-2.2.37 → fixos-2.2.39}/.env.example +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/LICENSE +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/MANIFEST.in +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/README.md +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/TEST_RESULTS.md +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/TEST_RESULTS_V2.md +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/alpine/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/arch/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/base/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/broken-audio/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/broken-full/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/broken-network/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/broken-thumbnails/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/debian/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/docker-compose.multi-system.yml +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/docker-compose.yml +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/fedora/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/test-multi-system.sh +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/test-scenarios.sh +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/ubuntu/Dockerfile +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docker/validate-scenario.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docs/examples/advanced_usage.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/docs/examples/quickstart.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/autonomous.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/autonomous_session.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/hitl.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/hitl_session.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/session_core.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/agent/session_io.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/anonymizer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/_cleanup_flatpak.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/_cleanup_home.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/_cleanup_snap.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/_cleanup_system.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/_cleanup_utils.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/ask_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/config_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/features_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/history_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/orchestrate_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/output_formatter.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/profile_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/provider_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/quickfix_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/report_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/rollback_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/scan_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/shared.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/token_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/cli/watch_cmd.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/config_interactive.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_flatpak_analysis_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_flatpak_execution_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_flatpak_recommendations_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_storage_container_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_storage_system_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/_storage_user_mixin.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/cache_discovery.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/_shared.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/audio.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/file_analysis.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/hardware.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/packages.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/storage_optimization.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/system_core.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/checks/thumbnails.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/disk_analyzer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/flatpak_analyzer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/service_details.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/storage_analyzer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/diagnostics/utils.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/auditor.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/catalog.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/installer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/profiles.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/features/renderer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/fixes/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/interactive/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/interactive/cleanup_planner.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/llm_shell.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/orchestrator/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/orchestrator/executor.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/orchestrator/graph.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/orchestrator/orchestrator.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/orchestrator/rollback.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/platform_utils.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/base.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/audio.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/disk.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/hardware.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/resources.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/security.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/builtin/thumbnails.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/plugins/registry.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/profiles/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/providers/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/providers/llm_analyzer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/providers/schemas.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/system_checks.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/utils/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/utils/anonymizer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/utils/terminal.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/utils/timeout.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos/utils/web_search.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/dependency_links.txt +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/entry_points.txt +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/fixos.egg-info/requires.txt +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/pytest.ini +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/requirements-dev.txt +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/requirements.txt +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/scripts/pyqual-calibrate.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/setup.cfg +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/conftest.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_anonymization_layers.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_audio_broken.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_cli.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_diagnostics_integration.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_executor.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_multi_system.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_network_broken.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/e2e/test_thumbnails_broken.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/test_fixos.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/__init__.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_anonymizer.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_cache_discovery.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_core.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_executor.py +0 -0
- {fixos-2.2.37 → fixos-2.2.39}/tests/unit/test_orchestrator.py +0 -0
|
@@ -1,3 +1,50 @@
|
|
|
1
|
+
## [Unreleased]
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- `fixos quick`: ograniczona czasowo analiza heurystyczna bez LLM, która od razu
|
|
6
|
+
pokazuje presję CPU/RAM/dysku i maksymalny rozmiar jawnie odtwarzalnych cache.
|
|
7
|
+
- Lokalna historia szybkich próbek z porównaniem ostatnich godzin i bieżącego
|
|
8
|
+
dnia oraz alarmami o szybkim wzroście dysku, RAM, swapu lub obciążenia CPU.
|
|
9
|
+
- Rozpoznawanie systemu, profilu użytkownika i stosu technologicznego oraz
|
|
10
|
+
opcjonalne przejście do wolniejszej analizy przez `fixos quick --deep`.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Stabilny raport Docker z osobnym rozmiarem aktywnym i odzyskiwalnym oraz
|
|
15
|
+
poprawnym pomiarem przed/po czyszczeniu.
|
|
16
|
+
- Usunięto niebezpieczne zbiorcze komendy kasowania wolumenów Docker i
|
|
17
|
+
wszystkich modeli Ollama.
|
|
18
|
+
- Skrócono domyślną diagnostykę przez równoległe moduły i usunięcie
|
|
19
|
+
rekurencyjnych skanów `/` oraz `/home` z szybkich kontroli.
|
|
20
|
+
- Czyszczenie cache JetBrains trafia w aktualną ścieżkę i wymaga zamknięcia IDE.
|
|
21
|
+
|
|
22
|
+
## [2.2.39] - 2026-07-23
|
|
23
|
+
|
|
24
|
+
### Docs
|
|
25
|
+
- Update CHANGELOG.md
|
|
26
|
+
- Update README.md
|
|
27
|
+
|
|
28
|
+
### Test
|
|
29
|
+
- Update tests/unit/test_dev_project_analyzer.py
|
|
30
|
+
- Update tests/unit/test_quick_cmd.py
|
|
31
|
+
- Update tests/unit/test_quick_snapshot.py
|
|
32
|
+
- Update tests/unit/test_service_scanner.py
|
|
33
|
+
- Update tests/unit/test_system_checks_parallel.py
|
|
34
|
+
|
|
35
|
+
### Other
|
|
36
|
+
- Update fixos/agent/session_handlers.py
|
|
37
|
+
- Update fixos/cli.py
|
|
38
|
+
- Update fixos/cli/fix_cmd.py
|
|
39
|
+
- Update fixos/cli/main.py
|
|
40
|
+
- Update fixos/cli/quick_cmd.py
|
|
41
|
+
- Update fixos/diagnostics/__init__.py
|
|
42
|
+
- Update fixos/diagnostics/dev_project_analyzer.py
|
|
43
|
+
- Update fixos/diagnostics/quick_snapshot.py
|
|
44
|
+
- Update fixos/diagnostics/service_scanner.py
|
|
45
|
+
- Update fixos/diagnostics/system_checks.py
|
|
46
|
+
- ... and 2 more files
|
|
47
|
+
|
|
1
48
|
## [2.2.0] - 2026-04-04
|
|
2
49
|
|
|
3
50
|
### Summary
|
|
@@ -150,6 +197,29 @@ fix(goal): code analysis engine
|
|
|
150
197
|
- **refactor(cli):** Usunięto zduplikowany kod ujednolicając funkcje analizy dysku do wspólnego helpera `_run_disk_analysis`.
|
|
151
198
|
- **refactor(ui):** Usunięto ikony Unicode z CLI i sformatowano wyjście `stderr` oraz standardowego logowania na czysty kod Markdown dla poprawy czytelności w oknach terminalowych.
|
|
152
199
|
|
|
200
|
+
## [2.2.38] - 2026-07-23
|
|
201
|
+
|
|
202
|
+
### Docs
|
|
203
|
+
- Update README.md
|
|
204
|
+
|
|
205
|
+
### Test
|
|
206
|
+
- Update tests/unit/test_resources_quick.py
|
|
207
|
+
- Update tests/unit/test_security_quick.py
|
|
208
|
+
- Update tests/unit/test_service_cleanup.py
|
|
209
|
+
- Update tests/unit/test_service_scanner.py
|
|
210
|
+
- Update tests/unit/test_system_checks_parallel.py
|
|
211
|
+
|
|
212
|
+
### Other
|
|
213
|
+
- Update fixos/cli/cleanup_cmd.py
|
|
214
|
+
- Update fixos/cli/fix_cmd.py
|
|
215
|
+
- Update fixos/diagnostics/checks/resources.py
|
|
216
|
+
- Update fixos/diagnostics/checks/security.py
|
|
217
|
+
- Update fixos/diagnostics/service_cleanup.py
|
|
218
|
+
- Update fixos/diagnostics/service_scanner.py
|
|
219
|
+
- Update fixos/diagnostics/system_checks.py
|
|
220
|
+
- Update img_1.png
|
|
221
|
+
- Update uv.lock
|
|
222
|
+
|
|
153
223
|
## [2.2.37] - 2026-07-15
|
|
154
224
|
|
|
155
225
|
### Docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fixos
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.39
|
|
4
4
|
Summary: AI-powered Linux/Windows diagnostics and repair – audio, hardware, system issues
|
|
5
5
|
Home-page: https://github.com/wronai/fixos
|
|
6
6
|
Author: fixos contributors
|
|
@@ -63,13 +63,13 @@ AI-powered OS Diagnostics
|
|
|
63
63
|
|
|
64
64
|
## AI Cost Tracking
|
|
65
65
|
|
|
66
|
-
    
|
|
67
|
+
  
|
|
68
68
|
|
|
69
|
-
- 🤖 **LLM usage:** $4.
|
|
70
|
-
- 👤 **Human dev:** ~$
|
|
69
|
+
- 🤖 **LLM usage:** $4.7645 (146 commits)
|
|
70
|
+
- 👤 **Human dev:** ~$3795 (38.0h @ $100/h, 30min dedup)
|
|
71
71
|
|
|
72
|
-
Generated on 2026-07-
|
|
72
|
+
Generated on 2026-07-23 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -80,6 +80,8 @@ z anonimizacją danych, trybem HITL/Autonomous, grafem problemów i 12 providera
|
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
83
|
+

|
|
84
|
+
|
|
83
85
|
## 🌍 Cross-Platform Support
|
|
84
86
|
|
|
85
87
|
| System | Package Manager | Audio | Hardware | System |
|
|
@@ -96,10 +98,11 @@ z anonimizacją danych, trybem HITL/Autonomous, grafem problemów i 12 providera
|
|
|
96
98
|
# 1. Instalacja
|
|
97
99
|
pip install -e ".[dev]"
|
|
98
100
|
|
|
99
|
-
# 2.
|
|
100
|
-
fixos
|
|
101
|
+
# 2. Pierwszy lokalny wynik bez LLM
|
|
102
|
+
fixos quick # CPU/RAM/dysk/cache + początek historii
|
|
101
103
|
|
|
102
|
-
# 3.
|
|
104
|
+
# 3. Opcjonalnie wybierz provider i uruchom analizę pogłębioną
|
|
105
|
+
fixos llm # lista 12 providerów z linkami
|
|
103
106
|
fixos token set AIzaSy... # Gemini (darmowy, domyślny)
|
|
104
107
|
fixos fix
|
|
105
108
|
```
|
|
@@ -110,10 +113,13 @@ fixos fix
|
|
|
110
113
|
|
|
111
114
|
```
|
|
112
115
|
fixos – ekran powitalny z listą komend i statusem
|
|
116
|
+
fixos quick – szybka analiza bez LLM + historia CPU/RAM/dysku
|
|
117
|
+
fixos quick --deep – szybki wynik, potem pełny skan danych usług
|
|
113
118
|
fixos fix – diagnoza + sesja naprawcza z AI (HITL)
|
|
114
119
|
fixos scan – diagnostyka systemu bez AI
|
|
115
120
|
fixos cleanup – skanuj i czyść dane usług (Docker, npm, pip, ...)
|
|
116
121
|
fixos cleanup --full – pełny audit systemu + dev projects
|
|
122
|
+
fixos projects – skanuj projekty dev (venv, node_modules, ~/github/*/*)
|
|
117
123
|
fixos orchestrate – zaawansowana orkiestracja (graf problemów DAG)
|
|
118
124
|
fixos llm – lista 12 providerów LLM + linki do kluczy API
|
|
119
125
|
fixos token set KEY – zapisz klucz API do .env (auto-detekcja providera)
|
|
@@ -129,6 +135,15 @@ fixos test-llm – testuj połączenie z LLM
|
|
|
129
135
|
### Przykłady użycia
|
|
130
136
|
|
|
131
137
|
```bash
|
|
138
|
+
# Wynik w kilka sekund: presja CPU/RAM/dysku, bezpieczne cache i ostatni przyrost
|
|
139
|
+
fixos quick
|
|
140
|
+
|
|
141
|
+
# JSON do monitoringu; porównanie z próbkami z ostatnich 12 godzin
|
|
142
|
+
fixos quick --json --hours 12
|
|
143
|
+
|
|
144
|
+
# Dopiero na żądanie wykonaj kosztowną inwentaryzację usług
|
|
145
|
+
fixos quick --deep
|
|
146
|
+
|
|
132
147
|
# Tylko diagnostyka audio + zapis do pliku
|
|
133
148
|
fixos scan --audio --output /tmp/audio-report.json
|
|
134
149
|
|
|
@@ -151,9 +166,22 @@ fixos cleanup --full
|
|
|
151
166
|
> select
|
|
152
167
|
> 1,3,5-10
|
|
153
168
|
|
|
169
|
+
# Skanuj ~/github/*/* pod kątem venv/.venv, node_modules, cache kompilacji...
|
|
170
|
+
fixos projects
|
|
171
|
+
|
|
172
|
+
# Tylko artefakty nieużywane od >60 dni (bez świeżych venv)
|
|
173
|
+
fixos projects --only-stale
|
|
174
|
+
|
|
175
|
+
# Podgląd bez usuwania
|
|
176
|
+
fixos projects --dry-run
|
|
177
|
+
|
|
154
178
|
# Napraw audio i thumbnails (HITL – pyta o potwierdzenie)
|
|
155
179
|
fixos fix --modules audio,thumbnails
|
|
156
180
|
|
|
181
|
+
# Domyślny szybki zestaw pomija wielokrotny skan całego katalogu domowego.
|
|
182
|
+
# Pełną inwentaryzację dużych/zdublowanych plików uruchom jawnie:
|
|
183
|
+
fixos fix --modules all
|
|
184
|
+
|
|
157
185
|
# Tryb autonomiczny (agent sam naprawia, max 5 akcji)
|
|
158
186
|
fixos fix --mode autonomous --max-fixes 5
|
|
159
187
|
|
|
@@ -171,6 +199,13 @@ fixos fix --provider groq
|
|
|
171
199
|
fixos fix --timeout 1800
|
|
172
200
|
```
|
|
173
201
|
|
|
202
|
+
`fixos quick` nie wywołuje LLM ani nie przeszukuje całego katalogu domowego.
|
|
203
|
+
Pierwsze uruchomienie zapisuje mały punkt odniesienia w
|
|
204
|
+
`~/.local/state/fixos/quick-history.json`; kolejne pokazują zmianę dysku, RAM,
|
|
205
|
+
swapu i znanych cache w wybranym oknie oraz od początku bieżącego dnia. Kwota
|
|
206
|
+
„bezpieczne cache” obejmuje wyłącznie jawnie odtwarzalne dane. Docker, modele
|
|
207
|
+
AI, rozszerzenia i cache IDE są raportowane osobno jako wymagające decyzji.
|
|
208
|
+
|
|
174
209
|
### Przykładowy widok w terminalu (Czyszczenie dysku)
|
|
175
210
|
|
|
176
211
|
Wyjście jest zoptymalizowane pod standardowy Markdown bez nadmiernej ilości symboli Unicode, ułatwiając czytelność i wklejanie:
|
|
@@ -218,6 +253,73 @@ Rekomendacje:
|
|
|
218
253
|
Tryb DRY-RUN - żadne akcje nie zostaną wykonane
|
|
219
254
|
```
|
|
220
255
|
|
|
256
|
+
### `fixos cleanup` – 3 poziomy ryzyka
|
|
257
|
+
|
|
258
|
+
Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
259
|
+
|
|
260
|
+
- **bezpieczne** – cache do odtworzenia jednym poleceniem (pip/npm/cargo/conda/nix/brew...).
|
|
261
|
+
Jedyna grupa oferowana do automatycznego usunięcia, z menu wyboru: wszystkie / pojedynczo / pomiń.
|
|
262
|
+
- **do rozważenia** – reinstalowalne aplikacje, dane długo nieużywane, nierozpoznane
|
|
263
|
+
foldery (JetBrains, Snap, Flatpak) – pokazywane z podpowiedziami, nigdy nie usuwane automatycznie.
|
|
264
|
+
- **chronione lub mieszane** – realne dane aplikacji albo magazyny łączące dane aktywne
|
|
265
|
+
z cache (Ollama, LM Studio, HuggingFace hub, Docker/Podman/containerd, cała biblioteka
|
|
266
|
+
Steam, `.cursor/extensions`/`.vscode/extensions`
|
|
267
|
+
– zainstalowane rozszerzenia edytora, nie ich cache). Osobna sekcja z ostrzeżeniem;
|
|
268
|
+
zbiorcze kasowanie modeli i wolumenów jest wyłączone. Docker pokazuje osobno
|
|
269
|
+
`SIZE` i `RECLAIMABLE`; domyślne czyszczenie ogranicza się do starego cache buildów.
|
|
270
|
+
|
|
271
|
+
### `fixos projects` – skaner artefaktów w projektach deweloperskich
|
|
272
|
+
|
|
273
|
+
Osobne narzędzie od `fixos cleanup` – zamiast globalnych ścieżek cache (`~/.cache/...`)
|
|
274
|
+
rekurencyjnie skanuje drzewo Twoich projektów (domyślnie `~/github/*/*`, dowolna
|
|
275
|
+
ścieżka przez `--path`) i wykrywa usuwalne artefakty per-projekt: `venv`/`.venv`
|
|
276
|
+
(zweryfikowane po `pyvenv.cfg`, żeby nie trafić na przypadkowy folder o tej
|
|
277
|
+
nazwie), `node_modules`/`.next`/`.turbo` (tylko gdy jest `package.json`),
|
|
278
|
+
`target` (tylko gdy jest `Cargo.toml`), `__pycache__`, `.pytest_cache`,
|
|
279
|
+
`.mypy_cache`, `.ruff_cache`, `.tox`, `.nox`; `dist`/`build` osobno jako
|
|
280
|
+
"do rozważenia" (mogą zawierać coś do opublikowania). Flaguje artefakty
|
|
281
|
+
nieużywane od >60 dni (`--stale-days`) oraz projekty ze zduplikowanymi
|
|
282
|
+
virtualenvami (np. i `venv`, i `.venv` naraz).
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
$ fixos projects --only-stale
|
|
286
|
+
|
|
287
|
+
Skanowanie projektów w /home/tom/github (próg: 50 MB)...
|
|
288
|
+
════════════════════════════════════════════════════════════
|
|
289
|
+
Znaleziono 91 artefaktów w 68 projektach:
|
|
290
|
+
Całkowity rozmiar: 91.90 GB
|
|
291
|
+
Bezpieczne: 91.10 GB
|
|
292
|
+
Do rozważenia: 0.80 GB
|
|
293
|
+
Nieużywane od >60 dni: 91.90 GB
|
|
294
|
+
|
|
295
|
+
⚠ 12 projekt(ów) ma więcej niż jeden virtualenv naraz (np. venv + .venv):
|
|
296
|
+
• /home/tom/github/semcod/fixOS
|
|
297
|
+
|
|
298
|
+
streamware/venv - 9.27 GB — nieużywany 216 dni
|
|
299
|
+
Python virtualenv
|
|
300
|
+
Ścieżka: /home/tom/github/stream-ware/streamware/venv
|
|
301
|
+
(bezpieczne)
|
|
302
|
+
...
|
|
303
|
+
|
|
304
|
+
Co wyczyścić?
|
|
305
|
+
[1] Wszystkie bezpieczne (91.10 GB)
|
|
306
|
+
[2] Tylko dawno nieużywane (91.90 GB, 91 art.)
|
|
307
|
+
[3] Wybierz wg ekosystemu (Python/Node/Rust/...)
|
|
308
|
+
[4] Wybierz wg projektu
|
|
309
|
+
[5] Wybierz pojedyncze artefakty
|
|
310
|
+
[0] Nic — pomiń
|
|
311
|
+
Wybór [1]: 4
|
|
312
|
+
|
|
313
|
+
[1] stream-ware/streamware — 9.27 GB (1 art.)
|
|
314
|
+
[2] prototypowanie/raport — 8.30 GB (1 art.)
|
|
315
|
+
[3] stream-ware/edge — 7.68 GB (1 art.)
|
|
316
|
+
...
|
|
317
|
+
Numery po przecinku (np. 1,3,5), 'all' dla wszystkich, Enter by pominąć: 1,3
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Inne opcje: `--list` (tylko podgląd bez interakcji), `--json`, `--max-depth`,
|
|
321
|
+
`--threshold`.
|
|
322
|
+
|
|
221
323
|
---
|
|
222
324
|
|
|
223
325
|
## 🤖 Dostępni Providerzy LLM (12)
|
|
@@ -354,6 +456,13 @@ SHOW_ANONYMIZED_DATA=true # pokaż dane przed wysłaniem
|
|
|
354
456
|
ENABLE_WEB_SEARCH=true # fallback do zewnętrznych źródeł
|
|
355
457
|
SESSION_TIMEOUT=3600 # timeout sesji (1h)
|
|
356
458
|
SERPAPI_KEY= # opcjonalny – lepsze wyniki wyszukiwania
|
|
459
|
+
|
|
460
|
+
# Opcjonalnie: konkretny model dla danego providera + modele zapasowe.
|
|
461
|
+
# Jeśli główny model zostanie odrzucony przez providera jako nieprawidłowy
|
|
462
|
+
# (błąd 400 "not a valid model ID"), klient automatycznie przechodzi na
|
|
463
|
+
# kolejny z listy – bez żadnej akcji z Twojej strony.
|
|
464
|
+
OPENROUTER_MODEL=openrouter/qwen/qwen3.7-plus
|
|
465
|
+
OPENROUTER_MODEL_FALLBACKS=minimax/minimax-m3,google/gemini-2.5-flash-lite
|
|
357
466
|
```
|
|
358
467
|
|
|
359
468
|
---
|
|
@@ -19,13 +19,13 @@ AI-powered OS Diagnostics
|
|
|
19
19
|
|
|
20
20
|
## AI Cost Tracking
|
|
21
21
|
|
|
22
|
-
    
|
|
23
|
+
  
|
|
24
24
|
|
|
25
|
-
- 🤖 **LLM usage:** $4.
|
|
26
|
-
- 👤 **Human dev:** ~$
|
|
25
|
+
- 🤖 **LLM usage:** $4.7645 (146 commits)
|
|
26
|
+
- 👤 **Human dev:** ~$3795 (38.0h @ $100/h, 30min dedup)
|
|
27
27
|
|
|
28
|
-
Generated on 2026-07-
|
|
28
|
+
Generated on 2026-07-23 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
@@ -36,6 +36,8 @@ z anonimizacją danych, trybem HITL/Autonomous, grafem problemów i 12 providera
|
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
|
+

|
|
40
|
+
|
|
39
41
|
## 🌍 Cross-Platform Support
|
|
40
42
|
|
|
41
43
|
| System | Package Manager | Audio | Hardware | System |
|
|
@@ -52,10 +54,11 @@ z anonimizacją danych, trybem HITL/Autonomous, grafem problemów i 12 providera
|
|
|
52
54
|
# 1. Instalacja
|
|
53
55
|
pip install -e ".[dev]"
|
|
54
56
|
|
|
55
|
-
# 2.
|
|
56
|
-
fixos
|
|
57
|
+
# 2. Pierwszy lokalny wynik bez LLM
|
|
58
|
+
fixos quick # CPU/RAM/dysk/cache + początek historii
|
|
57
59
|
|
|
58
|
-
# 3.
|
|
60
|
+
# 3. Opcjonalnie wybierz provider i uruchom analizę pogłębioną
|
|
61
|
+
fixos llm # lista 12 providerów z linkami
|
|
59
62
|
fixos token set AIzaSy... # Gemini (darmowy, domyślny)
|
|
60
63
|
fixos fix
|
|
61
64
|
```
|
|
@@ -66,10 +69,13 @@ fixos fix
|
|
|
66
69
|
|
|
67
70
|
```
|
|
68
71
|
fixos – ekran powitalny z listą komend i statusem
|
|
72
|
+
fixos quick – szybka analiza bez LLM + historia CPU/RAM/dysku
|
|
73
|
+
fixos quick --deep – szybki wynik, potem pełny skan danych usług
|
|
69
74
|
fixos fix – diagnoza + sesja naprawcza z AI (HITL)
|
|
70
75
|
fixos scan – diagnostyka systemu bez AI
|
|
71
76
|
fixos cleanup – skanuj i czyść dane usług (Docker, npm, pip, ...)
|
|
72
77
|
fixos cleanup --full – pełny audit systemu + dev projects
|
|
78
|
+
fixos projects – skanuj projekty dev (venv, node_modules, ~/github/*/*)
|
|
73
79
|
fixos orchestrate – zaawansowana orkiestracja (graf problemów DAG)
|
|
74
80
|
fixos llm – lista 12 providerów LLM + linki do kluczy API
|
|
75
81
|
fixos token set KEY – zapisz klucz API do .env (auto-detekcja providera)
|
|
@@ -85,6 +91,15 @@ fixos test-llm – testuj połączenie z LLM
|
|
|
85
91
|
### Przykłady użycia
|
|
86
92
|
|
|
87
93
|
```bash
|
|
94
|
+
# Wynik w kilka sekund: presja CPU/RAM/dysku, bezpieczne cache i ostatni przyrost
|
|
95
|
+
fixos quick
|
|
96
|
+
|
|
97
|
+
# JSON do monitoringu; porównanie z próbkami z ostatnich 12 godzin
|
|
98
|
+
fixos quick --json --hours 12
|
|
99
|
+
|
|
100
|
+
# Dopiero na żądanie wykonaj kosztowną inwentaryzację usług
|
|
101
|
+
fixos quick --deep
|
|
102
|
+
|
|
88
103
|
# Tylko diagnostyka audio + zapis do pliku
|
|
89
104
|
fixos scan --audio --output /tmp/audio-report.json
|
|
90
105
|
|
|
@@ -107,9 +122,22 @@ fixos cleanup --full
|
|
|
107
122
|
> select
|
|
108
123
|
> 1,3,5-10
|
|
109
124
|
|
|
125
|
+
# Skanuj ~/github/*/* pod kątem venv/.venv, node_modules, cache kompilacji...
|
|
126
|
+
fixos projects
|
|
127
|
+
|
|
128
|
+
# Tylko artefakty nieużywane od >60 dni (bez świeżych venv)
|
|
129
|
+
fixos projects --only-stale
|
|
130
|
+
|
|
131
|
+
# Podgląd bez usuwania
|
|
132
|
+
fixos projects --dry-run
|
|
133
|
+
|
|
110
134
|
# Napraw audio i thumbnails (HITL – pyta o potwierdzenie)
|
|
111
135
|
fixos fix --modules audio,thumbnails
|
|
112
136
|
|
|
137
|
+
# Domyślny szybki zestaw pomija wielokrotny skan całego katalogu domowego.
|
|
138
|
+
# Pełną inwentaryzację dużych/zdublowanych plików uruchom jawnie:
|
|
139
|
+
fixos fix --modules all
|
|
140
|
+
|
|
113
141
|
# Tryb autonomiczny (agent sam naprawia, max 5 akcji)
|
|
114
142
|
fixos fix --mode autonomous --max-fixes 5
|
|
115
143
|
|
|
@@ -127,6 +155,13 @@ fixos fix --provider groq
|
|
|
127
155
|
fixos fix --timeout 1800
|
|
128
156
|
```
|
|
129
157
|
|
|
158
|
+
`fixos quick` nie wywołuje LLM ani nie przeszukuje całego katalogu domowego.
|
|
159
|
+
Pierwsze uruchomienie zapisuje mały punkt odniesienia w
|
|
160
|
+
`~/.local/state/fixos/quick-history.json`; kolejne pokazują zmianę dysku, RAM,
|
|
161
|
+
swapu i znanych cache w wybranym oknie oraz od początku bieżącego dnia. Kwota
|
|
162
|
+
„bezpieczne cache” obejmuje wyłącznie jawnie odtwarzalne dane. Docker, modele
|
|
163
|
+
AI, rozszerzenia i cache IDE są raportowane osobno jako wymagające decyzji.
|
|
164
|
+
|
|
130
165
|
### Przykładowy widok w terminalu (Czyszczenie dysku)
|
|
131
166
|
|
|
132
167
|
Wyjście jest zoptymalizowane pod standardowy Markdown bez nadmiernej ilości symboli Unicode, ułatwiając czytelność i wklejanie:
|
|
@@ -174,6 +209,73 @@ Rekomendacje:
|
|
|
174
209
|
Tryb DRY-RUN - żadne akcje nie zostaną wykonane
|
|
175
210
|
```
|
|
176
211
|
|
|
212
|
+
### `fixos cleanup` – 3 poziomy ryzyka
|
|
213
|
+
|
|
214
|
+
Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
215
|
+
|
|
216
|
+
- **bezpieczne** – cache do odtworzenia jednym poleceniem (pip/npm/cargo/conda/nix/brew...).
|
|
217
|
+
Jedyna grupa oferowana do automatycznego usunięcia, z menu wyboru: wszystkie / pojedynczo / pomiń.
|
|
218
|
+
- **do rozważenia** – reinstalowalne aplikacje, dane długo nieużywane, nierozpoznane
|
|
219
|
+
foldery (JetBrains, Snap, Flatpak) – pokazywane z podpowiedziami, nigdy nie usuwane automatycznie.
|
|
220
|
+
- **chronione lub mieszane** – realne dane aplikacji albo magazyny łączące dane aktywne
|
|
221
|
+
z cache (Ollama, LM Studio, HuggingFace hub, Docker/Podman/containerd, cała biblioteka
|
|
222
|
+
Steam, `.cursor/extensions`/`.vscode/extensions`
|
|
223
|
+
– zainstalowane rozszerzenia edytora, nie ich cache). Osobna sekcja z ostrzeżeniem;
|
|
224
|
+
zbiorcze kasowanie modeli i wolumenów jest wyłączone. Docker pokazuje osobno
|
|
225
|
+
`SIZE` i `RECLAIMABLE`; domyślne czyszczenie ogranicza się do starego cache buildów.
|
|
226
|
+
|
|
227
|
+
### `fixos projects` – skaner artefaktów w projektach deweloperskich
|
|
228
|
+
|
|
229
|
+
Osobne narzędzie od `fixos cleanup` – zamiast globalnych ścieżek cache (`~/.cache/...`)
|
|
230
|
+
rekurencyjnie skanuje drzewo Twoich projektów (domyślnie `~/github/*/*`, dowolna
|
|
231
|
+
ścieżka przez `--path`) i wykrywa usuwalne artefakty per-projekt: `venv`/`.venv`
|
|
232
|
+
(zweryfikowane po `pyvenv.cfg`, żeby nie trafić na przypadkowy folder o tej
|
|
233
|
+
nazwie), `node_modules`/`.next`/`.turbo` (tylko gdy jest `package.json`),
|
|
234
|
+
`target` (tylko gdy jest `Cargo.toml`), `__pycache__`, `.pytest_cache`,
|
|
235
|
+
`.mypy_cache`, `.ruff_cache`, `.tox`, `.nox`; `dist`/`build` osobno jako
|
|
236
|
+
"do rozważenia" (mogą zawierać coś do opublikowania). Flaguje artefakty
|
|
237
|
+
nieużywane od >60 dni (`--stale-days`) oraz projekty ze zduplikowanymi
|
|
238
|
+
virtualenvami (np. i `venv`, i `.venv` naraz).
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
$ fixos projects --only-stale
|
|
242
|
+
|
|
243
|
+
Skanowanie projektów w /home/tom/github (próg: 50 MB)...
|
|
244
|
+
════════════════════════════════════════════════════════════
|
|
245
|
+
Znaleziono 91 artefaktów w 68 projektach:
|
|
246
|
+
Całkowity rozmiar: 91.90 GB
|
|
247
|
+
Bezpieczne: 91.10 GB
|
|
248
|
+
Do rozważenia: 0.80 GB
|
|
249
|
+
Nieużywane od >60 dni: 91.90 GB
|
|
250
|
+
|
|
251
|
+
⚠ 12 projekt(ów) ma więcej niż jeden virtualenv naraz (np. venv + .venv):
|
|
252
|
+
• /home/tom/github/semcod/fixOS
|
|
253
|
+
|
|
254
|
+
streamware/venv - 9.27 GB — nieużywany 216 dni
|
|
255
|
+
Python virtualenv
|
|
256
|
+
Ścieżka: /home/tom/github/stream-ware/streamware/venv
|
|
257
|
+
(bezpieczne)
|
|
258
|
+
...
|
|
259
|
+
|
|
260
|
+
Co wyczyścić?
|
|
261
|
+
[1] Wszystkie bezpieczne (91.10 GB)
|
|
262
|
+
[2] Tylko dawno nieużywane (91.90 GB, 91 art.)
|
|
263
|
+
[3] Wybierz wg ekosystemu (Python/Node/Rust/...)
|
|
264
|
+
[4] Wybierz wg projektu
|
|
265
|
+
[5] Wybierz pojedyncze artefakty
|
|
266
|
+
[0] Nic — pomiń
|
|
267
|
+
Wybór [1]: 4
|
|
268
|
+
|
|
269
|
+
[1] stream-ware/streamware — 9.27 GB (1 art.)
|
|
270
|
+
[2] prototypowanie/raport — 8.30 GB (1 art.)
|
|
271
|
+
[3] stream-ware/edge — 7.68 GB (1 art.)
|
|
272
|
+
...
|
|
273
|
+
Numery po przecinku (np. 1,3,5), 'all' dla wszystkich, Enter by pominąć: 1,3
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Inne opcje: `--list` (tylko podgląd bez interakcji), `--json`, `--max-depth`,
|
|
277
|
+
`--threshold`.
|
|
278
|
+
|
|
177
279
|
---
|
|
178
280
|
|
|
179
281
|
## 🤖 Dostępni Providerzy LLM (12)
|
|
@@ -310,6 +412,13 @@ SHOW_ANONYMIZED_DATA=true # pokaż dane przed wysłaniem
|
|
|
310
412
|
ENABLE_WEB_SEARCH=true # fallback do zewnętrznych źródeł
|
|
311
413
|
SESSION_TIMEOUT=3600 # timeout sesji (1h)
|
|
312
414
|
SERPAPI_KEY= # opcjonalny – lepsze wyniki wyszukiwania
|
|
415
|
+
|
|
416
|
+
# Opcjonalnie: konkretny model dla danego providera + modele zapasowe.
|
|
417
|
+
# Jeśli główny model zostanie odrzucony przez providera jako nieprawidłowy
|
|
418
|
+
# (błąd 400 "not a valid model ID"), klient automatycznie przechodzi na
|
|
419
|
+
# kolejny z listy – bez żadnej akcji z Twojej strony.
|
|
420
|
+
OPENROUTER_MODEL=openrouter/qwen/qwen3.7-plus
|
|
421
|
+
OPENROUTER_MODEL_FALLBACKS=minimax/minimax-m3,google/gemini-2.5-flash-lite
|
|
313
422
|
```
|
|
314
423
|
|
|
315
424
|
---
|
|
@@ -482,4 +591,4 @@ Licensed under Apache-2.0.
|
|
|
482
591
|
Tom Sapletta
|
|
483
592
|
## life is life
|
|
484
593
|
|
|
485
|
-

|
|
594
|
+

|
|
@@ -134,14 +134,18 @@ def handle_execute_all(fixes: list, messages: list, executed: list, run_cmd_fn)
|
|
|
134
134
|
executed.append(result)
|
|
135
135
|
anon_out, _ = anonymize(result.stdout + result.stderr)
|
|
136
136
|
status = "✅ sukces" if result.ok else f"❌ błąd (kod {result.returncode})"
|
|
137
|
-
|
|
137
|
+
summary = f"- `{cmd}`: {status}"
|
|
138
|
+
if anon_out.strip():
|
|
139
|
+
summary += f"\n Output: {anon_out.strip()[:MAX_ANON_PREVIEW_LENGTH]}"
|
|
140
|
+
summary_lines.append(summary)
|
|
138
141
|
|
|
142
|
+
joined_summary = "\n".join(summary_lines)
|
|
139
143
|
messages.append(
|
|
140
144
|
{
|
|
141
145
|
"role": "user",
|
|
142
146
|
"content": (
|
|
143
147
|
f"Executed all commands:\n"
|
|
144
|
-
f"{
|
|
148
|
+
f"{joined_summary}\n"
|
|
145
149
|
f"\nEvaluate results and suggest next steps."
|
|
146
150
|
),
|
|
147
151
|
}
|
|
@@ -318,15 +322,19 @@ def parse_user_input(
|
|
|
318
322
|
|
|
319
323
|
# [N] Execute specific fix by number
|
|
320
324
|
if user_in.isdigit():
|
|
321
|
-
return
|
|
322
|
-
|
|
323
|
-
|
|
325
|
+
return (
|
|
326
|
+
handle_fix_by_number(
|
|
327
|
+
user_in, fixes, messages, executed, run_single_command
|
|
328
|
+
),
|
|
329
|
+
True,
|
|
330
|
+
)
|
|
324
331
|
|
|
325
332
|
# [!cmd] Direct command execution
|
|
326
333
|
if user_in.startswith("!"):
|
|
327
|
-
return
|
|
328
|
-
user_in, messages, executed, run_single_command
|
|
329
|
-
|
|
334
|
+
return (
|
|
335
|
+
handle_direct_command(user_in, messages, executed, run_single_command),
|
|
336
|
+
True,
|
|
337
|
+
)
|
|
330
338
|
|
|
331
339
|
# [search <q>] Web search
|
|
332
340
|
if lo.startswith("search "):
|