neuro-simulator 0.6.0__tar.gz → 0.6.2__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.2}/PKG-INFO +37 -39
  2. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/README.md +36 -38
  3. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/README.md +9 -4
  4. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/package-lock.json +2 -2
  5. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/package.json +1 -1
  6. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/core/appInitializer.ts +111 -37
  7. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/Cargo.toml +4 -4
  8. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/vite.config.ts +2 -0
  9. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/package-lock.json +2 -2
  10. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/package.json +1 -1
  11. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/vite.config.ts +1 -0
  12. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/hatch_build.py +14 -0
  13. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/pyproject.toml +2 -2
  14. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/README.md +40 -45
  15. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/application.py +36 -1
  16. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/.github/workflows/release.yml +0 -0
  17. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/.gitignore +0 -0
  18. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/LICENSE +0 -0
  19. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/index.html +0 -0
  20. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/avatar.webp +0 -0
  21. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/background.webp +0 -0
  22. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/background_old.webp +0 -0
  23. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/banner.jpeg +0 -0
  24. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/channel_points.png +0 -0
  25. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/error.mp3 +0 -0
  26. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/favicon.ico +0 -0
  27. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/fonts/causten.woff2 +0 -0
  28. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/fonts/comic.woff2 +0 -0
  29. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/fonts/first-coffee.woff2 +0 -0
  30. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/fonts/noto-sans-sc.woff2 +0 -0
  31. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/neuro_start.mp4 +0 -0
  32. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/neurosama.png +0 -0
  33. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/sc_pink.png +0 -0
  34. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/sc_purple.png +0 -0
  35. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/sub_badge.svg +0 -0
  36. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/public/user_avatar.jpg +0 -0
  37. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/core/layoutManager.ts +0 -0
  38. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/core/singletonManager.ts +0 -0
  39. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/javascript/tooltip.js +0 -0
  40. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/javascript/viewers.js +0 -0
  41. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/main.ts +0 -0
  42. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/services/apiClient.ts +0 -0
  43. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/services/audioPlayer.ts +0 -0
  44. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/services/bilibiliService.ts +0 -0
  45. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/services/websocketClient.ts +0 -0
  46. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/stream/neuroAvatar.ts +0 -0
  47. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/stream/videoPlayer.ts +0 -0
  48. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/style.css +0 -0
  49. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/base.css +0 -0
  50. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/chat.css +0 -0
  51. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/header.css +0 -0
  52. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/offline.css +0 -0
  53. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/responsive.css +0 -0
  54. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/settings.css +0 -0
  55. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/stream-info.css +0 -0
  56. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/stream.css +0 -0
  57. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/styles/tooltip.css +0 -0
  58. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/types/common.ts +0 -0
  59. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/chatDisplay.ts +0 -0
  60. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/chatSidebar.ts +0 -0
  61. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/liveIndicator.ts +0 -0
  62. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/muteButton.ts +0 -0
  63. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/neuroCaption.ts +0 -0
  64. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/settingsModal.ts +0 -0
  65. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/streamInfoDisplay.ts +0 -0
  66. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/streamTimer.ts +0 -0
  67. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/ui/userInput.ts +0 -0
  68. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/utils/wakeLockManager.ts +0 -0
  69. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src/vite-env.d.ts +0 -0
  70. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/.cargo/config.toml +0 -0
  71. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/Cargo.lock +0 -0
  72. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/build.rs +0 -0
  73. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/capabilities/migrated.json +0 -0
  74. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/icons/icon.ico +0 -0
  75. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/icons/icon.png +0 -0
  76. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/src/lib.rs +0 -0
  77. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/src/main.rs +0 -0
  78. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/src-tauri/tauri.conf.json +0 -0
  79. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/client/tsconfig.json +0 -0
  80. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/e2e/tsconfig.json +0 -0
  81. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/e2e/vue.spec.ts +0 -0
  82. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/env.d.ts +0 -0
  83. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/eslint.config.ts +0 -0
  84. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/index.html +0 -0
  85. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/playwright.config.ts +0 -0
  86. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/public/favicon.ico +0 -0
  87. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/public/first-coffee.woff2 +0 -0
  88. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/App.vue +0 -0
  89. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/assets/base.css +0 -0
  90. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/assets/fonts.css +0 -0
  91. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/assets/logo.svg +0 -0
  92. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/assets/main.css +0 -0
  93. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/agent/ContextTab.vue +0 -0
  94. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/agent/LogsTab.vue +0 -0
  95. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/agent/MemoryTab.vue +0 -0
  96. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/agent/ToolsTab.vue +0 -0
  97. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/common/ConfirmDialog.vue +0 -0
  98. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/components/config/FieldRenderer.vue +0 -0
  99. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/locales/en.json +0 -0
  100. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/locales/zh.json +0 -0
  101. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/main.ts +0 -0
  102. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/router/index.ts +0 -0
  103. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/agent.ts +0 -0
  104. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/config.ts +0 -0
  105. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/connection.ts +0 -0
  106. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/counter.ts +0 -0
  107. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/logs.ts +0 -0
  108. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/stream.ts +0 -0
  109. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/tools.ts +0 -0
  110. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/stores/ui.ts +0 -0
  111. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/AgentView.vue +0 -0
  112. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/ChatBotView.vue +0 -0
  113. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/ConfigView.vue +0 -0
  114. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/ControlView.vue +0 -0
  115. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/HomeView.vue +0 -0
  116. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/src/views/LogsView.vue +0 -0
  117. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/tsconfig.app.json +0 -0
  118. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/tsconfig.json +0 -0
  119. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/tsconfig.node.json +0 -0
  120. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/tsconfig.vitest.json +0 -0
  121. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/dashboard/vitest.config.ts +0 -0
  122. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/assets/start.gif +0 -0
  123. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/letta_agents_example/LETTA_CLOUD_ONLY_neuro-sama.af +0 -0
  124. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/letta_agents_example/README.md +0 -0
  125. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/letta_agents_example/sys_prompt_for_sleeptime.txt +0 -0
  126. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memories/core_memory.json +0 -0
  127. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memories/init_memory.json +0 -0
  128. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memories/temp_memory.json +0 -0
  129. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memory_manager/history.jsonl +0 -0
  130. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memory_manager/memory_prompt.txt +0 -0
  131. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/memory_manager/tools.json +0 -0
  132. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/neuro/history.jsonl +0 -0
  133. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/neuro/neuro_prompt.txt +0 -0
  134. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/neuro/tools.json +0 -0
  135. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/!!!NO-CHANGE-WILL-BE-SAVED-AFTER-RESTART!!! +0 -0
  136. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/add_temp_memory.py +0 -0
  137. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/add_to_core_memory_block.py +0 -0
  138. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/base.py +0 -0
  139. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/create_core_memory_block.py +0 -0
  140. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/delete_core_memory_block.py +0 -0
  141. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/get_core_memory_block.py +0 -0
  142. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/get_core_memory_blocks.py +0 -0
  143. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/model_spin.py +0 -0
  144. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/model_zoom.py +0 -0
  145. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/remove_from_core_memory_block.py +0 -0
  146. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/speak.py +0 -0
  147. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/agents/tools/builtin_tools/update_core_memory_block.py +0 -0
  148. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/assets/neuro_start.mp4 +0 -0
  149. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/chatbot/chatbot_prompt.txt +0 -0
  150. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/chatbot/tools.json +0 -0
  151. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/memories/core_memory.json +0 -0
  152. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/memories/init_memory.json +0 -0
  153. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/memories/temp_memory.json +0 -0
  154. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/memory_agent/memory_prompt.txt +0 -0
  155. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/memory_agent/tools.json +0 -0
  156. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/nickname_gen/data/adjectives.txt +0 -0
  157. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/nickname_gen/data/nouns.txt +0 -0
  158. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/nickname_gen/data/special_users.txt +0 -0
  159. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/tools/builtin_tools/add_temp_memory.py +0 -0
  160. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/docs/working_dir_example/chatbot/tools/builtin_tools/post_chat_message.py +0 -0
  161. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/WEBSOCKET_API.md +0 -0
  162. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/__init__.py +0 -0
  163. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/__init__.py +0 -0
  164. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/core.py +0 -0
  165. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/llm.py +0 -0
  166. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/__init__.py +0 -0
  167. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/chat_history.json +0 -0
  168. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/core_memory.json +0 -0
  169. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/init_memory.json +0 -0
  170. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/manager.py +0 -0
  171. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory/temp_memory.json +0 -0
  172. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/memory_prompt.txt +0 -0
  173. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/neuro_prompt.txt +0 -0
  174. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/__init__.py +0 -0
  175. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/add_temp_memory.py +0 -0
  176. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/add_to_core_memory_block.py +0 -0
  177. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/base.py +0 -0
  178. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/create_core_memory_block.py +0 -0
  179. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/delete_core_memory_block.py +0 -0
  180. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/get_core_memory_block.py +0 -0
  181. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/get_core_memory_blocks.py +0 -0
  182. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/manager.py +0 -0
  183. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/model_spin.py +0 -0
  184. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/model_zoom.py +0 -0
  185. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/remove_from_core_memory_block.py +0 -0
  186. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/speak.py +0 -0
  187. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/agent/tools/update_core_memory_block.py +0 -0
  188. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/api/__init__.py +0 -0
  189. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/api/system.py +0 -0
  190. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/assets/neuro_start.mp4 +0 -0
  191. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/__init__.py +0 -0
  192. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/core.py +0 -0
  193. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/llm.py +0 -0
  194. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/memory/__init__.py +0 -0
  195. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/memory/core_memory.json +0 -0
  196. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/memory/init_memory.json +0 -0
  197. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/memory/manager.py +0 -0
  198. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/memory/temp_memory.json +0 -0
  199. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/nickname_gen/__init__.py +0 -0
  200. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/nickname_gen/data/adjectives.txt +0 -0
  201. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/nickname_gen/data/nouns.txt +0 -0
  202. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/nickname_gen/data/special_users.txt +0 -0
  203. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/nickname_gen/generator.py +0 -0
  204. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/prompts/__init__.py +0 -0
  205. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/prompts/chatbot_prompt.txt +0 -0
  206. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/prompts/memory_prompt.txt +0 -0
  207. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/tools/__init__.py +0 -0
  208. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/tools/add_temp_memory.py +0 -0
  209. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/tools/base.py +0 -0
  210. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/tools/manager.py +0 -0
  211. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/chatbot/tools/post_chat_message.py +0 -0
  212. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/cli.py +0 -0
  213. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/__init__.py +0 -0
  214. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/agent_factory.py +0 -0
  215. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/agent_interface.py +0 -0
  216. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/config.py +0 -0
  217. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/core/path_manager.py +0 -0
  218. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/services/__init__.py +0 -0
  219. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/services/audio.py +0 -0
  220. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/services/builtin.py +0 -0
  221. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/services/stream.py +0 -0
  222. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/__init__.py +0 -0
  223. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/logging.py +0 -0
  224. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/process.py +0 -0
  225. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/queue.py +0 -0
  226. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/state.py +0 -0
  227. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/server/neuro_simulator/utils/websocket.py +0 -0
  228. {neuro_simulator-0.6.0 → neuro_simulator-0.6.2}/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.2
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
@@ -41,14 +41,14 @@ Description-Content-Type: text/markdown
41
41
 
42
42
  *本临时README和所有代码均由AI生成*
43
43
 
44
- Neuro Simulator 是一个模拟 Neuro-sama 直播的项目
45
- 它通过调用 Letta(一个为 LLM 添加自主记忆功能的项目),也可使用自带的有记忆 Agent,配合其他 LLM 服务生成的模拟观众,模拟一场 Neuro-sama 的 Just Chatting 直播
46
- 它能生成实时的虚拟聊天内容,并通过 TTS 合成语音,提供沉浸式的 Twitch vedal987 频道观看体验
44
+ Neuro Simulator 是一个模拟 Neuro-sama 直播的项目。
45
+ 它通过使用自带的有记忆 Agent,~~也可调用 Letta(一个为 LLM 添加自主记忆功能的项目)~~,以及相同构造的 Chatbot Agent 作为虚拟观众,模拟一场 Neuro-sama 的 Just Chatting 直播。
46
+ 它能生成实时的虚拟聊天内容,并通过 TTS 合成语音,提供沉浸式的 Twitch vedal987 频道观看体验。
47
47
 
48
48
  ## 特性
49
49
 
50
- 和其他大佬的类似项目不同,本项目的重点在于尽可能模拟 Neuro-sama Twitch 上的 Tuesday Stream,因此不会有太多的自定义部分
51
- 后续有低成本低性能方法实现 Evil 音色模仿的时候,可能加入 Evil 的 Just Chatting 乃至各种主题的 Twin Stream
50
+ 和其他类似的 AI Vtuber 项目不同,本项目旨在尽可能模拟 Neuro-sama Twitch 上的 Tuesday Stream,因此在 Vtuber 部分不会有太多的自定义部分,也不会考虑引入 Neuro/Evil 以外的 Live2D。
51
+ 后续有低成本低性能方法实现 Evil 音色模仿的时候,可能加入 Evil Neuro。
52
52
 
