coderouter-cli 2.5.0__tar.gz → 2.5.1__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.
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/CHANGELOG.md +32 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/PKG-INFO +17 -17
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/README.en.md +16 -16
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/README.md +16 -16
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/cli.py +2 -2
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/config/capability_registry.py +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/data/model-capabilities.yaml +2 -2
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/launcher_routes.py +16 -5
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/logging.py +2 -2
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/capability.py +1 -1
- coderouter_cli-2.5.1/docs/README.md +94 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/hf-ollama-models.md +2 -2
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/launcher-gui.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/launcher-quickstart.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/launcher.md +2 -2
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/llamacpp-direct.en.md +3 -3
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/llamacpp-direct.md +4 -4
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/lmstudio-direct.en.md +3 -3
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/lmstudio-direct.md +3 -3
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/concepts}/architecture.md +2 -2
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/designs/v1.6-auto-router.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/free-tier-guide.en.md +5 -5
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/free-tier-guide.md +7 -7
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/troubleshooting.en.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/troubleshooting.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/usage-guide.en.md +5 -5
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/usage-guide.md +4 -4
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/start}/quickstart.en.md +9 -9
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/start}/quickstart.md +9 -9
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/start}/when-do-i-need-coderouter.en.md +1 -1
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/start}/when-do-i-need-coderouter.md +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.nvidia-nim.yaml +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.yaml +3 -3
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/pyproject.toml +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_examples_yaml.py +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_setup_sh.py +1 -1
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/.gitignore +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/LICENSE +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/__main__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/adapters/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/adapters/anthropic_native.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/adapters/base.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/adapters/openai_compat.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/adapters/registry.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/cli_stats.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/config/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/config/env_file.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/config/loader.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/config/schemas.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/cost.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/data/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/doctor.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/doctor_apply.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/env_security.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/errors.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/_fingerprint.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/backend_health.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/context_budget.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/continuous_probe.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/drift_actions.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/drift_detection.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/memory_pressure.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/self_healing.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/guards/tool_loop.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/anthropic_routes.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/app.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/dashboard_routes.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/metrics_routes.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/ingress/openai_routes.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/metrics/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/metrics/collector.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/metrics/prometheus.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/output_filters.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/plugins/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/plugins/base.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/plugins/loader.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/plugins/registry.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/adaptive.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/auto_router.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/budget.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/routing/fallback.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/audit_log.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/replay.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/request_log.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/store.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/state/suggest_rules.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/token_estimation.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/translation/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/translation/anthropic.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/translation/convert.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/coderouter/translation/tool_repair.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/assets/dashboard-demo.png +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/gguf_dl.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/backends}/verify-ollama-0.23.1.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/concepts}/context-budget.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/concepts}/continuous-probing.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/concepts}/drift-detection.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/concepts}/partial-stitch.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/designs/v1.5-dashboard-mockup.html +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/designs/v1.6-auto-router-verification.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/security.en.md +0 -0
- {coderouter_cli-2.5.0/docs → coderouter_cli-2.5.1/docs/guides}/security.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/openrouter-roster/CHANGES.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/openrouter-roster/README.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/openrouter-roster/latest.json +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v0.4.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v0.5-verify.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v0.5.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v0.6.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v0.7.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v1.0-verify.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/docs/retrospectives/v1.0.md +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/.env.example +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.auto-custom.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.auto.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.llama-cpp-vllm.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.note-2026.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.raspberrypi.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/examples/providers.v2-context-budget.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/demo_traffic.sh +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/openrouter_roster_diff.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/smoke_v2_2.sh +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/verify-providers.yaml +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/verify_ollama_0_23.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/verify_v0_5.sh +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/scripts/verify_v1_0.sh +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/__init__.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/conftest.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_adapter_anthropic.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_audit_log.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_auto_router.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_backend_health.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_budget.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_capability.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_capability_degraded_payload.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_capability_registry.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_capability_registry_cache_control.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_claude_code_suitability.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_cli.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_cli_stats.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_config.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_context_budget.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_continuous_probe.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_dashboard_endpoint.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_doctor.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_doctor_apply.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_doctor_cache_probe.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_drift_actions.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_drift_detection.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_drift_detection_integration.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_env_file.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_env_security.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_errors.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_anthropic.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_cache_control.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_cache_observed.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_misconfig_warn.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_paid_gate.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_fallback_thinking.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_guards_tool_loop.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_ingress_anthropic.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_ingress_profile.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_memory_pressure.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_cache.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_collector.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_cost.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_endpoint.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_jsonl.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_prometheus.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_metrics_prometheus_cache.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_openai_compat.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_openrouter_roster_diff.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_output_filters.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_output_filters_adapters.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_partial_stitch.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_plugins_integration.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_plugins_loader.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_plugins_registry.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_reasoning_strip.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_request_log.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_routing_adaptive.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_self_healing.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_state_store.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_token_estimation.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_tool_repair.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_translation_anthropic.py +0 -0
- {coderouter_cli-2.5.0 → coderouter_cli-2.5.1}/tests/test_translation_reverse.py +0 -0
|
@@ -6,6 +6,38 @@ versioning follows [SemVer](https://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [v2.5.1] — 2026-05-22 (MLX backend + docs reorganization)
|
|
10
|
+
|
|
11
|
+
Patch release: a third Launcher backend, a reorganized documentation
|
|
12
|
+
tree, and a security fix.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **MLX backend** for the Launcher (`launcher_gui.py` and
|
|
17
|
+
`coderouter/ingress/launcher_routes.py`): `mlx` joins `llama.cpp` and
|
|
18
|
+
`vllm`, aimed at Apple Silicon users. Launches
|
|
19
|
+
`python -m mlx_lm.server --model <m> --port <p>`. The backend
|
|
20
|
+
selectors (desktop GUI combobox / Web `<select>`) gain an `mlx`
|
|
21
|
+
option, and the binary-not-found error messages are now
|
|
22
|
+
backend-agnostic.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **`docs/` reorganized** into role-based folders — `start/`, `guides/`,
|
|
27
|
+
`backends/`, `concepts/` — with a new bilingual (JA/EN) master index
|
|
28
|
+
at `docs/README.md` including a quick "what to read" table. Internal
|
|
29
|
+
cross-links, `README.md` / `README.en.md`, and code/config path
|
|
30
|
+
references were updated to the new layout.
|
|
31
|
+
- **`plan.md` restructured**: deduplicated, version ordering fixed,
|
|
32
|
+
sections compressed (1747 → 721 lines).
|
|
33
|
+
|
|
34
|
+
### Security
|
|
35
|
+
|
|
36
|
+
- **starlette `1.0.0` → `1.0.1`** (`uv.lock`): fixes PYSEC-2026-161,
|
|
37
|
+
which failed the `cve-audit` CI job.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
9
41
|
## [v2.5.0] — 2026-05-22 (Launcher — llama.cpp / vllm GUI)
|
|
10
42
|
|
|
11
43
|
Browser-based process manager for local inference backends, integrated
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coderouter-cli
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.1
|
|
4
4
|
Summary: Local-first, free-first, fallback-built-in LLM router. Claude Code / OpenAI compatible.
|
|
5
5
|
Project-URL: Homepage, https://github.com/zephel01/CodeRouter
|
|
6
6
|
Project-URL: Repository, https://github.com/zephel01/CodeRouter
|
|
@@ -54,7 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
54
54
|
</p>
|
|
55
55
|
|
|
56
56
|
<p align="center">
|
|
57
|
-
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/quickstart.md">10 分で動かす</a> · <a href="./docs/architecture.md">設計詳細</a>
|
|
57
|
+
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/start/quickstart.md">10 分で動かす</a> · <a href="./docs/concepts/architecture.md">設計詳細</a>
|
|
58
58
|
</p>
|
|
59
59
|
|
|
60
60
|
---
|
|
@@ -121,7 +121,7 @@ ANTHROPIC_BASE_URL=http://localhost:8088 ANTHROPIC_AUTH_TOKEN=dummy claude
|
|
|
121
121
|
| codex / gemini-cli + Ollama 直繋ぎで動いてる | オプション — フォールバックが欲しいなら |
|
|
122
122
|
| Claude API を直接叩いてて問題ない | 不要 |
|
|
123
123
|
|
|
124
|
-
詳細は → [要否判定ガイド](./docs/when-do-i-need-coderouter.md)
|
|
124
|
+
詳細は → [要否判定ガイド](./docs/start/when-do-i-need-coderouter.md)
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
@@ -186,7 +186,7 @@ launcher:
|
|
|
186
186
|
"--max-model-len": 4096
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
詳細 → [Launcher ガイド](./docs/launcher.md)
|
|
189
|
+
詳細 → [Launcher ガイド](./docs/backends/launcher.md)
|
|
190
190
|
|
|
191
191
|
---
|
|
192
192
|
|
|
@@ -213,7 +213,7 @@ providers:
|
|
|
213
213
|
api_key_env: OPENROUTER_API_KEY
|
|
214
214
|
```
|
|
215
215
|
|
|
216
|
-
もっと詳しい設定 → [利用ガイド](./docs/usage-guide.md) · [設計詳細](./docs/architecture.md)
|
|
216
|
+
もっと詳しい設定 → [利用ガイド](./docs/guides/usage-guide.md) · [設計詳細](./docs/concepts/architecture.md)
|
|
217
217
|
|
|
218
218
|
---
|
|
219
219
|
|
|
@@ -221,15 +221,15 @@ providers:
|
|
|
221
221
|
|
|
222
222
|
| やりたいこと | ドキュメント |
|
|
223
223
|
|---|---|
|
|
224
|
-
| すぐ動かす | [Quickstart](./docs/quickstart.md) |
|
|
225
|
-
| 使いこなす | [利用ガイド](./docs/usage-guide.md) |
|
|
226
|
-
| 無料で回す | [無料枠ガイド](./docs/free-tier-guide.md) |
|
|
227
|
-
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/launcher.md) |
|
|
228
|
-
| 詰まった | [トラブルシューティング](./docs/troubleshooting.md) |
|
|
229
|
-
| 設計を知りたい | [アーキテクチャ詳細](./docs/architecture.md) |
|
|
224
|
+
| すぐ動かす | [Quickstart](./docs/start/quickstart.md) |
|
|
225
|
+
| 使いこなす | [利用ガイド](./docs/guides/usage-guide.md) |
|
|
226
|
+
| 無料で回す | [無料枠ガイド](./docs/guides/free-tier-guide.md) |
|
|
227
|
+
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/backends/launcher.md) |
|
|
228
|
+
| 詰まった | [トラブルシューティング](./docs/guides/troubleshooting.md) |
|
|
229
|
+
| 設計を知りたい | [アーキテクチャ詳細](./docs/concepts/architecture.md) |
|
|
230
230
|
| 全リリース履歴 | [CHANGELOG](./CHANGELOG.md) |
|
|
231
231
|
|
|
232
|
-
English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-guide.en.md) · [Free-tier](./docs/free-tier-guide.en.md) · [Troubleshooting](./docs/troubleshooting.en.md)
|
|
232
|
+
English: [Quickstart](./docs/start/quickstart.en.md) · [Usage guide](./docs/guides/usage-guide.en.md) · [Free-tier](./docs/guides/free-tier-guide.en.md) · [Troubleshooting](./docs/guides/troubleshooting.en.md)
|
|
233
233
|
|
|
234
234
|
---
|
|
235
235
|
|
|
@@ -239,10 +239,10 @@ English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-gui
|
|
|
239
239
|
|
|
240
240
|
| 症状 | 原因 | 詳細 |
|
|
241
241
|
|---|---|---|
|
|
242
|
-
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
243
|
-
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
244
|
-
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
245
|
-
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
242
|
+
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/guides/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
243
|
+
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
244
|
+
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
245
|
+
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/guides/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
246
246
|
|
|
247
247
|
`http://localhost:8088/dashboard` を開いておくと、ほとんどの問題が見て 10 秒でわかります。
|
|
248
248
|
|
|
@@ -268,7 +268,7 @@ CodeRouter は backend ルーター層として独立して動きます。`OPENA
|
|
|
268
268
|
|
|
269
269
|
## Security
|
|
270
270
|
|
|
271
|
-
シークレットは環境変数に置きます。[`docs/security.md`](./docs/security.md) に完全な方針と報告手順があります。
|
|
271
|
+
シークレットは環境変数に置きます。[`docs/security.md`](./docs/guides/security.md) に完全な方針と報告手順があります。
|
|
272
272
|
|
|
273
273
|
## License
|
|
274
274
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<strong>English</strong> · <a href="./README.md">日本語</a> · <a href="./docs/quickstart.en.md">Get started in 10 min</a> · <a href="./docs/architecture.md">Architecture</a>
|
|
16
|
+
<strong>English</strong> · <a href="./README.md">日本語</a> · <a href="./docs/start/quickstart.en.md">Get started in 10 min</a> · <a href="./docs/concepts/architecture.md">Architecture</a>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
---
|
|
@@ -80,7 +80,7 @@ That's it. Claude Code works as usual, but your local Ollama is answering behind
|
|
|
80
80
|
| codex / gemini-cli + Ollama works fine | Optional — if you want fallback |
|
|
81
81
|
| Using Claude API directly, no issues | Not needed |
|
|
82
82
|
|
|
83
|
-
Full decision matrix → [Do I need CodeRouter?](./docs/when-do-i-need-coderouter.en.md)
|
|
83
|
+
Full decision matrix → [Do I need CodeRouter?](./docs/start/when-do-i-need-coderouter.en.md)
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
@@ -145,7 +145,7 @@ launcher:
|
|
|
145
145
|
"--max-model-len": 4096
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
-
Details → [Launcher guide](./docs/launcher.md)
|
|
148
|
+
Details → [Launcher guide](./docs/backends/launcher.md)
|
|
149
149
|
|
|
150
150
|
---
|
|
151
151
|
|
|
@@ -172,7 +172,7 @@ providers:
|
|
|
172
172
|
api_key_env: OPENROUTER_API_KEY
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
More detail → [Usage guide](./docs/usage-guide.en.md) · [Architecture](./docs/architecture.md)
|
|
175
|
+
More detail → [Usage guide](./docs/guides/usage-guide.en.md) · [Architecture](./docs/concepts/architecture.md)
|
|
176
176
|
|
|
177
177
|
---
|
|
178
178
|
|
|
@@ -180,15 +180,15 @@ More detail → [Usage guide](./docs/usage-guide.en.md) · [Architecture](./docs
|
|
|
180
180
|
|
|
181
181
|
| Goal | Document |
|
|
182
182
|
|---|---|
|
|
183
|
-
| Get running fast | [Quickstart](./docs/quickstart.en.md) |
|
|
184
|
-
| Use it well | [Usage guide](./docs/usage-guide.en.md) |
|
|
185
|
-
| Run for free | [Free-tier guide](./docs/free-tier-guide.en.md) |
|
|
186
|
-
| Launch llama.cpp / vllm via GUI | [Launcher guide](./docs/launcher.md) |
|
|
187
|
-
| Stuck? | [Troubleshooting](./docs/troubleshooting.en.md) |
|
|
188
|
-
| Understand the design | [Architecture](./docs/architecture.md) |
|
|
183
|
+
| Get running fast | [Quickstart](./docs/start/quickstart.en.md) |
|
|
184
|
+
| Use it well | [Usage guide](./docs/guides/usage-guide.en.md) |
|
|
185
|
+
| Run for free | [Free-tier guide](./docs/guides/free-tier-guide.en.md) |
|
|
186
|
+
| Launch llama.cpp / vllm via GUI | [Launcher guide](./docs/backends/launcher.md) |
|
|
187
|
+
| Stuck? | [Troubleshooting](./docs/guides/troubleshooting.en.md) |
|
|
188
|
+
| Understand the design | [Architecture](./docs/concepts/architecture.md) |
|
|
189
189
|
| Full release history | [CHANGELOG](./CHANGELOG.md) |
|
|
190
190
|
|
|
191
|
-
日本語: [Quickstart](./docs/quickstart.md) · [利用ガイド](./docs/usage-guide.md) · [無料枠ガイド](./docs/free-tier-guide.md) · [トラブルシューティング](./docs/troubleshooting.md)
|
|
191
|
+
日本語: [Quickstart](./docs/start/quickstart.md) · [利用ガイド](./docs/guides/usage-guide.md) · [無料枠ガイド](./docs/guides/free-tier-guide.md) · [トラブルシューティング](./docs/guides/troubleshooting.md)
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
@@ -198,10 +198,10 @@ More detail → [Usage guide](./docs/usage-guide.en.md) · [Architecture](./docs
|
|
|
198
198
|
|
|
199
199
|
| Symptom | Cause | Details |
|
|
200
200
|
|---|---|---|
|
|
201
|
-
| 401 error | API key not set / missing `export` in `.env` | [§1](./docs/troubleshooting.en.md#1-five-startup--config-gotchas-added-in-v162) |
|
|
202
|
-
| Empty / garbage replies | Ollama `num_ctx` truncated to 2048 | [§3](./docs/troubleshooting.en.md#3-ollama-beginner--5-silent-fail-symptoms-v07-c) |
|
|
203
|
-
| `<think>` tags leaking | Add `output_filters: [strip_thinking]` | [§3](./docs/troubleshooting.en.md#3-ollama-beginner--5-silent-fail-symptoms-v07-c) |
|
|
204
|
-
| Tool calls misbehaving in Claude Code | Tool-call repair not kicking in | [§4](./docs/troubleshooting.en.md#4-claude-code-integration-gotchas-added-in-v162) |
|
|
201
|
+
| 401 error | API key not set / missing `export` in `.env` | [§1](./docs/guides/troubleshooting.en.md#1-five-startup--config-gotchas-added-in-v162) |
|
|
202
|
+
| Empty / garbage replies | Ollama `num_ctx` truncated to 2048 | [§3](./docs/guides/troubleshooting.en.md#3-ollama-beginner--5-silent-fail-symptoms-v07-c) |
|
|
203
|
+
| `<think>` tags leaking | Add `output_filters: [strip_thinking]` | [§3](./docs/guides/troubleshooting.en.md#3-ollama-beginner--5-silent-fail-symptoms-v07-c) |
|
|
204
|
+
| Tool calls misbehaving in Claude Code | Tool-call repair not kicking in | [§4](./docs/guides/troubleshooting.en.md#4-claude-code-integration-gotchas-added-in-v162) |
|
|
205
205
|
|
|
206
206
|
Open `http://localhost:8088/dashboard` while debugging — most issues become visible in 10 seconds.
|
|
207
207
|
|
|
@@ -227,7 +227,7 @@ CodeRouter runs as an independent backend router layer. Point any project's `OPE
|
|
|
227
227
|
|
|
228
228
|
## Security
|
|
229
229
|
|
|
230
|
-
Secrets go in env vars, not config files. See [`docs/security.en.md`](./docs/security.en.md) for the full policy and reporting instructions.
|
|
230
|
+
Secrets go in env vars, not config files. See [`docs/security.en.md`](./docs/guides/security.en.md) for the full policy and reporting instructions.
|
|
231
231
|
|
|
232
232
|
## License
|
|
233
233
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/quickstart.md">10 分で動かす</a> · <a href="./docs/architecture.md">設計詳細</a>
|
|
16
|
+
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/start/quickstart.md">10 分で動かす</a> · <a href="./docs/concepts/architecture.md">設計詳細</a>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
---
|
|
@@ -80,7 +80,7 @@ ANTHROPIC_BASE_URL=http://localhost:8088 ANTHROPIC_AUTH_TOKEN=dummy claude
|
|
|
80
80
|
| codex / gemini-cli + Ollama 直繋ぎで動いてる | オプション — フォールバックが欲しいなら |
|
|
81
81
|
| Claude API を直接叩いてて問題ない | 不要 |
|
|
82
82
|
|
|
83
|
-
詳細は → [要否判定ガイド](./docs/when-do-i-need-coderouter.md)
|
|
83
|
+
詳細は → [要否判定ガイド](./docs/start/when-do-i-need-coderouter.md)
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
@@ -145,7 +145,7 @@ launcher:
|
|
|
145
145
|
"--max-model-len": 4096
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
-
詳細 → [Launcher ガイド](./docs/launcher.md)
|
|
148
|
+
詳細 → [Launcher ガイド](./docs/backends/launcher.md)
|
|
149
149
|
|
|
150
150
|
---
|
|
151
151
|
|
|
@@ -172,7 +172,7 @@ providers:
|
|
|
172
172
|
api_key_env: OPENROUTER_API_KEY
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
もっと詳しい設定 → [利用ガイド](./docs/usage-guide.md) · [設計詳細](./docs/architecture.md)
|
|
175
|
+
もっと詳しい設定 → [利用ガイド](./docs/guides/usage-guide.md) · [設計詳細](./docs/concepts/architecture.md)
|
|
176
176
|
|
|
177
177
|
---
|
|
178
178
|
|
|
@@ -180,15 +180,15 @@ providers:
|
|
|
180
180
|
|
|
181
181
|
| やりたいこと | ドキュメント |
|
|
182
182
|
|---|---|
|
|
183
|
-
| すぐ動かす | [Quickstart](./docs/quickstart.md) |
|
|
184
|
-
| 使いこなす | [利用ガイド](./docs/usage-guide.md) |
|
|
185
|
-
| 無料で回す | [無料枠ガイド](./docs/free-tier-guide.md) |
|
|
186
|
-
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/launcher.md) |
|
|
187
|
-
| 詰まった | [トラブルシューティング](./docs/troubleshooting.md) |
|
|
188
|
-
| 設計を知りたい | [アーキテクチャ詳細](./docs/architecture.md) |
|
|
183
|
+
| すぐ動かす | [Quickstart](./docs/start/quickstart.md) |
|
|
184
|
+
| 使いこなす | [利用ガイド](./docs/guides/usage-guide.md) |
|
|
185
|
+
| 無料で回す | [無料枠ガイド](./docs/guides/free-tier-guide.md) |
|
|
186
|
+
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/backends/launcher.md) |
|
|
187
|
+
| 詰まった | [トラブルシューティング](./docs/guides/troubleshooting.md) |
|
|
188
|
+
| 設計を知りたい | [アーキテクチャ詳細](./docs/concepts/architecture.md) |
|
|
189
189
|
| 全リリース履歴 | [CHANGELOG](./CHANGELOG.md) |
|
|
190
190
|
|
|
191
|
-
English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-guide.en.md) · [Free-tier](./docs/free-tier-guide.en.md) · [Troubleshooting](./docs/troubleshooting.en.md)
|
|
191
|
+
English: [Quickstart](./docs/start/quickstart.en.md) · [Usage guide](./docs/guides/usage-guide.en.md) · [Free-tier](./docs/guides/free-tier-guide.en.md) · [Troubleshooting](./docs/guides/troubleshooting.en.md)
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
@@ -198,10 +198,10 @@ English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-gui
|
|
|
198
198
|
|
|
199
199
|
| 症状 | 原因 | 詳細 |
|
|
200
200
|
|---|---|---|
|
|
201
|
-
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
202
|
-
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
203
|
-
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
204
|
-
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
201
|
+
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/guides/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
202
|
+
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
203
|
+
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
204
|
+
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/guides/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
205
205
|
|
|
206
206
|
`http://localhost:8088/dashboard` を開いておくと、ほとんどの問題が見て 10 秒でわかります。
|
|
207
207
|
|
|
@@ -227,7 +227,7 @@ CodeRouter は backend ルーター層として独立して動きます。`OPENA
|
|
|
227
227
|
|
|
228
228
|
## Security
|
|
229
229
|
|
|
230
|
-
シークレットは環境変数に置きます。[`docs/security.md`](./docs/security.md) に完全な方針と報告手順があります。
|
|
230
|
+
シークレットは環境変数に置きます。[`docs/security.md`](./docs/guides/security.md) に完全な方針と報告手順があります。
|
|
231
231
|
|
|
232
232
|
## License
|
|
233
233
|
|
|
@@ -61,7 +61,7 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
61
61
|
"binding the server. Repeat to layer multiple files. By "
|
|
62
62
|
"default, file values do NOT override variables already in "
|
|
63
63
|
"the environment (the shell `export` wins). See "
|
|
64
|
-
"docs/troubleshooting.md §5 for 1Password / direnv / sops "
|
|
64
|
+
"docs/guides/troubleshooting.md §5 for 1Password / direnv / sops "
|
|
65
65
|
"integration recipes."
|
|
66
66
|
),
|
|
67
67
|
)
|
|
@@ -116,7 +116,7 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
116
116
|
"POSIX file mode (0600 expected), .gitignore coverage, "
|
|
117
117
|
"and git-tracking state. Bare `--check-env` (no PATH) "
|
|
118
118
|
"looks for `./.env` then `~/.coderouter/.env`. "
|
|
119
|
-
"See docs/troubleshooting.md §5 for the threat model."
|
|
119
|
+
"See docs/guides/troubleshooting.md §5 for the threat model."
|
|
120
120
|
),
|
|
121
121
|
)
|
|
122
122
|
doctor.add_argument(
|
|
@@ -109,7 +109,7 @@ class RegistryCapabilities(BaseModel):
|
|
|
109
109
|
"harness. ``degraded`` = the model over-eagerly invokes "
|
|
110
110
|
"tools/skills when given Claude Code's system prompt — e.g. "
|
|
111
111
|
"Llama-3.3-70B treating small talk like ``こんにちは`` as "
|
|
112
|
-
"``Skill(hello)`` invocations (see docs/troubleshooting.md "
|
|
112
|
+
"``Skill(hello)`` invocations (see docs/guides/troubleshooting.md "
|
|
113
113
|
"§4-1 for the symptom log). ``ok`` = explicitly verified "
|
|
114
114
|
"clean. ``None`` = no opinion (treated as ``ok`` at the "
|
|
115
115
|
"startup check)."
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
# Claude Code's agentic-coding harness;
|
|
36
36
|
# "degraded" triggers a startup WARN when
|
|
37
37
|
# the provider is on a `claude-code-*`
|
|
38
|
-
# chain. See docs/troubleshooting.md §4-1.
|
|
38
|
+
# chain. See docs/guides/troubleshooting.md §4-1.
|
|
39
39
|
#
|
|
40
40
|
# First-match semantics: rules within a file are evaluated top-to-bottom
|
|
41
41
|
# per flag; the first rule whose glob matches AND declares that flag
|
|
@@ -153,7 +153,7 @@ rules:
|
|
|
153
153
|
# Llama-3.3-70B (verified 2026-04-24 against NVIDIA NIM) rewrites
|
|
154
154
|
# ``こんにちは`` into ``Skill(hello)`` invocations and fabricates
|
|
155
155
|
# ``AskUserQuestion("What is your name?")`` elicitations — see
|
|
156
|
-
# docs/articles/note-nvidia-nim.md §6-2 + docs/troubleshooting.md §4-1.
|
|
156
|
+
# docs/articles/note/note-nvidia-nim.md §6-2 + docs/guides/troubleshooting.md §4-1.
|
|
157
157
|
#
|
|
158
158
|
# Glob coverage: NIM uses ``meta/llama-3.3-70b-instruct``, OpenRouter
|
|
159
159
|
# uses ``meta-llama/llama-3.3-70b-instruct``, some local servers use
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"""Launcher routes — ``GET /launcher`` + ``/api/launcher/*``.
|
|
2
2
|
|
|
3
|
-
llama.cpp / vllm プロセス管理 UI。
|
|
3
|
+
llama.cpp / vllm / mlx プロセス管理 UI。
|
|
4
4
|
|
|
5
5
|
設計方針:
|
|
6
6
|
- ダッシュボードと同じ "1ファイル完結" スタイル (Tailwind CDN + inline JS)
|
|
7
7
|
- プロセスレジストリは app.state.launcher に持たせる (再起動で消えるが意図通り)
|
|
8
8
|
- option_profiles は providers.yaml の launcher: セクションで管理 → コード変更不要で拡張可
|
|
9
9
|
- 複数プロセスの同時起動に対応 (UUID ベースの ID 管理)
|
|
10
|
-
- llama.cpp / vllm
|
|
10
|
+
- llama.cpp / vllm / mlx いずれも同じ key-value args スキーマで統一
|
|
11
11
|
|
|
12
12
|
エンドポイント:
|
|
13
13
|
GET /launcher → HTML UI
|
|
@@ -62,7 +62,7 @@ class ManagedProcess:
|
|
|
62
62
|
|
|
63
63
|
id: str
|
|
64
64
|
name: str
|
|
65
|
-
backend: str # "llama.cpp" | "vllm"
|
|
65
|
+
backend: str # "llama.cpp" | "vllm" | "mlx"
|
|
66
66
|
model_path: str
|
|
67
67
|
port: int
|
|
68
68
|
options: dict[str, Any]
|
|
@@ -150,6 +150,7 @@ def _scan_models(model_dirs: list[str]) -> list[dict[str, Any]]:
|
|
|
150
150
|
_BACKEND_DEFAULTS: dict[str, str] = {
|
|
151
151
|
"llama.cpp": "llama-server",
|
|
152
152
|
"vllm": "python",
|
|
153
|
+
"mlx": "python", # mlx_lm.server (Apple Silicon 向け)
|
|
153
154
|
}
|
|
154
155
|
|
|
155
156
|
|
|
@@ -312,8 +313,17 @@ def _build_cmd(
|
|
|
312
313
|
"--model", model_path,
|
|
313
314
|
"--port", str(port),
|
|
314
315
|
]
|
|
316
|
+
elif backend == "mlx":
|
|
317
|
+
cmd = [
|
|
318
|
+
exe, "-m", "mlx_lm.server",
|
|
319
|
+
"--model", model_path,
|
|
320
|
+
"--port", str(port),
|
|
321
|
+
]
|
|
315
322
|
else:
|
|
316
|
-
raise ValueError(
|
|
323
|
+
raise ValueError(
|
|
324
|
+
f"Unknown backend: {backend!r}. "
|
|
325
|
+
"Expected 'llama.cpp', 'vllm' or 'mlx'."
|
|
326
|
+
)
|
|
317
327
|
|
|
318
328
|
for flag, val in options.items():
|
|
319
329
|
if isinstance(val, bool):
|
|
@@ -720,6 +730,7 @@ _LAUNCHER_HTML = r"""<!doctype html>
|
|
|
720
730
|
<select id="f-backend" onchange="onBackendChange()">
|
|
721
731
|
<option value="llama.cpp">llama.cpp</option>
|
|
722
732
|
<option value="vllm">vllm</option>
|
|
733
|
+
<option value="mlx">mlx</option>
|
|
723
734
|
</select>
|
|
724
735
|
<div id="binary-hint" class="mt-1 text-xs text-slate-500 min-h-[1.2rem]"></div>
|
|
725
736
|
</div>
|
|
@@ -961,7 +972,7 @@ _LAUNCHER_HTML = r"""<!doctype html>
|
|
|
961
972
|
// Enable/disable launch button based on binary availability
|
|
962
973
|
if (!info.found) {
|
|
963
974
|
btn.disabled = true;
|
|
964
|
-
showLaunchErr(`⚠ "${esc(info.resolved)}"
|
|
975
|
+
showLaunchErr(`⚠ "${esc(info.resolved)}" が見つかりません。選択中のバックエンド (${esc(backend)}) をインストールするか、providers.yaml の launcher.backends.${esc(backend)}.binary にフルパスを設定してください。`);
|
|
965
976
|
} else {
|
|
966
977
|
btn.disabled = false;
|
|
967
978
|
// Clear error only if it was a binary-not-found error
|
|
@@ -779,7 +779,7 @@ def log_output_filter_applied(
|
|
|
779
779
|
# v1.7-B: chain-claude-code-suitability-degraded log shape
|
|
780
780
|
#
|
|
781
781
|
# Motivation (plan.md §11.B.4 #2):
|
|
782
|
-
# v1.6.2 documented in docs/troubleshooting.md §4-1 that putting
|
|
782
|
+
# v1.6.2 documented in docs/guides/troubleshooting.md §4-1 that putting
|
|
783
783
|
# Llama-3.3-70B at the head of a Claude-Code-facing chain causes
|
|
784
784
|
# over-eager tool invocation (small talk like ``こんにちは`` getting
|
|
785
785
|
# rewritten to ``Skill(hello)`` calls). Docs alone require the operator
|
|
@@ -805,7 +805,7 @@ def log_output_filter_applied(
|
|
|
805
805
|
_DEFAULT_CLAUDE_CODE_SUITABILITY_HINT: str = (
|
|
806
806
|
"move the degraded provider(s) to the tail of the chain or replace "
|
|
807
807
|
"with an agentic-coding-tuned model (e.g. qwen3-coder-480b-a35b-instruct); "
|
|
808
|
-
"see docs/troubleshooting.md §4-1"
|
|
808
|
+
"see docs/guides/troubleshooting.md §4-1"
|
|
809
809
|
)
|
|
810
810
|
|
|
811
811
|
|
|
@@ -312,7 +312,7 @@ def anthropic_request_has_cache_control(request: AnthropicRequest) -> bool:
|
|
|
312
312
|
# v1.7-B: claude_code_suitability startup check
|
|
313
313
|
#
|
|
314
314
|
# Motivation (plan.md §11.B.4 #2):
|
|
315
|
-
# v1.6.2 documented in docs/troubleshooting.md §4-1 the "Llama-3.3-70B
|
|
315
|
+
# v1.6.2 documented in docs/guides/troubleshooting.md §4-1 the "Llama-3.3-70B
|
|
316
316
|
# over-eagerly invokes Skill() for small talk under Claude Code"
|
|
317
317
|
# symptom. v1.7-B promotes that hint from prose-only to a structured
|
|
318
318
|
# automatic startup WARN: at app startup we scan every profile whose
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# CodeRouter ドキュメント / Documentation
|
|
2
|
+
|
|
3
|
+
CodeRouter の公開ドキュメント索引です。「やりたいこと」から読むべきページを引けるよう整理しています。
|
|
4
|
+
Index of CodeRouter's public documentation — find the right page by what you want to do.
|
|
5
|
+
|
|
6
|
+
> 開発者向けの内部メモ・記事原稿は `inside/` と `articles/` にあります(ローカル専用 / gitignored、公開リポジトリには含まれません)。
|
|
7
|
+
> Developer-internal notes and article drafts live in `inside/` and `articles/` (local-only, not shipped in the public repo).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## こういう時はこれを読む / Quick start by goal
|
|
12
|
+
|
|
13
|
+
| やりたいこと / Goal | 読むもの / Read |
|
|
14
|
+
|---|---|
|
|
15
|
+
| 今すぐ動かしたい / Get running now | [start/quickstart](start/quickstart.md) |
|
|
16
|
+
| 自分に必要か知りたい / Is it for me? | [start/when-do-i-need-coderouter](start/when-do-i-need-coderouter.md) |
|
|
17
|
+
| 無料で運用したい / Run for free | [guides/free-tier-guide](guides/free-tier-guide.md) |
|
|
18
|
+
| 機能を一通り知りたい / Learn the features | [guides/usage-guide](guides/usage-guide.md) |
|
|
19
|
+
| エラーで詰まった / Something broke | [guides/troubleshooting](guides/troubleshooting.md) |
|
|
20
|
+
| ローカル LLM を起動したい / Launch a local LLM | [backends/launcher-quickstart](backends/launcher-quickstart.md) |
|
|
21
|
+
| APIキー・機密の扱い / Secrets & security | [guides/security](guides/security.md) |
|
|
22
|
+
| 仕組みを理解したい / Understand the design | [concepts/architecture](concepts/architecture.md) |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 構成 / Layout
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
docs/
|
|
30
|
+
├── start/ はじめに / Getting started
|
|
31
|
+
├── guides/ 使い方ガイド / How-to guides
|
|
32
|
+
├── backends/ ローカルLLMバックエンド / Local LLM backends
|
|
33
|
+
├── concepts/ 設計・内部動作 / Architecture & internals
|
|
34
|
+
├── designs/ 設計ドキュメント / Design docs
|
|
35
|
+
├── retrospectives/ リリース振り返り / Release retrospectives
|
|
36
|
+
├── evidence/ 検証ログ / Verification logs
|
|
37
|
+
├── openrouter-roster/ OpenRouter モデル一覧 / OpenRouter model roster
|
|
38
|
+
└── assets/ 画像など / Images
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
各ドキュメントは日本語版 (`.md`) と英語版 (`.en.md`) が揃っているものがあります。
|
|
42
|
+
Many documents have a Japanese version (`.md`) and an English version (`.en.md`).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 1. はじめに / Getting started — `start/`
|
|
47
|
+
|
|
48
|
+
初めて CodeRouter に触れる人向け。 / For first-time users.
|
|
49
|
+
|
|
50
|
+
- **quickstart** — 最短セットアップで動かす / Get running in one sitting · [日本語](start/quickstart.md) · [English](start/quickstart.en.md)
|
|
51
|
+
- **when-do-i-need-coderouter** — 自分に必要かを判断する / Decide whether you need it · [日本語](start/when-do-i-need-coderouter.md) · [English](start/when-do-i-need-coderouter.en.md)
|
|
52
|
+
|
|
53
|
+
## 2. 使い方ガイド / How-to guides — `guides/`
|
|
54
|
+
|
|
55
|
+
日常的に使いこなすためのガイド。 / Day-to-day usage.
|
|
56
|
+
|
|
57
|
+
- **usage-guide** — 機能を一通り使いこなす / Full feature guide · [日本語](guides/usage-guide.md) · [English](guides/usage-guide.en.md)
|
|
58
|
+
- **free-tier-guide** — NVIDIA NIM × OpenRouter Free でコストゼロ運用 / Zero-cost operation · [日本語](guides/free-tier-guide.md) · [English](guides/free-tier-guide.en.md)
|
|
59
|
+
- **troubleshooting** — つまずいたときの解決集 / Fixing problems · [日本語](guides/troubleshooting.md) · [English](guides/troubleshooting.en.md)
|
|
60
|
+
- **security** — シークレット管理とセキュリティ方針 / Secrets handling & security posture · [日本語](guides/security.md) · [English](guides/security.en.md)
|
|
61
|
+
|
|
62
|
+
## 3. ローカル LLM バックエンド / Local LLM backends — `backends/`
|
|
63
|
+
|
|
64
|
+
ローカル推論バックエンドの導入・起動・接続。 / Installing, launching, and connecting local inference backends.
|
|
65
|
+
|
|
66
|
+
- **launcher-quickstart** — バックエンド導入から起動までの最短手順 / Install a backend and launch · [日本語](backends/launcher-quickstart.md)
|
|
67
|
+
- **launcher** — ブラウザから使う Web 版ランチャー / Web launcher · [日本語](backends/launcher.md)
|
|
68
|
+
- **launcher-gui** — デスクトップ GUI ランチャー / Desktop GUI launcher · [日本語](backends/launcher-gui.md)
|
|
69
|
+
- **llamacpp-direct** — llama.cpp に直結する / Connect llama.cpp directly · [日本語](backends/llamacpp-direct.md) · [English](backends/llamacpp-direct.en.md)
|
|
70
|
+
- **lmstudio-direct** — LM Studio に直結する / Connect LM Studio directly · [日本語](backends/lmstudio-direct.md) · [English](backends/lmstudio-direct.en.md)
|
|
71
|
+
- **hf-ollama-models** — HuggingFace 配布モデルを Ollama で使う / Use HF models via Ollama · [日本語](backends/hf-ollama-models.md)
|
|
72
|
+
- **gguf_dl** — GGUF モデルのダウンロードツール / GGUF download helper · [日本語](backends/gguf_dl.md)
|
|
73
|
+
- **verify-ollama-0.23.1** — Ollama v0.23.1 実機検証チェックリスト / Ollama verification checklist · [日本語](backends/verify-ollama-0.23.1.md)
|
|
74
|
+
|
|
75
|
+
## 4. 設計・内部動作 / Architecture & internals — `concepts/`
|
|
76
|
+
|
|
77
|
+
CodeRouter の仕組みと信頼性機構。 / How CodeRouter works and its reliability mechanisms.
|
|
78
|
+
|
|
79
|
+
- **architecture** — アーキテクチャ全体像 / Architecture overview · [日本語](concepts/architecture.md)
|
|
80
|
+
- **context-budget** — コンテキスト予算管理 (v2.0.0) / Context budget management · [日本語](concepts/context-budget.md)
|
|
81
|
+
- **drift-detection** — ドリフト検出 (v2.0-G) / Drift detection · [日本語](concepts/drift-detection.md)
|
|
82
|
+
- **partial-stitch** — ストリーム途中の部分ステッチ (v2.0-H) / Mid-stream partial stitching · [日本語](concepts/partial-stitch.md)
|
|
83
|
+
- **continuous-probing** — 継続プロービング (v2.0-I) / Continuous probing · [日本語](concepts/continuous-probing.md)
|
|
84
|
+
|
|
85
|
+
## 5. 設計資料・記録 / Design docs & records
|
|
86
|
+
|
|
87
|
+
- **designs/** — 機能の設計ドキュメント / Feature design docs ([v1.6 auto-router](designs/v1.6-auto-router.md) ほか)
|
|
88
|
+
- **retrospectives/** — リリース振り返り / Release retrospectives ([v0.4](retrospectives/v0.4.md) 〜 [v1.0](retrospectives/v1.0.md))
|
|
89
|
+
- **evidence/** — 実機検証ログ / Verification run logs
|
|
90
|
+
- **openrouter-roster/** — OpenRouter 利用可能モデル一覧 / OpenRouter model roster — [README](openrouter-roster/README.md)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
最終更新 / Last updated: 2026-05-22
|
|
@@ -256,5 +256,5 @@ ollama cp hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M qwen3-coder:30b
|
|
|
256
256
|
- bartowski (品質重視の量子化版): <https://huggingface.co/bartowski>
|
|
257
257
|
- Qwen3-Coder (Alibaba 公式): <https://huggingface.co/collections/Qwen/qwen3-coder>
|
|
258
258
|
- Gemma 4 (Google 公式): <https://huggingface.co/collections/google/gemma-4>
|
|
259
|
-
- CodeRouter doctor 詳細: [`docs/troubleshooting.md`](
|
|
260
|
-
- providers.yaml 全体構造: [`examples/providers.yaml`](
|
|
259
|
+
- CodeRouter doctor 詳細: [`docs/troubleshooting.md`](../guides/troubleshooting.md)
|
|
260
|
+
- providers.yaml 全体構造: [`examples/providers.yaml`](../../examples/providers.yaml)
|
|
@@ -197,4 +197,4 @@ launcher:
|
|
|
197
197
|
- [Launcher クイックスタート](./launcher-quickstart.md) — llama.cpp / vLLM 導入からランチャー起動までの通し手順
|
|
198
198
|
- [Launcher ガイド(Web版)](./launcher.md) — `/launcher` ページ版
|
|
199
199
|
- [llama.cpp 直接接続ガイド](./llamacpp-direct.md)
|
|
200
|
-
- [利用ガイド](
|
|
200
|
+
- [利用ガイド](../guides/usage-guide.md)
|
|
@@ -183,5 +183,5 @@ ANTHROPIC_BASE_URL=http://localhost:8088 ANTHROPIC_AUTH_TOKEN=dummy claude
|
|
|
183
183
|
|
|
184
184
|
- [Launcher ガイド(デスクトップGUI版)](./launcher-gui.md)
|
|
185
185
|
- [Launcher ガイド(Web版)](./launcher.md)
|
|
186
|
-
- [CodeRouter クイックスタート](
|
|
186
|
+
- [CodeRouter クイックスタート](../start/quickstart.md)
|
|
187
187
|
- [llama.cpp 直接接続ガイド](./llamacpp-direct.md)
|
|
@@ -283,6 +283,6 @@ CodeRouter を再起動すると UI に反映されます。
|
|
|
283
283
|
|
|
284
284
|
- [Launcher クイックスタート](./launcher-quickstart.md) — llama.cpp / vLLM 導入からランチャー起動までの通し手順
|
|
285
285
|
- [Launcher ガイド(デスクトップGUI版)](./launcher-gui.md) — ブラウザ不要の tkinter アプリ版
|
|
286
|
-
- [アーキテクチャ詳細 — Launcher セクション](
|
|
287
|
-
- [利用ガイド](
|
|
286
|
+
- [アーキテクチャ詳細 — Launcher セクション](../concepts/architecture.md#launcher--llamacpp--vllm-プロセス管理-v250)
|
|
287
|
+
- [利用ガイド](../guides/usage-guide.md)
|
|
288
288
|
- [llama.cpp 直接接続ガイド](./llamacpp-direct.md)
|
|
@@ -213,10 +213,10 @@ In the CodeRouter logs you should see `dropped=["reasoning", "reasoning_content"
|
|
|
213
213
|
|
|
214
214
|
## Related docs
|
|
215
215
|
|
|
216
|
-
- [`troubleshooting.md` §4-2-A](
|
|
216
|
+
- [`troubleshooting.md` §4-2-A](../guides/troubleshooting.md#4-2-a-qwen36) — known Qwen3.6 + Ollama pitfalls.
|
|
217
217
|
- [`hf-ollama-models.md`](./hf-ollama-models.md) — pulling HF models through Ollama.
|
|
218
|
-
- [`examples/providers.yaml`](
|
|
219
|
-
- The session that produced this guide: [v1.8.1 note](
|
|
218
|
+
- [`examples/providers.yaml`](../../examples/providers.yaml) — bundled `llamacpp-qwen3-6-35b-a3b` provider example.
|
|
219
|
+
- The session that produced this guide: [v1.8.1 note](../articles/v1-saga/note-1-v1-8-1-reality-check.md) → [v1.8.2 note](../articles/v1-saga/note-2-v1-8-2-doctor-self-diagnosis.md) → [v1.8.3 note](../articles/v1-saga/note-3-v1-8-3-llamacpp-rescue.md).
|
|
220
220
|
|
|
221
221
|
---
|
|
222
222
|
|
|
@@ -61,7 +61,7 @@ ls -lah ~/models/qwen3.6-35b-a3b-unsloth/
|
|
|
61
61
|
# → Qwen3.6-35B-A3B-UD-Q4_K_M.gguf (~22GB) と tokenizer 関連ファイル
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
> **旧 `huggingface-cli` からの移行**: コマンド名が `hf` に変わり、サブコマンド体系も更新されました (`huggingface-cli download` → `hf download`、`huggingface-cli login` → `hf auth login`)。本リポジトリの補助スクリプト [`gguf_dl.py`](
|
|
64
|
+
> **旧 `huggingface-cli` からの移行**: コマンド名が `hf` に変わり、サブコマンド体系も更新されました (`huggingface-cli download` → `hf download`、`huggingface-cli login` → `hf auth login`)。本リポジトリの補助スクリプト [`gguf_dl.py`](../../gguf_dl.py) を使えば、HF の URL を貼るだけで `hf download` 相当の処理を実行できます。
|
|
65
65
|
|
|
66
66
|
> **`UD-Q4_K_M` の意味**: Unsloth Dynamic Quantization。同 GGUF サイズで通常の Q4_K_M より精度が高い variant。コミュニティ報告でも de facto 標準として使われています。
|
|
67
67
|
>
|
|
@@ -270,10 +270,10 @@ provider-ok provider=llamacpp-qwen3-6-35b-a3b
|
|
|
270
270
|
|
|
271
271
|
## 関連ドキュメント
|
|
272
272
|
|
|
273
|
-
- [troubleshooting.md §4-2-A](
|
|
273
|
+
- [troubleshooting.md §4-2-A](../guides/troubleshooting.md#4-2-a-qwen36) — Qwen3.6 + Ollama の既知問題
|
|
274
274
|
- [hf-ollama-models.md](./hf-ollama-models.md) — Ollama 経由 HF モデル取得
|
|
275
|
-
- [examples/providers.yaml](
|
|
276
|
-
- 実機検証の経緯: [v1.8.1 note](
|
|
275
|
+
- [examples/providers.yaml](../../examples/providers.yaml) — `llamacpp-qwen3-6-35b-a3b` provider 例同梱
|
|
276
|
+
- 実機検証の経緯: [v1.8.1 note](../articles/v1-saga/note-1-v1-8-1-reality-check.md) → [v1.8.2 note](../articles/v1-saga/note-2-v1-8-2-doctor-self-diagnosis.md) → [v1.8.3 note](../articles/v1-saga/note-3-v1-8-3-llamacpp-rescue.md)
|
|
277
277
|
|
|
278
278
|
---
|
|
279
279
|
|
|
@@ -381,10 +381,10 @@ No `capability-degraded` log lines (Anthropic-native shape has nothing to strip)
|
|
|
381
381
|
## Related docs
|
|
382
382
|
|
|
383
383
|
- [llamacpp-direct.en.md](./llamacpp-direct.en.md) — llama.cpp direct path (CLI build + Unsloth GGUF), Qwen3.6 35B-A3B verified.
|
|
384
|
-
- [troubleshooting.md §4-2](
|
|
384
|
+
- [troubleshooting.md §4-2](../guides/troubleshooting.md) — known issues across Ollama / llama.cpp / LM Studio.
|
|
385
385
|
- [hf-ollama-models.md](./hf-ollama-models.md) — pulling HF models through Ollama.
|
|
386
|
-
- [examples/providers.yaml](
|
|
387
|
-
- Real-machine narrative: [v1.8.4 note (JP)](
|
|
386
|
+
- [examples/providers.yaml](../../examples/providers.yaml) — bundled `lmstudio-*` provider stanzas + `test-lmstudio-openai` / `test-lmstudio-anthropic` profiles.
|
|
387
|
+
- Real-machine narrative: [v1.8.4 note (JP)](../articles/v1-saga/note-4-v1-8-4-lmstudio-revival.md) — the day a "framework wait" verdict expired in 24 hours.
|
|
388
388
|
|
|
389
389
|
---
|
|
390
390
|
|