Jupyter Notebook局域网访问配置:从单机到团队协作的完整指南
1. 项目概述从单机到协作解锁Jupyter Notebook的访问边界如果你正在用Jupyter Notebook做数据分析、机器学习或者教学演示大概率遇到过这样的场景代码和图表在本地跑得好好的但想给隔壁工位的同事看一眼结果或者想在平板上边躺边写代码却发现只能守着那台开着的电脑。默认情况下Jupyter Notebook启动后只监听本机的localhost通常是127.0.0.1这意味着它就像一个上了锁的房间只有你本人从同一台机器上才能进去。这个设计初衷是为了安全防止未经授权的网络访问。但在实际的开发、教学和团队协作中我们常常需要打破这堵墙让Notebook服务能被局域网内的其他设备访问甚至进行简单的远程调试和演示。这个“配置jupyter notebook本地与局域网访问”的项目核心就是调整Jupyter的服务配置将其从一个纯粹的单机应用转变为一个可在局域网内共享的服务。这不仅仅是改个IP地址那么简单它涉及到服务绑定的网络原理、安全边界的权衡、以及不同启动方式下的配置持久化。我见过不少新手在尝试这一步时要么配置不生效要么成功后却忽略了安全设置埋下隐患。接下来我会带你从原理到实操一步步拆解如何安全、稳定地实现这个目标并分享一些我踩过坑后才总结出来的经验。2. 核心原理与配置思路拆解2.1 Jupyter Notebook的服务架构与网络绑定要理解如何配置首先得知道Jupyter Notebook启动后到底发生了什么。当你执行jupyter notebook命令时背后启动的是一个基于Tornado框架的Web应用服务器。这个服务器需要绑定到一个IP地址和端口上以便接收HTTP请求。默认情况下Jupyter的配置文件会指定服务器绑定到localhost或127.0.0.1。这是一个特殊的回环地址所有发送到这个地址的网络数据包都不会进入物理网卡而是在操作系统内部就被处理掉了。因此只有从本机发起的连接比如你在本机浏览器输入127.0.0.1:8888才能被服务器响应。局域网内的其他设备即使知道你这台电脑的IP如192.168.1.100向这个地址和端口发送请求也会因为目标地址不匹配而被服务器直接忽略。所以实现局域网访问的关键就是将服务器绑定的IP地址从127.0.0.1改为0.0.0.0。这个0.0.0.0是一个元地址在绑定操作中它表示“监听本机所有可用的网络接口”。这意味着服务器会同时监听回环地址和你的真实局域网IP地址如192.168.1.100。这样无论是本机通过localhost访问还是局域网内其他设备通过192.168.1.100:8888访问请求都能被正确接收和处理。注意将服务暴露在0.0.0.0上会带来安全风险因为任何知道你IP地址的局域网设备都可能尝试连接。因此务必配置访问密码或令牌绝不能将无密码保护的Jupyter服务暴露在局域网中。2.2 三种配置方法的选择与考量实现IP绑定的修改通常有三种途径各有适用场景命令行参数启动临时生效在启动命令中直接指定IP和禁用浏览器自动打开。例如jupyter notebook --ip0.0.0.0 --no-browser。这种方法最快捷适合临时性的演示或调试。它的缺点是每次启动都需要输入这些参数且无法覆盖一些更深层的默认设置。修改配置文件永久生效找到并修改Jupyter的配置文件jupyter_notebook_config.py将c.NotebookApp.ip设置为‘*’或‘0.0.0.0’。这是一劳永逸的方法修改后无论以何种方式启动都会默认使用这个配置。适合长期需要局域网访问的环境。创建自定义启动脚本灵活控制将带参数的启动命令写成一个Shell脚本如start_jupyter_lan.sh或批处理文件。这种方式结合了前两者的优点既避免了每次手动输入长命令又比直接修改默认配置文件更灵活可以针对不同项目创建不同的启动配置。对于大多数个人和小团队使用场景我推荐第二种修改配置文件为主第一种命令行参数为辅的策略。将基础配置固化在配置文件里遇到特殊情况比如临时使用特定端口再用命令行参数覆盖。这既保证了日常使用的便利性又保留了灵活性。3. 详细配置步骤与实操解析3.1 环境准备与配置文件定位首先确保你的环境中已正确安装Jupyter Notebook。通常通过Anaconda或pip安装后即可使用。配置的核心在于jupyter_notebook_config.py这个文件。它可能不存在于你的系统中需要手动生成。打开终端Linux/macOS或命令提示符/PowerShellWindows执行以下命令生成默认配置文件jupyter notebook --generate-config执行成功后会显示配置文件生成的路径。通常位于Linux/macOS:~/.jupyter/jupyter_notebook_config.pyWindows:C:\Users\你的用户名\.jupyter\jupyter_notebook_config.py这个文件里包含了所有可配置的选项但都被注释掉了每行以#开头。我们需要做的就是找到对应的配置行取消注释并进行修改。3.2 关键配置项修改详解用文本编辑器如VS Code、Notepad、或vim打开这个配置文件。不建议使用系统自带的记事本因为它可能处理不好行尾符。找到并修改以下几处关键配置1. 允许所有IP访问核心设置找到包含c.NotebookApp.ip的这一行。将其修改为c.NotebookApp.ip ‘0.0.0.0’或者c.NotebookApp.ip ‘*’两者在这里是等价的都表示监听所有网络接口。2. 设置默认端口可选但建议找到c.NotebookApp.port。默认是8888如果这个端口被占用Jupyter会自动尝试8889, 8890…。为了避免不确定性可以指定一个固定端口比如8888。取消注释并修改c.NotebookApp.port 88883. 禁止自动打开浏览器强烈建议当配置了局域网访问后我们可能希望先启动服务再从其他设备浏览器访问。默认自动打开本地浏览器有时会干扰。找到并修改c.NotebookApp.open_browser False4. 设置工作目录重要默认启动目录可能是你的用户家目录。为了安全和管理方便建议设置一个固定的项目目录。找到c.NotebookApp.notebook_dir修改为你的目标路径注意使用原始字符串或双反斜杠处理Windows路径# Windows示例 c.NotebookApp.notebook_dir r‘C:\MyJupyterProjects’ # Linux/macOS示例 c.NotebookApp.notebook_dir ‘/home/username/jupyter_workspace’5. 配置密码访问安全必备下文单独详述修改完成后保存配置文件。3.3 为局域网访问设置访问密码暴露服务到局域网设置密码是必须的。Jupyter支持令牌Token和密码两种方式。令牌每次启动随机生成不方便记忆和分享。我们设置一个固定密码。在终端中先进入你的工作环境然后运行以下命令生成加密后的密码python -c “from notebook.auth import passwd; print(passwd())”你会被提示输入两次你想设置的密码。输入后终端会输出一串类似‘argon2:…’的长字符串这就是你密码的加密哈希值。复制这串哈希值回到配置文件中找到c.NotebookApp.password这一项取消注释并将哈希值粘贴进去c.NotebookApp.password ‘argon2:…$你的哈希值’同时确保令牌认证被禁用默认已禁用c.NotebookApp.token ‘’这样下次启动Jupyter后从任何设备访问都会首先跳转到密码登录页面。3.4 启动服务与局域网访问测试完成配置后在终端中直接输入jupyter notebook启动服务。你会看到类似下面的输出[I 10:00:00.000 NotebookApp] Serving notebooks from local directory: /your/workspace [I 10:00:00.000 NotebookApp] Jupyter Notebook 6.5.0 is running at: [I 10:00:00.000 NotebookApp] http://0.0.0.0:8888/ [I 10:00:00.000 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).注意这里显示的地址是http://0.0.0.0:8888而不是之前的http://localhost:8888这说明配置已生效。现在进行访问测试本机访问在本机浏览器中你依然可以使用http://localhost:8888或http://127.0.0.1:8888进行访问会跳转到密码页面。局域网访问首先查出你本机在局域网中的IP地址。Windows: 在命令提示符输入ipconfig找到“无线局域网适配器 WLAN”或“以太网适配器 以太网”下的IPv4 地址。Linux/macOS: 在终端输入ifconfig或ip addr查找wlan0或eth0等接口下的inet地址。假设你查到的IP是192.168.1.100。那么在同一局域网下的另一台电脑或手机的浏览器中输入http://192.168.1.100:8888。如果一切正常你将看到和本机一样的Jupyter登录页面输入之前设置的密码即可进入。4. 防火墙配置与常见问题排查4.1 配置系统防火墙关键步骤很多时候按照上述步骤配置后局域网设备依然无法访问问题大概率出在系统防火墙上。防火墙阻止了外部对8888端口的入站连接。Windows Defender 防火墙打开“控制面板” - “系统和安全” - “Windows Defender 防火墙” - “高级设置”。在左侧选择“入站规则”右侧点击“新建规则”。规则类型选择“端口”下一步。选择“TCP”特定本地端口输入8888如果你改了端口就输入你设置的端口号下一步。选择“允许连接”下一步。何时应用规则默认全选域、专用、公用下一步。给规则起个名字比如“Jupyter Notebook Port 8888”完成。macOS 防火墙打开“系统偏好设置” - “安全性与隐私” - “防火墙” - 点击锁图标解锁。点击“防火墙选项...”。点击“”添加应用。如果列表里没有jupyter-notebook你需要手动导航到其安装路径通常在Anaconda的bin目录下或通过which jupyter-notebook查找。或者更简单的方法是暂时在终端允许该端口重启可能失效sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add --port 8888 --protocol tcpLinux (如Ubuntu) 防火墙 如果使用ufw命令如下sudo ufw allow 8888/tcp sudo ufw reload如果使用firewalld如CentOSsudo firewall-cmd --permanent --add-port8888/tcp sudo firewall-cmd --reload配置完防火墙后务必重启Jupyter服务再进行局域网访问测试。4.2 常见问题与解决方案速查表问题现象可能原因排查步骤与解决方案局域网设备无法连接超时或拒绝连接。1. 防火墙未放行端口。2. Jupyter未绑定到0.0.0.0。3. IP地址错误。1.检查防火墙按上节配置系统防火墙。2.检查Jupyter绑定确认启动日志显示http://0.0.0.0:8888。3.检查IP在本机使用ipconfig/ifconfig确认局域网IP并确保访问设备使用该IP。可以连接但提示“Invalid credentials”密码错误。1. 密码输入错误。2. 密码哈希值配置有误。1.重输密码注意大小写。2.重新生成密码哈希再次运行python -c “from notebook.auth import passwd; print(passwd())”确保完整复制新哈希值到配置文件并保存。重启Jupyter。本机可以访问localhost:8888但无法访问192.168.x.x:8888。网络接口绑定问题或本地回环地址与真实IP的优先级问题。这是一个不常见但可能发生的问题。尝试在启动命令中明确指定IPjupyter notebook --ip192.168.1.100替换为你的IP。这强制绑定到特定接口。启动Jupyter时提示端口已被占用。8888端口被其他程序可能是之前未退出的Jupyter实例占用。1. 使用jupyter notebook --port 8890指定另一个端口。2. 找到并结束占用端口的进程。在Windows上可用netstat -ano手机/平板能打开登录页但登录后页面加载缓慢或异常。1. 局域网WiFi信号或速度问题。2. 浏览器兼容性问题。3. Jupyter服务资源占用高。1. 检查网络连接质量。2. 尝试使用设备的Chrome或Safari浏览器。3. 在本机检查CPU/内存占用关闭不必要的Notebook内核。4.3 高级配置与安全加固建议对于需要更稳定、更安全访问的场景可以考虑以下进阶方案1. 使用SSH隧道进行加密访问推荐如果你有一台具有公网IP的服务器或者担心纯局域网HTTP传输不够安全可以通过SSH隧道将本地Jupyter端口映射到本地。在需要访问的客户端机器上执行ssh -N -f -L localhost:8888:localhost:8888 usernameyour_jupyter_host_ip这条命令在客户端本地创建了一个8888端口所有发往这个端口的数据都会被加密隧道传输到运行Jupyter的主机的8888端口。这样你在客户端浏览器访问localhost:8888实际上访问的是远程主机上的Jupyter且全程通信是加密的。这比直接暴露HTTP服务要安全得多。2. 配置HTTPS适用于公网暴露局域网亦可直接使用HTTP密码在网络中是明文传输的。在局域网内虽然风险较低但为求严谨可以配置HTTPS。你需要生成自签名证书openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem然后在Jupyter配置中指定证书路径c.NotebookApp.certfile ‘/full/path/to/mycert.pem’ c.NotebookApp.keyfile ‘/full/path/to/mykey.key’启动后浏览器访问需要使用https://开头并首次需要信任自签名证书。这对于教学演示或内部团队共享是一个更专业的选择。3. 结合反向代理如Nginx对于需要集成到现有Web服务、做负载均衡或提供更友好域名访问的场景可以使用Nginx作为反向代理。一个简单的Nginx配置示例如下server { listen 80; server_name jupyter.your-internal-domain.com; # 或局域网IP location / { proxy_pass http://127.0.0.1:8888; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 以下两行对WebSocket连接很重要 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; } }这样你可以通过http://jupyter.your-internal-domain.com来访问JupyterNginx会帮你把请求转发给本机真正的Jupyter服务。这种方式便于管理多个服务也更容易添加HTTPS等高级功能。5. 实操心得与长期维护建议经过无数次配置和排错我总结出几个让Jupyter局域网服务更顺滑的经验第一关于配置文件的管理。不要直接修改Anaconda基础环境下的默认配置文件。更好的做法是为你不同的工作项目创建独立的虚拟环境conda或venv在每个环境中单独生成和配置Jupyter。这样不同项目可以有完全不同的Jupyter设置如端口、工作目录、扩展互不干扰。配置文件本身也是一个Python脚本你甚至可以用条件语句根据环境变量来动态调整配置实现更灵活的控制。第二关于启动方式。如果你需要Jupyter服务在后台长期运行即使关闭终端也不退出在Linux/macOS下可以使用nohup或systemd服务在Windows下可以将其注册为服务或使用start /B命令。例如nohup jupyter notebook --config ~/.jupyter/my_config.py jupyter.log 21 这会将服务放到后台运行并将日志输出到jupyter.log文件方便后续查看。第三关于性能与稳定性。当多人通过局域网同时访问并运行代码时对主机资源CPU、内存消耗较大。建议定期检查并清理不活动的内核在Jupyter Lab的“运行中的终端和内核”面板或在经典Notebook的“控制台”中点击“关闭”。对于内存密集型的任务可以考虑设置内核的自动重启策略或者引导用户使用更轻量的JupyterLab界面。第四最重要的永远是安全。再次强调--ip0.0.0.0和设置强密码必须绑定使用。永远不要在生产环境或不可信的局域网中运行无密码保护的Jupyter服务。如果服务需要暴露在公网SSH隧道或HTTPS强密码是基本要求并应密切关注Jupyter官方发布的安全更新。配置Jupyter Notebook的局域网访问从技术上看只是改个IP绑定但其背后是本地开发环境向微型协作服务迈进的一小步。它打通了设备间的壁垒让演示、调试、协作变得触手可及。只要理解了网络绑定的原理并牢牢守住安全的底线这个简单的配置就能为你的数据科学工作流带来极大的便利。

