Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot connect to LM Studio #15881

Open
5 tasks done
IAMJOYBO opened this issue Mar 14, 2025 · 1 comment
Open
5 tasks done

Cannot connect to LM Studio #15881

IAMJOYBO opened this issue Mar 14, 2025 · 1 comment
Labels
🐞 bug Something isn't working

Comments

@IAMJOYBO
Copy link

IAMJOYBO commented Mar 14, 2025

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

v1.0.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

plugin_daemon-1 | [GIN] 2025/03/14 - 16:59:32 | 200 | 1.006334ms | 172.18.0.8 | GET "/plugin/9e2953d2-161a-4430-8b32-db1f6e72da5a/management/models?page=1&page_size=256" plugin_daemon-1 | 2025/03/14 16:59:32 factory.go:28: [ERROR]PluginDaemonInternalServerError: no available node, plugin not found plugin_daemon-1 | goroutine 567 [running]: plugin_daemon-1 | runtime/debug.Stack() plugin_daemon-1 | /usr/local/go/src/runtime/debug/stack.go:24 +0x5e plugin_daemon-1 | github.com/langgenius/dify-plugin-daemon/internal/types/exception.InternalServerError({0x18112a0, 0xc000c328c0}) plugin_daemon-1 | /app/internal/types/exception/factory.go:27 +0x27 plugin_daemon-1 | github.com/langgenius/dify-plugin-daemon/internal/server.(*App).redirectPluginInvokeByPluginIdentifier(0xc00032a0d8, 0xc0006d8100, {0xc000646460?, 0xe9d6ff?}, {0x18112a0, 0xc000c32870}) plugin_daemon-1 | /app/internal/server/middleware.go:120 +0xef plugin_daemon-1 | github.com/langgenius/dify-plugin-daemon/internal/server.(*App).pluginDispatchGroup.(*App).RedirectPluginInvoke.func2(0xc0006d8100) plugin_daemon-1 | /app/internal/server/middleware.go:94 +0x95 plugin_daemon-1 | github.com/gin-gonic/gin.(*Context).Next(0xc0006d8100) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185 +0x2b plugin_daemon-1 | github.com/langgenius/dify-plugin-daemon/internal/server.(*App).pluginDispatchGroup.(*App).FetchPluginInstallation.func1(0xc0006d8100) plugin_daemon-1 | /app/internal/server/middleware.go:66 +0x2f2 plugin_daemon-1 | github.com/gin-gonic/gin.(*Context).Next(0xc0006d8100) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185 +0x2b plugin_daemon-1 | github.com/langgenius/dify-plugin-daemon/internal/server.(*App).pluginGroup.CheckingKey.func1(0xc0006d8100) plugin_daemon-1 | /app/internal/server/middleware.go:24 +0x95 plugin_daemon-1 | github.com/gin-gonic/gin.(*Context).Next(...) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185 plugin_daemon-1 | github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc0006d8100) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/recovery.go:102 +0x7a plugin_daemon-1 | github.com/gin-gonic/gin.(*Context).Next(...) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185 plugin_daemon-1 | github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc0006d8100) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/logger.go:249 +0xe5 plugin_daemon-1 | github.com/gin-gonic/gin.(*Context).Next(...) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185 plugin_daemon-1 | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc00063a340, 0xc0006d8100) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/gin.go:633 +0x892 plugin_daemon-1 | github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc00063a340, {0x1823720, 0xc000950000}, 0xc000938240) plugin_daemon-1 | /go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/gin.go:589 +0x1b2 plugin_daemon-1 | net/http.serverHandler.ServeHTTP({0x18194c8?}, {0x1823720?, 0xc000950000?}, 0x6?) plugin_daemon-1 | /usr/local/go/src/net/http/server.go:3142 +0x8e plugin_daemon-1 | net/http.(*conn).serve(0xc0003de480, {0x1825ed0, 0xc0003d6900}) plugin_daemon-1 | /usr/local/go/src/net/http/server.go:2044 +0x5e8 plugin_daemon-1 | created by net/http.(*Server).Serve in goroutine 70 plugin_daemon-1 | /usr/local/go/src/net/http/server.go:3290 +0x4b4 plugin_daemon-1 | plugin_daemon-1 | [GIN] 2025/03/14 - 16:59:32 | 404 | 1.006291ms | 172.18.0.8 | POST "/plugin/9e2953d2-161a-4430-8b32-db1f6e72da5a/dispatch/model/validate_model_credentials" api-1 | 2025-03-14 16:59:32.642 ERROR [Dummy-6] [app.py:875] - Exception on /console/api/workspaces/current/model-providers/langgenius/openai_api_compatible/openai_api_compatible/models [POST] api-1 | Traceback (most recent call last): api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request api-1 | rv = self.dispatch_request() api-1 | ^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request api-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask_restful/__init__.py", line 489, in wrapper api-1 | resp = resource(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask/views.py", line 110, in view api-1 | return current_app.ensure_sync(self.dispatch_request)(**kwargs) # type: ignore[no-any-return] api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/.venv/lib/python3.12/site-packages/flask_restful/__init__.py", line 604, in dispatch_request api-1 | resp = meth(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/console/wraps.py", line 187, in decorated api-1 | return view(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/libs/login.py", line 94, in decorated_view api-1 | return current_app.ensure_sync(func)(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/console/wraps.py", line 30, in decorated api-1 | return view(*args, **kwargs) api-1 | ^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/controllers/console/workspace/models.py", line 154, in post api-1 | model_provider_service.save_model_credentials( api-1 | File "/app/api/services/model_provider_service.py", line 237, in save_model_credentials api-1 | provider_configuration.add_or_update_custom_model_credentials( api-1 | File "/app/api/core/entities/provider_configuration.py", line 422, in add_or_update_custom_model_credentials api-1 | provider_model_record, credentials = self.custom_model_credentials_validate(model_type, model, credentials) api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/entities/provider_configuration.py", line 402, in custom_model_credentials_validate api-1 | credentials = model_provider_factory.model_credentials_validate( api-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api-1 | File "/app/api/core/model_runtime/model_providers/model_provider_factory.py", line 191, in model_credentials_validate api-1 | self.plugin_model_manager.validate_model_credentials( api-1 | File "/app/api/core/plugin/manager/model.py", line 137, in validate_model_credentials api-1 | for resp in response: api-1 | ^^^^^^^^ api-1 | File "/app/api/core/plugin/manager/base.py", line 189, in _request_with_plugin_daemon_response_stream api-1 | self._handle_plugin_daemon_error(error.error_type, error.message) api-1 | File "/app/api/core/plugin/manager/base.py", line 223, in _handle_plugin_daemon_error api-1 | raise PluginDaemonInternalServerError(description=message) api-1 | core.plugin.manager.exc.PluginDaemonInternalServerError: PluginDaemonInternalServerError: no available node, plugin not found nginx-1 | 192.168.160.1 - - [14/Mar/2025:16:59:32 +0000] "POST /console/api/workspaces/current/model-providers/langgenius/openai_api_compatible/openai_api_compatible/models HTTP/1.1" 500 56 "http://192.168.160.128/plugins?category=discover" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" "-" sandbox-1 | [GIN] 2025/03/14 - 16:59:52 | 200 | 21.097µs | ::1 | GET "/health"

