dflash-console 0.3.248__tar.gz → 0.3.249__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.
Files changed (202) hide show
  1. {dflash_console-0.3.248 → dflash_console-0.3.249}/PKG-INFO +7 -3
  2. {dflash_console-0.3.248 → dflash_console-0.3.249}/README.md +6 -2
  3. {dflash_console-0.3.248 → dflash_console-0.3.249}/api/app.py +5080 -5049
  4. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/api_catalog.py +456 -456
  5. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/auto_register.py +2 -1
  6. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/catalog_load.py +300 -300
  7. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/embedding_server.py +407 -407
  8. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gpu_devices.py +387 -387
  9. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_catalog_cache.py +20 -1
  10. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_local_match.py +14 -1
  11. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/huggingface.py +124 -13
  12. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/local_models.py +7 -4
  13. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/memory_guardrails.py +600 -600
  14. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/net_listeners.py +295 -295
  15. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtime.py +1740 -1740
  16. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/faster_whisper.py +12 -12
  17. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/freetoken.py +5 -5
  18. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/stt.py +11 -11
  19. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/transformers_hf.py +398 -398
  20. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/vibevoice.py +6 -6
  21. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/vllm.py +437 -437
  22. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/server_boot.py +2182 -2178
  23. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/version.py +3 -3
  24. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/vision_setup.py +11 -0
  25. {dflash_console-0.3.248 → dflash_console-0.3.249}/pyproject.toml +74 -74
  26. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/css/dflash-console.css +4770 -4770
  27. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/css/dflash-shell.css +9999 -9958
  28. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/index.html +2093 -2088
  29. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/download-queue.js +40 -1
  30. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/downloads-live.js +2 -1
  31. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/model-search-live.js +5 -2
  32. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/models-live.js +42 -7
  33. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/select-theme.js +430 -430
  34. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/server-live.js +5771 -5726
  35. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/server-reload-watch.js +181 -181
  36. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/status-feed.js +319 -317
  37. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/table-column-resize.js +4 -3
  38. {dflash_console-0.3.248 → dflash_console-0.3.249}/.gitignore +0 -0
  39. {dflash_console-0.3.248 → dflash_console-0.3.249}/LICENSE +0 -0
  40. {dflash_console-0.3.248 → dflash_console-0.3.249}/NOTICE.md +0 -0
  41. {dflash_console-0.3.248 → dflash_console-0.3.249}/api/__init__.py +0 -0
  42. {dflash_console-0.3.248 → dflash_console-0.3.249}/api/gateway.py +0 -0
  43. {dflash_console-0.3.248 → dflash_console-0.3.249}/assets/dflash_console_logo.png +0 -0
  44. {dflash_console-0.3.248 → dflash_console-0.3.249}/assets/dflash_console_logo_only.png +0 -0
  45. {dflash_console-0.3.248 → dflash_console-0.3.249}/assets/dflash_console_logo_only2.png +0 -0
  46. {dflash_console-0.3.248 → dflash_console-0.3.249}/assets/dflash_console_logo_only_clear.png +0 -0
  47. {dflash_console-0.3.248 → dflash_console-0.3.249}/assets/dflash_txt_logo.png +0 -0
  48. {dflash_console-0.3.248 → dflash_console-0.3.249}/config.example.json +0 -0
  49. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/__init__.py +0 -0
  50. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/api_access_log.py +0 -0
  51. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/api_introspection.py +0 -0
  52. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/api_providers.py +0 -0
  53. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/chat_proxy.py +0 -0
  54. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/chat_queue.py +0 -0
  55. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/chat_ready.py +0 -0
  56. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/chat_vision.py +0 -0
  57. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/client_identity.py +0 -0
  58. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/components_hub.py +0 -0
  59. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/config.py +0 -0
  60. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/dflash_generation.py +0 -0
  61. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/diagnostics_bundle.py +0 -0
  62. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/display_names.py +0 -0
  63. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/engine_state.py +0 -0
  64. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/freetoken_runtime_install.py +0 -0
  65. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/fs_browse.py +0 -0
  66. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/fs_reveal.py +0 -0
  67. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gateway_access_log.py +0 -0
  68. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gateway_routing.py +0 -0
  69. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gguf_meta.py +0 -0
  70. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gpu_policy.py +0 -0
  71. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gpu_process_memory_windows.py +0 -0
  72. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gpu_processes.py +0 -0
  73. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/gpu_relief.py +0 -0
  74. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hardware_apply.py +0 -0
  75. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hardware_info.py +0 -0
  76. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_catalog_draft.py +0 -0
  77. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_catalog_index.py +0 -0
  78. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_catalog_recommend.py +0 -0
  79. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_engines.py +0 -0
  80. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_install.py +0 -0
  81. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/hf_model_fit.py +0 -0
  82. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/inference_stats.py +0 -0
  83. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/library_import.py +0 -0
  84. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/load_progress.py +0 -0
  85. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/log_utils.py +0 -0
  86. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/model_discovery.py +0 -0
  87. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/model_paths.py +0 -0
  88. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/model_presets.py +0 -0
  89. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/model_runtime_policy.py +0 -0
  90. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/model_stack.py +0 -0
  91. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/node_connect.py +0 -0
  92. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/ocr_setup.py +0 -0
  93. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/remote_nodes.py +0 -0
  94. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtime_install_job.py +0 -0
  95. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtime_recommendations.py +0 -0
  96. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/__init__.py +0 -0
  97. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/base.py +0 -0
  98. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/contention.py +0 -0
  99. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/noop.py +0 -0
  100. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/ollama.py +0 -0
  101. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/piper.py +0 -0
  102. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/runtimes/registry.py +0 -0
  103. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/setup.py +0 -0
  104. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/stack_match.py +0 -0
  105. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/status_report.py +0 -0
  106. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/support_journal.py +0 -0
  107. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/system_stats.py +0 -0
  108. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/transformers_runtime_install.py +0 -0
  109. {dflash_console-0.3.248 → dflash_console-0.3.249}/core/vllm_runtime_install.py +0 -0
  110. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/__init__.py +0 -0
  111. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/__main__.py +0 -0
  112. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/cli.py +0 -0
  113. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/commands.py +0 -0
  114. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/http.py +0 -0
  115. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/render.py +0 -0
  116. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/resolve.py +0 -0
  117. {dflash_console-0.3.248 → dflash_console-0.3.249}/dflash_cli/server_takeover.py +0 -0
  118. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/AGENT-PROMPT-CLIENT-IDENTITY.md +0 -0
  119. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/AGENT-PROMPT-DFLASH-TRANSLATION-PERF-AI-TOOLS.md +0 -0
  120. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/AGENT-PROMPT-TRANSLATEGEMMA-AI-TOOLS.md +0 -0
  121. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ARCHITECTURE.md +0 -0
  122. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/BUG-REPORTS.md +0 -0
  123. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/CLI.md +0 -0
  124. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/CLIENT-IDENTITY.md +0 -0
  125. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/CURSOR.md +0 -0
  126. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/GOING-PUBLIC.md +0 -0
  127. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/LICENSING.md +0 -0
  128. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/LINUX-CLI.md +0 -0
  129. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/MULTI-MODAL-AGENT-PROMPT.md +0 -0
  130. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/MULTI-MODAL-RUNTIME-PLAN.md +0 -0
  131. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/PRODUCTION.md +0 -0
  132. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/RELEASING.md +0 -0
  133. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/STT-ENGINE-DECISION.md +0 -0
  134. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/USER-GUIDE.md +0 -0
  135. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/announcements/public-preview-v0.3.103.md +0 -0
  136. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/announcements/public-preview-v0.3.122.md +0 -0
  137. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/announcements/public-preview.md +0 -0
  138. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/automatic-updates.md +0 -0
  139. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/plans/shared-speak-stt-service.md +0 -0
  140. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.103.md +0 -0
  141. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.106.md +0 -0
  142. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.117.md +0 -0
  143. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.118.md +0 -0
  144. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.119.md +0 -0
  145. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.120.md +0 -0
  146. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.121.md +0 -0
  147. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.122.md +0 -0
  148. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.123.md +0 -0
  149. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.128.md +0 -0
  150. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.129.md +0 -0
  151. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.132.md +0 -0
  152. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.133.md +0 -0
  153. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/release-notes-0.3.208.md +0 -0
  154. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/README.md +0 -0
  155. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/devices-view.md +0 -0
  156. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/model-search.md +0 -0
  157. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/models-view.md +0 -0
  158. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/nodes-v1-plan.md +0 -0
  159. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-appearance.md +0 -0
  160. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-chat.md +0 -0
  161. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-developer.md +0 -0
  162. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-general.md +0 -0
  163. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-hardware.md +0 -0
  164. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-integrations.md +0 -0
  165. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-lm-link.md +0 -0
  166. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-model-defaults.md +0 -0
  167. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-runtime.md +0 -0
  168. {dflash_console-0.3.248 → dflash_console-0.3.249}/docs/ui/settings-runtimes.md +0 -0
  169. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/app-functional.html +0 -0
  170. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/css/dflash-console.css.bak-density +0 -0
  171. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/css/dflash-shell.css.bak-density +0 -0
  172. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/css/studio.css +0 -0
  173. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/about-live.js +0 -0
  174. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/app-settings-live.js +0 -0
  175. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/app.js +0 -0
  176. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/bug-report-live.js +0 -0
  177. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/chat-live.js +0 -0
  178. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/component-install-live.js +0 -0
  179. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/console-api.js +0 -0
  180. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/dashboard.js +0 -0
  181. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/desktop-shell.js +0 -0
  182. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/dflash-console-ui.js +0 -0
  183. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/docs-live.js +0 -0
  184. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/library-browse-live.js +0 -0
  185. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/library-scan-live.js +0 -0
  186. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/library-type-options.js +0 -0
  187. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/log-format.js +0 -0
  188. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/model-card.js +0 -0
  189. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/model-catalog-groups.js +0 -0
  190. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/nodes-live.js +0 -0
  191. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/runtime-recommendations.js +0 -0
  192. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/runtime-steppers.js +0 -0
  193. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/settings-live.js +0 -0
  194. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/settings-live.js.api-providers-bak +0 -0
  195. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/settings-live.js.pre-api-merge-bak +0 -0
  196. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/setup-wizard-live.js +0 -0
  197. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/speak-live.js +0 -0
  198. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/stack-wizard.js +0 -0
  199. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/sysbar-live.js +0 -0
  200. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/js/ui-layout-prefs.js +0 -0
  201. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/vendor/marked.min.js +0 -0
  202. {dflash_console-0.3.248 → dflash_console-0.3.249}/static/vendor/purify.min.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: dflash-console
3
- Version: 0.3.248
3
+ Version: 0.3.249
4
4
  Summary: Local control panel and terminal CLI for DFlash stacks and local model runtimes
5
5
  Project-URL: Homepage, https://github.com/ilan4ever/Dflash-Console
6
6
  Project-URL: Repository, https://github.com/ilan4ever/Dflash-Console
@@ -674,7 +674,7 @@ from one UI, then talk to them through a single OpenAI-compatible port.
674
674
  > supported platform**; Linux and macOS are not supported or tested (see
675
675
  > [Platform support](#platform-support) below).
676
676
 
677
- **Developer:** ILAN AVIV · **UI:** [http://127.0.0.1:8900/](http://127.0.0.1:8900/) · **Version:** v0.3.247
677
+ **Developer:** ILAN AVIV · **UI:** [http://127.0.0.1:8900/](http://127.0.0.1:8900/) · **Version:** v0.3.249
678
678
 
679
679
  ## Download (Windows)
680
680
 
@@ -753,8 +753,12 @@ Typical first session:
753
753
  3. For a DFlash GGUF, right-click and **Find and attach draft** if you want speculative decoding.
754
754
  4. Chat in the **Playground**, or point any OpenAI client at `http://127.0.0.1:8001/v1` with optional `X-DFlash-Client: YourApp` so **Engines** shows who is using each model.
755
755
 
756
- ### Recent improvements (v0.3.247)
756
+ ### Recent improvements (v0.3.249)
757
757
 
758
+ - **Model library** — loading clears when the model is on the GPU; Engine and GPU column headers stay visible
759
+ - **Model catalog** — a pasted repo name with a trailing period still opens the real model, and shared shard names are no longer marked installed
760
+ - **Image downloads** — a pipeline folder no longer nests a second copy of the whole model inside the text encoder
761
+ - **Desktop app** — a second launch opens the window that is already running
758
762
  - **Engine standby** — Running toggle gates load/chat until you arm the pipeline
759
763
  - **External GPU cards** — OneVoice, LM Studio, and other apps on the GPU; compact mobile layout; loading state expires when models are ready
760
764
  - **Other GPU processes** — per-process VRAM chips for non-model apps
@@ -8,7 +8,7 @@ from one UI, then talk to them through a single OpenAI-compatible port.
8
8
  > supported platform**; Linux and macOS are not supported or tested (see
9
9
  > [Platform support](#platform-support) below).
10
10
 
11
- **Developer:** ILAN AVIV · **UI:** [http://127.0.0.1:8900/](http://127.0.0.1:8900/) · **Version:** v0.3.247
11
+ **Developer:** ILAN AVIV · **UI:** [http://127.0.0.1:8900/](http://127.0.0.1:8900/) · **Version:** v0.3.249
12
12
 
13
13
  ## Download (Windows)
14
14
 
@@ -87,8 +87,12 @@ Typical first session:
87
87
  3. For a DFlash GGUF, right-click and **Find and attach draft** if you want speculative decoding.
88
88
  4. Chat in the **Playground**, or point any OpenAI client at `http://127.0.0.1:8001/v1` with optional `X-DFlash-Client: YourApp` so **Engines** shows who is using each model.
89
89
 
90
- ### Recent improvements (v0.3.247)
90
+ ### Recent improvements (v0.3.249)
91
91
 
92
+ - **Model library** — loading clears when the model is on the GPU; Engine and GPU column headers stay visible
93
+ - **Model catalog** — a pasted repo name with a trailing period still opens the real model, and shared shard names are no longer marked installed
94
+ - **Image downloads** — a pipeline folder no longer nests a second copy of the whole model inside the text encoder
95
+ - **Desktop app** — a second launch opens the window that is already running
92
96
  - **Engine standby** — Running toggle gates load/chat until you arm the pipeline
93
97
  - **External GPU cards** — OneVoice, LM Studio, and other apps on the GPU; compact mobile layout; loading state expires when models are ready
94
98
  - **Other GPU processes** — per-process VRAM chips for non-model apps