fixos 2.2.46__tar.gz → 2.2.47__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.46 → fixos-2.2.47}/CHANGELOG.md +37 -5
- {fixos-2.2.46 → fixos-2.2.47}/PKG-INFO +50 -16
- {fixos-2.2.46 → fixos-2.2.47}/README.md +47 -13
- {fixos-2.2.46 → fixos-2.2.47}/fixos/__init__.py +1 -1
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/cleanup_cmd.py +245 -23
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/main.py +11 -1
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/projects_cmd.py +156 -12
- fixos-2.2.47/fixos/diagnostics/docker_network_cleanup.py +282 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/service_cleanup.py +186 -33
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/PKG-INFO +50 -16
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/SOURCES.txt +2 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/requires.txt +5 -1
- {fixos-2.2.46 → fixos-2.2.47}/pyproject.toml +3 -3
- {fixos-2.2.46 → fixos-2.2.47}/setup.py +2 -1
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_cleanup_cmd.py +195 -4
- fixos-2.2.47/tests/unit/test_docker_network_cleanup.py +274 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_projects_cmd.py +125 -3
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_service_cleanup.py +104 -4
- {fixos-2.2.46 → fixos-2.2.47}/.env.example +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/LICENSE +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/MANIFEST.in +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/README.md +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/TEST_RESULTS.md +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/TEST_RESULTS_V2.md +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/alpine/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/arch/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/base/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/broken-audio/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/broken-full/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/broken-network/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/broken-thumbnails/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/debian/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/docker-compose.multi-system.yml +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/docker-compose.yml +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/fedora/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/test-multi-system.sh +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/test-scenarios.sh +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/ubuntu/Dockerfile +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docker/validate-scenario.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docs/examples/advanced_usage.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/docs/examples/quickstart.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/__main__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/autonomous.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/autonomous_session.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/hitl.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/hitl_session.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/session_core.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/session_handlers.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/agent/session_io.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/anonymizer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/_cleanup_flatpak.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/_cleanup_home.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/_cleanup_snap.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/_cleanup_system.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/_cleanup_utils.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/ask_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/config_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/features_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/fix_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/history_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/orchestrate_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/output_formatter.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/profile_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/provider_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/quick_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/quickfix_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/report_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/rollback_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/scan_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/shared.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/token_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli/watch_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/cli.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/config.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/config_interactive.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/constants.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_flatpak_analysis_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_flatpak_execution_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_flatpak_recommendations_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_storage_container_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_storage_system_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/_storage_user_mixin.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/cache_discovery.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/_shared.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/audio.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/file_analysis.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/hardware.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/packages.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/resources.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/security.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/storage_optimization.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/system_core.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/checks/thumbnails.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/dev_project_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/disk_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/flatpak_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/project_scanner.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/quick_snapshot.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/service_details.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/service_scanner.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/storage_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/system_checks.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/diagnostics/utils.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/auditor.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/catalog.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/installer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/profiles.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/features/renderer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/fixes/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/interactive/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/interactive/cleanup_planner.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/llm_shell.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/orchestrator/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/orchestrator/executor.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/orchestrator/graph.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/orchestrator/orchestrator.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/orchestrator/rollback.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/platform_utils.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/base.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/audio.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/disk.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/hardware.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/resources.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/security.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/builtin/thumbnails.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/plugins/registry.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/profiles/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/providers/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/providers/llm.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/providers/llm_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/providers/schemas.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/system_checks.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/utils/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/utils/anonymizer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/utils/terminal.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/utils/timeout.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/utils/web_search.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos/watch.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/dependency_links.txt +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/entry_points.txt +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/fixos.egg-info/top_level.txt +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/pytest.ini +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/requirements-dev.txt +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/requirements.txt +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/scripts/pyqual-calibrate.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/setup.cfg +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/conftest.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_anonymization_layers.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_audio_broken.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_cli.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_diagnostics_integration.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_executor.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_multi_system.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_network_broken.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/e2e/test_thumbnails_broken.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/test_fixos.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/__init__.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_anonymizer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_cache_discovery.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_core.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_dev_project_analyzer.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_executor.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_llm_provider.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_orchestrator.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_project_scanner.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_quick_cmd.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_quick_snapshot.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_resources_quick.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_security_quick.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_service_scanner.py +0 -0
- {fixos-2.2.46 → fixos-2.2.47}/tests/unit/test_system_checks_parallel.py +0 -0
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
### Added
|
|
4
4
|
|
|
5
|
-
- `fixos cleanup --docker-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
- `fixos cleanup --docker-networks [--days N]` oraz `-c docker-networks`:
|
|
6
|
+
bezpieczny podgląd i usuwanie niestandardowych sieci Docker bez endpointów,
|
|
7
|
+
z ochroną sieci aktywnych/wbudowanych i końcowym testem puli adresowej.
|
|
8
|
+
- `fixos cleanup --docker-all` / `-c docker-all`: jedna operacja dla wszystkich
|
|
9
|
+
nieużywanych obrazów, build cache i osieroconych sieci, bez kontenerów i
|
|
10
|
+
wolumenów. `--docker-old` oraz interaktywne czyszczenie Dockera również
|
|
11
|
+
dołączają osierocone sieci.
|
|
12
|
+
- `fixos projects --docker-networks`: opcjonalne usuwanie sieci `dangling`
|
|
13
|
+
należących do wybranych projektów Compose, z dopasowaniem po etykiecie,
|
|
14
|
+
osobnym potwierdzeniem i usuwaniem wyłącznie wcześniej pokazanych ID.
|
|
15
|
+
- `fixos cleanup --docker-old [--days N]` oraz `-c docker-old`: usuwa
|
|
16
|
+
nieużywane obrazy Docker i build cache starsze niż N dni (domyślnie 30)
|
|
17
|
+
oraz osierocone sieci; bez wolumenów i obrazów używanych przez kontenery.
|
|
8
18
|
- `fixos cleanup --ollama-old [--days N]` oraz `-c ollama-old`: usuwa modele
|
|
9
19
|
Ollama niezmieniane od N dni (domyślnie 90), z pominięciem modeli
|
|
10
20
|
aktualnie załadowanych (`/api/ps`).
|
|
11
21
|
- Opcja interaktywna **[1] Wszystkie bezpieczne** obejmuje teraz także:
|
|
12
|
-
- **Docker (nieużywane
|
|
13
|
-
|
|
22
|
+
- **Docker (nieużywane zasoby)** — pełną pulę unused Images+Build Cache
|
|
23
|
+
oraz osierocone sieci, bez filtra wieku,
|
|
14
24
|
- **Ollama (modele >90 dni)** — gdy takie modele istnieją.
|
|
15
25
|
- Pomiar zwolnionego miejsca Dockera przez `docker system df` przed/po oraz
|
|
16
26
|
parsowanie `Total reclaimed space`; ostrzeżenie przy 0.00 GB mimo sukcesu
|
|
@@ -70,6 +80,28 @@
|
|
|
70
80
|
rekurencyjnych skanów `/` oraz `/home` z szybkich kontroli.
|
|
71
81
|
- Czyszczenie cache JetBrains trafia w aktualną ścieżkę i wymaga zamknięcia IDE.
|
|
72
82
|
|
|
83
|
+
## [2.2.47] - 2026-08-13
|
|
84
|
+
|
|
85
|
+
### Docs
|
|
86
|
+
- Update CHANGELOG.md
|
|
87
|
+
- Update README.md
|
|
88
|
+
- Update docs/architecture.md
|
|
89
|
+
- Update docs/getting-started.md
|
|
90
|
+
|
|
91
|
+
### Test
|
|
92
|
+
- Update tests/unit/test_cleanup_cmd.py
|
|
93
|
+
- Update tests/unit/test_docker_network_cleanup.py
|
|
94
|
+
- Update tests/unit/test_projects_cmd.py
|
|
95
|
+
- Update tests/unit/test_service_cleanup.py
|
|
96
|
+
|
|
97
|
+
### Other
|
|
98
|
+
- Update fixos/cli/cleanup_cmd.py
|
|
99
|
+
- Update fixos/cli/main.py
|
|
100
|
+
- Update fixos/cli/projects_cmd.py
|
|
101
|
+
- Update fixos/diagnostics/docker_network_cleanup.py
|
|
102
|
+
- Update fixos/diagnostics/service_cleanup.py
|
|
103
|
+
- Update uv.lock
|
|
104
|
+
|
|
73
105
|
## [2.2.46] - 2026-08-07
|
|
74
106
|
|
|
75
107
|
### Docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fixos
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.47
|
|
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
|
|
@@ -35,9 +35,9 @@ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
|
35
35
|
Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
|
|
36
36
|
Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
|
|
37
37
|
Requires-Dist: pytest-sugar>=0.9.7; extra == "dev"
|
|
38
|
-
Requires-Dist: goal>=2.1.0; extra == "dev"
|
|
38
|
+
Requires-Dist: goal>=2.1.0; python_version >= "3.12" and extra == "dev"
|
|
39
39
|
Requires-Dist: costs>=0.1.20; extra == "dev"
|
|
40
|
-
Requires-Dist: pfix>=0.1.60; extra == "dev"
|
|
40
|
+
Requires-Dist: pfix>=0.1.60; python_version >= "3.10" and extra == "dev"
|
|
41
41
|
Dynamic: home-page
|
|
42
42
|
Dynamic: license-file
|
|
43
43
|
Dynamic: requires-python
|
|
@@ -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.8536 (152 commits)
|
|
70
|
+
- 👤 **Human dev:** ~$4079 (40.8h @ $100/h, 30min dedup)
|
|
71
71
|
|
|
72
|
-
Generated on 2026-08-
|
|
72
|
+
Generated on 2026-08-13 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -118,10 +118,13 @@ fixos quick --deep – szybki wynik, potem pełny skan danych usług
|
|
|
118
118
|
fixos fix – diagnoza + sesja naprawcza z AI (HITL)
|
|
119
119
|
fixos scan – diagnostyka systemu bez AI
|
|
120
120
|
fixos cleanup – skanuj i czyść dane usług (Docker, npm, pip, ...)
|
|
121
|
-
fixos cleanup --docker-
|
|
121
|
+
fixos cleanup --docker-all – wszystkie unused images/cache + osierocone sieci
|
|
122
|
+
fixos cleanup --docker-old – stare unused images/cache + osierocone sieci
|
|
123
|
+
fixos cleanup --docker-networks – tylko osierocone sieci + test puli
|
|
122
124
|
fixos cleanup --ollama-old – modele Ollama niezmieniane od N dni (domyślnie 90)
|
|
123
125
|
fixos cleanup --full – pełny audit systemu + dev projects
|
|
124
126
|
fixos projects – skanuj projekty dev (venv, node_modules, ~/github/*/*)
|
|
127
|
+
fixos projects --docker-networks – nieużywane sieci Compose wybranych projektów
|
|
125
128
|
fixos orchestrate – zaawansowana orkiestracja (graf problemów DAG)
|
|
126
129
|
fixos llm – lista 12 providerów LLM + linki do kluczy API
|
|
127
130
|
fixos token set KEY – zapisz klucz API do .env (auto-detekcja providera)
|
|
@@ -157,12 +160,19 @@ fixos cleanup --full --dry-run
|
|
|
157
160
|
|
|
158
161
|
# Podgląd usług + interaktywne czyszczenie (opcja [1] = wszystkie bezpieczne)
|
|
159
162
|
fixos cleanup --list
|
|
160
|
-
fixos cleanup --dry-run # tylko gdy -c / --docker-
|
|
163
|
+
fixos cleanup --dry-run # tylko gdy -c / --docker-all / --docker-old / ...
|
|
161
164
|
fixos cleanup
|
|
162
165
|
|
|
163
|
-
#
|
|
166
|
+
# Wszystkie unused images/cache oraz osierocone sieci (bez wolumenów)
|
|
167
|
+
fixos cleanup --docker-all --dry-run
|
|
168
|
+
|
|
169
|
+
# Obrazy/cache starsze niż 30 dni oraz wszystkie osierocone sieci
|
|
164
170
|
fixos cleanup --docker-old --days 30 --dry-run
|
|
165
171
|
|
|
172
|
+
# Sieci Docker bez endpointów; aktywne i wbudowane pozostają chronione
|
|
173
|
+
fixos cleanup --docker-networks --dry-run
|
|
174
|
+
fixos cleanup --docker-networks
|
|
175
|
+
|
|
166
176
|
# Modele Ollama niezmieniane od 90+ dni (pomija uruchomione)
|
|
167
177
|
fixos cleanup --ollama-old --days 90 --dry-run
|
|
168
178
|
|
|
@@ -185,6 +195,9 @@ fixos projects
|
|
|
185
195
|
# Tylko artefakty nieużywane od >60 dni (bez świeżych venv)
|
|
186
196
|
fixos projects --only-stale
|
|
187
197
|
|
|
198
|
+
# Stare artefakty + podgląd powiązanych, nieużywanych sieci Compose
|
|
199
|
+
fixos projects --only-stale --docker-networks --dry-run
|
|
200
|
+
|
|
188
201
|
# Podgląd bez usuwania
|
|
189
202
|
fixos projects --dry-run
|
|
190
203
|
|
|
@@ -274,9 +287,9 @@ Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
|
274
287
|
|
|
275
288
|
- **bezpieczne** – cache do odtworzenia jednym poleceniem (pip/npm/cargo/conda/nix/brew...)
|
|
276
289
|
oraz ograniczone, jawnie bezpieczne akcje wiekowe / reclaimable:
|
|
277
|
-
- **Docker (nieużywane
|
|
278
|
-
(bez wolumenów, bez obrazów
|
|
279
|
-
`RECLAIMABLE
|
|
290
|
+
- **Docker (nieużywane zasoby)** — wszystkie unused images + build cache
|
|
291
|
+
oraz osierocone sieci bez endpointów (bez wolumenów, bez obrazów
|
|
292
|
+
podpiętych do kontenerów); część dyskowa odpowiada puli `RECLAIMABLE`,
|
|
280
293
|
- **Ollama (modele >90 dni)** — modele niezmieniane od 90+ dni; pomija
|
|
281
294
|
modele aktualnie załadowane w pamięci.
|
|
282
295
|
Tylko tę grupę usuwa opcja **[1] Wszystkie bezpieczne**.
|
|
@@ -289,13 +302,26 @@ Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
|
289
302
|
zbiorcze kasowanie modeli „na ślepo”, klastrów, maszyn wirtualnych, rozszerzeń i
|
|
290
303
|
wolumenów jest wyłączone.
|
|
291
304
|
|
|
292
|
-
Dedykowane flagi (też dostępne jako `-c docker-
|
|
305
|
+
Dedykowane flagi (też dostępne jako `-c docker-all`, `-c docker-old`,
|
|
306
|
+
`-c docker-networks` oraz `-c ollama-old`):
|
|
293
307
|
|
|
294
308
|
```bash
|
|
295
|
-
fixos cleanup --docker-
|
|
309
|
+
fixos cleanup --docker-all --dry-run # all unused + sieci
|
|
310
|
+
fixos cleanup --docker-old --days 30 --dry-run # stare unused + sieci
|
|
311
|
+
fixos cleanup --docker-networks --dry-run # sieci bez endpointów
|
|
296
312
|
fixos cleanup --ollama-old --days 90 --dry-run # modele niezmieniane od N dni
|
|
297
313
|
```
|
|
298
314
|
|
|
315
|
+
Osierocone sieci są czyszczone automatycznie razem z `--docker-all`,
|
|
316
|
+
`--docker-old` oraz dockerową pozycją w „Wszystkie bezpieczne”. Samodzielne
|
|
317
|
+
`--docker-networks` pozostaje dostępne, gdy obrazy i cache mają pozostać.
|
|
318
|
+
Mechanizm pobiera kandydatów z `dangling=true`, ponownie sprawdza brak
|
|
319
|
+
endpointów, chroni sieci `bridge`, `host` i `none`, a usuwa dokładne ID zamiast
|
|
320
|
+
wykonywać szeroki prune. Po wykonaniu tworzy i natychmiast usuwa sieć testową
|
|
321
|
+
oznaczoną `dev.fixos.cleanup-probe=true`; sukces potwierdza, że daemon może
|
|
322
|
+
ponownie przydzielić podsieć. Opcjonalne `--days N` dla samodzielnej akcji
|
|
323
|
+
ogranicza ją do sieci mających co najmniej N dni; domyślne `0` obejmuje wszystkie.
|
|
324
|
+
|
|
299
325
|
`RECLAIMABLE` Dockera obejmuje też świeże unused images. Filtr `--docker-old`
|
|
300
326
|
(domyślnie 30 dni) może więc zwolnić **znacznie mniej** niż szacunek całej puli —
|
|
301
327
|
dlatego opcja `[1]` używa prune **wszystkich** nieużywanych obrazów, a
|
|
@@ -323,6 +349,14 @@ nazwie), `node_modules`/`.next`/`.turbo` (tylko gdy jest `package.json`),
|
|
|
323
349
|
nieużywane od >60 dni (`--stale-days`) oraz projekty ze zduplikowanymi
|
|
324
350
|
virtualenvami (np. i `venv`, i `.venv` naraz).
|
|
325
351
|
|
|
352
|
+
Opcjonalne `--docker-networks` dołącza do czyszczenia wybranych projektów
|
|
353
|
+
ich nieużywane sieci Docker Compose. Dopasowanie wymaga dokładnej etykiety
|
|
354
|
+
`com.docker.compose.project`; sieci bez tej etykiety nie są zgadywane po
|
|
355
|
+
nazwie. fixOS ponownie wymaga stanu `dangling`, chroni sieci z endpointami,
|
|
356
|
+
pokazuje nazwę, ID i podsieć, a przed usunięciem pyta o osobne potwierdzenie.
|
|
357
|
+
Usuwane są tylko ID pokazane w podglądzie, po czym wykonywany jest test puli
|
|
358
|
+
adresowej. Repozytorium projektu, kontenery i wolumeny pozostają nietknięte.
|
|
359
|
+
|
|
326
360
|
```bash
|
|
327
361
|
$ fixos projects --only-stale
|
|
328
362
|
|
|
@@ -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.8536 (152 commits)
|
|
26
|
+
- 👤 **Human dev:** ~$4079 (40.8h @ $100/h, 30min dedup)
|
|
27
27
|
|
|
28
|
-
Generated on 2026-08-
|
|
28
|
+
Generated on 2026-08-13 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
@@ -74,10 +74,13 @@ fixos quick --deep – szybki wynik, potem pełny skan danych usług
|
|
|
74
74
|
fixos fix – diagnoza + sesja naprawcza z AI (HITL)
|
|
75
75
|
fixos scan – diagnostyka systemu bez AI
|
|
76
76
|
fixos cleanup – skanuj i czyść dane usług (Docker, npm, pip, ...)
|
|
77
|
-
fixos cleanup --docker-
|
|
77
|
+
fixos cleanup --docker-all – wszystkie unused images/cache + osierocone sieci
|
|
78
|
+
fixos cleanup --docker-old – stare unused images/cache + osierocone sieci
|
|
79
|
+
fixos cleanup --docker-networks – tylko osierocone sieci + test puli
|
|
78
80
|
fixos cleanup --ollama-old – modele Ollama niezmieniane od N dni (domyślnie 90)
|
|
79
81
|
fixos cleanup --full – pełny audit systemu + dev projects
|
|
80
82
|
fixos projects – skanuj projekty dev (venv, node_modules, ~/github/*/*)
|
|
83
|
+
fixos projects --docker-networks – nieużywane sieci Compose wybranych projektów
|
|
81
84
|
fixos orchestrate – zaawansowana orkiestracja (graf problemów DAG)
|
|
82
85
|
fixos llm – lista 12 providerów LLM + linki do kluczy API
|
|
83
86
|
fixos token set KEY – zapisz klucz API do .env (auto-detekcja providera)
|
|
@@ -113,12 +116,19 @@ fixos cleanup --full --dry-run
|
|
|
113
116
|
|
|
114
117
|
# Podgląd usług + interaktywne czyszczenie (opcja [1] = wszystkie bezpieczne)
|
|
115
118
|
fixos cleanup --list
|
|
116
|
-
fixos cleanup --dry-run # tylko gdy -c / --docker-
|
|
119
|
+
fixos cleanup --dry-run # tylko gdy -c / --docker-all / --docker-old / ...
|
|
117
120
|
fixos cleanup
|
|
118
121
|
|
|
119
|
-
#
|
|
122
|
+
# Wszystkie unused images/cache oraz osierocone sieci (bez wolumenów)
|
|
123
|
+
fixos cleanup --docker-all --dry-run
|
|
124
|
+
|
|
125
|
+
# Obrazy/cache starsze niż 30 dni oraz wszystkie osierocone sieci
|
|
120
126
|
fixos cleanup --docker-old --days 30 --dry-run
|
|
121
127
|
|
|
128
|
+
# Sieci Docker bez endpointów; aktywne i wbudowane pozostają chronione
|
|
129
|
+
fixos cleanup --docker-networks --dry-run
|
|
130
|
+
fixos cleanup --docker-networks
|
|
131
|
+
|
|
122
132
|
# Modele Ollama niezmieniane od 90+ dni (pomija uruchomione)
|
|
123
133
|
fixos cleanup --ollama-old --days 90 --dry-run
|
|
124
134
|
|
|
@@ -141,6 +151,9 @@ fixos projects
|
|
|
141
151
|
# Tylko artefakty nieużywane od >60 dni (bez świeżych venv)
|
|
142
152
|
fixos projects --only-stale
|
|
143
153
|
|
|
154
|
+
# Stare artefakty + podgląd powiązanych, nieużywanych sieci Compose
|
|
155
|
+
fixos projects --only-stale --docker-networks --dry-run
|
|
156
|
+
|
|
144
157
|
# Podgląd bez usuwania
|
|
145
158
|
fixos projects --dry-run
|
|
146
159
|
|
|
@@ -230,9 +243,9 @@ Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
|
230
243
|
|
|
231
244
|
- **bezpieczne** – cache do odtworzenia jednym poleceniem (pip/npm/cargo/conda/nix/brew...)
|
|
232
245
|
oraz ograniczone, jawnie bezpieczne akcje wiekowe / reclaimable:
|
|
233
|
-
- **Docker (nieużywane
|
|
234
|
-
(bez wolumenów, bez obrazów
|
|
235
|
-
`RECLAIMABLE
|
|
246
|
+
- **Docker (nieużywane zasoby)** — wszystkie unused images + build cache
|
|
247
|
+
oraz osierocone sieci bez endpointów (bez wolumenów, bez obrazów
|
|
248
|
+
podpiętych do kontenerów); część dyskowa odpowiada puli `RECLAIMABLE`,
|
|
236
249
|
- **Ollama (modele >90 dni)** — modele niezmieniane od 90+ dni; pomija
|
|
237
250
|
modele aktualnie załadowane w pamięci.
|
|
238
251
|
Tylko tę grupę usuwa opcja **[1] Wszystkie bezpieczne**.
|
|
@@ -245,13 +258,26 @@ Każda znaleziona usługa jest klasyfikowana do jednej z trzech grup:
|
|
|
245
258
|
zbiorcze kasowanie modeli „na ślepo”, klastrów, maszyn wirtualnych, rozszerzeń i
|
|
246
259
|
wolumenów jest wyłączone.
|
|
247
260
|
|
|
248
|
-
Dedykowane flagi (też dostępne jako `-c docker-
|
|
261
|
+
Dedykowane flagi (też dostępne jako `-c docker-all`, `-c docker-old`,
|
|
262
|
+
`-c docker-networks` oraz `-c ollama-old`):
|
|
249
263
|
|
|
250
264
|
```bash
|
|
251
|
-
fixos cleanup --docker-
|
|
265
|
+
fixos cleanup --docker-all --dry-run # all unused + sieci
|
|
266
|
+
fixos cleanup --docker-old --days 30 --dry-run # stare unused + sieci
|
|
267
|
+
fixos cleanup --docker-networks --dry-run # sieci bez endpointów
|
|
252
268
|
fixos cleanup --ollama-old --days 90 --dry-run # modele niezmieniane od N dni
|
|
253
269
|
```
|
|
254
270
|
|
|
271
|
+
Osierocone sieci są czyszczone automatycznie razem z `--docker-all`,
|
|
272
|
+
`--docker-old` oraz dockerową pozycją w „Wszystkie bezpieczne”. Samodzielne
|
|
273
|
+
`--docker-networks` pozostaje dostępne, gdy obrazy i cache mają pozostać.
|
|
274
|
+
Mechanizm pobiera kandydatów z `dangling=true`, ponownie sprawdza brak
|
|
275
|
+
endpointów, chroni sieci `bridge`, `host` i `none`, a usuwa dokładne ID zamiast
|
|
276
|
+
wykonywać szeroki prune. Po wykonaniu tworzy i natychmiast usuwa sieć testową
|
|
277
|
+
oznaczoną `dev.fixos.cleanup-probe=true`; sukces potwierdza, że daemon może
|
|
278
|
+
ponownie przydzielić podsieć. Opcjonalne `--days N` dla samodzielnej akcji
|
|
279
|
+
ogranicza ją do sieci mających co najmniej N dni; domyślne `0` obejmuje wszystkie.
|
|
280
|
+
|
|
255
281
|
`RECLAIMABLE` Dockera obejmuje też świeże unused images. Filtr `--docker-old`
|
|
256
282
|
(domyślnie 30 dni) może więc zwolnić **znacznie mniej** niż szacunek całej puli —
|
|
257
283
|
dlatego opcja `[1]` używa prune **wszystkich** nieużywanych obrazów, a
|
|
@@ -279,6 +305,14 @@ nazwie), `node_modules`/`.next`/`.turbo` (tylko gdy jest `package.json`),
|
|
|
279
305
|
nieużywane od >60 dni (`--stale-days`) oraz projekty ze zduplikowanymi
|
|
280
306
|
virtualenvami (np. i `venv`, i `.venv` naraz).
|
|
281
307
|
|
|
308
|
+
Opcjonalne `--docker-networks` dołącza do czyszczenia wybranych projektów
|
|
309
|
+
ich nieużywane sieci Docker Compose. Dopasowanie wymaga dokładnej etykiety
|
|
310
|
+
`com.docker.compose.project`; sieci bez tej etykiety nie są zgadywane po
|
|
311
|
+
nazwie. fixOS ponownie wymaga stanu `dangling`, chroni sieci z endpointami,
|
|
312
|
+
pokazuje nazwę, ID i podsieć, a przed usunięciem pyta o osobne potwierdzenie.
|
|
313
|
+
Usuwane są tylko ID pokazane w podglądzie, po czym wykonywany jest test puli
|
|
314
|
+
adresowej. Repozytorium projektu, kontenery i wolumeny pozostają nietknięte.
|
|
315
|
+
|
|
282
316
|
```bash
|
|
283
317
|
$ fixos projects --only-stale
|
|
284
318
|
|