{"ok":true,"app":"AI Camera Backend","env":"demo","aether":{"runtime_enabled":true,"frame_template_first":true,"frame_async_llm":false,"ws_audio_enabled":true,"ws_audio_tts_echo":false,"modes":["dialogue_agent","fitness","kitchen_coach","landscape_shoot","local_shoot","offline_shoot","pre_plan","vision_analyst","voice_coach"],"capabilities":{"capabilities":{"asr":["aliyun_dashscope","mock","mock_asr","openai_asr","openai_compatible","primary_asr"],"llm":["cheap_chat","litellm","mock","mock_chat","primary_chat","qwen","rule","secondary_chat"],"tts":["aliyun_dashscope","mock","mock_tts","openai_compatible","openai_tts","primary_tts"],"vlm":["mock_vlm","primary_vlm","qwen_vl"]},"selected":{"llm":"primary_chat","asr":"primary_asr","tts":"primary_tts","vlm":"qwen_vl"},"router":{"routes":{"llm":{"instruction":"primary_chat","guidance":"primary_chat","plan":"primary_chat","intent":"primary_chat","classify":"primary_chat","tool":"primary_chat","general":"primary_chat","probe":"primary_chat","vision":"primary_chat","feedback":"primary_chat"},"asr":{"default":"primary_asr"},"tts":{"default":"primary_tts"},"vlm":{"default":"primary_vlm"}},"fallbacks":{"primary_chat":["mock_chat","secondary_chat"],"primary_vlm":["mock_vlm"]},"providers":{"primary_chat":{"capability":"llm","adapter":"openai_compat.llm","aliases":["litellm"]},"secondary_chat":{"capability":"llm","adapter":"mock.llm","aliases":["rule"]},"cheap_chat":{"capability":"llm","adapter":"mock.llm","aliases":["qwen"]},"mock_chat":{"capability":"llm","adapter":"mock.llm","aliases":["mock"]},"primary_asr":{"capability":"asr","adapter":"bailian.asr","aliases":["aliyun_dashscope"]},"mock_asr":{"capability":"asr","adapter":"mock.asr","aliases":["mock"]},"openai_asr":{"capability":"asr","adapter":"openai_compat.asr","aliases":["openai_compatible"]},"primary_tts":{"capability":"tts","adapter":"bailian.tts","aliases":["aliyun_dashscope"]},"mock_tts":{"capability":"tts","adapter":"mock.tts","aliases":["mock"]},"openai_tts":{"capability":"tts","adapter":"openai_compat.tts","aliases":["openai_compatible"]},"primary_vlm":{"capability":"vlm","adapter":"openai_compat.vlm","aliases":["qwen_vl"]},"mock_vlm":{"capability":"vlm","adapter":"mock.vlm","aliases":["mock_vlm"]}},"source":"/opt/ai-camera/backend/config/providers.yaml"},"profiles_source":"/opt/ai-camera/backend/config/providers.yaml"},"tools":["echo","local_shoot.advance_pose","recipe.search","session.get_snapshot","timer.set"],"storage":{"config_path":"/opt/ai-camera/backend/config/storage.yaml","active_profile":"postgres","engine":"postgres","sessions":true,"events":true,"jobs":true,"outbox":true,"runs":true,"checkpoints":true,"profile":"postgres","ready":true,"job_lease_sec":45,"dsn_configured":true,"migrations":{"engine":"postgres","applied":[],"skipped":[{"version":"0001","name":"0001_core_storage","path":"/opt/ai-camera/backend/aether/storage/migrations/postgres/0001_core_storage.sql"},{"version":"0002","name":"0002_runs_and_checkpoints","path":"/opt/ai-camera/backend/aether/storage/migrations/postgres/0002_runs_and_checkpoints.sql"}]}}},"providers":{"selected":{"stt":"aliyun_dashscope","llm":"litellm","vlm":"qwen_vl","tts":"aliyun_dashscope"},"diagnostics":{"selected":"litellm","fallback_chain":["primary_chat","litellm","mock_chat","mock","secondary_chat","rule"],"selected_readiness":{"provider":"litellm","ready":true,"model":"openai/qwen-plus","provider_label":"aliyun-bailian","api_base":"https://dashscope.aliyuncs.com/compatible-mode/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"issues":[]},"providers":{"qwen":{"provider":"qwen","ready":true,"kind":"builtin_fallback"},"rule":{"provider":"rule","ready":true,"kind":"builtin_fallback"},"mock":{"provider":"mock","ready":true,"kind":"builtin_fallback"},"litellm":{"provider":"litellm","ready":true,"model":"openai/qwen-plus","provider_label":"aliyun-bailian","api_base":"https://dashscope.aliyuncs.com/compatible-mode/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"issues":[]}}},"runtime":{}},"infrastructure":{"auth":{"enabled":false,"has_api_key":false,"client_registry_count":1,"registry_backend":"env","registry_ready":true,"registry_fallback_reason":null,"allow_bearer":true,"ws_query_param":"token","tenant_isolation_enabled":false,"tenant_header":"X-Tenant-Id","tenant_ws_query_param":"tenant","ready":true},"session_backend":"memory+postgres","job_backend":"postgres","realtime_backend":"local","redis_configured":false,"postgres_configured":true,"session_store":{"preferred_backend":"memory+postgres","active_backend":"memory+postgres","durable_backend":"postgres","redis_enabled":false,"redis_ready":false,"fallback_reason":null,"event_store":{"preferred_backend":"postgres","active_backend":"postgres","postgres_ready":true,"fallback_reason":null,"postgres_table":"aether_session_events","postgres_dsn_configured":true}}},"sessions":{"active_sessions":0,"stored_sessions":0,"ttl_seconds":1800,"backend":"memory+postgres","postgres_dsn":"127.0.0.1:5432/aicamera","postgres_snapshots":1,"event_backend":"postgres","postgres_events":1544},"background_jobs":{"enqueued":0,"completed":0,"failed":0,"retried":0,"dead_lettered":0,"recovered_running_jobs":0,"lease_recoveries":0,"stale_lease_rejects":0,"backend":"postgres","worker_id":"worker_efea5aec","worker_count":2,"worker_running":true,"next_available_at_ms":null,"queued_oldest_age_ms":null,"registered_jobs":["capture_uploaded","session_created","session_metadata_event","vision_keyframe_analyze"],"last_errors":[],"lease_sec":45,"engine":"postgres","ready":true,"by_status":{"done":1335}},"outbox":{"claimed":0,"published":0,"failed":0,"missing_handler":0,"worker_id":"outbox_53d82e73","worker_running":true,"registered_topics":["rn.message"],"last_errors":[],"engine":"postgres","ready":true,"by_status":{"publishing":36,"published":625}},"guidance_cache":{"entries":0,"ttl_seconds":20,"max_entries":512},"metrics":{"counters":{"events.postgres.ready":1,"manifest.negotiate.ok":90,"sessions.restored":1},"latencies":{}},"tracing":{"exporter":"in_memory","span_count":3,"max_spans":512},"readiness":{"ok":true,"env":"demo","production":false,"checks":[{"name":"auth.enabled","ok":true,"severity":"error","details":{"enabled":false}},{"name":"auth.registry_ready","ok":true,"severity":"error","details":{"enabled":false,"registry_backend":"env","client_count":1}},{"name":"tenant.isolation","ok":true,"severity":"error","details":{"enabled":false}},{"name":"cors.origins","ok":true,"severity":"error","details":{"origins":"*"}},{"name":"storage.ready","ok":true,"severity":"error","details":{"config_path":"/opt/ai-camera/backend/config/storage.yaml","active_profile":"postgres","engine":"postgres","sessions":true,"events":true,"jobs":true,"outbox":true,"runs":true,"checkpoints":true,"profile":"postgres","ready":true,"job_lease_sec":45,"dsn_configured":true,"migrations":{"engine":"postgres","applied":[],"skipped":[{"version":"0001","name":"0001_core_storage","path":"/opt/ai-camera/backend/aether/storage/migrations/postgres/0001_core_storage.sql"},{"version":"0002","name":"0002_runs_and_checkpoints","path":"/opt/ai-camera/backend/aether/storage/migrations/postgres/0002_runs_and_checkpoints.sql"}]}}},{"name":"storage.production_engine","ok":true,"severity":"error","details":{"engine":"postgres","postgres_dsn_present":true,"ready":true}},{"name":"realtime.backend","ok":true,"severity":"error","details":{"preferred_backend":"local","active_backend":"local","fallback_reason":null}},{"name":"realtime.ha_warning","ok":true,"severity":"warning","details":{"preferred_backend":"local"}},{"name":"jobs.worker","ok":true,"severity":"error","details":{"worker_running":true,"backend":"postgres"}},{"name":"outbox.configured","ok":true,"severity":"error","details":{"storage_outbox":true}},{"name":"outbox.relay","ok":true,"severity":"error","details":{"worker_running":true,"registered_topics":["rn.message"]}},{"name":"providers.diagnostics","ok":true,"severity":"error","details":{"selected":"litellm","fallback_chain":["primary_chat","litellm","mock_chat","mock","secondary_chat","rule"],"selected_readiness":{"provider":"litellm","ready":true,"model":"openai/qwen-plus","provider_label":"aliyun-bailian","api_base":"https://dashscope.aliyuncs.com/compatible-mode/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"issues":[]},"providers":{"qwen":{"provider":"qwen","ready":true,"kind":"builtin_fallback"},"rule":{"provider":"rule","ready":true,"kind":"builtin_fallback"},"mock":{"provider":"mock","ready":true,"kind":"builtin_fallback"},"litellm":{"provider":"litellm","ready":true,"model":"openai/qwen-plus","provider_label":"aliyun-bailian","api_base":"https://dashscope.aliyuncs.com/compatible-mode/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"issues":[]}}}}],"failures":[],"warnings":[]},"phase_a":{"ok":true,"checks":[{"name":"jobs.worker_running","ok":true,"reason":null},{"name":"outbox.worker_running","ok":true,"reason":null,"details":{"claimed":0,"published":0,"failed":0,"missing_handler":0,"worker_id":"outbox_53d82e73","worker_running":true,"registered_topics":["rn.message"],"last_errors":[],"engine":"postgres","ready":true,"by_status":{"publishing":36,"published":625}}},{"name":"jobs.queue_age","ok":true,"reason":null,"details":{"queued_oldest_age_ms":null,"limit_ms":15000}},{"name":"providers.llm_selected_ready","ok":true,"reason":null,"details":{"provider":"litellm","readiness":{"provider":"litellm","ready":true,"model":"openai/qwen-plus","provider_label":"aliyun-bailian","api_base":"https://dashscope.aliyuncs.com/compatible-mode/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"issues":[]}}},{"name":"providers.llm_circuit_closed","ok":true,"reason":null,"details":{"provider":"litellm","stats":{}}},{"name":"providers.stt_ready","ok":true,"reason":null,"details":{"provider":"aliyun_dashscope","ready":true,"api_base":null,"api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"workspace_id":"llm-ck5fqjwg45l33wwd","model":"fun-asr-realtime","kind":"cloud_stt","transport":"websocket","implemented":true,"issues":[]}},{"name":"providers.tts_ready","ok":true,"reason":null,"details":{"provider":"aliyun_dashscope","ready":true,"api_base":"https://llm-ck5fqjwg45l33wwd.cn-beijing.maas.aliyuncs.com/api/v1","api_key_env":"DASHSCOPE_API_KEY","has_api_key":true,"workspace_id":"llm-ck5fqjwg45l33wwd","model":"cosyvoice-v3-flash","voice":"longanhuan","format":"wav","kind":"cloud_tts","transport":"dashscope_http_or_console_sse","stability":"hybrid_official_then_console","compat":true,"implemented":true,"issues":[],"console_agent_id":null,"console_region":"cn-beijing","har_bootstrap":false,"note":"Prefers official DashScope HTTP when SPEECH_API_KEY is set; console SSE is compat-only fallback."}}],"failures":[],"queue_oldest_age_ms":null,"selected_llm":"litellm"},"performance_targets":{"template_first_audio_latency_ms_max":500,"llm_first_audio_latency_ms_max":1000,"cloud_vlm_latency_ms_max":1500,"mobilenet_latency_ms_max":100,"pose_detection_fps_target":10,"burst_capture_fps_min":8,"thermal_ceiling_celsius":42,"battery_drain_30min_percent_max":15,"crash_rate_percent_max":0.5,"app_bundle_mb_max":150,"on_device_models_mb_max":60,"vlm_keyframe_kb_target":150},"realtime":{"preferred_backend":"local","active_backend":"local","fallback_reason":null,"redis_configured":false,"backend":"local","published":0,"delivered_local":0},"websocket":{"ws_sessions":0,"ws_clients":0,"sent_messages":0,"send_failures":0,"send_timeouts":0}}