53
53
  ### 预览
54
54
 
@@ -60,44 +60,44 @@ Neuro Simulator 是一个模拟 Neuro-sama 直播的项目
60
60
 
61
61
  ### 核心亮点
62
62
 
63
- - **多客户端支持**:支持多个客户端连接,实时广播内容
64
- - **配置热重载**:通过 Web 控制面板修改和热重载配置
65
- - **双 Agent 模式**:支持 Letta Agent 和内建 Agent,提供更多自定义选项
66
- - **Agent 记忆管理**:内建 Agent 支持多种记忆类型(初始化记忆、核心记忆、临时记忆、上下文)
63
+ - **多客户端支持**:支持多个客户端连接,实时广播内容。
64
+ - **配置热重载**:通过 Web 控制面板实时修改和热重载配置。
65
+ - ~~**双 Agent 模式**:支持 Letta Agent 和内建 Agent,提供更多自定义选项~~ 对 Letta Agent 的支持暂时下线,后续有缘再见。
67
66
 
68
67
  ## 快速开始
69
68
 
70
- 1. **准备外部服务**:确保你拥有必要的 API 密钥,包括 LLM(Gemini/OpenAI)和 Azure TTS;如果使用 Letta,也请注册好相关的 API
71
- 2. **安装服务端**:
69
+ 1. **准备外部服务**:确保你拥有必要的 API 密钥,包括 LLM(Gemini/OpenAI)和 Azure TTS;~~如果使用 Letta,也请注册好相关的 API 。~~
70
+ 2. **安装服务端**:已上传至 PyPi 作为可用 pip 安装的软件包,你可以用任何一个 pip 安装到全局或 venv 中。
72
71
  ```bash
73
72
  pip install neuro-simulator
74
73
  ```
74
+ 推荐使用 pipx,可以在不更改系统 Python 依赖的情况下直接安装为全局软件。
75
+
75
76
  3. **运行服务端**:
76
77
  ```bash
77
78
  neuro
78
79
  ```
79
- 记得填写好配置目录中的 `config.yaml`
80
- - 不指定 `--dir` 则自动创建和默认使用 `~/.config/neuro-simulator/` 作为工作目录
81
- - 在默认或指定目录及需要的文件不存在时,程序会自动用自带模板复制一份到工作目录下
80
+ 现在无需手动填写 `config.yaml`,程序在启动时会自动创建一份包含默认设置的配置文件,只需在管理面板中填写和为 Agent 分配 API 服务商即可。
81
+ - 不指定 `--dir, -D` 则自动创建和默认使用 `~/.config/neuro-simulator/` 作为工作目录。
82
+ - 程序会在工作目录下自动生成文件夹结构,拷贝需要的文件到目录内,保持程序包本体只读。
82
83
 
83
- 4. **安装客户端**:
84
- ```bash
85
- cd client
86
- npm install
87
- ```
88
- 5. **运行客户端**:
89
- ```bash
90
- npm run dev
91
- ```
92
- 6. **部署控制面板**:
93
- ```bash
94
- cd dashboard_web
95
- python -m http.server 8080
96
- ```
84
+ 程序启动后,如果工作正常,会默认在 `http://127.0.0.1:8000` 提供对外服务,你可以在设置中修改这个端口。
85
+
86
+ 4. **打开管理面板**:现在程序已经内置管理面板,直接在浏览器中打开 `http://127.0.0.1:8000/dashboard/` 即可,内置面板会自动连接到服务端。
87
+
88
+ **配置流程**:
89
+ 1. 在管理面板中打开“配置”页面。
90
+ 2. 在“LLM服务商”中添加一个以上的选项。
91
+ 3. 在“TTS服务商”中添加一个以上的 Azure TTS 服务。
92
+ 4. 在“Neuro”中分配一个 LLM 服务商和一个 TTS 服务商。
93
+ 5. 在“Chatbot”中分配一个 LLM 服务商。
94
+
95
+ 5. **打开客户端**:现在程序已经内置客户端,在浏览器中访问 `<http协议>://<服务端地址>/` 即可。
96
+ 但是这种方式下自动从哔哩哔哩获取最近回放的功能似乎不工作,需要对哔哩哔哩 API 进行反代。如果你安装了 nodejs,则可以使用 npm 运行开发服务器的方式使用客户端。
97
97
 
98
98
  更多更复杂或者更简单的使用方式,请参见三个部分的详细文档
99
99
 
100
- ## 项目结构
100
+ ## 项目结构(稍微过时,待更新)
101
101
 
102
102
  ```
103
103
  Neuro-Simulator/
@@ -117,7 +117,6 @@ Neuro-Simulator/
117
117
 
118
118
  - [服务端 README](server/README.md)
119
119
  - [客户端 README](client/README.md)
120
- - [控制面板 README](dashboard_web/README.md)
121
120
 
122
121
  ## 开发计划和已实现功能
123
122
 
@@ -141,7 +140,7 @@ Neuro-Simulator/
141
140
  - [ ] 模块化热插拔工具
142
141
  - [ ] 连接到 MCP 服务器
143
142
  - [ ] 兼容 Offical [Neuro SDK](https://github.com/VedalAI/neuro-sdk)
144
- - [ ] 拉起和对话 Evil Agent
143
+ - [ ] 拉起 Evil Agent 并进行对话
145
144
  - [ ] Evil Agent 模块,~~卖掉了~~ 待 Neuro Agent 完善、有低成本低性能方法实现 Evil 音色模仿的时候加入
146
145
  - [ ] 对 Neuroverse 更多成员的 AI Agent 复现,进而允许 Neuro Agent 向其发送 DM(语音聊天可能不太现实)
147
146
  - [x] Chatbot 模块
@@ -150,8 +149,8 @@ Neuro-Simulator/
150
149
  - [x] prompt 编辑
151
150
  - [x] 调用 Gemini 和 OpenAI API 格式的LLM
152
151
  - [x] 基于 Neuro Agent 的上一句内容而做出 Reaction
153
- - [ ] ~~在 prompt 中包含直播标题等更多信息~~ 将在更详细的 Chatbot Agent 中实现
154
- - [x] ~~实现更长的上下文~~ 将在更详细的 Chatbot Agent 中实现
152
+ - [ ] ~~在 prompt 中包含直播标题等更多信息~~ 将在更强大的 Chatbot Agent 中实现
153
+ - [x] ~~实现更长的上下文~~ 将在更强大的 Chatbot Agent 中实现
155
154
  - [x] Chatbot Agent
156
155
  - [x] 更好的用户名生成逻辑
157
156
  - [x] 更长的上下文,包括自身输出和 Neuro Agent 内容
@@ -171,7 +170,7 @@ Neuro-Simulator/
171
170
  - [x] TTS 合成和推送
172
171
  - [x] Azure TTS
173
172
  - [ ] 待定 TTS
174
- - [ ] 剔除 Emoji 等特殊字符
173
+ - [X] 剔除 Emoji 等特殊字符
175
174
  - [x] 进行直播和直播环节
176
175
  - [x] Just Chatting 单人直播
177
176
  - [x] Neuro Stream
@@ -191,8 +190,8 @@ Neuro-Simulator/
191
190
  - [x] 直播标题和标签等信息
192
191
  - [ ] 在非直播的空闲时间自动获取真实世界中 Neuro 的近期直播内容,更新完善记忆内容(不是微调训练)
193
192
  - [ ] 对 Ollama 等本地 LLM 的优化
194
- - [ ] 服务端内嵌管理面板
195
- - [ ] Web 控制面板
193
+ - [x] 服务端托管管理面板
194
+ - [x] Web 控制面板
196
195
  - [ ] 使用 PyInquiry 的命令行面板
197
196
  - 客户端
198
197
  - [ ] 仅包含直播区域的客户端,适用于希望使用 OBS 或其他软件推流画面的用户
@@ -237,6 +236,7 @@ Neuro-Simulator/
237
236
  - [ ] 真实的主播首页竖屏模式界面(目前沿用针对竖屏优化过的横屏样式)
238
237
  - [ ] 下滑的更多主播信息
239
238
  - [ ] 其他次级页面
239
+ - [x] 服务端托管客户端
240
240
  - [ ] 更多客户端(若实现原生客户端则弃用 tauri)
241
241
  - [x] 可托管的 Web 静态页面
242
242
  - [x] Windows 客户端
@@ -260,7 +260,6 @@ Neuro-Simulator/
260
260
  - [x] 对话方式展现
261
261
  - [x] 上下文方式展现
262
262
  - [x] 实时更新
263
- - [x] 更好的界面
264
263
  - [ ] 可视化展现 Agent 的详细执行流程
265
264
  - [x] 实时日志查看
266
265
  - [ ] 按照等级进行日志筛选
@@ -270,7 +269,6 @@ Neuro-Simulator/
270
269
  - [ ] 工具管理取决于服务端开发进度
271
270
  - 杂项,有一些可能永远不会实现,有一些可能很快就能完成
272
271
  - [ ] 一键启动器和整合包,适用于不需要分开部署的情况,或者面向普通小白用户
273
- - [ ] 把三个项目模块整合为一个
274
272
  - [ ] 基于静态立绘制作的简易Live2D,能动就行
275
273
  - [x] 目前不会考虑语音输入
276
274
 
@@ -4,14 +4,14 @@
4
4
 
5
5
  *本临时README和所有代码均由AI生成*
6
6
 
7
- Neuro Simulator 是一个模拟 Neuro-sama 直播的项目
8
- 它通过调用 Letta(一个为 LLM 添加自主记忆功能的项目),也可使用自带的有记忆 Agent,配合其他 LLM 服务生成的模拟观众,模拟一场 Neuro-sama 的 Just Chatting 直播
9
- 它能生成实时的虚拟聊天内容,并通过 TTS 合成语音,提供沉浸式的 Twitch vedal987 频道观看体验
7
+ Neuro Simulator 是一个模拟 Neuro-sama 直播的项目。
8
+ 它通过使用自带的有记忆 Agent,~~也可调用 Letta(一个为 LLM 添加自主记忆功能的项目)~~,以及相同构造的 Chatbot Agent 作为虚拟观众,模拟一场 Neuro-sama 的 Just Chatting 直播。
9
+ 它能生成实时的虚拟聊天内容,并通过 TTS 合成语音,提供沉浸式的 Twitch vedal987 频道观看体验。
10
10
 
11
11
  ## 特性
12
12
 
13
- 和其他大佬的类似项目不同,本项目的重点在于尽可能模拟 Neuro-sama Twitch 上的 Tuesday Stream,因此不会有太多的自定义部分
14
- 后续有低成本低性能方法实现 Evil 音色模仿的时候,可能加入 Evil 的 Just Chatting 乃至各种主题的 Twin Stream
13
+ 和其他类似的 AI Vtuber 项目不同,本项目旨在尽可能模拟 Neuro-sama Twitch 上的 Tuesday Stream,因此在 Vtuber 部分不会有太多的自定义部分,也不会考虑引入 Neuro/Evil 以外的 Live2D。
14
+ 后续有低成本低性能方法实现 Evil 音色模仿的时候,可能加入 Evil Neuro。
15
15
 
16
16
  ### 预览
17
17
 
@@ -23,44 +23,44 @@ Neuro Simulator 是一个模拟 Neuro-sama 直播的项目
23
23
 
24
24
  ### 核心亮点
25
25
 
26
- - **多客户端支持**:支持多个客户端连接,实时广播内容
27
- - **配置热重载**:通过 Web 控制面板修改和热重载配置
28
- - **双 Agent 模式**:支持 Letta Agent 和内建 Agent,提供更多自定义选项
29
- - **Agent 记忆管理**:内建 Agent 支持多种记忆类型(初始化记忆、核心记忆、临时记忆、上下文)
26
+ - **多客户端支持**:支持多个客户端连接,实时广播内容。
27
+ - **配置热重载**:通过 Web 控制面板实时修改和热重载配置。
28
+ - ~~**双 Agent 模式**:支持 Letta Agent 和内建 Agent,提供更多自定义选项~~ 对 Letta Agent 的支持暂时下线,后续有缘再见。
30
29
 
31
30
  ## 快速开始
32
31
 
33
- 1. **准备外部服务**:确保你拥有必要的 API 密钥,包括 LLM(Gemini/OpenAI)和 Azure TTS;如果使用 Letta,也请注册好相关的 API
34
- 2. **安装服务端**:
32
+ 1. **准备外部服务**:确保你拥有必要的 API 密钥,包括 LLM(Gemini/OpenAI)和 Azure TTS;~~如果使用 Letta,也请注册好相关的 API 。~~
33
+ 2. **安装服务端**:已上传至 PyPi 作为可用 pip 安装的软件包,你可以用任何一个 pip 安装到全局或 venv 中。
35
34
  ```bash