Image

Image

Image

Image

✔️ Expected Behavior

No response

❌ Actual Behavior

No response

@dosubot dosubot bot added the 🐞 bug Something isn't working label Mar 14, 2025
Copy link

dosubot bot commented Mar 14, 2025

@IAMJOYBO Hello there! I'm here to help you with any bugs or questions you have while waiting for a human maintainer. Let me know how I can assist you!

To resolve the "PluginDaemonInternalServerError: no available node, plugin not found" error in Dify version 1.0.1 on a self-hosted Docker setup, you can try the following solutions:

  1. Increase the Python environment initialization timeout by adding this line to your docker-compose.yaml:

    PYTHON_ENV_INIT_TIMEOUT: 320
  2. If the above doesn't work, perform these steps:

    • Uninstall and then reinstall the plugin to address any synchronization issues.
    • Clear plugin data from the database by executing these SQL commands in the dify_plugin database:
      delete from plugin_installations where plugin_unique_identifier is not null;
      delete from plugin_declarations where plugin_unique_identifier is not null;
      delete from ai_model_installations where plugin_unique_identifier is not null;
      delete from plugins where plugin_unique_identifier is not null;
    • Clear plugin directories from:
      • /app/storage/cwd/plugins/plugin
      • /app/storage/cwd/plugins/plugin-working
      • /app/storage/cwd/plugins/persistence
      • /app/storage/cwd/plugins/plugin-root
    • Restart the plugin daemon service.
    • Reinstall the plugins from the marketplace.

This error typically occurs when plugin installation fails because Python dependencies cannot be installed within the default 120-second timeout period. If you encounter this error when making a POST request to a specific endpoint, ensure that the plugin is correctly installed and configured. Additionally, addressing any database synchronization issues by uninstalling and reinstalling the plugin can help resolve the error [1][2][3][4].

To continue talking to Dosu, mention @dosu.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant