nanobot
WebUI, tools, memory, MCP, multi-agent workflows, automation, chat apps를 지원하는, Python으로 작성된 초경량 오픈소스 자체 호스팅(self-hosted) 개인용 AI 에이전트 프레임워크
파일 탐색기
최종 버전 다운로드 (.zip)- design.md
- gotchas.md
- security.md
- bug_report.yml
- config.yml
- feature_request.yml
- ci.yml
- tui-release.yml
- ai-agent-memory.md
- ai-agent-webui.md
- build-a-personal-ai-agent.md
- chat-app-ai-agent.md
- configure-langfuse-observability.md
- configure-mcp-tools.md
- configure-model-fallback.md
- configure-ollama-prompt-cache.md
- configure-openai-compatible-provider.md
- configure-web-search.md
- deploy-nanobot-gateway.md
- discord-ai-agent.md
- email-ai-agent.md
- feishu-ai-agent.md
- long-running-ai-agent.md
- mattermost-ai-agent.md
- mcp-tools-for-ai-agents.md
- openai-compatible-agent-api.md
- python-ai-agent-sdk.md
- qq-ai-agent.md
- README.md
- secure-local-ai-agent.md
- self-hosted-ai-agent.md
- slack-ai-agent.md
- telegram-ai-agent.md
- wechat-ai-agent.md
- whatsapp-ai-agent.md
- agent-social-network.md
- architecture.md
- automations.md
- channel-package-guide.md
- chat-apps.md
- chat-commands.md
- cli-reference.md
- concepts.md
- configuration.md
- deployment.md
- development.md
- image-generation.md
- memory.md
- multiple-instances.md
- my-tool.md
- openai-api.md
- provider-cookbook.md
- providers.md
- python-sdk.md
- quick-start.md
- README.md
- release-archive.md
- start-without-technical-background.md
- troubleshooting.md
- websocket.md
- webui.md
- nanobot_arch.png
- nanobot_logo.png
- nanobot_logo.svg
- nanobot_mark.svg
- nanobot_webui.png
- readme-cover-dark.svg
- readme-cover-light.svg
- __init__.py
- file_edit_activity.py
- __init__.py
- _windows_job.py
- apply_patch.py
- base.py
- cli_apps.py
- context.py
- cron.py
- exec_session.py
- file_state.py
- filesystem.py
- image_generation.py
- loader.py
- long_task.py
- mcp.py
- mcp_oauth.py
- message.py
- path_utils.py
- registry.py
- runtime_control.py
- sandbox.py
- schema.py
- search.py
- self.py
- session_messages.py
- sessions.py
- shell.py
- spawn.py
- web.py
- __init__.py
- autocompact.py
- automation_turns.py
- context.py
- context_governance.py
- cron_turns.py
- goal_permission.py
- hook.py
- loop.py
- memory.py
- model_presets.py
- model_runtime.py
- plugins.py
- progress_hook.py
- runner.py
- skills.py
- subagent.py
- turn_delivery.py
- turn_hooks.py
- __init__.py
- runtime.py
- server.py
- __init__.py
- service.py
- utils.py
- __init__.py
- protocol.py
- __init__.py
- transcription.py
- transcription_registry.py
- __init__.py
- events.py
- outbound_events.py
- progress.py
- queue.py
- runtime_events.py
- __init__.py
- test_dingtalk_channel.py
- test_validation.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_discord_channel.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- test_email_channel.py
- test_validation.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- test_connect.py
- test_feishu_card_extraction.py
- test_feishu_domain.py
- test_feishu_lazy_import.py
- test_feishu_login.py
- test_feishu_markdown_rendering.py
- test_feishu_media_filename_security.py
- test_feishu_mention.py
- test_feishu_mentions.py
- test_feishu_post_content.py
- test_feishu_reaction.py
- test_feishu_reply.py
- test_feishu_streaming.py
- test_feishu_table_split.py
- test_feishu_tool_hint_code_block.py
- test_feishu_ws.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- FeishuAssistantsPanel.tsx
- FeishuConnectFlow.tsx
- index.tsx
- __init__.py
- config.py
- connect.py
- instances.py
- manifest.py
- runtime.py
- validation.py
- websocket.py
- __init__.py
- test_matrix_channel.py
- test_validation.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- test_mattermost_channel.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_msteams.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_napcat_channel.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_qq_ack_message.py
- test_qq_channel.py
- test_qq_media.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_signal_channel.py
- test_signal_markdown.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_slack_channel.py
- test_validation.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- test_telegram_channel.py
- test_validation.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- conftest.py
- test_websocket_channel.py
- test_websocket_envelope_media.py
- test_websocket_http_routes.py
- test_websocket_integration.py
- test_websocket_media_route.py
- test_websocket_protocol_boundaries.py
- test_websocket_reconnect_idle.py
- ws_test_client.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- validation.py
- __init__.py
- test_wecom_channel.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- __init__.py
- test_connect.py
- test_weixin_channel.py
- test_weixin_hardening.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.tsx
- presentation.ts
- WeixinConnectFlow.tsx
- WeixinPanel.tsx
- __init__.py
- connect.py
- manifest.py
- runtime.py
- state.py
- validation.py
- __init__.py
- test_whatsapp_channel.py
- en.json
- es.json
- fr.json
- id.json
- ja.json
- ko.json
- pt-BR.json
- vi.json
- zh-CN.json
- zh-TW.json
- index.ts
- __init__.py
- manifest.py
- runtime.py
- state.py
- validation.py
- __init__.py
- _manifest.py
- _setup.py
- base.py
- connect.py
- contracts.py
- manager.py
- plugin.py
- registry.py
- validation.py
- __init__.py
- agent.py
- commands.py
- entry.py
- gateway.py
- gateway_runtime.py
- log_control.py
- models.py
- onboard.py
- provider.py
- runtime_config.py
- stream.py
- terminal.py
- tui_launcher.py
- webui.py
- webui_support.py
- __init__.py
- builtin.py
- router.py
- __init__.py
- errors.py
- loader.py
- paths.py
- schema.py
- timezone.py
- watcher.py
- __init__.py
- bound_runner.py
- service.py
- session_delivery.py
- session_turns.py
- types.py
- webui_metadata.py
- __init__.py
- runtime.py
- service.py
- __init__.py
- store.py
- __init__.py
- converters.py
- parsing.py
- state.py
- __init__.py
- anthropic_provider.py
- azure_openai_provider.py
- base.py
- bedrock_provider.py
- conversation_state.py
- factory.py
- fallback_provider.py
- github_copilot_provider.py
- image_generation.py
- oauth_guidance.py
- openai_codex_oauth.py
- openai_codex_provider.py
- openai_compat_provider.py
- registry.py
- transcription.py
- unconfigured_provider.py
- xai_grok_provider.py
- xai_oauth.py
- __init__.py
- clients.py
- runtime.py
- streaming.py
- types.py
- __init__.py
- network.py
- workspace_access.py
- workspace_policy.py
- __init__.py
- automation_turns.py
- goal_state.py
- history_visibility.py
- keys.py
- manager.py
- model_selection.py
- session_handles.py
- session_messages.py
- summary.py
- turn_continuation.py
- webui_turns.py
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- examples.md
- SKILL.md
- init_skill.py
- package_skill.py
- quick_validate.py
- SKILL.md
- SKILL.md
- find-sessions.sh
- wait-for-text.sh
- SKILL.md
- SKILL.md
- SKILL.md
- README.md
- untrusted_content.md
- consolidator_archive.md
- cron_reminder.md
- dream.md
- evaluator.md
- goal_runtime.md
- identity.md
- max_iterations_message.md
- platform_policy.md
- skills_section.md
- subagent_announce.md
- subagent_system.md
- tool_contract.md
- SOUL.md
- __init__.py
- MEMORY.md
- README.md
- __init__.py
- AGENTS.md
- HEARTBEAT.md
- SOUL.md
- USER.md
- __init__.py
- local_runner.py
- local_session_turns.py
- local_store.py
- local_turns.py
- local_types.py
- __init__.py
- artifacts.py
- cancellation.py
- dict_keys.py
- document.py
- evaluator.py
- file_edit_events.py
- gitstore.py
- helpers.py
- llm_runtime.py
- logging_bridge.py
- media_decode.py
- path.py
- progress_events.py
- prompt_templates.py
- restart.py
- run_records.py
- runtime.py
- searchusage.py
- subagent_channel_display.py
- tool_hints.py
- workspace_prompts.py
- __init__.py
- __init__.py
- attachment_ingress.py
- build.py
- cli_apps_api.py
- dev.py
- file_preview.py
- forking.py
- gateway_services.py
- gateway_tokens.py
- http_utils.py
- ingress_policy.py
- mcp_oauth_api.py
- mcp_presets_api.py
- mcp_presets_runtime.py
- media_api.py
- media_gateway.py
- metadata.py
- nanobot_features_api.py
- native_folder_picker.py
- session_access.py
- session_automations.py
- session_context.py
- session_list_index.py
- settings_api.py
- settings_capabilities.py
- settings_contracts.py
- settings_models.py
- settings_routes.py
- settings_services.py
- settings_system.py
- sidebar_state.py
- skills_api.py
- skills_marketplace.py
- temporary_chats.py
- thread_disk.py
- token_usage.py
- transcript.py
- transcription_ws.py
- version_check.py
- websocket_logging.py
- workspaces.py
- ws_http.py
- __init__.py
- __main__.py
- config_base.py
- nanobot.py
- optional_features.py
- process_runtime.py
- runtime_context.py
- install.ps1
- install.sh
- install_channel_dependencies.py
- __init__.py
- test_long_task.py
- test_runtime_control.py
- test_self_tool.py
- test_self_tool_runtime_sync.py
- test_sessions.py
- test_subagent_tools.py
- __init__.py
- conftest.py
- runner_helpers.py
- test_agent_plugins.py
- test_attachment_references.py
- test_auto_compact.py
- test_autocompact_unit.py
- test_builtin_weather_skill.py
- test_consolidate_offset.py
- test_consolidation_ratio.py
- test_consolidator.py
- test_context_aware.py
- test_context_builder.py
- test_context_governance.py
- test_context_prompt_cache.py
- test_cursor_recovery.py
- test_dream.py
- test_dream_session.py
- test_dream_tools.py
- test_evaluator.py
- test_exec_session_isolation.py
- test_gemini_thought_signature.py
- test_git_store.py
- test_history_replay.py
- test_hook_composite.py
- test_image_generation_hot_reload.py
- test_loop_consolidation_tokens.py
- test_loop_cron_timezone.py
- test_loop_direct_websocket_status.py
- test_loop_goal_wall_timeout.py
- test_loop_image_generation_media.py
- test_loop_progress.py
- test_loop_runner_integration.py
- test_loop_save_turn.py
- test_loop_session_policy.py
- test_loop_tool_context.py
- test_mcp_connection.py
- test_mcp_reconnect_crash.py
- test_mcp_transient_retry.py
- test_memory_store.py
- test_model_runtime_resolver.py
- test_onboard_logic.py
- test_runner_core.py
- test_runner_errors.py
- test_runner_fallback.py
- test_runner_goal_continue.py
- test_runner_governance.py
- test_runner_hooks.py
- test_runner_injections.py
- test_runner_persistence.py
- test_runner_progress_deltas.py
- test_runner_reasoning.py
- test_runner_runtime_identity.py
- test_runner_safety.py
- test_runner_tool_execution.py
- test_runtime_context.py
- test_runtime_refresh.py
- test_self_model_preset.py
- test_session_atomic.py
- test_session_collision.py
- test_session_delete.py
- test_session_inputs.py
- test_session_lock_lifecycle.py
- test_session_manager_history.py
- test_session_model_runtime.py
- test_session_retention.py
- test_skill_creator_scripts.py
- test_skills_loader.py
- test_stop_preserves_context.py
- test_subagent.py
- test_subagent_lifecycle.py
- test_task_cancel.py
- test_tool_hint.py
- test_tool_loader_entrypoints.py
- test_tool_loader_scopes.py
- test_turn_delivery.py
- test_turn_hooks.py
- test_unified_session.py
- test_workspace_scope.py
- test_cli_subprocess_env.py
- test_outbound_events.py
- test_runtime_events.py
- test_base_channel.py
- test_channel_contracts.py
- test_channel_manager_delta_coalescing.py
- test_channel_manager_hot_reload.py
- test_channel_manager_reasoning.py
- test_channel_plugins.py
- test_channel_setup.py
- test_channel_validation.py
- test_qq_reconnect_backoff.py
- test_agent_interactive.py
- test_bot_identity.py
- test_cli_input.py
- test_commands.py
- test_config_diagnostics.py
- test_entry.py
- test_gateway_commands.py
- test_gateway_runtime.py
- test_interactive_retry_wait.py
- test_restart_command.py
- test_safe_file_history.py
- test_session_restore.py
- test_tui_launcher.py
- test_webui_support.py
- test_service.py
- test_tool.py
- test_utils.py
- test_builtin_dream.py
- test_builtin_evaluator_prompt.py
- test_model_command.py
- test_router_dispatchable.py
- test_skill_command.py
- test_stop_pending_queue.py
- test_trigger_command.py
- test_user_shell_command.py
- test_config_atomic_save.py
- test_config_load_errors.py
- test_config_migration.py
- test_config_paths.py
- test_dream_config.py
- test_env_interpolation.py
- test_gateway_config.py
- test_model_presets.py
- test_timezone.py
- test_tool_config_boundaries.py
- test_watcher.py
- test_cron_persistence.py
- test_cron_service.py
- test_cron_tool_list.py
- test_cron_tool_schema_contract.py
- test_session_delivery.py
- test_api_runtime.py
- test_gateway_service.py
- test_runtime.py
- test_store.py
- test_ant_ling_provider.py
- test_anthropic_long_request_fallback.py
- test_anthropic_merge_consecutive.py
- test_anthropic_stream_idle.py
- test_anthropic_thinking.py
- test_anthropic_tool_result.py
- test_azure_openai_provider.py
- test_bedrock_provider.py
- test_cached_tokens.py
- test_conversation_state.py
- test_custom_provider.py
- test_custom_thinking_style.py
- test_edenai_provider.py
- test_enforce_role_alternation.py
- test_extra_body_config.py
- test_extra_query_config.py
- test_github_copilot_concurrent_token.py
- test_github_copilot_enterprise.py
- test_github_copilot_routing.py
- test_image_generation.py
- test_image_generation_security.py
- test_litellm_kwargs.py
- test_llm_response.py
- test_local_endpoint_detection.py
- test_longcat_provider.py
- test_minimax_anthropic_provider.py
- test_mistral_provider.py
- test_modelscope_provider.py
- test_novita_provider.py
- test_openai_codex_oauth.py
- test_openai_codex_provider.py
- test_openai_compat_timeout.py
- test_openai_responses.py
- test_opencode_provider.py
- test_orcarouter_provider.py
- test_prompt_cache_markers.py
- test_provider_default_headers.py
- test_provider_env_isolation.py
- test_provider_error_metadata.py
- test_provider_retry.py
- test_provider_retry_after_hints.py
- test_provider_sdk_retry_defaults.py
- test_provider_tool_arguments.py
- test_providers_init.py
- test_proxy_env.py
- test_reasoning_content.py
- test_responses_circuit_breaker.py
- test_sanitize_surrogates.py
- test_skywork_provider.py
- test_stepfun_asr.py
- test_stepfun_reasoning.py
- test_stream_idle_timeout_config.py
- test_strip_image_content.py
- test_transcription.py
- test_xai_grok_provider.py
- test_xai_oauth.py
- test_xiaomi_mimo_thinking.py
- test_security_network.py
- test_workspace_policy.py
- test_workspace_sandbox.py
- __init__.py
- test_consolidated_offset_clamp.py
- test_goal_state.py
- test_session_cache.py
- test_session_fsync.py
- test_session_handles.py
- test_session_list_repair_legacy.py
- test_session_location.py
- test_session_messages.py
- test_session_store.py
- test_turn_continuation.py
- __init__.py
- test_apply_patch_tool.py
- test_edit_advanced.py
- test_edit_enhancements.py
- test_exec_allow_patterns.py
- test_exec_env.py
- test_exec_platform.py
- test_exec_security.py
- test_exec_session_tools.py
- test_file_edit_coding_enhancements.py
- test_file_state_store.py
- test_filesystem_tools.py
- test_image_generation_tool.py
- test_mcp_oauth.py
- test_mcp_probe.py
- test_mcp_tool.py
- test_message_tool.py
- test_message_tool_suppress.py
- test_read_enhancements.py
- test_sandbox.py
- test_search_tools.py
- test_session_messages_tool.py
- test_shell_reap.py
- test_tool_descriptions.py
- test_tool_loader.py
- test_tool_registry.py
- test_tool_validation.py
- test_web_fetch_jina_privacy.py
- test_web_fetch_security.py
- test_web_fetch_url_sanitization.py
- test_web_search_tool.py
- test_local_triggers.py
- test_abbreviate_path.py
- test_artifacts.py
- test_file_edit_events.py
- test_gitstore.py
- test_helpers.py
- test_length_recovery_runtime.py
- test_media_decode.py
- test_native_folder_picker.py
- test_restart.py
- test_searchusage.py
- test_strip_think.py
- test_subagent_channel_display.py
- test_token_estimation.py
- test_webui_compat_imports.py
- test_webui_event_projection_equivalence.py
- test_webui_sidebar_state.py
- test_webui_thread_disk.py
- test_webui_transcript.py
- test_webui_turn_helpers.py
- test_webui_websocket_logging.py
- test_webui_workspaces.py
- test_workspace_violation_throttle.py
- test_attachment_ingress.py
- test_build.py
- test_cli_apps_api.py
- test_dev.py
- test_file_preview.py
- test_forking.py
- test_gateway_webui_smoke.py
- test_http_utils.py
- test_ingress_policy.py
- test_mcp_oauth_api.py
- test_mcp_presets_api.py
- test_mcp_presets_runtime.py
- test_session_context.py
- test_session_list_index.py
- test_session_mentions.py
- test_settings_api.py
- test_settings_capabilities.py
- test_settings_models.py
- test_settings_routes.py
- test_settings_services.py
- test_settings_system.py
- test_skills_api.py
- test_skills_marketplace.py
- test_static_assets.py
- test_token_usage.py
- test_transcription_ws.py
- test_version_check.py
- test_ws_http_oauth.py
- test_api_attachment.py
- test_api_stream.py
- test_build_status.py
- test_context_documents.py
- test_docker.sh
- test_document_parsing.py
- test_file_tool_toggle.py
- test_nanobot_facade.py
- test_openai_api.py
- test_package_version.py
- test_tool_contextvars.py
- test_truncate_text_shadowing.py
- BUN-1.3.13-LICENSE.md
- LGPL-2.0.txt
- LGPL-2.1.txt
- build.ts
- conpty_smoke.py
- package-release.py
- prepare-target.ts
- pty_smoke.py
- release-notices.ts
- app.test.ts
- app.ts
- branch-menu.test.ts
- branch-menu.ts
- command-menu.test.ts
- command-menu.ts
- composer-draft.test.ts
- composer-draft.ts
- context-panel.test.ts
- context-panel.ts
- diff-viewer.test.ts
- diff-viewer.ts
- footer-hints.test.ts
- footer-hints.ts
- host.test.ts
- host.ts
- index.ts
- mention-menu.test.ts
- mention-menu.ts
- picker-menu.ts
- platform-keys.ts
- prompt-queue.test.ts
- prompt-queue.ts
- protocol.test.ts
- protocol.ts
- queue-preview.test.ts
- queue-preview.ts
- runtime-controls.ts
- scrollbox.ts
- session-menu.test.ts
- session-menu.ts
- tool-renderers.test.ts
- tool-renderers.ts
- transcript.ts
- bun.lock
- package.json
- README.md
- RELINKING.md
- SOURCE_OFFER.md
- tsconfig.json
- nanobot_apple_touch.png
- nanobot_favicon_32.png
- nanobot_icon_192.png
- nanobot_icon_512.png
- nanobot_icon_maskable.png
- nanobot_mark.svg
- manifest.json
- sw.js
- i18n.ts
- locale-registry.ts
- registry.ts
- types.ts
- ImageGenerationSettings.tsx
- SecuritySettings.tsx
- TranscriptionSettings.tsx
- useCapabilitySettingsActions.ts
- useCapabilitySettingsState.ts
- WebSettings.tsx
- catalog.ts
- ChannelIdentity.tsx
- ChannelInstancesPanel.tsx
- ChannelQrConnectFlow.tsx
- ChannelSetupPanel.tsx
- ChannelSetupParts.tsx
- CredentialForm.tsx
- ModelsSettings.tsx
- ProviderSettings.tsx
- useModelSettingsActions.ts
- useModelSettingsEffects.ts
- useModelSettingsState.ts
- OverviewSettings.tsx
- ModelControls.tsx
- SettingsControls.tsx
- AppsSettings.tsx
- AutomationsSettings.tsx
- ChannelsSettings.tsx
- createSystemSettingsActions.ts
- McpManagementDialog.tsx
- RuntimeSettings.tsx
- useSystemSettingsEffects.ts
- useSystemSettingsState.ts
- contracts.ts
- SettingsPage.tsx
- SettingsSidebar.tsx
- SettingsView.tsx
- SkillsCatalogSettings.tsx
- SkillsMarketplace.tsx
- ToggleButton.tsx
- TokenUsageHeatmap.tsx
- useSettingsController.ts
- activity-message-model.ts
- activity-text.ts
- ActivityStep.tsx
- DiffPair.tsx
- DiffSyntaxHighlight.tsx
- FileEditRow.tsx
- generic-tool-model.ts
- GenericToolRun.tsx
- mcp-activity-model.ts
- reasoning-preview.ts
- ReasoningRow.tsx
- ThinkingReasoningShell.tsx
- trace-activity-model.ts
- web-search-model.ts
- web-url.ts
- WebActivityRow.tsx
- WebSearchRun.tsx
- AgentActivityCluster.tsx
- AssistantSelectionAction.tsx
- ModelPresetBadge.tsx
- promptNavigation.ts
- PromptNavigator.tsx
- PromptRail.tsx
- SessionInfoPopover.tsx
- StreamErrorNotice.tsx
- thread-camera.ts
- thread-motion.ts
- ThreadComposer.tsx
- ThreadHeader.tsx
- ThreadMessages.tsx
- ThreadShell.tsx
- ThreadViewport.tsx
- WorkspaceControls.tsx
- alert-dialog.tsx
- button.tsx
- combobox.tsx
- dialog.tsx
- dropdown-menu.tsx
- floating-surface.ts
- form-control.ts
- input.tsx
- popover.tsx
- segmented-control.tsx
- sheet.tsx
- textarea.tsx
- tooltip.tsx
- PaneWorkbench.tsx
- workbench-layout.ts
- workbench-model.ts
- AttachmentTile.tsx
- ChatList.tsx
- CliAppMentionText.tsx
- CodeBlock.tsx
- ConnectionBadge.tsx
- DeleteConfirm.tsx
- FilePreviewAvailabilityContext.tsx
- FilePreviewPanel.tsx
- FileReferenceChip.tsx
- ImageLightbox.tsx
- InlineTokenHighlight.tsx
- LanguageSwitcher.tsx
- MarkdownText.tsx
- MarkdownTextRenderer.tsx
- MessageBubble.tsx
- RenameChatDialog.tsx
- SessionHandleLabel.tsx
- SessionSearchDialog.tsx
- Sidebar.tsx
- SidebarSelectionHighlight.tsx
- SlashCommandText.tsx
- UserMessageText.tsx
- useAttachedImages.ts
- useClipboardAndDrop.ts
- useDeferredTitleRefresh.ts
- useFileEditDisplayMode.ts
- useLogoFallback.ts
- useMediaQuery.ts
- useNanobotStream.ts
- usePageVisibility.ts
- useSessionAutomationJobs.ts
- useSessions.ts
- useSidebarState.ts
- useSkills.ts
- useTheme.ts
- useVoiceRecorder.ts
- common.json
- common.json
- common.json
- common.json
- common.json
- common.json
- common.json
- common.json
- common.json
- common.json
- config.ts
- index.ts
- activity-timeline.ts
- ansi.ts
- api.ts
- bootstrap.ts
- chat-groups.ts
- cli-app-events.ts
- clipboard.ts
- code-language.ts
- file-diff.ts
- format.ts
- http.ts
- imageEncode.ts
- local-preferences.ts
- mcp-preset-events.ts
- media.ts
- nanobot-client.ts
- network.ts
- provider-brand.ts
- remark-tex-math.ts
- runtime.ts
- session-drag.ts
- session-handle.ts
- skill-events.ts
- slash-command.ts
- subagent-channel-display.ts
- temporary-chat.ts
- thread-display-compat.ts
- thread-event-projection.ts
- tool-traces.ts
- types.ts
- user-message-quote.ts
- utils.ts
- workspace.ts
- ClientProvider.tsx
- live-replay-event-projection.json
- activity-message-model.test.ts
- agent-activity-cluster.test.tsx
- api.test.ts
- app-layout.test.tsx
- bootstrap.test.ts
- channel-catalog.test.ts
- channel-identity.test.ts
- channel-locale-registry.test.ts
- channel-ui-registry.test.ts
- chat-list.test.tsx
- code-block.test.tsx
- code-language.test.ts
- combobox.test.tsx
- diff-syntax-highlight.integration.test.tsx
- diff-syntax-highlight.test.tsx
- file-preview-panel.test.tsx
- form-controls.test.tsx
- format.i18n.test.ts
- generic-tool-model.test.ts
- i18n.test.tsx
- index-html.test.ts
- main-pwa-registration-unavailable.test.tsx
- main-pwa-registration.test.tsx
- main-randomuuid.test.tsx
- markdown-text-lazy-failure.test.tsx
- markdown-text-renderer.test.tsx
- markdown-text.test.tsx
- mcp-activity-model.test.ts
- mcp-management-dialog.test.tsx
- message-bubble.test.tsx
- nanobot-client.test.ts
- network.test.ts
- pane-workbench.test.tsx
- provider-brand.test.ts
- runtime.test.ts
- session-info-popover.test.tsx
- session-search-dialog.test.tsx
- settings-apps-oauth.test.tsx
- settings-capabilities.test.tsx
- settings-channels.test.tsx
- settings-models.test.tsx
- settings-overview.test.tsx
- settings-providers.test.tsx
- settings-system.test.tsx
- settings-test-utils.tsx
- setup.ts
- skills-marketplace.test.tsx
- subagent-channel-display.test.ts
- sw.test.ts
- thinking-reasoning-shell.test.tsx
- thread-camera.test.ts
- thread-composer-attach.test.tsx
- thread-composer.test.tsx
- thread-display-compat.test.ts
- thread-messages.test.tsx
- thread-motion.test.ts
- thread-shell.test.tsx
- thread-viewport.test.tsx
- tool-traces.test.ts
- trace-activity-model.test.ts
- ui-shape-system.test.tsx
- useDeferredTitleRefresh.test.tsx
- useFileEditDisplayMode.test.tsx
- useLogoFallback.test.tsx
- useNanobotStream.test.tsx
- usePageVisibility.test.tsx
- user-message-quote.test.ts
- useSessions.test.tsx
- useSidebarState.test.tsx
- vite-config.test.ts
- web-url.test.ts
- workbench-model.test.ts
- react-syntax-highlighter-subpaths.d.ts
- imageEncode.worker.ts
- App.tsx
- globals.css
- main.tsx
- .gitignore
- bun.lock
- components.json
- eslint.config.js
- index.html
- package-lock.json
- package.json
- postcss.config.js
- README.md
- tailwind.config.js
- tsconfig.build.json
- tsconfig.json
- vite.config.ts
- .dockerignore
- .gitattributes
- .gitignore
- AGENTS.md
- CLAUDE.md
- COMMUNICATION.md
- conftest.py
- CONTRIBUTING.md
- core_agent_lines.sh
- docker-compose.bwrap.yml
- docker-compose.yml
- Dockerfile
- entrypoint.sh
- hatch_build.py
- LICENSE
- pyproject.toml
- README.md
- render-config.json
- render.yaml
- SECURITY.md
- THIRD_PARTY_NOTICES.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/HKUDS/nanobot
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd nanobot
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh
공식 설치 스크립트를 다운로드해서 바로 실행합니다. 이 한 줄로 필요한 게 자동으로 설치됩니다.
irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iex
공식 설치 스크립트를 다운로드해서 바로 실행합니다 (PowerShell). 이 한 줄로 필요한 게 자동으로 설치됩니다.
설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker compose -f docker-compose.bwrap.yml up -d --build
compose 설정 파일에 정의된 서비스들을 대상으로 명령을 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
4. Node.js
쉬움사전 준비물
cd tui
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
5. Python
쉬움사전 준비물
python -m pip install nanobot-ai
requirements.txt 등에 명시된 파이썬 라이브러리를 설치합니다.
python -m venv .venv
파이썬 스크립트(또는 모듈)를 실행합니다.
python -m pip install -e .
requirements.txt 등에 명시된 파이썬 라이브러리를 설치합니다.
에러 메시지 없이 실행되고 터미널에 안내 문구가 출력되면 정상입니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
