1
0

feat: upgrade to qwen3.5, self-hosted Gitea CI, optimize Docker image

Model upgrade:
- qwen2.5:14b → qwen3.5:latest across config, tools, and docs
- Added qwen3.5 to multimodal model registry

Self-hosted Gitea CI:
- .gitea/workflows/tests.yml: lint + test jobs via act_runner
- Unified Dockerfile: pre-baked deps from poetry.lock for fast CI
- sitepackages=true in tox for ~2s dep resolution (was ~40s)
- OLLAMA_URL set to dead port in CI to prevent real LLM calls

Test isolation fixes:
- Smoke test fixture mocks create_timmy (was hitting real Ollama)
- WebSocket sends initial_state before joining broadcast pool (race fix)
- Tests use settings.ollama_model/url instead of hardcoded values
- skip_ci marker for Ollama-dependent tests, excluded in CI tox envs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trip T
2026-03-11 18:36:42 -04:00
parent 36fc10097f
commit f6a6c0f62e
24 changed files with 236 additions and 292 deletions

View File

@@ -93,6 +93,18 @@ KNOWN_MODEL_CAPABILITIES: dict[str, set[ModelCapability]] = {
ModelCapability.VISION,
},
# Qwen series
"qwen3.5": {
ModelCapability.TEXT,
ModelCapability.TOOLS,
ModelCapability.JSON,
ModelCapability.STREAMING,
},
"qwen3.5:latest": {
ModelCapability.TEXT,
ModelCapability.TOOLS,
ModelCapability.JSON,
ModelCapability.STREAMING,
},
"qwen2.5": {
ModelCapability.TEXT,
ModelCapability.TOOLS,
@@ -259,6 +271,7 @@ DEFAULT_FALLBACK_CHAINS: dict[ModelCapability, list[str]] = {
],
ModelCapability.TOOLS: [
"llama3.1:8b-instruct", # Best tool use
"qwen3.5:latest", # Qwen 3.5 — strong tool use
"llama3.2:3b", # Smaller but capable
"qwen2.5:7b", # Reliable fallback
],