@lobehub/lobehub 2.0.0-next.382 → 2.0.0-next.384
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.
- package/.eslintrc.js +1 -0
- package/.i18nrc.js +5 -10
- package/.remarkrc.mdx.js +1 -1
- package/CHANGELOG.md +72 -0
- package/README.md +5 -3
- package/apps/desktop/src/main/controllers/LocalFileCtr.ts +25 -1
- package/apps/desktop/src/main/controllers/UpdaterCtr.ts +1 -1
- package/changelog/v1.json +21 -0
- package/docker-compose/local/.env.example +10 -8
- package/docker-compose/local/.env.zh-CN.example +10 -8
- package/docker-compose/local/bucket.config.json +24 -0
- package/docker-compose/local/docker-compose.yml +56 -37
- package/docker-compose/setup.sh +65 -30
- package/docs/.cdn.cache.json +404 -1
- package/docs/changelog/2023-09-09-plugin-system.mdx +8 -8
- package/docs/changelog/2023-09-09-plugin-system.zh-CN.mdx +6 -6
- package/docs/changelog/2023-11-14-gpt4-vision.mdx +4 -4
- package/docs/changelog/2023-11-14-gpt4-vision.zh-CN.mdx +4 -4
- package/docs/changelog/2023-11-19-tts-stt.mdx +5 -5
- package/docs/changelog/2023-11-19-tts-stt.zh-CN.mdx +5 -5
- package/docs/changelog/2023-12-22-dalle-3.mdx +4 -4
- package/docs/changelog/2023-12-22-dalle-3.zh-CN.mdx +3 -3
- package/docs/changelog/2024-02-08-sso-oauth.mdx +6 -6
- package/docs/changelog/2024-02-08-sso-oauth.zh-CN.mdx +5 -5
- package/docs/changelog/2024-02-14-ollama.mdx +7 -7
- package/docs/changelog/2024-02-14-ollama.zh-CN.mdx +7 -7
- package/docs/changelog/2024-06-19-lobe-chat-v1.mdx +9 -9
- package/docs/changelog/2024-06-19-lobe-chat-v1.zh-CN.mdx +8 -8
- package/docs/changelog/2024-07-19-gpt-4o-mini.mdx +8 -8
- package/docs/changelog/2024-07-19-gpt-4o-mini.zh-CN.mdx +8 -8
- package/docs/changelog/2024-08-02-lobe-chat-database-docker.mdx +7 -7
- package/docs/changelog/2024-08-02-lobe-chat-database-docker.zh-CN.mdx +7 -7
- package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.mdx +5 -5
- package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.zh-CN.mdx +5 -5
- package/docs/changelog/2024-09-13-openai-o1-models.mdx +6 -6
- package/docs/changelog/2024-09-13-openai-o1-models.zh-CN.mdx +7 -7
- package/docs/changelog/2024-09-20-artifacts.mdx +10 -10
- package/docs/changelog/2024-09-20-artifacts.zh-CN.mdx +10 -10
- package/docs/changelog/2024-10-27-pin-assistant.mdx +4 -4
- package/docs/changelog/2024-10-27-pin-assistant.zh-CN.mdx +4 -4
- package/docs/changelog/2024-11-06-share-text-json.mdx +7 -7
- package/docs/changelog/2024-11-06-share-text-json.zh-CN.mdx +4 -4
- package/docs/changelog/2024-11-25-november-providers.mdx +5 -5
- package/docs/changelog/2024-11-25-november-providers.zh-CN.mdx +5 -5
- package/docs/changelog/2024-11-27-forkable-chat.mdx +4 -4
- package/docs/changelog/2024-11-27-forkable-chat.zh-CN.mdx +4 -4
- package/docs/changelog/2025-01-03-user-profile.mdx +5 -5
- package/docs/changelog/2025-01-03-user-profile.zh-CN.mdx +5 -5
- package/docs/changelog/2025-01-22-new-ai-provider.mdx +4 -4
- package/docs/changelog/2025-01-22-new-ai-provider.zh-CN.mdx +4 -4
- package/docs/changelog/2025-02-02-deepseek-r1.mdx +8 -8
- package/docs/changelog/2025-02-02-deepseek-r1.zh-CN.mdx +6 -6
- package/docs/changelog/2025-03-02-new-models.zh-CN.mdx +28 -0
- package/docs/changelog/2025-04-06-exports.zh-CN.mdx +32 -0
- package/docs/changelog/2025-05-08-desktop-app.zh-CN.mdx +35 -0
- package/docs/changelog/2025-06-08-claude-4.zh-CN.mdx +20 -0
- package/docs/changelog/2025-07-08-mcp-market.zh-CN.mdx +28 -0
- package/docs/changelog/2025-08-08-image-generation.zh-CN.mdx +28 -0
- package/docs/changelog/2025-09-08-gemini.zh-CN.mdx +24 -0
- package/docs/changelog/2025-10-08-python.zh-CN.mdx +29 -0
- package/docs/changelog/2025-11-08-comfy-ui.zh-CN.mdx +28 -0
- package/docs/changelog/2025-12-20-mcp.zh-CN.mdx +26 -0
- package/docs/changelog/index.json +60 -0
- package/docs/development/basic/add-new-authentication-providers.mdx +10 -19
- package/docs/development/basic/add-new-authentication-providers.zh-CN.mdx +11 -3
- package/docs/development/basic/add-new-image-model.mdx +7 -0
- package/docs/development/basic/add-new-image-model.zh-CN.mdx +5 -0
- package/docs/development/basic/architecture.mdx +19 -10
- package/docs/development/basic/architecture.zh-CN.mdx +17 -10
- package/docs/development/basic/chat-api.mdx +9 -1
- package/docs/development/basic/chat-api.zh-CN.mdx +7 -1
- package/docs/development/basic/comfyui-development.mdx +3 -3
- package/docs/development/basic/comfyui-development.zh-CN.mdx +4 -4
- package/docs/development/basic/contributing-guidelines.mdx +12 -3
- package/docs/development/basic/contributing-guidelines.zh-CN.mdx +10 -3
- package/docs/development/basic/feature-development-frontend.mdx +15 -6
- package/docs/development/basic/feature-development-frontend.zh-CN.mdx +13 -6
- package/docs/development/basic/feature-development.mdx +16 -9
- package/docs/development/basic/feature-development.zh-CN.mdx +15 -9
- package/docs/development/basic/folder-structure.mdx +10 -1
- package/docs/development/basic/folder-structure.zh-CN.mdx +8 -1
- package/docs/development/basic/resources.mdx +12 -3
- package/docs/development/basic/resources.zh-CN.mdx +10 -3
- package/docs/development/basic/setup-development.mdx +19 -8
- package/docs/development/basic/setup-development.zh-CN.mdx +15 -8
- package/docs/development/basic/test.mdx +12 -3
- package/docs/development/basic/test.zh-CN.mdx +9 -3
- package/docs/development/basic/work-with-server-side-database.mdx +10 -3
- package/docs/development/basic/work-with-server-side-database.zh-CN.mdx +10 -3
- package/docs/development/internationalization/add-new-locale.mdx +13 -6
- package/docs/development/internationalization/add-new-locale.zh-CN.mdx +13 -6
- package/docs/development/internationalization/internationalization-implementation.mdx +16 -7
- package/docs/development/internationalization/internationalization-implementation.zh-CN.mdx +13 -7
- package/docs/development/others/lighthouse.mdx +11 -6
- package/docs/development/others/lighthouse.zh-CN.mdx +12 -6
- package/docs/development/start.mdx +18 -9
- package/docs/development/start.zh-CN.mdx +16 -9
- package/docs/development/state-management/state-management-intro.mdx +17 -9
- package/docs/development/state-management/state-management-intro.zh-CN.mdx +13 -7
- package/docs/development/state-management/state-management-selectors.mdx +12 -3
- package/docs/development/state-management/state-management-selectors.zh-CN.mdx +10 -3
- package/docs/development/tests/integration-testing.mdx +410 -0
- package/docs/development/tests/integration-testing.zh-CN.mdx +8 -2
- package/docs/glossary.md +7 -7
- package/docs/glossary.zh-CN.md +13 -0
- package/docs/self-hosting/advanced/analytics.mdx +4 -4
- package/docs/self-hosting/advanced/analytics.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/auth/clerk.mdx +4 -4
- package/docs/self-hosting/advanced/auth/clerk.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +13 -13
- package/docs/self-hosting/advanced/auth/next-auth/auth0.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +10 -10
- package/docs/self-hosting/advanced/auth/next-auth/authelia.zh-CN.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/authentik.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +16 -16
- package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/github.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/github.zh-CN.mdx +12 -12
- package/docs/self-hosting/advanced/auth/next-auth/google.mdx +10 -12
- package/docs/self-hosting/advanced/auth/next-auth/google.zh-CN.mdx +77 -0
- package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +19 -19
- package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +17 -17
- package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +9 -9
- package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.zh-CN.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/wechat.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/zitadel.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth.mdx +37 -15
- package/docs/self-hosting/advanced/auth.zh-CN.mdx +36 -13
- package/docs/self-hosting/advanced/desktop.mdx +12 -12
- package/docs/self-hosting/advanced/desktop.zh-CN.mdx +12 -12
- package/docs/self-hosting/advanced/feature-flags.mdx +5 -5
- package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +5 -5
- package/docs/self-hosting/advanced/knowledge-base.mdx +8 -8
- package/docs/self-hosting/advanced/knowledge-base.zh-CN.mdx +7 -7
- package/docs/self-hosting/advanced/model-list.mdx +4 -4
- package/docs/self-hosting/advanced/model-list.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/observability/grafana.mdx +7 -7
- package/docs/self-hosting/advanced/observability/grafana.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/observability/langfuse.mdx +13 -13
- package/docs/self-hosting/advanced/observability/langfuse.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/online-search.mdx +6 -6
- package/docs/self-hosting/advanced/online-search.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/s3/cloudflare-r2.mdx +13 -13
- package/docs/self-hosting/advanced/s3/cloudflare-r2.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/s3/rustfs.mdx +142 -0
- package/docs/self-hosting/advanced/s3/rustfs.zh-CN.mdx +143 -0
- package/docs/self-hosting/advanced/s3/tencent-cloud.mdx +4 -4
- package/docs/self-hosting/advanced/s3/tencent-cloud.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/s3.mdx +4 -4
- package/docs/self-hosting/advanced/s3.zh-CN.mdx +1 -1
- package/docs/self-hosting/advanced/settings-url-share.mdx +4 -4
- package/docs/self-hosting/advanced/settings-url-share.zh-CN.mdx +5 -5
- package/docs/self-hosting/advanced/upstream-sync.mdx +11 -11
- package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +11 -11
- package/docs/self-hosting/environment-variables/analytics.mdx +5 -5
- package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +3 -3
- package/docs/self-hosting/environment-variables/auth.mdx +3 -3
- package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +4 -4
- package/docs/self-hosting/environment-variables/basic.mdx +15 -15
- package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +14 -14
- package/docs/self-hosting/environment-variables/model-provider.mdx +2 -2
- package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +4 -4
- package/docs/self-hosting/environment-variables/s3.mdx +2 -2
- package/docs/self-hosting/environment-variables/s3.zh-CN.mdx +2 -2
- package/docs/self-hosting/environment-variables.mdx +7 -7
- package/docs/self-hosting/environment-variables.zh-CN.mdx +4 -4
- package/docs/self-hosting/examples/azure-openai.mdx +5 -4
- package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +4 -3
- package/docs/self-hosting/examples/ollama.mdx +10 -10
- package/docs/self-hosting/examples/ollama.zh-CN.mdx +9 -9
- package/docs/self-hosting/faq/no-v1-suffix.mdx +2 -4
- package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +2 -2
- package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +2 -2
- package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +2 -2
- package/docs/self-hosting/platform/alibaba-cloud.mdx +8 -7
- package/docs/self-hosting/platform/alibaba-cloud.zh-CN.mdx +5 -5
- package/docs/self-hosting/platform/btpanel.mdx +12 -12
- package/docs/self-hosting/platform/btpanel.zh-CN.mdx +11 -11
- package/docs/self-hosting/platform/docker-compose.mdx +4 -4
- package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +4 -4
- package/docs/self-hosting/platform/docker.mdx +6 -6
- package/docs/self-hosting/platform/docker.zh-CN.mdx +8 -8
- package/docs/self-hosting/platform/netlify.mdx +27 -26
- package/docs/self-hosting/platform/netlify.zh-CN.mdx +24 -23
- package/docs/self-hosting/platform/railway.mdx +7 -7
- package/docs/self-hosting/platform/railway.zh-CN.mdx +6 -4
- package/docs/self-hosting/platform/repocloud.mdx +7 -7
- package/docs/self-hosting/platform/repocloud.zh-CN.mdx +4 -4
- package/docs/self-hosting/platform/sealos.mdx +6 -6
- package/docs/self-hosting/platform/sealos.zh-CN.mdx +5 -4
- package/docs/self-hosting/platform/tencentcloud-lighthouse.mdx +9 -7
- package/docs/self-hosting/platform/tencentcloud-lighthouse.zh-CN.mdx +5 -5
- package/docs/self-hosting/platform/vercel.mdx +7 -6
- package/docs/self-hosting/platform/vercel.zh-CN.mdx +6 -5
- package/docs/self-hosting/platform/zeabur.mdx +9 -9
- package/docs/self-hosting/platform/zeabur.zh-CN.mdx +9 -8
- package/docs/self-hosting/server-database/docker-compose.mdx +37 -37
- package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +37 -37
- package/docs/self-hosting/server-database/docker.mdx +17 -12
- package/docs/self-hosting/server-database/docker.zh-CN.mdx +18 -12
- package/docs/self-hosting/server-database/dokploy.mdx +24 -24
- package/docs/self-hosting/server-database/dokploy.zh-CN.mdx +20 -20
- package/docs/self-hosting/server-database/netlify.mdx +4 -4
- package/docs/self-hosting/server-database/netlify.zh-CN.mdx +4 -4
- package/docs/self-hosting/server-database/railway.mdx +4 -4
- package/docs/self-hosting/server-database/railway.zh-CN.mdx +4 -4
- package/docs/self-hosting/server-database/repocloud.mdx +5 -5
- package/docs/self-hosting/server-database/repocloud.zh-CN.mdx +5 -5
- package/docs/self-hosting/server-database/sealos.mdx +5 -5
- package/docs/self-hosting/server-database/sealos.zh-CN.mdx +5 -5
- package/docs/self-hosting/server-database/vercel.mdx +76 -27
- package/docs/self-hosting/server-database/vercel.zh-CN.mdx +73 -26
- package/docs/self-hosting/server-database/zeabur.mdx +14 -14
- package/docs/self-hosting/server-database/zeabur.zh-CN.mdx +14 -14
- package/docs/self-hosting/server-database.mdx +30 -12
- package/docs/self-hosting/server-database.zh-CN.mdx +26 -9
- package/docs/self-hosting/start.mdx +6 -6
- package/docs/self-hosting/start.zh-CN.mdx +5 -5
- package/docs/usage/agent/agent-team.mdx +66 -0
- package/docs/usage/agent/agent-team.zh-CN.mdx +64 -0
- package/docs/usage/agent/gtd.mdx +35 -0
- package/docs/usage/agent/gtd.zh-CN.mdx +33 -0
- package/docs/usage/agent/notebook.mdx +65 -0
- package/docs/usage/agent/notebook.zh-CN.mdx +56 -0
- package/docs/usage/agent/sandbox.mdx +79 -0
- package/docs/usage/agent/sandbox.zh-CN.mdx +73 -0
- package/docs/usage/agent/scheduled-task.mdx +27 -0
- package/docs/usage/agent/scheduled-task.zh-CN.mdx +25 -0
- package/docs/usage/agent/share.mdx +92 -0
- package/docs/usage/agent/share.zh-CN.mdx +60 -0
- package/docs/usage/agent/topic.mdx +59 -0
- package/docs/usage/agent/topic.zh-CN.mdx +57 -0
- package/docs/usage/agent/translate.mdx +32 -0
- package/docs/usage/agent/translate.zh-CN.mdx +29 -0
- package/docs/usage/agent/tts-stt.mdx +38 -0
- package/docs/usage/agent/tts-stt.zh-CN.mdx +36 -0
- package/docs/usage/community/agent-market.mdx +44 -0
- package/docs/usage/community/agent-market.zh-CN.mdx +41 -0
- package/docs/usage/community/become-a-creator.mdx +27 -0
- package/docs/usage/community/become-a-creator.zh-CN.mdx +25 -0
- package/docs/usage/community/custom-plugin.mdx +37 -0
- package/docs/usage/community/custom-plugin.zh-CN.mdx +35 -0
- package/docs/usage/community/mcp-market.mdx +32 -0
- package/docs/usage/community/mcp-market.zh-CN.mdx +30 -0
- package/docs/usage/community/publish-agent.mdx +30 -0
- package/docs/usage/community/publish-agent.zh-CN.mdx +27 -0
- package/docs/usage/community/pulgin-development.mdx +281 -0
- package/docs/usage/{plugins/development.zh-CN.mdx → community/pulgin-development.zh-CN.mdx} +24 -23
- package/docs/usage/getting-started/agent.mdx +105 -0
- package/docs/usage/getting-started/agent.zh-CN.mdx +103 -0
- package/docs/usage/getting-started/get-lobehub.mdx +41 -0
- package/docs/usage/getting-started/get-lobehub.zh-CN.mdx +39 -0
- package/docs/usage/getting-started/image-generation.mdx +54 -0
- package/docs/usage/getting-started/image-generation.zh-CN.mdx +52 -0
- package/docs/usage/getting-started/lobe-ai.mdx +34 -0
- package/docs/usage/getting-started/lobe-ai.zh-CN.mdx +32 -0
- package/docs/usage/getting-started/memory.mdx +72 -0
- package/docs/usage/getting-started/memory.zh-CN.mdx +68 -0
- package/docs/usage/getting-started/page.mdx +62 -0
- package/docs/usage/getting-started/page.zh-CN.mdx +60 -0
- package/docs/usage/getting-started/resource.mdx +67 -0
- package/docs/usage/getting-started/resource.zh-CN.mdx +65 -0
- package/docs/usage/help.mdx +38 -0
- package/docs/usage/help.zh-CN.mdx +36 -0
- package/docs/usage/migrate-from-local-database.mdx +118 -0
- package/docs/usage/migrate-from-local-database.zh-CN.mdx +115 -0
- package/docs/usage/providers/ai21.mdx +21 -22
- package/docs/usage/providers/ai21.zh-CN.mdx +12 -12
- package/docs/usage/providers/ai302.mdx +23 -21
- package/docs/usage/providers/ai302.zh-CN.mdx +8 -8
- package/docs/usage/providers/ai360.mdx +23 -22
- package/docs/usage/providers/ai360.zh-CN.mdx +12 -12
- package/docs/usage/providers/aihubmix.mdx +98 -0
- package/docs/usage/providers/aihubmix.zh-CN.mdx +5 -5
- package/docs/usage/providers/anthropic.mdx +25 -28
- package/docs/usage/providers/anthropic.zh-CN.mdx +13 -13
- package/docs/usage/providers/azure.mdx +25 -30
- package/docs/usage/providers/azure.zh-CN.mdx +14 -14
- package/docs/usage/providers/azureai.mdx +32 -32
- package/docs/usage/providers/azureai.zh-CN.mdx +15 -15
- package/docs/usage/providers/baichuan.mdx +21 -21
- package/docs/usage/providers/baichuan.zh-CN.mdx +12 -12
- package/docs/usage/providers/bedrock.mdx +41 -41
- package/docs/usage/providers/bedrock.zh-CN.mdx +19 -19
- package/docs/usage/providers/bfl.mdx +22 -23
- package/docs/usage/providers/bfl.zh-CN.mdx +8 -10
- package/docs/usage/providers/cloudflare.mdx +27 -27
- package/docs/usage/providers/cloudflare.zh-CN.mdx +13 -13
- package/docs/usage/providers/comfyui.mdx +90 -650
- package/docs/usage/providers/comfyui.zh-CN.mdx +20 -20
- package/docs/usage/providers/deepseek.mdx +28 -30
- package/docs/usage/providers/deepseek.zh-CN.mdx +14 -14
- package/docs/usage/providers/fal.mdx +23 -24
- package/docs/usage/providers/fal.zh-CN.mdx +8 -10
- package/docs/usage/providers/fireworksai.mdx +21 -23
- package/docs/usage/providers/fireworksai.zh-CN.mdx +13 -13
- package/docs/usage/providers/giteeai.mdx +24 -26
- package/docs/usage/providers/giteeai.zh-CN.mdx +13 -13
- package/docs/usage/providers/github.mdx +30 -28
- package/docs/usage/providers/github.zh-CN.mdx +14 -14
- package/docs/usage/providers/google.mdx +25 -26
- package/docs/usage/providers/google.zh-CN.mdx +13 -13
- package/docs/usage/providers/groq.mdx +20 -25
- package/docs/usage/providers/groq.zh-CN.mdx +12 -12
- package/docs/usage/providers/hunyuan.mdx +22 -23
- package/docs/usage/providers/hunyuan.zh-CN.mdx +13 -13
- package/docs/usage/providers/infiniai.mdx +21 -14
- package/docs/usage/providers/infiniai.zh-CN.mdx +7 -7
- package/docs/usage/providers/internlm.mdx +23 -25
- package/docs/usage/providers/internlm.zh-CN.mdx +12 -12
- package/docs/usage/providers/jina.mdx +25 -24
- package/docs/usage/providers/jina.zh-CN.mdx +12 -12
- package/docs/usage/providers/lmstudio.mdx +41 -39
- package/docs/usage/providers/lmstudio.zh-CN.mdx +16 -16
- package/docs/usage/providers/minimax.mdx +28 -29
- package/docs/usage/providers/minimax.zh-CN.mdx +15 -15
- package/docs/usage/providers/mistral.mdx +21 -24
- package/docs/usage/providers/mistral.zh-CN.mdx +11 -11
- package/docs/usage/providers/modelscope.mdx +53 -33
- package/docs/usage/providers/modelscope.zh-CN.mdx +4 -4
- package/docs/usage/providers/moonshot.mdx +19 -22
- package/docs/usage/providers/moonshot.zh-CN.mdx +11 -11
- package/docs/usage/providers/novita.mdx +25 -24
- package/docs/usage/providers/novita.zh-CN.mdx +13 -13
- package/docs/usage/providers/nvidia.mdx +26 -25
- package/docs/usage/providers/nvidia.zh-CN.mdx +13 -13
- package/docs/usage/providers/ollama/gemma.mdx +20 -21
- package/docs/usage/providers/ollama/gemma.zh-CN.mdx +11 -11
- package/docs/usage/providers/ollama/qwen.mdx +22 -24
- package/docs/usage/providers/ollama/qwen.zh-CN.mdx +11 -11
- package/docs/usage/providers/ollama.mdx +56 -56
- package/docs/usage/providers/ollama.zh-CN.mdx +22 -22
- package/docs/usage/providers/openai.mdx +25 -27
- package/docs/usage/providers/openai.zh-CN.mdx +10 -10
- package/docs/usage/providers/openrouter.mdx +33 -36
- package/docs/usage/providers/openrouter.zh-CN.mdx +15 -15
- package/docs/usage/providers/perplexity.mdx +18 -19
- package/docs/usage/providers/perplexity.zh-CN.mdx +11 -11
- package/docs/usage/providers/ppio.mdx +25 -26
- package/docs/usage/providers/ppio.zh-CN.mdx +15 -15
- package/docs/usage/providers/qiniu.mdx +29 -30
- package/docs/usage/providers/qiniu.zh-CN.mdx +8 -8
- package/docs/usage/providers/qwen.mdx +29 -30
- package/docs/usage/providers/qwen.zh-CN.mdx +14 -14
- package/docs/usage/providers/sambanova.mdx +23 -22
- package/docs/usage/providers/sambanova.zh-CN.mdx +12 -12
- package/docs/usage/providers/sensenova.mdx +27 -29
- package/docs/usage/providers/sensenova.zh-CN.mdx +13 -13
- package/docs/usage/providers/siliconcloud.mdx +21 -22
- package/docs/usage/providers/siliconcloud.zh-CN.mdx +12 -12
- package/docs/usage/providers/spark.mdx +25 -25
- package/docs/usage/providers/spark.zh-CN.mdx +13 -13
- package/docs/usage/providers/stepfun.mdx +21 -22
- package/docs/usage/providers/stepfun.zh-CN.mdx +11 -11
- package/docs/usage/providers/taichu.mdx +21 -21
- package/docs/usage/providers/taichu.zh-CN.mdx +12 -12
- package/docs/usage/providers/tencentcloud.mdx +26 -24
- package/docs/usage/providers/tencentcloud.zh-CN.mdx +12 -12
- package/docs/usage/providers/togetherai.mdx +23 -23
- package/docs/usage/providers/togetherai.zh-CN.mdx +13 -13
- package/docs/usage/providers/upstage.mdx +23 -22
- package/docs/usage/providers/upstage.zh-CN.mdx +12 -12
- package/docs/usage/providers/vercel-ai-gateway.mdx +27 -29
- package/docs/usage/providers/vercel-ai-gateway.zh-CN.mdx +8 -9
- package/docs/usage/providers/vertexai.mdx +31 -29
- package/docs/usage/providers/vertexai.zh-CN.mdx +14 -14
- package/docs/usage/providers/vllm.mdx +31 -32
- package/docs/usage/providers/vllm.zh-CN.mdx +11 -11
- package/docs/usage/providers/volcengine.mdx +23 -22
- package/docs/usage/providers/volcengine.zh-CN.mdx +12 -12
- package/docs/usage/providers/wenxin.mdx +29 -30
- package/docs/usage/providers/wenxin.zh-CN.mdx +14 -14
- package/docs/usage/providers/xai.mdx +23 -25
- package/docs/usage/providers/xai.zh-CN.mdx +12 -12
- package/docs/usage/providers/zeroone.mdx +31 -29
- package/docs/usage/providers/zeroone.zh-CN.mdx +14 -16
- package/docs/usage/providers/zhipu.mdx +20 -21
- package/docs/usage/providers/zhipu.zh-CN.mdx +11 -11
- package/docs/usage/providers.mdx +14 -12
- package/docs/usage/providers.zh-CN.mdx +7 -7
- package/docs/usage/start.mdx +22 -51
- package/docs/usage/start.zh-CN.mdx +16 -44
- package/docs/usage/user-interface/appearance.mdx +53 -0
- package/docs/usage/user-interface/appearance.zh-CN.mdx +49 -0
- package/docs/usage/user-interface/command-menu.mdx +56 -0
- package/docs/usage/user-interface/command-menu.zh-CN.mdx +47 -0
- package/docs/usage/user-interface/shortcuts.mdx +53 -0
- package/docs/usage/user-interface/shortcuts.zh-CN.mdx +50 -0
- package/docs/usage/user-interface/stats.mdx +53 -0
- package/docs/usage/user-interface/stats.zh-CN.mdx +51 -0
- package/docs/usage/workspace/manage-quota.mdx +30 -0
- package/docs/usage/workspace/manage-quota.zh-CN.mdx +30 -0
- package/docs/usage/workspace/manage-team.mdx +31 -0
- package/docs/usage/workspace/manage-team.zh-CN.mdx +30 -0
- package/docs/wiki/HOME.zh-CN.md +11 -0
- package/locales/ar/discover.json +2 -0
- package/locales/ar/file.json +3 -0
- package/locales/ar/models.json +43 -0
- package/locales/bg-BG/discover.json +2 -0
- package/locales/bg-BG/file.json +3 -0
- package/locales/bg-BG/models.json +2 -0
- package/locales/de-DE/discover.json +2 -0
- package/locales/de-DE/file.json +3 -0
- package/locales/de-DE/models.json +29 -0
- package/locales/en-US/common.json +1 -0
- package/locales/en-US/discover.json +2 -0
- package/locales/en-US/file.json +3 -0
- package/locales/es-ES/discover.json +2 -0
- package/locales/es-ES/file.json +3 -0
- package/locales/es-ES/models.json +9 -0
- package/locales/fa-IR/discover.json +2 -0
- package/locales/fa-IR/file.json +3 -0
- package/locales/fa-IR/models.json +55 -0
- package/locales/fr-FR/discover.json +2 -0
- package/locales/fr-FR/file.json +3 -0
- package/locales/fr-FR/models.json +34 -0
- package/locales/it-IT/discover.json +2 -0
- package/locales/it-IT/file.json +3 -0
- package/locales/it-IT/models.json +46 -0
- package/locales/ja-JP/discover.json +2 -0
- package/locales/ja-JP/file.json +3 -0
- package/locales/ja-JP/models.json +36 -0
- package/locales/ko-KR/discover.json +2 -0
- package/locales/ko-KR/file.json +3 -0
- package/locales/ko-KR/models.json +46 -0
- package/locales/nl-NL/discover.json +2 -0
- package/locales/nl-NL/file.json +3 -0
- package/locales/nl-NL/models.json +48 -0
- package/locales/pl-PL/discover.json +2 -0
- package/locales/pl-PL/file.json +3 -0
- package/locales/pl-PL/models.json +29 -0
- package/locales/pt-BR/discover.json +2 -0
- package/locales/pt-BR/file.json +3 -0
- package/locales/pt-BR/models.json +38 -0
- package/locales/ru-RU/discover.json +2 -0
- package/locales/ru-RU/file.json +3 -0
- package/locales/ru-RU/models.json +33 -0
- package/locales/tr-TR/discover.json +2 -0
- package/locales/tr-TR/file.json +3 -0
- package/locales/tr-TR/models.json +52 -0
- package/locales/vi-VN/discover.json +2 -0
- package/locales/vi-VN/file.json +3 -0
- package/locales/vi-VN/models.json +9 -0
- package/locales/zh-CN/common.json +1 -0
- package/locales/zh-CN/discover.json +2 -0
- package/locales/zh-CN/file.json +3 -0
- package/locales/zh-CN/models.json +100 -0
- package/locales/zh-TW/discover.json +2 -0
- package/locales/zh-TW/file.json +3 -0
- package/locales/zh-TW/models.json +45 -0
- package/package.json +5 -3
- package/packages/builtin-tool-group-agent-builder/src/ExecutionRuntime/index.ts +11 -0
- package/packages/builtin-tool-group-agent-builder/src/systemRole.ts +37 -7
- package/packages/electron-client-ipc/src/types/localSystem.ts +27 -0
- package/packages/model-runtime/src/core/contextBuilders/google.test.ts +73 -0
- package/packages/model-runtime/src/core/contextBuilders/google.ts +10 -0
- package/packages/observability-otel/src/api.ts +2 -2
- package/packages/types/src/discover/assistants.ts +2 -0
- package/packages/types/src/discover/groupAgents.ts +8 -0
- package/scripts/cdnWorkflow/index.ts +2 -0
- package/scripts/docsWorkflow/autoCDN.ts +172 -0
- package/scripts/docsWorkflow/optimized.ts +21 -0
- package/scripts/docsWorkflow/utils.ts +87 -0
- package/src/app/(backend)/middleware/auth/index.ts +27 -1
- package/src/app/[variants]/(main)/community/(detail)/agent/features/AgentForkTag.tsx +59 -0
- package/src/app/[variants]/(main)/community/(detail)/agent/features/Header.tsx +9 -36
- package/src/app/[variants]/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx +57 -0
- package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Header.tsx +18 -2
- package/src/app/[variants]/(main)/community/(detail)/user/features/UserAgentCard.tsx +11 -3
- package/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupCard.tsx +11 -3
- package/src/app/[variants]/(main)/group/profile/features/GroupProfile/index.tsx +15 -1
- package/src/app/[variants]/(main)/group/profile/features/MemberProfile/index.tsx +15 -1
- package/src/app/[variants]/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx +2 -2
- package/src/app/[variants]/(main)/settings/about/features/Version.tsx +10 -2
- package/src/features/EditorCanvas/EditorDataMode.tsx +16 -10
- package/src/features/PageEditor/Header/index.tsx +1 -0
- package/src/features/PageEditor/Header/useMenu.tsx +22 -11
- package/src/instrumentation.ts +9 -2
- package/src/layout/GlobalProvider/index.tsx +2 -1
- package/src/libs/observability/traceparent.test.ts +69 -0
- package/src/libs/observability/traceparent.ts +110 -0
- package/src/libs/trpc/lambda/context.test.ts +13 -0
- package/src/libs/trpc/lambda/context.ts +15 -6
- package/src/libs/trpc/middleware/openTelemetry.test.ts +93 -0
- package/src/libs/trpc/middleware/openTelemetry.ts +18 -7
- package/src/locales/default/common.ts +1 -0
- package/src/locales/default/discover.ts +3 -0
- package/src/locales/default/file.ts +3 -0
- package/src/server/services/discover/index.ts +7 -0
- package/src/services/electron/desktopExportService.tsx +61 -0
- package/src/services/electron/localFileService.ts +7 -0
- package/src/store/agent/selectors/agentByIdSelectors.ts +7 -0
- package/src/store/groupProfile/action.ts +15 -0
- package/src/store/groupProfile/initialState.ts +9 -0
- package/src/store/tool/slices/mcpStore/action.ts +8 -7
- package/docs/usage/agents/agent-organization.mdx +0 -53
- package/docs/usage/agents/agent-organization.zh-CN.mdx +0 -51
- package/docs/usage/agents/concepts.mdx +0 -40
- package/docs/usage/agents/concepts.zh-CN.mdx +0 -38
- package/docs/usage/agents/custom-agent.mdx +0 -57
- package/docs/usage/agents/custom-agent.zh-CN.mdx +0 -53
- package/docs/usage/agents/model.mdx +0 -95
- package/docs/usage/agents/model.zh-CN.mdx +0 -88
- package/docs/usage/agents/prompt.mdx +0 -108
- package/docs/usage/agents/prompt.zh-CN.mdx +0 -105
- package/docs/usage/agents/topics.mdx +0 -26
- package/docs/usage/agents/topics.zh-CN.mdx +0 -25
- package/docs/usage/features/agent-market.mdx +0 -32
- package/docs/usage/features/agent-market.zh-CN.mdx +0 -31
- package/docs/usage/features/agent-team.mdx +0 -52
- package/docs/usage/features/agent-team.zh-CN.mdx +0 -52
- package/docs/usage/features/artifacts.mdx +0 -23
- package/docs/usage/features/artifacts.zh-CN.mdx +0 -22
- package/docs/usage/features/auth.mdx +0 -76
- package/docs/usage/features/auth.zh-CN.mdx +0 -74
- package/docs/usage/features/branching-conversations.mdx +0 -21
- package/docs/usage/features/branching-conversations.zh-CN.mdx +0 -21
- package/docs/usage/features/cot.mdx +0 -18
- package/docs/usage/features/cot.zh-CN.mdx +0 -18
- package/docs/usage/features/database.mdx +0 -56
- package/docs/usage/features/database.zh-CN.mdx +0 -50
- package/docs/usage/features/desktop.mdx +0 -53
- package/docs/usage/features/desktop.zh-CN.mdx +0 -49
- package/docs/usage/features/knowledge-base.mdx +0 -25
- package/docs/usage/features/knowledge-base.zh-CN.mdx +0 -22
- package/docs/usage/features/local-llm.mdx +0 -51
- package/docs/usage/features/local-llm.zh-CN.mdx +0 -44
- package/docs/usage/features/mcp-market.mdx +0 -26
- package/docs/usage/features/mcp-market.zh-CN.mdx +0 -22
- package/docs/usage/features/mcp.mdx +0 -58
- package/docs/usage/features/mcp.zh-CN.mdx +0 -54
- package/docs/usage/features/mobile.mdx +0 -20
- package/docs/usage/features/mobile.zh-CN.mdx +0 -19
- package/docs/usage/features/more.mdx +0 -32
- package/docs/usage/features/more.zh-CN.mdx +0 -28
- package/docs/usage/features/multi-ai-providers.mdx +0 -57
- package/docs/usage/features/multi-ai-providers.zh-CN.mdx +0 -58
- package/docs/usage/features/plugin-system.mdx +0 -80
- package/docs/usage/features/plugin-system.zh-CN.mdx +0 -70
- package/docs/usage/features/pwa.mdx +0 -60
- package/docs/usage/features/pwa.zh-CN.mdx +0 -61
- package/docs/usage/features/search.mdx +0 -56
- package/docs/usage/features/search.zh-CN.mdx +0 -52
- package/docs/usage/features/text-to-image.mdx +0 -18
- package/docs/usage/features/text-to-image.zh-CN.mdx +0 -19
- package/docs/usage/features/theme.mdx +0 -28
- package/docs/usage/features/theme.zh-CN.mdx +0 -25
- package/docs/usage/features/tts.mdx +0 -40
- package/docs/usage/features/tts.zh-CN.mdx +0 -35
- package/docs/usage/features/vision.mdx +0 -20
- package/docs/usage/features/vision.zh-CN.mdx +0 -18
- package/docs/usage/foundation/basic.mdx +0 -43
- package/docs/usage/foundation/basic.zh-CN.mdx +0 -46
- package/docs/usage/foundation/share.mdx +0 -35
- package/docs/usage/foundation/share.zh-CN.mdx +0 -33
- package/docs/usage/foundation/text2image.mdx +0 -39
- package/docs/usage/foundation/text2image.zh-CN.mdx +0 -35
- package/docs/usage/foundation/translate.mdx +0 -30
- package/docs/usage/foundation/translate.zh-CN.mdx +0 -29
- package/docs/usage/foundation/tts-stt.mdx +0 -38
- package/docs/usage/foundation/tts-stt.zh-CN.mdx +0 -36
- package/docs/usage/foundation/vision.mdx +0 -36
- package/docs/usage/foundation/vision.zh-CN.mdx +0 -33
- package/docs/usage/plugins/basic-usage.mdx +0 -45
- package/docs/usage/plugins/basic-usage.zh-CN.mdx +0 -44
- package/docs/usage/plugins/custom-plugin.mdx +0 -37
- package/docs/usage/plugins/custom-plugin.zh-CN.mdx +0 -35
- package/docs/usage/plugins/development.mdx +0 -279
- package/docs/usage/plugins/store.mdx +0 -22
- package/docs/usage/plugins/store.zh-CN.mdx +0 -19
- package/docs/usage/tools-calling/anthropic.mdx +0 -152
- package/docs/usage/tools-calling/anthropic.zh-CN.mdx +0 -152
- package/docs/usage/tools-calling/google.mdx +0 -109
- package/docs/usage/tools-calling/google.zh-CN.mdx +0 -109
- package/docs/usage/tools-calling/groq.mdx +0 -10
- package/docs/usage/tools-calling/groq.zh-CN.mdx +0 -163
- package/docs/usage/tools-calling/moonshot.mdx +0 -10
- package/docs/usage/tools-calling/moonshot.zh-CN.mdx +0 -24
- package/docs/usage/tools-calling/openai.mdx +0 -114
- package/docs/usage/tools-calling/openai.zh-CN.mdx +0 -114
- package/docs/usage/tools-calling.mdx +0 -12
- package/docs/usage/tools-calling.zh-CN.mdx +0 -248
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 代码风格与贡献指南
|
|
3
|
+
description: 了解 LobeHub 的代码规范和贡献流程,确保代码一致性。
|
|
4
|
+
tags:
|
|
5
|
+
- 代码风格
|
|
6
|
+
- 贡献指南
|
|
7
|
+
- LobeHub
|
|
8
|
+
- ESLint
|
|
9
|
+
- Prettier
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 代码风格与贡献指南
|
|
6
13
|
|
|
7
|
-
欢迎来到
|
|
14
|
+
欢迎来到 LobeHub 的代码风格与贡献指南。本指南将帮助您理解我们的代码规范和贡献流程,确保代码的一致性和项目的顺利进行。
|
|
8
15
|
|
|
9
16
|
## 代码风格
|
|
10
17
|
|
|
11
|
-
在
|
|
18
|
+
在 LobeHub 中,我们使用 [@lobehub/lint](https://github.com/lobehub/lobe-lint) 程序包来统一代码风格。该程序包内置了 `ESLint`、`Prettier`、`remarklint` 和 `stylelint` 的配置,以确保我们的 JavaScript、Markdown 和 CSS 文件遵循相同的编码标准。
|
|
12
19
|
|
|
13
20
|
### ESLint
|
|
14
21
|
|
|
@@ -36,7 +43,7 @@ Prettier 负责代码格式化,以保证代码的一致性。您可以在 `.pr
|
|
|
36
43
|
|
|
37
44
|
## 贡献流程
|
|
38
45
|
|
|
39
|
-
|
|
46
|
+
LobeHub 采用 gitmoji 和 semantic release 作为我们的代码提交和发布流程。
|
|
40
47
|
|
|
41
48
|
### Gitmoji
|
|
42
49
|
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: How to Develop a New Feature
|
|
3
|
+
description: >-
|
|
4
|
+
Learn how to implement the Chat Messages feature in LobeHub using Next.js and
|
|
5
|
+
TypeScript.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- Next.js
|
|
9
|
+
- TypeScript
|
|
10
|
+
- Chat Feature
|
|
11
|
+
- Zustand
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# How to Develop a New Feature
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
LobeHub is built on the Next.js framework and uses TypeScript as the primary development language. When developing a new feature, we need to follow a certain development process to ensure the quality and stability of the code. The general process can be divided into the following five steps:
|
|
8
17
|
|
|
9
18
|
1. Routing: Define routes (`src/app`).
|
|
10
19
|
2. Data Structure: Define data structures (`src/types`).
|
|
@@ -80,7 +89,7 @@ const ChatPage = () => {
|
|
|
80
89
|
renderItem={(message) => (
|
|
81
90
|
<List.Item>
|
|
82
91
|
<Typography.Text>{message.content}</Typography.Text>
|
|
83
|
-
|
|
92
|
+
|
|
84
93
|
</List.Item>
|
|
85
94
|
)}
|
|
86
95
|
/>
|
|
@@ -90,7 +99,7 @@ const ChatPage = () => {
|
|
|
90
99
|
export default ChatPage;
|
|
91
100
|
```
|
|
92
101
|
|
|
93
|
-
> **Note on Feature Organization**:
|
|
102
|
+
> **Note on Feature Organization**: LobeHub uses two patterns for organizing features:
|
|
94
103
|
>
|
|
95
104
|
> - **Global features** (`src/features/`): Shared components like `ChatInput`, `Conversation` used across the app
|
|
96
105
|
> - **Page-specific features** (`src/app/<page>/features/`): Components used only within a specific page route
|
|
@@ -119,12 +128,12 @@ const ChatPage = () => {
|
|
|
119
128
|
renderItem={(message) => (
|
|
120
129
|
<List.Item>
|
|
121
130
|
<Typography.Text>{message.content}</Typography.Text>
|
|
122
|
-
|
|
131
|
+
|
|
123
132
|
</List.Item>
|
|
124
133
|
)}
|
|
125
134
|
/>
|
|
126
135
|
<Button onClick={handleSend}>Send</Button>
|
|
127
|
-
|
|
136
|
+
|
|
128
137
|
</>
|
|
129
138
|
);
|
|
130
139
|
};
|
|
@@ -132,4 +141,4 @@ const ChatPage = () => {
|
|
|
132
141
|
export default ChatPage;
|
|
133
142
|
```
|
|
134
143
|
|
|
135
|
-
The above is the step to implement the "chat message" feature in
|
|
144
|
+
The above is the step to implement the "chat message" feature in LobeHub. Of course, in the actual development of LobeHub, the business requirements and scenarios faced in real situations are far more complex than the above demo. Please develop according to the actual situation.
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 如何开发一个新功能:前端实现
|
|
3
|
+
description: 学习如何在 LobeHub 中实现会话消息功能,使用 Next.js 和 TypeScript。
|
|
4
|
+
tags:
|
|
5
|
+
- 前端开发
|
|
6
|
+
- Next.js
|
|
7
|
+
- TypeScript
|
|
8
|
+
- Zustand
|
|
9
|
+
- 功能实现
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 如何开发一个新功能:前端实现
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub 基于 Next.js 框架构建,使用 TypeScript 作为主要开发语言。在开发新功能时,我们需要遵循一定的开发流程,以确保代码的质量和稳定性。大致的流程分为以下五步:
|
|
8
15
|
|
|
9
16
|
1. 路由:定义路由 (`src/app`)
|
|
10
17
|
2. 数据结构: 定义数据结构 ( `src/types` )
|
|
@@ -80,7 +87,7 @@ const ChatPage = () => {
|
|
|
80
87
|
renderItem={(message) => (
|
|
81
88
|
<List.Item>
|
|
82
89
|
<Typography.Text>{message.content}</Typography.Text>
|
|
83
|
-
|
|
90
|
+
|
|
84
91
|
</List.Item>
|
|
85
92
|
)}
|
|
86
93
|
/>
|
|
@@ -90,7 +97,7 @@ const ChatPage = () => {
|
|
|
90
97
|
export default ChatPage;
|
|
91
98
|
```
|
|
92
99
|
|
|
93
|
-
> **关于功能组件组织方式的说明**:
|
|
100
|
+
> **关于功能组件组织方式的说明**:LobeHub 使用两种模式来组织功能组件:
|
|
94
101
|
>
|
|
95
102
|
> - **全局功能**(`src/features/`):跨应用共享的组件,如 `ChatInput`、`Conversation` 等
|
|
96
103
|
> - **页面专属功能**(`src/app/<page>/features/`):仅在特定页面路由中使用的组件
|
|
@@ -119,12 +126,12 @@ const ChatPage = () => {
|
|
|
119
126
|
renderItem={(message) => (
|
|
120
127
|
<List.Item>
|
|
121
128
|
<Typography.Text>{message.content}</Typography.Text>
|
|
122
|
-
|
|
129
|
+
|
|
123
130
|
</List.Item>
|
|
124
131
|
)}
|
|
125
132
|
/>
|
|
126
133
|
<Button onClick={handleSend}>Send</Button>
|
|
127
|
-
|
|
134
|
+
|
|
128
135
|
</>
|
|
129
136
|
);
|
|
130
137
|
};
|
|
@@ -132,4 +139,4 @@ const ChatPage = () => {
|
|
|
132
139
|
export default ChatPage;
|
|
133
140
|
```
|
|
134
141
|
|
|
135
|
-
以上就是在
|
|
142
|
+
以上就是在 LobeHub 中实现 "会话消息" 功能的步骤。当然,在 LobeHub 的实际开发中,真实场景所面临的业务诉求和场景远比上述 demo 复杂,请根据实际情况进行开发。
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
2
|
+
title: LobeHub Feature Development Complete Guide
|
|
3
|
+
description: A comprehensive guide for developers on implementing features in LobeHub.
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- Feature Development
|
|
7
|
+
- Developer Guide
|
|
8
|
+
- Postgres
|
|
9
|
+
- Drizzle ORM
|
|
3
10
|
---
|
|
4
11
|
|
|
5
|
-
#
|
|
12
|
+
# LobeHub Feature Development Complete Guide
|
|
6
13
|
|
|
7
|
-
This document aims to guide developers on how to develop a complete feature in
|
|
14
|
+
This document aims to guide developers on how to develop a complete feature in LobeHub.
|
|
8
15
|
|
|
9
16
|
We will use [RFC 021 - Custom Assistant Opening Guidance](https://github.com/lobehub/lobe-chat/discussions/891) as an example to illustrate the complete implementation process.
|
|
10
17
|
|
|
@@ -366,7 +373,7 @@ const OpeningQuestions = memo(() => {
|
|
|
366
373
|
{isRepeat && (
|
|
367
374
|
<p className={styles.repeatError}>{t('settingOpening.openingQuestions.repeat')}</p>
|
|
368
375
|
)}
|
|
369
|
-
|
|
376
|
+
|
|
370
377
|
</Flexbox>
|
|
371
378
|
|
|
372
379
|
<div className={styles.questionsList}>
|
|
@@ -383,7 +390,7 @@ const OpeningQuestions = memo(() => {
|
|
|
383
390
|
onClick={() => removeQuestion(item.content)}
|
|
384
391
|
type="text"
|
|
385
392
|
/>
|
|
386
|
-
|
|
393
|
+
|
|
387
394
|
</SortableList.Item>
|
|
388
395
|
)}
|
|
389
396
|
/>
|
|
@@ -393,9 +400,9 @@ const OpeningQuestions = memo(() => {
|
|
|
393
400
|
description={t('settingOpening.openingQuestions.empty')}
|
|
394
401
|
/>
|
|
395
402
|
)}
|
|
396
|
-
|
|
403
|
+
|
|
397
404
|
</div>
|
|
398
|
-
|
|
405
|
+
|
|
399
406
|
</Flexbox>
|
|
400
407
|
);
|
|
401
408
|
});
|
|
@@ -448,7 +455,7 @@ const WelcomeMessage = () => {
|
|
|
448
455
|
{chatItem}
|
|
449
456
|
{/* Render guiding questions */}
|
|
450
457
|
<OpeningQuestions mobile={mobile} questions={openingQuestions} />
|
|
451
|
-
|
|
458
|
+
|
|
452
459
|
</Flexbox>
|
|
453
460
|
) : (
|
|
454
461
|
chatItem
|
|
@@ -467,4 +474,4 @@ For the current scenario, I recommend running the tests locally to see which tes
|
|
|
467
474
|
|
|
468
475
|
## Summary
|
|
469
476
|
|
|
470
|
-
The above is the complete implementation process for the
|
|
477
|
+
The above is the complete implementation process for the LobeHub opening settings feature. Developers can refer to this document for the development and testing of related features.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
2
|
+
title: LobeHub 功能开发完全指南
|
|
3
|
+
description: 了解如何在 LobeHub 中开发完整的功能需求,提升开发效率。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 功能开发
|
|
7
|
+
- 开发指南
|
|
8
|
+
- 开场设置
|
|
3
9
|
---
|
|
4
10
|
|
|
5
|
-
#
|
|
11
|
+
# LobeHub 功能开发完全指南
|
|
6
12
|
|
|
7
|
-
本文档旨在指导开发者了解如何在
|
|
13
|
+
本文档旨在指导开发者了解如何在 LobeHub 中开发一块完整的功能需求。
|
|
8
14
|
|
|
9
15
|
我们将以 [RFC 021 - 自定义助手开场引导](https://github.com/lobehub/lobe-chat/discussions/891) 为例,阐述完整的实现流程。
|
|
10
16
|
|
|
@@ -366,7 +372,7 @@ const OpeningQuestions = memo(() => {
|
|
|
366
372
|
{isRepeat && (
|
|
367
373
|
<p className={styles.repeatError}>{t('settingOpening.openingQuestions.repeat')}</p>
|
|
368
374
|
)}
|
|
369
|
-
|
|
375
|
+
|
|
370
376
|
</Flexbox>
|
|
371
377
|
|
|
372
378
|
<div className={styles.questionsList}>
|
|
@@ -383,7 +389,7 @@ const OpeningQuestions = memo(() => {
|
|
|
383
389
|
onClick={() => removeQuestion(item.content)}
|
|
384
390
|
type="text"
|
|
385
391
|
/>
|
|
386
|
-
|
|
392
|
+
|
|
387
393
|
</SortableList.Item>
|
|
388
394
|
)}
|
|
389
395
|
/>
|
|
@@ -393,9 +399,9 @@ const OpeningQuestions = memo(() => {
|
|
|
393
399
|
description={t('settingOpening.openingQuestions.empty')}
|
|
394
400
|
/>
|
|
395
401
|
)}
|
|
396
|
-
|
|
402
|
+
|
|
397
403
|
</div>
|
|
398
|
-
|
|
404
|
+
|
|
399
405
|
</Flexbox>
|
|
400
406
|
);
|
|
401
407
|
});
|
|
@@ -448,7 +454,7 @@ const WelcomeMessage = () => {
|
|
|
448
454
|
{chatItem}
|
|
449
455
|
{/* 渲染引导性问题 */}
|
|
450
456
|
<OpeningQuestions mobile={mobile} questions={openingQuestions} />
|
|
451
|
-
|
|
457
|
+
|
|
452
458
|
</Flexbox>
|
|
453
459
|
) : (
|
|
454
460
|
chatItem
|
|
@@ -467,4 +473,4 @@ export default WelcomeMessage;
|
|
|
467
473
|
|
|
468
474
|
## 总结
|
|
469
475
|
|
|
470
|
-
以上就是
|
|
476
|
+
以上就是 LobeHub 开场设置功能的完整实现流程。开发者可以参考本文档进行相关功能的开发和测试。
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Directory Structure
|
|
3
|
+
description: >-
|
|
4
|
+
Explore the organized directory structure of LobeHub, including app,
|
|
5
|
+
components, and services.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- Directory Structure
|
|
9
|
+
- Next.js
|
|
10
|
+
- App Router
|
|
11
|
+
- API Architecture
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# Directory Structure
|
|
6
15
|
|
|
7
|
-
The directory structure of
|
|
16
|
+
The directory structure of LobeHub is as follows:
|
|
8
17
|
|
|
9
18
|
```bash
|
|
10
19
|
src
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Resources and References
|
|
3
|
+
description: >-
|
|
4
|
+
Explore key resources and references for LobeHub's design and development
|
|
5
|
+
process.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- OpenAI API
|
|
9
|
+
- AI SDK
|
|
10
|
+
- LangChain
|
|
11
|
+
- Next.js
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# Resources and References
|
|
6
15
|
|
|
7
|
-
The design and development of
|
|
16
|
+
The design and development of LobeHub would not have been possible without the excellent projects in the community and ecosystem. We have used or referred to some outstanding resources and guides in the design and development process. Here are some key reference resources for developers to refer to during the development and learning process:
|
|
8
17
|
|
|
9
18
|
1. **OpenAI API Guide**: We use OpenAI's API to access and process AI conversation data. You can check out the [OpenAI API Guide](https://platform.openai.com/docs/api-reference/introduction) for more details.
|
|
10
19
|
2. **OpenAI SDK**: We use OpenAI's Node.js SDK to interact with OpenAI's API. You can view the source code and documentation on the [OpenAI SDK](https://github.com/openai/openai-node) GitHub repository.
|
|
11
20
|
3. **AI SDK**: We use Vercel's AI SDK to access and process AI conversation data. You can refer to the documentation of [AI SDK](https://sdk.vercel.ai/docs) for more details.
|
|
12
21
|
4. **LangChain**: Our early conversation feature was implemented based on LangChain. You can visit [LangChain](https://langchain.com) to learn more about it.
|
|
13
|
-
5. **Chat-Next-Web**: Chat Next Web is an excellent project, and some of
|
|
22
|
+
5. **Chat-Next-Web**: Chat Next Web is an excellent project, and some of LobeHub's features and workflows are referenced from its implementation. You can view the source code and documentation on the [Chat-Next-Web](https://github.com/Yidadaa/ChatGPT-Next-Web) GitHub repository.
|
|
14
23
|
6. **Next.js Documentation**: Our project is built on Next.js, and you can refer to the [Next.js Documentation](https://nextjs.org/docs) for more information about Next.js.
|
|
15
|
-
7. **FlowGPT**: FlowGPT is currently the world's largest Prompt community, and some of the agents in
|
|
24
|
+
7. **FlowGPT**: FlowGPT is currently the world's largest Prompt community, and some of the agents in LobeHub come from active authors in FlowGPT. You can visit [FlowGPT](https://flowgpt.com/) to learn more about it.
|
|
16
25
|
|
|
17
26
|
We will continue to update and supplement this list to provide developers with more reference resources.
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 资源与参考
|
|
3
|
+
description: 探索 LobeHub 的设计与开发参考资源,助力开发者学习与成长。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 开发资源
|
|
7
|
+
- OpenAI API
|
|
8
|
+
- AI SDK
|
|
9
|
+
- LangChain
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 资源与参考
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub 的设计和开发离不开社区和生态中的优秀项目。我们在设计和开发过程中使用或参考了一些优秀的资源和指南。以下是一些主要的参考资源,供开发者在开发和学习过程中参考:
|
|
8
15
|
|
|
9
16
|
1. **OpenAI API 指南**:我们使用 OpenAI 的 API 来获取和处理 AI 的会话数据。你可以查看 [OpenAI API 指南](https://platform.openai.com/docs/api-reference/introduction) 了解更多详情。
|
|
10
17
|
2. **OpenAI SDK**:我们使用 OpenAI 的 Node.js SDK 来与 OpenAI 的 API 交互。你可以在 [OpenAI SDK](https://github.com/openai/openai-node) 的 GitHub 仓库中查看源码和文档。
|
|
11
18
|
3. **AI SDK**:我们使用 Vercel 的 AI SDK 来获取和处理 AI 的会话数据。你可以查看 [AI SDK](https://sdk.vercel.ai/docs) 的文档来了解更多详情。
|
|
12
19
|
4. **LangChain**:我们早期的会话功能是基于 LangChain 实现的。你可以访问 [LangChain](https://langchain.com) 来了解更多关于它的信息。
|
|
13
|
-
5. **Chat-Next-Web**:Chat Next Web 是一个优秀的项目,
|
|
20
|
+
5. **Chat-Next-Web**:Chat Next Web 是一个优秀的项目,LobeHub 的部分功能、Workflow 等参考了它的实现。你可以在 [Chat-Next-Web](https://github.com/Yidadaa/ChatGPT-Next-Web) 的 GitHub 仓库中查看源码和文档。
|
|
14
21
|
6. **Next.js 文档**:我们的项目是基于 Next.js 构建的,你可以查看 [Next.js 文档](https://nextjs.org/docs) 来了解更多关于 Next.js 的信息。
|
|
15
|
-
7. **FlowGPT**:FlowGPT 是目前全球最大的 Prompt 社区,
|
|
22
|
+
7. **FlowGPT**:FlowGPT 是目前全球最大的 Prompt 社区,LobeHub 中的一些 Agent 来自 FlowGPT 的活跃作者。你可以访问 [FlowGPT](https://flowgpt.com/) 来了解更多关于它的信息。
|
|
16
23
|
|
|
17
24
|
我们会持续更新和补充这个列表,为开发者提供更多的参考资源。
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Environment Setup Guide
|
|
3
|
+
description: >-
|
|
4
|
+
Step-by-step guide to set up LobeHub development environment locally or
|
|
5
|
+
online.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- Development Setup
|
|
9
|
+
- Node.js
|
|
10
|
+
- PNPM
|
|
11
|
+
- Bun
|
|
12
|
+
- Git
|
|
13
|
+
- VSCode
|
|
3
14
|
---
|
|
4
15
|
|
|
5
16
|
# Environment Setup Guide
|
|
6
17
|
|
|
7
|
-
Welcome to the
|
|
18
|
+
Welcome to the LobeHub development environment setup guide.
|
|
8
19
|
|
|
9
20
|
## Online Development
|
|
10
21
|
|
|
@@ -14,13 +25,13 @@ If you have access to GitHub Codespaces, you can click the button below to enter
|
|
|
14
25
|
|
|
15
26
|
## Local Development
|
|
16
27
|
|
|
17
|
-
Before starting development on
|
|
28
|
+
Before starting development on LobeHub, you need to install and configure some necessary software and tools in your local environment. This document will guide you through these steps.
|
|
18
29
|
|
|
19
30
|
### Development Environment Requirements
|
|
20
31
|
|
|
21
32
|
First, you need to install the following software:
|
|
22
33
|
|
|
23
|
-
- Node.js:
|
|
34
|
+
- Node.js: LobeHub is built on Node.js, so you need to install Node.js. We recommend installing the latest stable version.
|
|
24
35
|
- PNPM: We use PNPM as the preferred package manager. You can download and install it from the [PNPM official website](https://pnpm.io/installation).
|
|
25
36
|
- Bun: We use Bun as the npm scripts runner. You can download and install it from the [Bun official website](https://bun.com/docs/installation).
|
|
26
37
|
- Git: We use Git for version control. You can download and install it from the Git official website.
|
|
@@ -32,9 +43,9 @@ We recommend installing the extensions listed in [.vscode/extensions.json](https
|
|
|
32
43
|
|
|
33
44
|
### Project Setup
|
|
34
45
|
|
|
35
|
-
After installing the above software, you can start setting up the
|
|
46
|
+
After installing the above software, you can start setting up the LobeHub project.
|
|
36
47
|
|
|
37
|
-
1. **Get the code**: First, you need to clone the
|
|
48
|
+
1. **Get the code**: First, you need to clone the LobeHub codebase from GitHub. Run the following command in the terminal:
|
|
38
49
|
|
|
39
50
|
```bash
|
|
40
51
|
git clone https://github.com/lobehub/lobe-chat.git
|
|
@@ -53,13 +64,13 @@ pnpm i
|
|
|
53
64
|
bun run dev
|
|
54
65
|
```
|
|
55
66
|
|
|
56
|
-
Now, you can open `http://localhost:3010` in your browser, and you should see the welcome page of
|
|
67
|
+
Now, you can open `http://localhost:3010` in your browser, and you should see the welcome page of LobeHub. This indicates that you have successfully set up the development environment.
|
|
57
68
|
|
|
58
69
|

|
|
59
70
|
|
|
60
71
|
## Working with Server-Side Features
|
|
61
72
|
|
|
62
|
-
The basic setup above uses
|
|
73
|
+
The basic setup above uses LobeHub's client-side database mode. If you need to work with server-side features such as:
|
|
63
74
|
|
|
64
75
|
- Database persistence
|
|
65
76
|
- File uploads and storage
|
|
@@ -69,7 +80,7 @@ The basic setup above uses LobeChat's client-side database mode. If you need to
|
|
|
69
80
|
|
|
70
81
|
Please refer to the [Work with Server-Side Database](/docs/development/basic/work-with-server-side-database) guide for complete setup instructions.
|
|
71
82
|
|
|
72
|
-
During the development process, if you encounter any issues with environment setup or have any questions about
|
|
83
|
+
During the development process, if you encounter any issues with environment setup or have any questions about LobeHub development, feel free to ask us at any time. We look forward to seeing your contributions!
|
|
73
84
|
|
|
74
85
|
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
|
|
75
86
|
[codespaces-shield]: https://github.com/codespaces/badge.svg
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 环境设置指南
|
|
3
|
+
description: 详细介绍 LobeHub 的开发环境设置,包括软件安装和项目配置。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 开发环境
|
|
7
|
+
- Node.js
|
|
8
|
+
- PNPM
|
|
9
|
+
- Git
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 环境设置指南
|
|
6
13
|
|
|
7
|
-
欢迎阅读
|
|
14
|
+
欢迎阅读 LobeHub 的开发环境设置指南。
|
|
8
15
|
|
|
9
16
|
## 在线开发
|
|
10
17
|
|
|
@@ -14,13 +21,13 @@ title: 环境设置指南
|
|
|
14
21
|
|
|
15
22
|
## 本地开发
|
|
16
23
|
|
|
17
|
-
在开始开发
|
|
24
|
+
在开始开发 LobeHub 之前,你需要在本地环境中安装和配置一些必要的软件和工具。本文档将指导你完成这些步骤。
|
|
18
25
|
|
|
19
26
|
### 开发环境需求
|
|
20
27
|
|
|
21
28
|
首先,你需要安装以下软件:
|
|
22
29
|
|
|
23
|
-
- Node.js:
|
|
30
|
+
- Node.js:LobeHub 是基于 Node.js 构建的,因此你需要安装 Node.js。我们建议安装最新的稳定版。
|
|
24
31
|
- PNPM:我们使用 PNPM 作为管理器。你可以从 [pnpm 的官方网站](https://pnpm.io/installation) 上下载并安装。
|
|
25
32
|
- Bun:我们使用 Bun 作为 npm scripts runner, 你可以从 [Bun 的官方网站](https://bun.com/docs/installation) 上下载并安装。
|
|
26
33
|
- Git:我们使用 Git 进行版本控制。你可以从 Git 的官方网站上下载并安装。
|
|
@@ -32,9 +39,9 @@ title: 环境设置指南
|
|
|
32
39
|
|
|
33
40
|
### 项目设置
|
|
34
41
|
|
|
35
|
-
完成上述软件的安装后,你可以开始设置
|
|
42
|
+
完成上述软件的安装后,你可以开始设置 LobeHub 项目了。
|
|
36
43
|
|
|
37
|
-
1. **获取代码**:首先,你需要从 GitHub 上克隆
|
|
44
|
+
1. **获取代码**:首先,你需要从 GitHub 上克隆 LobeHub 的代码库。在终端中运行以下命令:
|
|
38
45
|
|
|
39
46
|
```bash
|
|
40
47
|
git clone https://github.com/lobehub/lobe-chat.git
|
|
@@ -53,13 +60,13 @@ pnpm i
|
|
|
53
60
|
bun run dev
|
|
54
61
|
```
|
|
55
62
|
|
|
56
|
-
现在,你可以在浏览器中打开 `http://localhost:3010`,你应该能看到
|
|
63
|
+
现在,你可以在浏览器中打开 `http://localhost:3010`,你应该能看到 LobeHub 的欢迎页面。这表明你已经成功地设置了开发环境。
|
|
57
64
|
|
|
58
65
|

|
|
59
66
|
|
|
60
67
|
## 使用服务端功能
|
|
61
68
|
|
|
62
|
-
上述基础设置使用
|
|
69
|
+
上述基础设置使用 LobeHub 的客户端数据库模式。如果你需要开发服务端功能,如:
|
|
63
70
|
|
|
64
71
|
- 数据库持久化
|
|
65
72
|
- 文件上传和存储
|
|
@@ -69,7 +76,7 @@ bun run dev
|
|
|
69
76
|
|
|
70
77
|
请参考[使用服务端数据库](/docs/development/basic/work-with-server-side-database)指南获得完整的设置说明。
|
|
71
78
|
|
|
72
|
-
在开发过程中,如果你在环境设置上遇到任何问题,或者有任何关于
|
|
79
|
+
在开发过程中,如果你在环境设置上遇到任何问题,或者有任何关于 LobeHub 开发的问题,欢迎随时向我们提问。我们期待看到你的贡献!
|
|
73
80
|
|
|
74
81
|
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
|
|
75
82
|
[codespaces-shield]: https://github.com/codespaces/badge.svg
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Testing Guide
|
|
3
|
+
description: >-
|
|
4
|
+
Explore LobeHub's testing strategy, including unit and end-to-end testing
|
|
5
|
+
methods.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- Testing
|
|
9
|
+
- Unit Testing
|
|
10
|
+
- End-to-End Testing
|
|
11
|
+
- vitest
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# Testing Guide
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
LobeHub's testing strategy includes unit testing and end-to-end (E2E) testing. Below are detailed explanations of each type of testing:
|
|
8
17
|
|
|
9
18
|
## Unit Testing
|
|
10
19
|
|
|
@@ -24,13 +33,13 @@ We encourage developers to write corresponding unit tests while writing code to
|
|
|
24
33
|
|
|
25
34
|
End-to-end testing is used to test the functionality and performance of the application in a real environment. It simulates real user operations and verifies the application's performance in different scenarios.
|
|
26
35
|
|
|
27
|
-
Currently, there is no integrated end-to-end testing in
|
|
36
|
+
Currently, there is no integrated end-to-end testing in LobeHub. We will gradually introduce end-to-end testing in subsequent iterations.
|
|
28
37
|
|
|
29
38
|
## Development Testing
|
|
30
39
|
|
|
31
40
|
### 1. Unit Testing
|
|
32
41
|
|
|
33
|
-
Unit testing is conducted on the smallest testable units in the application, usually functions, components, or modules. In
|
|
42
|
+
Unit testing is conducted on the smallest testable units in the application, usually functions, components, or modules. In LobeHub, we use [vitest][vitest-url] for unit testing.
|
|
34
43
|
|
|
35
44
|
#### Writing Test Cases
|
|
36
45
|
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 测试指南
|
|
3
|
+
description: 了解 LobeHub 的单元测试和端到端测试策略,确保代码质量与稳定性。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 单元测试
|
|
7
|
+
- 端到端测试
|
|
8
|
+
- 测试策略
|
|
3
9
|
---
|
|
4
10
|
|
|
5
11
|
# 测试指南
|
|
6
12
|
|
|
7
|
-
|
|
13
|
+
LobeHub 的测试策略包括单元测试和端到端 (E2E) 测试。下面是每种测试的详细说明:
|
|
8
14
|
|
|
9
15
|
## 单元测试
|
|
10
16
|
|
|
@@ -24,13 +30,13 @@ npm run test
|
|
|
24
30
|
|
|
25
31
|
端到端测试用于测试应用在真实环境中的功能和性能。它模拟用户的真实操作,并验证应用在不同场景下的表现。
|
|
26
32
|
|
|
27
|
-
在
|
|
33
|
+
在 LobeHub 中,目前暂时没有集成端到端测试,我们会在后续迭代中逐步引入端到端测试。
|
|
28
34
|
|
|
29
35
|
## 开发测试
|
|
30
36
|
|
|
31
37
|
### 1. 单元测试
|
|
32
38
|
|
|
33
|
-
单元测试是针对应用中的最小可测试单元进行的测试,通常是针对函数、组件或模块进行的测试。在
|
|
39
|
+
单元测试是针对应用中的最小可测试单元进行的测试,通常是针对函数、组件或模块进行的测试。在 LobeHub 中,我们使用 [vitest][vitest-url] 进行单元测试。
|
|
34
40
|
|
|
35
41
|
#### 编写测试用例
|
|
36
42
|
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Work with Server-Side Database
|
|
3
|
+
description: Learn how to set up a server-side database for LobeHub with Docker.
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- Server-Side Database
|
|
7
|
+
- Docker
|
|
8
|
+
- PostgreSQL
|
|
9
|
+
- MinIO
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# Work with Server-Side Database
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub provides a battery-included experience with its client-side database.
|
|
8
15
|
While some features you really care about is only available at a server-side development.
|
|
9
16
|
|
|
10
17
|
In order to work with the aspect of server-side database,
|
|
@@ -55,7 +62,7 @@ You should see: `✅ database migration pass.`
|
|
|
55
62
|
|
|
56
63
|
### Start Development Server
|
|
57
64
|
|
|
58
|
-
Launch the
|
|
65
|
+
Launch the LobeHub development server:
|
|
59
66
|
|
|
60
67
|
```bash
|
|
61
68
|
pnpm dev
|
|
@@ -144,7 +151,7 @@ await fetch(uploadUrl, {
|
|
|
144
151
|
|
|
145
152
|
When running with Docker Compose development setup:
|
|
146
153
|
|
|
147
|
-
- **PostgreSQL**: `postgres://postgres@localhost:5432/
|
|
154
|
+
- **PostgreSQL**: `postgres://postgres@localhost:5432/LobeHub`
|
|
148
155
|
- **MinIO API**: `http://localhost:9000`
|
|
149
156
|
- **MinIO Console**: `http://localhost:9001` (admin/CHANGE\_THIS\_PASSWORD\_IN\_PRODUCTION)
|
|
150
157
|
- **Application**: `http://localhost:3010`
|