36
35
  pip install neuro-simulator
37
36
  ```
37
+ 推荐使用 pipx,可以在不更改系统 Python 依赖的情况下直接安装为全局软件。
38
+
38
39
  3. **运行服务端**:
39
40
  ```bash
40
41
  neuro
41
42
  ```
42
- 记得填写好配置目录中的 `config.yaml`
43
- - 不指定 `--dir` 则自动创建和默认使用 `~/.config/neuro-simulator/` 作为工作目录
44
- - 在默认或指定目录及需要的文件不存在时,程序会自动用自带模板复制一份到工作目录下
43
+ 现在无需手动填写 `config.yaml`,程序在启动时会自动创建一份包含默认设置的配置文件,只需在管理面板中填写和为 Agent 分配 API 服务商即可。
44
+ - 不指定 `--dir, -D` 则自动创建和默认使用 `~/.config/neuro-simulator/` 作为工作目录。
45
+ - 程序会在工作目录下自动生成文件夹结构,拷贝需要的文件到目录内,保持程序包本体只读。
45
46
 
46
- 4. **安装客户端**:
47
- ```bash
48
- cd client
49
- npm install
50
- ```
51
- 5. **运行客户端**:
52
- ```bash
53
- npm run dev
54
- ```
55
- 6. **部署控制面板**:
56
- ```bash
57
- cd dashboard_web
58
- python -m http.server 8080
59
- ```
47
+ 程序启动后,如果工作正常,会默认在 `http://127.0.0.1:8000` 提供对外服务,你可以在设置中修改这个端口。
48
+
49
+ 4. **打开管理面板**:现在程序已经内置管理面板,直接在浏览器中打开 `http://127.0.0.1:8000/dashboard/` 即可,内置面板会自动连接到服务端。
50
+
51
+ **配置流程**:
52
+ 1. 在管理面板中打开“配置”页面。
53
+ 2. 在“LLM服务商”中添加一个以上的选项。
54
+ 3. 在“TTS服务商”中添加一个以上的 Azure TTS 服务。
55
+ 4. 在“Neuro”中分配一个 LLM 服务商和一个 TTS 服务商。
56
+ 5. 在“Chatbot”中分配一个 LLM 服务商。
57
+
58
+ 5. **打开客户端**:现在程序已经内置客户端,在浏览器中访问 `<http协议>://<服务端地址>/` 即可。
59
+ 但是这种方式下自动从哔哩哔哩获取最近回放的功能似乎不工作,需要对哔哩哔哩 API 进行反代。如果你安装了 nodejs,则可以使用 npm 运行开发服务器的方式使用客户端。
60
60
 