相关新闻

终极暗黑3辅助工具:D3keyHelper从入门到精通的完整实战指南

终极暗黑3辅助工具:D3keyHelper从入门到精通的完整实战指南

终极暗黑3辅助工具:D3keyHelper从入门到精通的完整实战指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3keyHelper是一款专为暗黑破…

2026/8/4 4:31:48 阅读更多 →
如何用FFmpegGUI轻松搞定视频处理:新手必备的3大秘籍

如何用FFmpegGUI轻松搞定视频处理:新手必备的3大秘籍

如何用FFmpegGUI轻松搞定视频处理:新手必备的3大秘籍 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI 你是否曾经被复杂的FFmpeg命令行搞得头晕眼花?是否因为视频格式转换、剪辑处理而耗费大量时间…

2026/8/4 4:31:48 阅读更多 →
LAV Filters:Windows媒体播放的终极解码解决方案,告别格式不兼容烦恼!

LAV Filters:Windows媒体播放的终极解码解决方案,告别格式不兼容烦恼!

LAV Filters:Windows媒体播放的终极解码解决方案,告别格式不兼容烦恼! 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 你是…

2026/8/4 4:31:48 阅读更多 →

最新新闻

AI时代程序员技术栈重构指南

AI时代程序员技术栈重构指南

在AI驱动的供应链与技术链重构中,普通程序员的技术栈升级核心在于:从“代码执行者”转向“AI增强的系统决策者与架构师”。这意味着工作最小单元从编写函数,升级为定义问题、拆解任务、判断方案并与AI高效协作。 一、技术栈重构的核心方向与…

