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.
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/PKG-INFO +1 -1
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/package-lock.json +2 -2
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/package.json +1 -1
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/appInitializer.ts +111 -37
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/vite.config.ts +2 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/hatch_build.py +14 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/pyproject.toml +2 -2
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/application.py +27 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/.github/workflows/release.yml +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/.gitignore +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/LICENSE +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/README.md +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/README.md +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/index.html +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/avatar.webp +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/background.webp +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/background_old.webp +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/banner.jpeg +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/channel_points.png +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/error.mp3 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/favicon.ico +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/causten.woff2 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/comic.woff2 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/first-coffee.woff2 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/fonts/noto-sans-sc.woff2 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/neuro_start.mp4 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/neurosama.png +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sc_pink.png +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sc_purple.png +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/sub_badge.svg +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/public/user_avatar.jpg +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/layoutManager.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/core/singletonManager.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/javascript/tooltip.js +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/javascript/viewers.js +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/main.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/apiClient.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/audioPlayer.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/bilibiliService.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/services/websocketClient.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/stream/neuroAvatar.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/stream/videoPlayer.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/style.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/base.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/chat.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/header.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/offline.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/responsive.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/settings.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/stream-info.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/stream.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/styles/tooltip.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/types/common.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/chatDisplay.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/chatSidebar.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/liveIndicator.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/muteButton.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/neuroCaption.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/settingsModal.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/streamInfoDisplay.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/streamTimer.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/ui/userInput.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/utils/wakeLockManager.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src/vite-env.d.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/.cargo/config.toml +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/Cargo.lock +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/Cargo.toml +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/build.rs +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/capabilities/migrated.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/icons/icon.ico +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/icons/icon.png +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/src/lib.rs +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/src/main.rs +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/src-tauri/tauri.conf.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/client/tsconfig.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/e2e/tsconfig.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/e2e/vue.spec.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/env.d.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/eslint.config.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/index.html +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/package-lock.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/package.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/playwright.config.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/public/favicon.ico +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/public/first-coffee.woff2 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/App.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/base.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/fonts.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/logo.svg +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/assets/main.css +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/ContextTab.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/LogsTab.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/MemoryTab.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/ToolsTab.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/common/ConfirmDialog.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/config/FieldRenderer.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/locales/en.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/locales/zh.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/main.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/router/index.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/agent.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/config.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/connection.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/counter.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/logs.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/stream.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/tools.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/stores/ui.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/AgentView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ChatBotView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ConfigView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/ControlView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/HomeView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/views/LogsView.vue +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.app.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.node.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/tsconfig.vitest.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/vite.config.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/vitest.config.ts +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/assets/start.gif +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/LETTA_CLOUD_ONLY_neuro-sama.af +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/README.md +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/letta_agents_example/sys_prompt_for_sleeptime.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/core_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/init_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memories/temp_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/history.jsonl +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/memory_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/memory_manager/tools.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/history.jsonl +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/neuro_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/neuro/tools.json +0 -0
- {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
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/add_temp_memory.py +0 -0
- {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
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/base.py +0 -0
- {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
- {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
- {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
- {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
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/model_spin.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/model_zoom.py +0 -0
- {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
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/agents/tools/builtin_tools/speak.py +0 -0
- {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
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/assets/neuro_start.mp4 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/chatbot/chatbot_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/chatbot/tools.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/core_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/init_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memories/temp_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memory_agent/memory_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/memory_agent/tools.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/adjectives.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/nouns.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/nickname_gen/data/special_users.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/tools/builtin_tools/add_temp_memory.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/docs/working_dir_example/chatbot/tools/builtin_tools/post_chat_message.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/README.md +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/WEBSOCKET_API.md +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/core.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/llm.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/chat_history.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/core_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/init_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/manager.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory/temp_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/memory_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/neuro_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/add_temp_memory.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/add_to_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/base.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/create_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/delete_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/get_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/get_core_memory_blocks.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/manager.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/model_spin.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/model_zoom.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/remove_from_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/speak.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/agent/tools/update_core_memory_block.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/api/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/api/system.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/assets/neuro_start.mp4 +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/core.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/llm.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/core_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/init_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/manager.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/memory/temp_memory.json +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/adjectives.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/nouns.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/data/special_users.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/nickname_gen/generator.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/chatbot_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/prompts/memory_prompt.txt +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/add_temp_memory.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/base.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/manager.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/chatbot/tools/post_chat_message.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/cli.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/agent_factory.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/agent_interface.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/config.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/core/path_manager.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/audio.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/builtin.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/services/stream.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/__init__.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/logging.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/process.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/queue.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/state.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/neuro_simulator/utils/websocket.py +0 -0
- {neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/server/requirements.txt +0 -0
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "Neuro Simulator Client",
|
3
|
-
"version": "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.
|
9
|
+
"version": "0.2.11",
|
10
10
|
"dependencies": {
|
11
11
|
"@fontsource/inter": "^5.2.6",
|
12
12
|
"@tauri-apps/api": "^2.6.0",
|
@@ -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
|
-
|
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
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
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
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
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.
|
213
|
+
console.log("Health check failed, not an integrated server. Status:", response.status);
|
158
214
|
}
|
159
|
-
}
|
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
|
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 {
|
@@ -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.
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/ContextTab.vue
RENAMED
File without changes
|
File without changes
|
{neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/agent/MemoryTab.vue
RENAMED
File without changes
|
File without changes
|
{neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/common/ConfirmDialog.vue
RENAMED
File without changes
|
{neuro_simulator-0.6.0 → neuro_simulator-0.6.1}/dashboard/src/components/config/FieldRenderer.vue
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|