61
61
  更多更复杂或者更简单的使用方式,请参见三个部分的详细文档
62
62
 
63
- ## 项目结构
63
+ ## 项目结构(稍微过时,待更新)
64
64
 
65
65
  ```
66
66
  Neuro-Simulator/
@@ -80,7 +80,6 @@ Neuro-Simulator/
80
80
 
81
81
  - [服务端 README](server/README.md)
82
82
  - [客户端 README](client/README.md)
83
- - [控制面板 README](dashboard_web/README.md)
84
83
 
85
84
  ## 开发计划和已实现功能
86
85
 
@@ -104,7 +103,7 @@ Neuro-Simulator/
104
103
  - [ ] 模块化热插拔工具
105
104
  - [ ] 连接到 MCP 服务器
106
105
  - [ ] 兼容 Offical [Neuro SDK](https://github.com/VedalAI/neuro-sdk)
107
- - [ ] 拉起和对话 Evil Agent
106
+ - [ ] 拉起 Evil Agent 并进行对话
108
107
  - [ ] Evil Agent 模块,~~卖掉了~~ 待 Neuro Agent 完善、有低成本低性能方法实现 Evil 音色模仿的时候加入
109
108
  - [ ] 对 Neuroverse 更多成员的 AI Agent 复现,进而允许 Neuro Agent 向其发送 DM(语音聊天可能不太现实)
110
109
  - [x] Chatbot 模块
@@ -113,8 +112,8 @@ Neuro-Simulator/
113
112
  - [x] prompt 编辑
114
113
  - [x] 调用 Gemini 和 OpenAI API 格式的LLM
115
114
  - [x] 基于 Neuro Agent 的上一句内容而做出 Reaction
116
- - [ ] ~~在 prompt 中包含直播标题等更多信息~~ 将在更详细的 Chatbot Agent 中实现
117
- - [x] ~~实现更长的上下文~~ 将在更详细的 Chatbot Agent 中实现
115
+ - [ ] ~~在 prompt 中包含直播标题等更多信息~~ 将在更强大的 Chatbot Agent 中实现
116
+ - [x] ~~实现更长的上下文~~ 将在更强大的 Chatbot Agent 中实现
118
117
  - [x] Chatbot Agent
119
118
  - [x] 更好的用户名生成逻辑
120
119
  - [x] 更长的上下文,包括自身输出和 Neuro Agent 内容
@@ -134,7 +133,7 @@ Neuro-Simulator/
134
133
  - [x] TTS 合成和推送
135
134
  - [x] Azure TTS
136
135
  - [ ] 待定 TTS
137
- - [ ] 剔除 Emoji 等特殊字符
136
+ - [X] 剔除 Emoji 等特殊字符
138
137
  - [x] 进行直播和直播环节
139
138
  - [x] Just Chatting 单人直播
140
139
  - [x] Neuro Stream
@@ -154,8 +153,8 @@ Neuro-Simulator/
154
153
  - [x] 直播标题和标签等信息
155
154
  - [ ] 在非直播的空闲时间自动获取真实世界中 Neuro 的近期直播内容,更新完善记忆内容(不是微调训练)
156
155
  - [ ] 对 Ollama 等本地 LLM 的优化
157
- - [ ] 服务端内嵌管理面板
158
- - [ ] Web 控制面板
156
+ - [x] 服务端托管管理面板
157
+ - [x] Web 控制面板
159
158
  - [ ] 使用 PyInquiry 的命令行面板
160
159
  - 客户端
161
160
  - [ ] 仅包含直播区域的客户端,适用于希望使用 OBS 或其他软件推流画面的用户
@@ -200,6 +199,7 @@ Neuro-Simulator/
200
199
  - [ ] 真实的主播首页竖屏模式界面(目前沿用针对竖屏优化过的横屏样式)
201
200
  - [ ] 下滑的更多主播信息
202
201
  - [ ] 其他次级页面
202
+ - [x] 服务端托管客户端
203
203
  - [ ] 更多客户端(若实现原生客户端则弃用 tauri)
204
204
  - [x] 可托管的 Web 静态页面
205
205
  - [x] Windows 客户端
@@ -223,7 +223,6 @@ Neuro-Simulator/
223
223
  - [x] 对话方式展现
224
224
  - [x] 上下文方式展现
225
225
  - [x] 实时更新
226
- - [x] 更好的界面
227
226
  - [ ] 可视化展现 Agent 的详细执行流程
228
227
  - [x] 实时日志查看
229
228
  - [ ] 按照等级进行日志筛选
@@ -233,7 +232,6 @@ Neuro-Simulator/
233
232
  - [ ] 工具管理取决于服务端开发进度
234
233
  - 杂项,有一些可能永远不会实现,有一些可能很快就能完成
235
234
  - [ ] 一键启动器和整合包,适用于不需要分开部署的情况,或者面向普通小白用户
236
- - [ ] 把三个项目模块整合为一个
237
235
  - [ ] 基于静态立绘制作的简易Live2D,能动就行
238
236
  - [x] 目前不会考虑语音输入
239
237
 
@@ -34,9 +34,10 @@ frontend_twitch/
34
34
 
35
35
  ### 直接使用(无需二次开发)
36
36
 
37
- ~~若无需二次开发,可以直接从 `Releases` 下载编译好的文件(仅支持Win/Linux)~~
37
+ 若无需二次开发,可以直接在浏览器中打开 `<http协议>://<服务端地址>/` 使用服务端托管的客户端。
38
+ - 每一个客户端页面在浏览器中都是独立运行的,因此如果有多个观众,访问同一个地址即可。
38
39
 