2026/8/4 5:10:04 阅读更多 →
Spring-ai-alibaba工具

Spring-ai-alibaba工具

文章目录Spring AI Alibaba 工具调用实战(Tool Calling)版本一、依赖引入二、yml 配置三、代码案例:声明式工具(Tool)1. 日期工具2. 天气工具(普通业务方法 Tool)四、注册到 ChatClient&#x…

2026/8/4 5:10:04 阅读更多 →
Python日志轮转实践:RotatingFileHandler与TimedRotatingFileHandler详解

Python日志轮转实践:RotatingFileHandler与TimedRotatingFileHandler详解

1. Python日志轮转的核心价值与场景日志轮转(Log Rotation)是每个Python开发者必须掌握的工程化实践。想象一下你的应用连续运行三个月后,单个日志文件膨胀到50GB的场景——不仅难以打开分析,还可能因磁盘写满导致服务崩溃。我在金…

2026/8/4 5:10:04 阅读更多 →
【AI写作变现指南】:3天掌握公众号爆款生成术,92%的运营者已悄悄启用

【AI写作变现指南】:3天掌握公众号爆款生成术,92%的运营者已悄悄启用

更多请点击: https://codechina.net 第一章:AI写作变现的核心逻辑与行业现状 AI写作变现并非简单地将模型输出直接售卖,其核心逻辑在于构建“数据—能力—场景—价值”的闭环链条:优质垂类数据训练出差异化内容生成能力&#xff…

2026/8/4 5:10:04 阅读更多 →
基于MATLAB/Simulink的V2G微电网建模与仿真实践

基于MATLAB/Simulink的V2G微电网建模与仿真实践

1. 项目背景与核心价值V2G(Vehicle-to-Grid)技术正在重塑能源互联网的格局。去年参与某工业园区微电网项目时,我们首次尝试将12台电动大巴作为分布式储能单元接入电网,实测发现这些车辆在停泊期间可提供园区23%的峰值负荷调节能力…

2026/8/4 5:10:04 阅读更多 →
AnimateDiff Pro实战:从动态生成到AR与虚拟偶像应用

AnimateDiff Pro实战:从动态生成到AR与虚拟偶像应用

1. 项目概述:当AnimateDiff Pro遇上虚拟偶像与AR最近在数字内容创作圈子里,一个词被反复提及:AnimateDiff Pro。这不再是那个仅仅用于生成几秒钟动态视频的玩具了。结合“虚拟偶像直播背景”、“AR滤镜”和“数字人驱动”这些场景&#xff0c…

2026/8/4 5:09:04 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →