内网部署
1.现有一台Linux服务器和一台安装Win10系统的PC机。Linux服务器没有图形界面,但可以连接外网,并已安装Docker。PC机可以通过内网远程连接linux服务器,但无法连接外网。目前通过Docker,已在Linux服务器上配置好了运行环境,可以正常运行uv run main.py。运行./bootstrap.sh -d可正常启动,并通过HTTP网络连接到PC端打开界面。但是在界面端提问问题时,没有收到任何回应,请问有可能是什么问题? 2.回答问题时是否会重新安装额外的依赖包?
你这个不对吧。./bootstrap.sh -d 不是启动的项目自己的后端和前端么,你的后端现在应该是linux上的地址。你试过修改 web 目录下的.env中的 NEXT_PUBLIC_API_URL 为你linux后端地址了,再启动前端项目使用吗?
你这个不对吧。
./bootstrap.sh -d不是启动的项目自己的后端和前端么,你的后端现在应该是linux上的地址。你试过修改web目录下的.env中的NEXT_PUBLIC_API_URL为你linux后端地址了,再启动前端项目使用吗?
已修改web目录下.env中的 NEXT_PUBLIC_API_URL 为linux后端地址了,前端仍然出现不明确的错误提示,请问下还有可能修改哪些配置吗?
我和你遇到了一样的报错,按照文档在linux源码部署了,页面同样出现An error occurred while generating the response. Please try again.报错,求解
你这个不对吧。
./bootstrap.sh -d不是启动的项目自己的后端和前端么,你的后端现在应该是linux上的地址。你试过修改web目录下的.env中的NEXT_PUBLIC_API_URL为你linux后端地址了,再启动前端项目使用吗?已修改web目录下.env中的
NEXT_PUBLIC_API_URL为linux后端地址了,前端仍然出现不明确的错误提示,请问下还有可能修改哪些配置吗?![]()
建议你打开前端控制台看看网络请求是否正确。以及linux终端看看服务端是否有报错。我本地自测linux部署后端服务,本机windows跑的纯前端,配置NEXT_PUBLIC_API_URL正确,是可以互相通信的。
I encountered the same error (#124).
请问这种问题怎么回事呀
你这个不对吧。
./bootstrap.sh -d不是启动的项目自己的后端和前端么,你的后端现在应该是linux上的地址。你试过修改web目录下的.env中的NEXT_PUBLIC_API_URL为你linux后端地址了,再启动前端项目使用吗?已修改web目录下.env中的
NEXT_PUBLIC_API_URL为linux后端地址了,前端仍然出现不明确的错误提示,请问下还有可能修改哪些配置吗?![]()
建议你打开前端控制台看看网络请求是否正确。以及linux终端看看服务端是否有报错。我本地自测linux部署后端服务,本机windows跑的纯前端,配置NEXT_PUBLIC_API_URL正确,是可以互相通信的。
NEXT_PUBLIC_API_URL配置为linux服务器的ip吗?NEXT_PUBLIC_API_URL=http://服务器ip:8000/api
可以发一下后端打印的报错信息吗
同样遇到,明确修改NEXT_PUBLIC_API_URL为后端地址后,依然报错
你这个不对吧。
./bootstrap.sh -d不是启动的项目自己的后端和前端么,你的后端现在应该是linux上的地址。你试过修改web目录下的.env中的NEXT_PUBLIC_API_URL为你linux后端地址了,再启动前端项目使用吗?已修改web目录下.env中的
NEXT_PUBLIC_API_URL为linux后端地址了,前端仍然出现不明确的错误提示,请问下还有可能修改哪些配置吗?![]()
建议你打开前端控制台看看网络请求是否正确。以及linux终端看看服务端是否有报错。我本地自测linux部署后端服务,本机windows跑的纯前端,配置NEXT_PUBLIC_API_URL正确,是可以互相通信的。
NEXT_PUBLIC_API_URL配置为linux服务器的ip吗?NEXT_PUBLIC_API_URL=http://服务器ip:8000/api
是的啊。就是把原本默认的localhost改为服务端ip地址。同时,你服务端如果docker部署要把8000端口expose出来,如果还是报错,那就一同看一下前端的f12和后端的服务日志,看看是不是网络不通还是别的什么错误
可以发一下后端打印的报错信息吗 顺利输出几行后,就会报错
这是报错信息: | await self.app(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in call | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 714, in call | await self.middleware_stack(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 734, in app | await route.handle(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle | await self.app(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 76, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 74, in app | await response(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 262, in call | with collapse_excgroups(): | ^^^^^^^^^^^^^^^^^^^^ | File "/root/miniconda3/lib/python3.12/contextlib.py", line 158, in exit | self.gen.throw(value) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 266, in wrap | await func() | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 246, in stream_response | async for chunk in self.body_iterator: | File "/root/deer-flow/src/server/app.py", line 153, in _astream_workflow_generator | elif message_chunk.tool_call_chunks: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/root/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 989, in getattr | raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}') | AttributeError: 'AIMessage' object has no attribute 'tool_call_chunks' +------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/root/miniconda3/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in call await super().call(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/applications.py", line 112, in call await self.middleware_stack(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in call raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in call await self.app(scope, receive, _send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/cors.py", line 93, in call await self.simple_response(scope, receive, send, request_headers=headers) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/cors.py", line 144, in simple_response await self.app(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in call await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 714, in call await self.middleware_stack(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 734, in app await route.handle(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 74, in app await response(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 262, in call with collapse_excgroups(): ^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/contextlib.py", line 158, in exit self.gen.throw(value) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 266, in wrap await func() File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 246, in stream_response async for chunk in self.body_iterator: File "/root/deer-flow/src/server/app.py", line 153, in _astream_workflow_generator elif message_chunk.tool_call_chunks: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 989, in getattr raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}') AttributeError: 'AIMessage' object has no attribute 'tool_call_chunks'
@xia02 最新的代码中已修复,更新代码后执行 uv sync
可以发一下后端打印的报错信息吗 顺利输出几行后,就会报错
这是报错信息: | await self.app(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in call | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 714, in call | await self.middleware_stack(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 734, in app | await route.handle(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle | await self.app(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 76, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app | await app(scope, receive, sender) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 74, in app | await response(scope, receive, send) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 262, in call | with collapse_excgroups(): | ^^^^^^^^^^^^^^^^^^^^ | File "/root/miniconda3/lib/python3.12/contextlib.py", line 158, in exit | self.gen.throw(value) | File "/root/miniconda3/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 266, in wrap | await func() | File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 246, in stream_response | async for chunk in self.body_iterator: | File "/root/deer-flow/src/server/app.py", line 153, in _astream_workflow_generator | elif message_chunk.tool_call_chunks: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/root/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 989, in getattr | raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}') | AttributeError: 'AIMessage' object has no attribute 'tool_call_chunks' +------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/root/miniconda3/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in call await super().call(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/applications.py", line 112, in call await self.middleware_stack(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in call raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in call await self.app(scope, receive, _send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/cors.py", line 93, in call await self.simple_response(scope, receive, send, request_headers=headers) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/cors.py", line 144, in simple_response await self.app(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in call await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 714, in call await self.middleware_stack(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 734, in app await route.handle(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/root/miniconda3/lib/python3.12/site-packages/starlette/routing.py", line 74, in app await response(scope, receive, send) File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 262, in call with collapse_excgroups(): ^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/contextlib.py", line 158, in exit self.gen.throw(value) File "/root/miniconda3/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 266, in wrap await func() File "/root/miniconda3/lib/python3.12/site-packages/starlette/responses.py", line 246, in stream_response async for chunk in self.body_iterator: File "/root/deer-flow/src/server/app.py", line 153, in _astream_workflow_generator elif message_chunk.tool_call_chunks: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 989, in getattr raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}') AttributeError: 'AIMessage' object has no attribute 'tool_call_chunks'
这个已知问题我们已经修复了,你可以拉一下最新的代码再试试
拉完最新的代码后,需要重新uv sync一下,安装一下依赖
一样问题,更新之后就可以了。
拉完最新的代码后,需要重新uv sync一下,安装一下依赖
收到,谢谢,我试试
一样问题,更新之后就可以了。
![]()
拉完最新的代码吗
拉完最新的代码后,需要重新uv sync一下,安装一下依赖
您好,我拉了最新的代码,依然控制台报错,我是linux服务器内网部署,并且NEXT_PUBLIC_API_URL=http://localhost:8000/api中的localhost已修改为服务器ip,配置的deepseek-chat大模型,tavlily搜索,不知道为何依然在生成过程中报错,求解?
一样问题,更新之后就可以了。
![]()
你用 tavlily吗,TAVILY_API_KEY=tvly-xxx这个不需要修改吗
你用 tavlily吗,TAVILY_API_KEY=tvly-xxx这个不需要修改吗 需要修改为正确的tavlily api key,可以去tavlily官网获取
异常从(failed)net::ERR_CONNECTION_REFUSED 变成 (failed)net::ERR_CONNECTION_RESET了
拉完最新的代码后,需要重新uv sync一下,安装一下依赖
您好,我拉了最新的代码,依然控制台报错,我是linux服务器内网部署,并且NEXT_PUBLIC_API_URL=http://localhost:8000/api中的localhost已修改为服务器ip,配置的deepseek-chat大模型,tavlily搜索,不知道为何依然在生成过程中报错,求解?

建议你打开前端控制台看看网络请求是否正确。以及linux终端看看服务端是否有报错。我本地自测linux部署后端服务,本机windows跑的纯前端,配置NEXT_PUBLIC_API_URL正确,是可以互相通信的。
NEXT_PUBLIC_API_URL配置为linux服务器的ip吗?NEXT_PUBLIC_API_URL=http://服务器ip:8000/api
是的啊。就是把原本默认的localhost改为服务端ip地址。同时,你服务端如果docker部署要把8000端口expose出来,如果还是报错,那就一同看一下前端的f12和后端的服务日志,看看是不是网络不通还是别的什么错误
我更新了代码,运行了uv sync,前端还是不成功,不过我的linux终端不能科学上网,在起容器的时候用了--net=host
@sail0755 @Cherry2410
两位可以单独运行下 uv run server.py, 确保后端正常工作。
访问过程中出现任何报错, 请提供详细的后端日志,便于排查。
内网部署,后端没有显示任何错误。前端是这样现实的,出现的实际与上方一致。
内网部署,后端没有显示任何错误。前端是这样现实的,出现的实际与上方一致。
![]()
相同的错误,请问是什么原因导致的报错呢?
我也出现相同问题 NEXT_PUBLIC_API_URL配置为linux服务器的ip 还是不行
大家用的是什么版本? 最近前端端配置代码没有做什么修改。
一样的问题,NEXT_PUBLIC_API_URL配置为linux服务器的ip 还是不行