39
- 暂未制作Releases,请克隆项目并按下面的方式运行开发版/构建客户端
40
+ 如果硬盘空间太大/电脑里垃圾太少/想要自己独立托管客户端对外服务(这是好习惯,避免暴露服务端地址),可以直接从 `Releases` 下载和使用编译好的文件(仅支持Win/Linux/Web托管)
40
41
 
41
42
  ### 二次开发
42
43
 
@@ -117,9 +118,11 @@ npm run preview
117
118
 
118
119
  设置参数使用浏览器的 `LocalStorage` 进行持久存储
119
120
 
121
+ 当客户端由服务端托管时,会尝试自动连接到服务端,一般无需设置
122
+
120
123
  ## 哔哩哔哩直播回放
121
124
 
122
- 客户端现在支持从哔哩哔哩动态拉取最新的直播回放视频。由于B站的API存在跨域(CORS)问题,需要通过代理来访问。
125
+ 客户端现在支持从哔哩哔哩动态拉取最新的直播回放视频。由于B站的 API 相关限制,需要通过代理来访问。
123
126
 
124
127
  - **Tauri 桌面端**: 客户端已内置反向代理,无需额外配置。
125
128
  - **Vite 开发服务器**: 在 `vite.config.ts` 中已经配置了代理,开发时可直接使用。
@@ -146,4 +149,6 @@ location /bilibili-api/ {
146
149
  - 确认 `WebSocket` 连接状态
147
150
  - 验证配置设置是否正确
148
151
 
149
- *作为看这篇💩文档的奖励,可以直接使用我部署的 https://neuro.jiahui.cafe 连接到你的服务端,但是不保证始终能用,并且不能修改neuro_start.mp4*
152
+ > 都是些 AI 生成的垃圾话,看看就好
153
+
154
+ *作为看这篇💩文档的奖励,可以直接使用我部署的 https://neuro.jiahui.cafe 连接到你的服务端,但是不保证始终能用,而且无法修改neuro_start.mp4*
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "Neuro Simulator Client",
3
- "version": "0.1.0",
3
+ "version": "0.2.12",
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.12",
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.12",
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 {
@@ -1,10 +1,10 @@
1
1
  [package]
2
2
  name = "neuro-simulator"
3
- version = "0.1.0"
3
+ version = "0.2.11"
4
4
  description = "Neuro Simulator Tauri Client"
5
- authors = ["you"]
6
- license = ""
7
- repository = ""
5
+ authors = ["Moha-Master"]
6
+ license = "MIT"
7
+ repository = "https://github.com/Moha-Master/Neuro-Simulator"
8
8
  edition = "2021"
9
9
  [lib]
10
10
  name = "neuro_lib"
@@ -14,6 +14,8 @@ export default defineConfig({
14
14
  // 为调试构建生成 sourcemap
15
15
  sourcemap: !!process.env.TAURI_DEBUG,
16
16
  },
17
+ // 设置应用的基础路径
18
+ base: '/',
17
19
  // Tauri 需要一个固定的端口来连接前端开发服务器
18
20
  server: {
19
21
  port: 5173,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "neuro-simulator-dashboard",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "neuro-simulator-dashboard",
9
- "version": "0.6.0",
9
+ "version": "0.6.2",
10
10
  "dependencies": {
11
11
  "@mdi/font": "^7.4.47",
12
12
  "pinia": "^3.0.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neuro-simulator-dashboard",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "engines": {
@@ -6,6 +6,7 @@ import vueDevTools from 'vite-plugin-vue-devtools'
6
6
 
7
7
  // https://vite.dev/config/
8
8
  export default defineConfig({
9
+ base: '/dashboard/',
9
10
  plugins: [
10
11
  vue(),
11
12
  vueDevTools(),
@@ -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
+