neuro-simulator 0.6.0__tar.gz → 0.6.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.
Files changed (228) hide show
  1. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/PKG-INFO +1 -1
  2. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/package-lock.json +2 -2
  3. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/package.json +1 -1
  4. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/appInitializer.ts +111 -37
  5. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/vite.config.ts +2 -0
  6. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/hatch_build.py +14 -0
  7. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/pyproject.toml +2 -2
  8. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/application.py +27 -0
  9. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/.github/workflows/release.yml +0 -0
  10. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/.gitignore +0 -0
  11. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/LICENSE +0 -0
  12. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/README.md +0 -0
  13. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/README.md +0 -0
  14. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/index.html +0 -0
  15. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/avatar.webp +0 -0
  16. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/background.webp +0 -0
  17. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/background_old.webp +0 -0
  18. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/banner.jpeg +0 -0
  19. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/channel_points.png +0 -0
  20. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/error.mp3 +0 -0
  21. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/favicon.ico +0 -0
  22. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/causten.woff2 +0 -0
  23. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/comic.woff2 +0 -0
  24. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/first-coffee.woff2 +0 -0
  25. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/noto-sans-sc.woff2 +0 -0
  26. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/neuro_start.mp4 +0 -0
  27. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/neurosama.png +0 -0
  28. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sc_pink.png +0 -0
  29. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sc_purple.png +0 -0
  30. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sub_badge.svg +0 -0
  31. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/user_avatar.jpg +0 -0
  32. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/layoutManager.ts +0 -0
  33. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/singletonManager.ts +0 -0
  34. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/javascript/tooltip.js +0 -0
  35. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/javascript/viewers.js +0 -0
  36. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/main.ts +0 -0
  37. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/apiClient.ts +0 -0
  38. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/audioPlayer.ts +0 -0
  39. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/bilibiliService.ts +0 -0
  40. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/websocketClient.ts +0 -0
  41. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/stream/neuroAvatar.ts +0 -0
  42. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/stream/videoPlayer.ts +0 -0
  43. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/style.css +0 -0
  44. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/base.css +0 -0
  45. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/chat.css +0 -0
  46. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/header.css +0 -0
  47. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/offline.css +0 -0
  48. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/responsive.css +0 -0
  49. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/settings.css +0 -0
  50. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/stream-info.css +0 -0
  51. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/stream.css +0 -0
  52. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/tooltip.css +0 -0
  53. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/types/common.ts +0 -0
  54. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/chatDisplay.ts +0 -0
  55. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/chatSidebar.ts +0 -0
  56. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/liveIndicator.ts +0 -0
  57. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/muteButton.ts +0 -0
  58. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/neuroCaption.ts +0 -0
  59. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/settingsModal.ts +0 -0
  60. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/streamInfoDisplay.ts +0 -0
  61. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/streamTimer.ts +0 -0
  62. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/userInput.ts +0 -0
  63. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/utils/wakeLockManager.ts +0 -0
  64. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/vite-env.d.ts +0 -0
  65. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/.cargo/config.toml +0 -0
  66. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/Cargo.lock +0 -0
  67. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/Cargo.toml +0 -0
  68. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/build.rs +0 -0
  69. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/capabilities/migrated.json +0 -0
  70. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/icons/icon.ico +0 -0
  71. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/icons/icon.png +0 -0
  72. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/src/lib.rs +0 -0
  73. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/src/main.rs +0 -0
  74. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/tauri.conf.json +0 -0
  75. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/tsconfig.json +0 -0
  76. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/e2e/tsconfig.json +0 -0
  77. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/e2e/vue.spec.ts +0 -0
  78. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/env.d.ts +0 -0
  79. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/eslint.config.ts +0 -0
  80. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/index.html +0 -0
  81. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/package-lock.json +0 -0
  82. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/package.json +0 -0
  83. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/playwright.config.ts +0 -0
  84. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/public/favicon.ico +0 -0
  85. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/public/first-coffee.woff2 +0 -0
  86. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/App.vue +0 -0
  87. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/base.css +0 -0
  88. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/fonts.css +0 -0
  89. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/logo.svg +0 -0
  90. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/main.css +0 -0
  91. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/ContextTab.vue +0 -0
  92. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/LogsTab.vue +0 -0
  93. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/MemoryTab.vue +0 -0
  94. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/ToolsTab.vue +0 -0
  95. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/common/ConfirmDialog.vue +0 -0
  96. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/config/FieldRenderer.vue +0 -0
  97. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/locales/en.json +0 -0
  98. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/locales/zh.json +0 -0
  99. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/main.ts +0 -0
  100. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/router/index.ts +0 -0
  101. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/agent.ts +0 -0
  102. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/config.ts +0 -0
  103. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/connection.ts +0 -0
  104. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/counter.ts +0 -0
  105. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/logs.ts +0 -0
  106. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/stream.ts +0 -0
  107. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/tools.ts +0 -0
  108. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/ui.ts +0 -0
  109. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/AgentView.vue +0 -0
  110. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ChatBotView.vue +0 -0
  111. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ConfigView.vue +0 -0
  112. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ControlView.vue +0 -0
  113. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/HomeView.vue +0 -0
  114. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/LogsView.vue +0 -0
  115. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.app.json +0 -0
  116. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.json +0 -0
  117. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.node.json +0 -0
  118. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.vitest.json +0 -0
  119. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/vite.config.ts +0 -0
  120. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/vitest.config.ts +0 -0
  121. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/assets/start.gif +0 -0
  122. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/LETTA_CLOUD_ONLY_neuro-sama.af +0 -0
  123. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/README.md +0 -0
  124. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/sys_prompt_for_sleeptime.txt +0 -0
  125. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/core_memory.json +0 -0
  126. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/init_memory.json +0 -0
  127. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/temp_memory.json +0 -0
  128. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/history.jsonl +0 -0
  129. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/memory_prompt.txt +0 -0
  130. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/tools.json +0 -0
  131. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/history.jsonl +0 -0
  132. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/neuro_prompt.txt +0 -0
  133. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/tools.json +0 -0
  134. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/!!!NO-CHANGE-WILL-BE-SAVED-AFTER-RESTART!!! +0 -0
  135. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/add_temp_memory.py +0 -0
  136. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/add_to_core_memory_block.py +0 -0
  137. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/base.py +0 -0
  138. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/create_core_memory_block.py +0 -0
  139. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/delete_core_memory_block.py +0 -0
  140. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/get_core_memory_block.py +0 -0
  141. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/get_core_memory_blocks.py +0 -0
  142. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/model_spin.py +0 -0
  143. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/model_zoom.py +0 -0
  144. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/remove_from_core_memory_block.py +0 -0
  145. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/speak.py +0 -0
  146. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/update_core_memory_block.py +0 -0
  147. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/assets/neuro_start.mp4 +0 -0
  148. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/chatbot/chatbot_prompt.txt +0 -0
  149. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/chatbot/tools.json +0 -0
  150. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/core_memory.json +0 -0
  151. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/init_memory.json +0 -0
  152. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/temp_memory.json +0 -0
  153. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memory_agent/memory_prompt.txt +0 -0
  154. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memory_agent/tools.json +0 -0
  155. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/adjectives.txt +0 -0
  156. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/nouns.txt +0 -0
  157. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/special_users.txt +0 -0
  158. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/tools/builtin_tools/add_temp_memory.py +0 -0
  159. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/tools/builtin_tools/post_chat_message.py +0 -0
  160. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/README.md +0 -0
  161. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/WEBSOCKET_API.md +0 -0
  162. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/__init__.py +0 -0
  163. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/__init__.py +0 -0
  164. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/core.py +0 -0
  165. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/llm.py +0 -0
  166. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/__init__.py +0 -0
  167. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/chat_history.json +0 -0
  168. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/core_memory.json +0 -0
  169. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/init_memory.json +0 -0
  170. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/manager.py +0 -0
  171. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/temp_memory.json +0 -0
  172. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory_prompt.txt +0 -0
  173. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/neuro_prompt.txt +0 -0
  174. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/__init__.py +0 -0
  175. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/add_temp_memory.py +0 -0
  176. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/add_to_core_memory_block.py +0 -0
  177. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/base.py +0 -0
  178. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/create_core_memory_block.py +0 -0
  179. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/delete_core_memory_block.py +0 -0
  180. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/get_core_memory_block.py +0 -0
  181. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/get_core_memory_blocks.py +0 -0
  182. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/manager.py +0 -0
  183. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/model_spin.py +0 -0
  184. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/model_zoom.py +0 -0
  185. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/remove_from_core_memory_block.py +0 -0
  186. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/speak.py +0 -0
  187. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/update_core_memory_block.py +0 -0
  188. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/api/__init__.py +0 -0
  189. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/api/system.py +0 -0
  190. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/assets/neuro_start.mp4 +0 -0
  191. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/__init__.py +0 -0
  192. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/core.py +0 -0
  193. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/llm.py +0 -0
  194. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/__init__.py +0 -0
  195. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/core_memory.json +0 -0
  196. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/init_memory.json +0 -0
  197. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/manager.py +0 -0
  198. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/temp_memory.json +0 -0
  199. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/__init__.py +0 -0
  200. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/adjectives.txt +0 -0
  201. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/nouns.txt +0 -0
  202. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/special_users.txt +0 -0
  203. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/generator.py +0 -0
  204. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/__init__.py +0 -0
  205. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/chatbot_prompt.txt +0 -0
  206. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/memory_prompt.txt +0 -0
  207. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/__init__.py +0 -0
  208. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/add_temp_memory.py +0 -0
  209. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/base.py +0 -0
  210. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/manager.py +0 -0
  211. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/post_chat_message.py +0 -0
  212. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/cli.py +0 -0
  213. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/__init__.py +0 -0
  214. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/agent_factory.py +0 -0
  215. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/agent_interface.py +0 -0
  216. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/config.py +0 -0
  217. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/path_manager.py +0 -0
  218. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/__init__.py +0 -0
  219. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/audio.py +0 -0
  220. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/builtin.py +0 -0
  221. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/stream.py +0 -0
  222. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/__init__.py +0 -0
  223. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/logging.py +0 -0
  224. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/process.py +0 -0
  225. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/queue.py +0 -0
  226. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/state.py +0 -0
  227. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/websocket.py +0 -0
  228. {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: neuro_simulator
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Neuro Simulator Server
5
5
  Project-URL: Homepage, https://github.com/Moha-Master/neuro-simulator
6
6
  Project-URL: Repository, https://github.com/Moha-Master/neuro-simulator
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "Neuro Simulator Client",
3
- "version": "0.1.0",
3
+ "version": "0.2.11",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "Neuro Simulator Client",
9
- "version": "0.1.0",
9
+ "version": "0.2.11",
10
10
  "dependencies": {
11
11
  "@fontsource/inter": "^5.2.6",
12
12
  "@tauri-apps/api": "^2.6.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "Neuro Simulator Client",
3
3
  "private": true,
4
- "version": "0.2.10",
4
+ "version": "0.2.11",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -19,7 +19,7 @@ import { MuteButton } from '../ui/muteButton';
19
19
  import { getLatestReplayVideo, buildBilibiliIframeUrl } from '../services/bilibiliService';
20
20
 
21
21
  export class AppInitializer {
22
- private wsClient: WebSocketClient;
22
+ private wsClient: WebSocketClient | null;
23
23
  private audioPlayer: AudioPlayer;
24
24
  private videoPlayer: VideoPlayer;
25
25
  private neuroAvatar: NeuroAvatar;
@@ -48,21 +48,9 @@ export class AppInitializer {
48
48
 
49
49
  this.currentSettings = SettingsModal.getSettings();
50
50
  this.settingsModal = new SettingsModal((newSettings) => this.handleSettingsUpdate(newSettings));
51
-
52
- const backendWsUrl = this.currentSettings.backendUrl
53
- ? `${this.currentSettings.backendUrl}/ws/stream`
54
- : '';
55
51
 
56
- const universalMessageHandler = (message: WebSocketMessage) => this.handleWebSocketMessage(message);
57
-
58
- this.wsClient = new WebSocketClient({
59
- url: backendWsUrl,
60
- autoReconnect: true,
61
- maxReconnectAttempts: this.currentSettings.reconnectAttempts,
62
- onMessage: universalMessageHandler,
63
- onOpen: () => this.goOnline(),
64
- onDisconnect: () => this.goOffline(),
65
- });
52
+ // 初始化 wsClient null,等待 start 方法中的探测逻辑
53
+ this.wsClient = null;
66
54
 
67
55
  this.audioPlayer = new AudioPlayer();
68
56
  this.videoPlayer = new VideoPlayer();
@@ -90,17 +78,14 @@ export class AppInitializer {
90
78
  if (this.isStarted) return;
91
79
  this.isStarted = true;
92
80
 
81
+ // First, probe for an integrated server
82
+ this.probeForIntegratedServer();
83
+
84
+ // Then start the layout manager and go offline
93
85
  this.layoutManager.start();
94
- this.goOffline(); // Start in offline state
95
-
86
+ this.goOffline(); // Start in offline state, connection status will update UI via goOnline
96
87
  this.updateUiWithSettings();
97
-
98
- if (this.wsClient.getUrl()) {
99
- this.wsClient.connect();
100
- } else {
101
- console.warn("Backend URL is not configured. Opening settings modal.");
102
- this.settingsModal.open();
103
- }
88
+ // Connection logic is handled by probeForIntegratedServer
104
89
  }
105
90
 
106
91
  private setupSettingsModalTrigger(): void {
@@ -142,21 +127,106 @@ export class AppInitializer {
142
127
 
143
128
  this.updateUiWithSettings();
144
129
 
145
- const newUrl = newSettings.backendUrl ? `${newSettings.backendUrl}/ws/stream` : '';
146
- this.wsClient.updateOptions({
147
- url: newUrl,
148
- maxReconnectAttempts: newSettings.reconnectAttempts,
149
- });
130
+ if (this.wsClient) {
131
+ const newUrl = newSettings.backendUrl ? `${newSettings.backendUrl}/ws/stream` : '';
132
+ this.wsClient.updateOptions({
133
+ url: newUrl,
134
+ maxReconnectAttempts: newSettings.reconnectAttempts,
135
+ });
150
136
 
151
- this.wsClient.disconnect();
152
-
153
- setTimeout(() => {
154
- if(this.wsClient.getUrl()) {
155
- this.wsClient.connect();
137
+ this.wsClient.disconnect();
138
+
139
+ setTimeout(() => {
140
+ if(this.wsClient && this.wsClient.getUrl()) {
141
+ this.wsClient.connect();
142
+ } else {
143
+ console.warn("Cannot connect: Backend URL is empty after update or WebSocket client not ready.");
144
+ }
145
+ }, 500);
146
+ } else {
147
+ console.warn("WebSocket client not initialized, cannot update settings.");
148
+ }
149
+ }
150
+
151
+ private initWebSocketClient(backendUrl: string): void {
152
+ const url = backendUrl ? `${backendUrl}/ws/stream` : '';
153
+ const universalMessageHandler = (message: WebSocketMessage) => this.handleWebSocketMessage(message);
154
+
155
+ // If wsClient already exists, update its configuration; otherwise, create a new instance
156
+ if (this.wsClient) {
157
+ this.wsClient.updateOptions({
158
+ url: url,
159
+ autoReconnect: true,
160
+ maxReconnectAttempts: this.currentSettings.reconnectAttempts,
161
+ onMessage: universalMessageHandler,
162
+ onOpen: () => this.goOnline(),
163
+ onDisconnect: () => this.goOffline(),
164
+ });
165
+ // If the new URL is valid, disconnect the old connection and try the new one
166
+ if (url) {
167
+ this.wsClient.disconnect();
168
+ setTimeout(() => {
169
+ this.wsClient!.connect();
170
+ }, 500);
171
+ }
172
+ } else {
173
+ this.wsClient = new WebSocketClient({
174
+ url: url,
175
+ autoReconnect: true,
176
+ maxReconnectAttempts: this.currentSettings.reconnectAttempts,
177
+ onMessage: universalMessageHandler,
178
+ onOpen: () => this.goOnline(),
179
+ onDisconnect: () => this.goOffline(),
180
+ });
181
+ }
182
+ }
183
+
184
+ private async probeForIntegratedServer(): Promise<void> {
185
+ // First, load the currently stored settings
186
+ const storedSettings = SettingsModal.getSettings();
187
+ console.log("Probing for integrated server. Stored settings:", storedSettings);
188
+
189
+ // Try to connect to the local Server's health check endpoint
190
+ try {
191
+ // Construct the health check URL using the current page's origin
192
+ const healthUrl = new URL('/api/system/health', window.location.origin).toString();
193
+ console.log("Probing integrated server at:", healthUrl);
194
+
195
+ const response = await fetch(healthUrl);
196
+
197
+ if (response.ok) {
198
+ console.log("Integrated server detected via health check. Auto-connecting...");
199
+ // 1. Set to integrated mode, using the current origin
200
+ const integratedBackendUrl = window.location.origin;
201
+ // 2. Update the current settings' backendUrl
202
+ this.currentSettings = { ...this.currentSettings, backendUrl: integratedBackendUrl };
203
+ // 3. Save to localStorage for future use
204
+ localStorage.setItem('neuro_settings', JSON.stringify(this.currentSettings));
205
+ // 4. Initialize or update the WebSocket client
206
+ this.initWebSocketClient(integratedBackendUrl);
207
+ // 5. Try to connect if the client and URL are valid
208
+ if (this.wsClient && integratedBackendUrl) {
209
+ this.wsClient.connect();
210
+ }
211
+ return; // Success, exit
156
212
  } else {
157
- console.warn("Cannot connect: Backend URL is empty after update.");
213
+ console.log("Health check failed, not an integrated server. Status:", response.status);
158
214
  }
159
- }, 500);
215
+ } catch (error) {
216
+ console.log("Failed to probe for integrated server, assuming standalone mode.", error);
217
+ }
218
+
219
+ // If probing fails, fall back to using the stored settings
220
+ console.log("Falling back to stored backend URL:", storedSettings.backendUrl);
221
+ this.initWebSocketClient(storedSettings.backendUrl);
222
+
223
+ // Attempt to connect if the client and URL are valid
224
+ if (this.wsClient && storedSettings.backendUrl) {
225
+ this.wsClient.connect();
226
+ } else if (!storedSettings.backendUrl) {
227
+ console.warn("Backend URL is not configured via probe or stored settings. Opening settings modal.");
228
+ this.settingsModal.open();
229
+ }
160
230
  }
161
231
 
162
232
  private updateUiWithSettings(): void {
@@ -366,7 +436,11 @@ export class AppInitializer {
366
436
  username: this.currentSettings.username,
367
437
  ...payload
368
438
  };
369
- this.wsClient.send(message);
439
+ if (this.wsClient) {
440
+ this.wsClient.send(message);
441
+ } else {
442
+ console.warn("Cannot send message: WebSocket client is not initialized.");
443
+ }
370
444
  }
371
445
 
372
446
  private showStreamContent(): void {
@@ -14,6 +14,8 @@ export default defineConfig({
14
14
  // 为调试构建生成 sourcemap
15
15
  sourcemap: !!process.env.TAURI_DEBUG,
16
16
  },
17
+ // 设置基础路径,使构建后的资源引用正确(当应用部署在子路径如 /client 时)
18
+ base: './', // 使用相对路径基础,这样在任何子路径下都能正确引用资源
17
19
  // Tauri 需要一个固定的端口来连接前端开发服务器
18
20
  server: {
19
21
  port: 5173,
@@ -35,3 +35,17 @@ class CustomBuildHook(BuildHookInterface):
35
35
  stderr.write("\n### npm run build\n")
36
36
  subprocess.run([npm, "run", "build"], check=True, cwd=dashboard_dir)
37
37
 
38
+ stderr.write("\n>>> Building client frontend\n")
39
+
40
+ client_dir = os.path.join(self.root, 'client')
41
+ if not os.path.isdir(client_dir):
42
+ stderr.write(f">>> Client directory not found at {client_dir}\n")
43
+ # Note: This does not raise an error to allow building server-only in some scenarios
44
+ return
45
+
46
+ stderr.write("### npm install\n")
47
+ subprocess.run([npm, "install"], check=True, cwd=client_dir)
48
+
49
+ stderr.write("\n### npm run build\n")
50
+ subprocess.run([npm, "run", "build"], check=True, cwd=client_dir)
51
+
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "neuro_simulator"
7
- version = "0.6.0"
7
+ version = "0.6.1"
8
8
  description = "Neuro Simulator Server"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Moha-Master", email = "hongkongreporter@outlook.com" }]
@@ -55,4 +55,4 @@ path = "hatch_build.py"
55
55
 
56
56
  [tool.hatch.build.targets.wheel]
57
57
  sources = ["server"]
58
- force-include = { "dashboard/dist" = "neuro_simulator/dashboard" }
58
+ force-include = { "dashboard/dist" = "neuro_simulator/dashboard", "client/dist" = "neuro_simulator/client" }
@@ -258,8 +258,35 @@ async def startup_event():
258
258
  else:
259
259
  frontend_dir = None
260
260
 
261
+ # --- Mount Client Frontend ---
262
+ # Mount the client frontend at /client path (more specific) - MOUNT THIS FIRST
263
+ try:
264
+ # Production/Standard install: find client frontend in the package
265
+ client_frontend_dir_traversable = files('neuro_simulator').joinpath('client')
266
+ if not client_frontend_dir_traversable.is_dir(): raise FileNotFoundError
267
+ client_frontend_dir = str(client_frontend_dir_traversable)
268
+ logger.info(f"Found client frontend via package resources (production mode): '{client_frontend_dir}'")
269
+ except (ModuleNotFoundError, FileNotFoundError):
270
+ # Editable/Development install: fall back to relative path from source
271
+ logger.info("Could not find client frontend via package resources, falling back to development mode path.")
272
+ dev_client_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'client', 'dist'))
273
+ if os.path.isdir(dev_client_path):
274
+ client_frontend_dir = dev_client_path
275
+ logger.info(f"Found client frontend via relative path (development mode): '{client_frontend_dir}'")
276
+ else:
277
+ client_frontend_dir = None
278
+
279
+ if client_frontend_dir:
280
+ app.mount("/client", SPAStaticFiles(directory=client_frontend_dir, html=True), name="client")
281
+ logger.info("Client frontend mounted at /client")
282
+ else:
283
+ logger.error("Client frontend directory not found in either production or development locations.")
284
+
285
+ # --- Mount Dashboard Frontend ---
286
+ # Mount the dashboard frontend at / path (more general) - MOUNT THIS AFTER
261
287
  if frontend_dir:
262
288
  app.mount("/", SPAStaticFiles(directory=frontend_dir, html=True), name="dashboard")
289
+ logger.info("Dashboard frontend mounted at /")
263
290
  else:
264
291
  logger.error("Frontend directory not found in either production or development locations.")
265
292
 
File without changes