• [问题求助] 请问可以使用昇腾910b1吗
    西南贵阳notebook里似乎只有b2和b4
  • [问题求助] 代金券可否抵消开销
    3月31日代金券就失效了,目前申请的新一批代金券还没审批通过。如果4月份通过了,获得的代金券能抵消4月1日到代金券发放之日的开销吗?
  • [问题求助] 开通白名单
     您好,想要按需购买专属资源池,申请开通白名单
  • [区域初赛赛题问题] 性能得分里面的测试用时 t,是程序输出结果的总时间吗?还是另外加上判题器判题的时间?
    性能得分里面的测试用时 t,是程序输出结果的总时间吗?还是另外加上判题器判题的时间?
  • [问题求助] 如何打开/home/ma-user/work以外的文件?进入notebook默认是这个目录,我想打开/home/ma-user/anaconda3/,如何通过非命令行方式打开呢
    我想要修改某个原始库文件,谢谢!
  • 传统MES向AI智能MES转型的技术难点是什么?
    从传统MES(制造执行系统)向AI智能MES转型的过程,绝非简单的“软件升级”或“模块叠加”,而是一场涉及数据架构、算法模型、业务逻辑乃至组织文化的深层重构。作为产品经理和技术架构师,我们必须清醒地认识到,这一转型面临着以下五大核心技术难点:   1、数据治理的“深水区”:多源异构与质量困境AI模型的效能取决于数据质量(Garbage In, Garbage Out)。传统工厂的数据环境往往是AI落地的最大阻碍。多源异构数据融合难:工厂内设备品牌繁杂(西-门-子、三-菱、欧-姆-龙等),通信协议不一(OPC UA, Modbus, Profinet等),且存在大量非结构化数据(如质检图片、维修录音、纸质单据扫描件)。将这些“方言”统一翻译成AI可理解的标准化语言,需要构建极其复杂的工业数据中台。数据孤岛与断点:传统MES往往与ERP、PLM、WMS等系统割裂,数据流转存在断点。AI需要全链路数据(从订单到交付)才能进行全局优化,打通这些孤岛涉及巨大的接口改造成本。样本稀缺与不平衡:这是工业AI特有的痛点。正常生产数据海量,但故障数据、缺陷样本极少(“长尾分布”)。缺乏足够的负样本训练,导致AI模型在预测故障或缺陷时准确率低下。需依赖合成数据生成或小样本学习技术来突破。2、实时性与算力的博弈:云边协同架构挑战工业生产对延迟极其敏-感(毫秒级甚至微秒级),而大模型推理通常耗时较长。云端训练的局限:将海量数据上传至云端训练大模型可行,但在生产现场,网络波动或带宽限制可能导致指令下发延迟,引发生产事故。边缘侧算力瓶颈:要在设备端(Edge)部署轻量化的AI模型以实现实时决策(如实时视觉质检、毫-秒-级参数调整),受限于工控机或嵌入式设备的算力与功耗,模型必须进行极致的剪枝、量化与蒸馏,这往往以牺牲部分精度为代价。云边端协同难:如何设计一套机制,让云端负责重模型训练与全局优化,边缘端负责轻模型推理与实时控制,并实现模型的无缝下发与版本管理,是架构设计的核心难点。3、算法模型的“黑盒”信任危机:可解释性(XAI)缺失在传统MES中,规则是显性的(If-Then),工人和管理者清楚知道系统为何这样执行。而深度学习模型往往是“黑盒”。决策归因难:当AI建议“停机维护”或“调整工艺参数”时,如果无法给出令人信服的理由(例如:“因为振动频谱在200Hz处出现异常峰值,且与历史故障模式匹配度95%”),一线操作人员不敢执行,管理者不敢拍板。责任界定模糊:若AI决策导致批量报废或设备损坏,责任由谁承担?缺乏可解释性人工智能(XAI)技术的支持,使得AI-MES在关键工序的落地受阻。解决方案方向:必须引入因果推断(Causal Inference)和知识图谱,将AI的概率推理与专家的规则逻辑相结合,提供“决策溯源”功能。4、业务场景的碎片化与泛化难题:从“单点智能”到“全局最优”工业场景高度定制化,“千厂千面”,难以像互联网产品那样通过一套代码通吃。场景碎片化:注塑、SMT、组装、化工等不同行业的工艺逻辑差异巨大,甚至同一行业不同产线的参数体系都不同。训练一个通用的“工业大模型”难度极高,往往需要针对特定场景进行大量的微调(Fine-tuning)。局部最优陷阱:传统AI应用往往局限于单点(如仅做质检或仅做排产)。要实现全局优化(如同时平衡交期、库存、能耗、设备寿命),需要构建多目标强化学习(Multi-objective RL)模型,其状态空间巨大,收敛困难,且容易陷入局部最优解。动态适应性差:工厂环境是动态变化的(换线、换人、换料)。传统模型一旦训练完成,面对新环境往往失效,需要具备在线学习(Online Learning)能力,但这又带来了模型稳定性风险(灾难性遗忘)。5、遗留系统的兼容与重构成本:技术债务沉重大多数制造企业并非从零开始,而是在运行了10年甚至20年的旧系统上叠加AI。架构耦合度高:传统MES多为单体架构(Monolithic),代码耦合严重,牵一发而动全身。要将AI模块(如微服务化的Agent)嵌入其中,往往需要对底层数据库、业务逻辑进行伤筋动骨的重构。硬件老化:许多老旧设备不具备数据采集接口,或控制器算力不足以支撑边缘AI。改造这些“哑设备”需要加装传感器、网关甚至更换控制器,硬件投入成本高昂。人才断层:既懂OT(运营技术/工艺)又懂IT(信息技术)还懂AI算法的复合型人才极度匮乏。产品团队往往难以准确理解工艺痛点,导致开发出的AI功能“叫好不叫座”。  总结与应对策略: 难点维度核心挑战万界星空科技应对策略关键词数据层脏乱差、样本少、协议杂工业数据中台、合成数据、多模态融合架构层延迟敏感、算力受限云边端协同、模型量化、轻量化部署算法层黑盒决策、信任缺失可解释性AI (XAI)应用层场景碎片、泛化难行业垂类大模型、低代码配置、在线学习工程层legacy系统、硬件老旧微服务重构、软硬一体化改造、渐进式替换 结论:传统MES向AI智能MES的转型,本质上是从“流程驱动”向“数据+算法驱动”的范式转移。这不仅是技术的升级,更是对工业知识数字化沉淀能力的考验。成功的关键不在于追求最先进的算法,而在于能否在真实的工业约束下(实时性、可靠性、可解释性)。对于企业而言,这是一场持久战,需要“小步快跑,场景先行”,在解决具体痛点中逐步完成智能化进化。
  • [问题求助] pycharm的modelart插件 没有华东2区域吗
     pycharm toolkit插件连接notebook,没有华东2区域吗 gitee上也没有还有就是 pycharm远程浏览不能显示/home目录下的文件吗 一定要使用插件吗
  • [技术干货] 在华为云上部署基于openclaw的学术助手
    学术助手部署流程总结一、背景与需求1.1 项目背景本项目为研究生群体打造一个自动化的学术助手系统,核心需求包括:研究方向定制:每个学生可设定个性化的研究方向、偏好设置文献自动获取:支持设定文献来源,每日自动下载新文献智能总结推送:按自定义模板或提示词对文献进行总结,自动推送到学生完全独立隔离:每个学生的助手实例完全独立,互不影响弹性扩展:学生人数可随时增减,便于管理1.2 技术选型底层框架:nanobot(轻量级 AI 助手框架)容器化:Docker + Docker Compose消息通道:飞书(Feishu)WebSocket 长连接大模型:通过 OpenRouter 调用 kimi-k2.5(成本可控)部署环境:Ubuntu 云服务器(32GB 内存)1.3 核心架构原则Parse error on line 7: ...A[/root/.nanobot独立挂载] instB --> data -----------------------^ Expecting 'SPACE', 'GRAPH', 'DIR', 'subgraph', 'end', 'AMP', 'ALPHA', 'COLON', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'START_LINK', 'STYLE', 'LINKSTYLE', 'CLASSDEF', 'CLASS', 'CLICK', 'DOWN', 'UP', 'DEFAULT', 'NUM', 'COMMA', 'MINUS', 'BRKT', 'DOT', 'PCT', 'TAGSTART', 'PUNCTUATION', 'UNICODE_TEXT', 'PLUS', 'EQUALS', 'MULT', 'UNDERSCORE', got 'SQE'关键设计:一个学生 = 一个独立 Docker 容器一个容器 = 一个独立 /root/.nanobot 数据目录共享镜像,不共享运行态数据通过模板和注册表管理实例,不靠手工复制二、部署过程2.1 环境准备2.1.1 Docker 安装使用 Docker 官方 Ubuntu APT 源安装:sudo apt update sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL ... | sudo tee /etc/apt/keyrings/docker.asc > /dev/null sudo chmod a+r /etc/apt/keyrings/docker.asc echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] ... $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin验证安装:docker --version docker compose version将当前用户加入 docker 组:sudo usermod -aG docker claw_manager newgrp docker2.1.2 代码准备克隆 nanobot 仓库:cd /home/claw_manager/software git clone ...构建共享镜像:cd /home/claw_manager/software/nanobot docker build -t nanobot:local . 2.1.3 目录结构/home/claw_manager/ ├── software/nanobot/ # nanobot 源码 ├── nanobot-manager/ # 管理目录 │ ├── students.yml # 学生注册表 │ ├── templates/ # 渲染模板 │ │ ├── compose.student.yml │ │ ├── config.student.json │ │ ├── RESEARCH_PROFILE.student.md │ │ ├── LITERATURE_SOURCES.student.md │ │ ├── SUMMARY_TEMPLATE.student.md │ │ └── HEARTBEAT.student.md │ └── scripts/ │ └── studentctl # 管理脚本 ├── nanobot-instances/ # 学生实例目录 │ ├── student001/ │ │ ├── .env │ │ ├── compose.yml │ │ └── .nanobot/ # 实际挂载到容器的目录 │ │ ├── config.json │ │ └── workspace/ │ └── student002/ └── nanobot-archives/ # 归档目录2.2 飞书应用配置每个学生需要独立的飞书应用:访问 飞书开放平台创建企业应用启用 Bot 能力配置权限:im:message(发送消息)im:message.p2p_msg:readonly(接收单聊消息)开启事件订阅:事件:im.message.receive_v1模式:Long Connection(长连接)发布应用版本获取 App ID 和 App Secret 供后续配置使用。2.3 学生实例部署2.3.1 一键式部署(推荐)/home/claw_manager/nanobot-manager/scripts/studentctl provision student001 \ --name "张三" \ --research-direction "多模态检索与学术问答" \ --feishu-app-id "cli_xxx" \ --feishu-app-secret "xxx" \ --host-port 18891 \ --preference "默认使用中文输出" \ --preference "优先输出结构化总结" \ --literature-source "arXiv cs.IR" \ --literature-source "ACL Anthology" \ --summary-item "1. 研究问题" \ --summary-item "2. 方法概述" \ --summary-item "3. 主要结果" \ --summary-item "4. 对当前课题的启发" 2.3.2 分步部署编辑注册表后渲染并启动:# 渲染实例配置 /home/claw_manager/nanobot-manager/scripts/studentctl render student001 # 启动容器 /home/claw_manager/nanobot-manager/scripts/studentctl up student0012.4 验证部署查看运行状态:/home/claw_manager/nanobot-manager/scripts/studentctl status student001查看日志:/home/claw_manager/nanobot-manager/scripts/studentctl logs student001 --tail 50 成功标志:容器状态显示 Up日志中出现 Feishu bot started with WebSocket long connection日志中出现 connected to wss...三、具体实现细节3.1 核心命令汇总3.1.1 学生生命周期管理# 列出现有学生 /home/claw_manager/nanobot-manager/scripts/studentctl list # 新增/更新学生并启动 /home/claw_manager/nanobot-manager/scripts/studentctl provision <student_id> \ --name "姓名" \ --research-direction "方向" \ --feishu-app-id "cli_xxx" \ --feishu-app-secret "xxx" # 查看状态 /home/claw_manager/nanobot-manager/scripts/studentctl status <student_id> # 查看日志 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> --tail 100 # 重启实例 /home/claw_manager/nanobot-manager/scripts/studentctl restart <student_id> # 停止实例 /home/claw_manager/nanobot-manager/scripts/studentctl stop <student_id> # 停用并归档(保留数据) /home/claw_manager/nanobot-manager/scripts/studentctl deprovision <student_id> \ --archive \ --remove-from-registry # 停用并彻底删除 /home/claw_manager/nanobot-manager/scripts/studentctl deprovision <student_id> \ --archive \ --delete-files \ --remove-from-registry # 绑定特定飞书用户(收紧权限) /home/claw_manager/nanobot-manager/scripts/studentctl bind-feishu-user <student_id> <open_id> 3.1.2 Docker 直接操作(备用)# 使用 docker compose 操作单个学生 cd /home/claw_manager/nanobot-instances/student001 docker compose up -d # 启动 docker compose down # 停止 docker compose logs -f # 查看日志 # 查看所有容器 sg docker -c 'docker ps -a' 3.2 权限管控机制3.2.1 容器权限隔离学生间隔离:每个学生拥有独立的 Docker 容器容器内运行用户为 root(默认)挂载目录隔离:/home/claw_manager/nanobot-instances/<student_id>/.nanobot文件权限问题:容器以 root 写入的文件在宿主机显示为 root:root,可能导致宿主机用户无法直接删除。解决方案:临时方案(已使用):sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/<student_id> 容器方式清理(推荐):# 使用临时容器以 root 身份清理挂载目录 sg docker -c 'docker run --rm -v /home/claw_manager/nanobot-instances/<student_id>:/target alpine sh -c "rm -rf /target/* /target/.[!.]* /target/..?*"' 3.2.2 Feishu 访问控制第一层隔离:每个学生使用独立的飞书应用(app_id + app_secret)第二层隔离(可选):绑定特定用户 open_id# 先让学生活动一次,从日志获取其 open_id # 然后执行绑定 /home/claw_manager/nanobot-manager/scripts/studentctl bind-feishu-user student001 ou_xxx /home/claw_manager/nanobot-manager/scripts/studentctl restart student0013.2.3 文件访问限制每个学生的 config.json 中设置了:{ "tools": { "restrictToWorkspace": true } } 这限制了 agent 的文件操作只能在其 workspace 目录内进行。3.3 配置管理3.3.1 两层配置结构管理层源配置(students.yml):学生元信息(ID、姓名、研究方向)Feishu 凭据文献来源、总结模板用于批量管理和重新渲染实例运行时配置(nanobot-instances/<id>/.nanobot/config.json):实际生效的 LLM 配置Feishu 连接参数容器直接读取此配置运行3.3.2 敏感信息处理当前设计将凭据统一存储在 students.yml 中,便于管理但集中存储风险较高。生产环境建议:将敏感信息(api_key、app_secret)移至各自实例目录的独立文件注册表仅保留元信息脚本按需读取并渲染3.4 资源规划单实例配置建议:CPU:0.5-1 核内存:512MB-1GB端口:每个学生独立端口(从 18891 开始递增)实际瓶颈:模型 API 调用成本(而非容器资源)文献下载并发数长期日志和数据累积3.5 故障排查3.5.1 常见问题问题1:端口被占用Error: address already in use解决:更换端口或停止占用该端口的服务问题2:Feishu 连接失败app_id is invalid解决:检查 app_id 和 app_secret 是否正确,确认飞书应用已发布问题3:权限拒绝(删除实例时)PermissionError: [Errno 13] Permission denied解决:# 方法1:修改属主 sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/<student_id> # 方法2:使用容器清理 sg docker -c 'docker run --rm -v /home/claw_manager/nanobot-instances/<student_id>:/target alpine sh -c "rm -rf /target/*"' 3.5.2 日志查看# 查看最近100行 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> --tail 100 # 实时跟踪 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> -f3.6 运维脚本增强当前 studentctl 已支持:Docker 组权限自动检测(sg docker 自动切换)一键增删学生自动归档模板渲染待增强项:删除时自动检测 root 文件并自动清理敏感信息分离存储批量操作(增删多个学生)四、关键经验总结4.1 架构选择理由为什么选择「一学生一容器」而非「一容器多学生」:配置完全隔离,不会相互污染会话和记忆天然分离定时任务互不干扰单个实例异常不影响他人停用某个学生干净彻底为什么使用 Feishu 而非其他通道:WebSocket 长连接模式,无需公网 IP 和 webhook配置简单,仅需 app_id + app_secret国内访问稳定支持消息推送和接收4.2 成本优化模型选择:使用 openrouter/moonshotai/kimi-k2.5 替代 claude-opus-4-5,成本大幅降低资源共享:所有学生共享同一个 nanobot:local 镜像,减少镜像存储轻量部署:每个容器仅运行 nanobot gateway,无额外数据库/消息队列4.3 后续扩展方向底座稳定后可继续完善:文献自动下载脚本(宿主机挂载到容器调用)每日定时任务配置(HEARTBEAT.md + cron)自定义总结模板优化研究数据长期归档策略附录:快速参考卡# ========== 部署 ========== # 1. 安装 Docker(见上文) # 2. 构建镜像 cd /home/claw_manager/software/nanobot && docker build -t nanobot:local . # 3. 部署学生实例 /home/claw_manager/nanobot-manager/scripts/studentctl provision student001 \ --name "姓名" --research-direction "方向" \ --feishu-app-id "cli_xxx" --feishu-app-secret "xxx" # ========== 日常运维 ========== # 查看状态 studentctl status student001 # 查看日志 studentctl logs student001 --tail 50 # 重启 studentctl restart student001 # ========== 删除学生 ========== # 温和删除(归档保留) studentctl deprovision student001 --archive --remove-from-registry # 彻底删除(归档+删文件+移除注册) studentctl deprovision student001 --archive --delete-files --remove-from-registry # 解决权限问题后重新删除 sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/student001 studentctl deprovision student001 --archive --delete-files --remove-from-registry
  • [问题求助] 检测到模型复读,请修改问题或者更换模型后重新提问。
    第一次用这个,怎么问个问题就这样了,是有什么地方配置我没有注意到吗?(一键安装的)
  • [热门活动] 【春节码道编程】+福马打地鼠
    今天在官方论坛看到有活动(华为云码道(CodeArts)代码智能体春节智能编码活动),🔀就简单的来参与下。活动地址是:https://bbs.huaweicloud.com/forum/thread-0212720634766719511-1-1.html大家有兴趣的可以一起参与~1.首先我们现在官网下载华为云码道(CodeArts)代码智能体,下载地址在此2.完成下载安装后,我们打开程序进行授权登录,进入到主页,然后我们在本地选择创建一个文件目录,作为接下来我们创建福马打地鼠游戏的根目录。(这里相信大家都会,我就不赘述了)3.接下来我们在右下角对话框选择智能体和模型()大家可以自行选择,输入相关的需求,然后等待即可,我的需求描述如下:帮我根据以下需求完成单机游戏开发:以下是对“福马打地鼠”游戏功能的具体方案: ### 主体描述优化 #### 1. 锤子与升级系统 - **锤子设计**:将锤子的形象设计为 2026 年生肖马的卡通形象,并且可以根据不同的等级进行外观变化。例如,初始的马锤子可能造型比较简单,颜色朴素;随着等级提升,锤子上可以添加更多的装饰,如金色的花纹、飘动的红绸带等,让玩家能直观感受到锤子的升级。 - **升级规则细化**:除了根据打地鼠的成绩来升级锤子,还可以设定具体的分数段。比如,达到 100 分可以解锁二级马锤子,它的击打范围会比初始锤子稍大;达到 300 分解锁三级马锤子,击打速度会变快。并且每次升级锤子时,界面会弹出一个动画窗口,展示锤子的新外观和升级后的属性提升。 #### 2. 地鼠种类与特点 - **增加地鼠种类**:设计不同类型的地鼠,每种地鼠有不同的特性和分值。例如,普通地鼠出现频率高,分值较低;而金色地鼠出现概率低,但击打后能获得高额分数;还有一种敏捷地鼠,它出现的时间更短,移动速度更快,击打难度大,但分值也较高。 - **地鼠行为逻辑**:地鼠出现的规律可以更加复杂。比如,在游戏前期,地鼠可能是单个随机出现;随着游戏进程推进,会出现成群的地鼠同时从多个地洞冒出,增加游戏的挑战性。 ### 年味元素融入优化 #### 1. 场景细节丰富 - **庙会场景拓展**:除了地洞周围的春联和中国结,还可以在场景中添加更多的春节元素。比如,远处有舞龙舞狮的表演,天空中时不时有烟花绽放,地面上有飘落的红色纸屑。 - **互动元素增加**:在庙会场景中设置一些互动道具,如可以点击的红包,玩家点击后会获得额外的分数或道具奖励;还有旋转的祈福风车,玩家经过时风车会转动并发出欢快的声音。 #### 2. 音效和特效优化 - **音效多样化**:除了“噼里啪啦”的鞭炮声和“恭喜发财”的语音,还可以增加更多的春节音效。比如,地鼠被击打时发出“哎哟”的叫声,同时伴随着铜钱碰撞的声音;当玩家获得高分时,会有欢快的锣鼓声响起。 - **特效升级**:金币特效可以更加华丽,例如金币带有闪烁的光芒,并且有不同的颜色,如金色、银色等。当玩家连续击打多个地鼠时,会触发连击特效,屏幕上会出现金色的数字显示连击次数,同时有彩带飘落。 ### 开发思路优化 #### 1. 前端界面优化 - **响应式设计**:确保游戏界面在不同的设备上都能完美显示,无论是电脑、平板还是手机。可以使用媒体查询和弹性布局来实现响应式设计,让玩家在各种设备上都能有良好的游戏体验。 - **动画效果增强**:为地鼠的出现和消失、锤子的击打动作添加更流畅的动画效果。例如,地鼠从地洞中冒出来时可以有一个向上的弹跳动画,锤子击打地鼠时会有一个短暂的震动效果。 #### 2. 后端逻辑优化 - **数据存储与统计**:增加数据存储功能,记录玩家的游戏成绩、锤子等级、最高连击数等信息。可以使用本地存储或简单的数据库来实现数据的存储和读取,方便玩家查看自己的游戏记录和进步情况。 - **难度动态调整**:根据玩家的游戏表现动态调整游戏难度。如果玩家连续获得高分,地鼠的出现速度和数量会相应增加;如果玩家得分较低,难度会适当降低,让游戏更具挑战性和趣味性。4.接下来就是等待程序生成了。(这里程序生成的时候需要授权下自动操作,生成时间没那么快,大家还是需要耐心等待下)。完成相关代码生成后,我们就进行相关程序的测试体验。程序首次生成各大界面和功能都有了。但是在体验上会出现BUG,比如打地鼠打到一半地鼠突然不出现了。地鼠没有躲在地底下等。这可能和我的需求描述也有关系,也可能是模型的问题,这里可以进行优化。下面看下界面效果图吧:5.下面是代码页面:总的来说,轻松上手,但是需求描述上还是得具体点。我进行了多轮会话才修复存在的BUG,希望模型能够越来越强大。欢迎大家一起体验~
  • [问题求助] 优惠券能否滚动申请?
    最开始申请华为AI百校计划时是2025年底12月底通过的,申请到的优惠券必须当年内下发,但是下发后只有三个月有效期;原计划是使用一年,但现在只有三个月的时间。这种情况怎么办呢?
  • [问题求助] 我想在结束节点中输出参数
    问题是这样的,我想在结束节点中输出我的结束节点的输入参数,比如说输入参数count 引用的是上一个大模型节点的count参数,我想在结束的输出参数中引用count,但是引用找不到count,这是为什么?
  • [问题求助] 自己训练好的模型无法部署怎么办
    我是在旧版的modelarts上做的,先用notebook训练后上传至OBS,然后把它上传到了“我的模型“/创建Ai新应用之后想要在在线服务中部署,但是选择公共资源池实例规格那里的下拉框一直是空的,点击创建就显示节点资源已售罄。然后创建专属资源池,实例规格那里也是空的,不知道怎么办了希望老师尽快帮忙解决一下! 
  • [问题求助] pytorch昇腾框架 如何指定显卡id进行训练?
    使用命令“ASCEND_DEVICE_ID=2 python main.py“,仍然采用0卡训练
  • [技术干货] 使用华为云码道(CodeArts)代码智能体开发 Flutter-OH 退出插件全流程
    使用华为云码道(CodeArts)代码智能体开发 Flutter-OH 退出插件全流程一、背景介绍随着鸿蒙系统(HarmonyOS)的快速发展,越来越多的 Flutter 插件需要适配 OpenHarmony 平台。本文将详细介绍如何使用华为云码道(CodeArts)代码智能体,为现有的 Flutter 插件添加 OpenHarmony 平台支持。以 flutter_exit_app 插件为例,该插件提供了跨平台的应用退出功能,原本支持 Android 和 iOS 平台,我们需要为其添加 OpenHarmony 平台的支持。二、开发环境在开始之前,请确保已准备好以下开发环境:组件版本Flutter3.35.8-ohos-0.0.2HarmonyOS SDK5.1.0(18)DevEco Studio6.1.0测试设备 ROM6.1.0.28(SP12)三、项目结构分析3.1 原有项目结构flutter_exit_app/ ├── lib/ │ └── flutter_exit_app.dart # Dart 端接口 ├── android/ # Android 平台实现 ├── ios/ # iOS 平台实现 ├── example/ # 示例应用 └── pubspec.yaml # 项目配置3.2 需要添加的 OpenHarmony 结构flutter_exit_app/ ├── ohos/ # OpenHarmony 平台实现 │ ├── src/main/ │ │ ├── ets/components/plugin/ │ │ │ └── FlutterExitAppPlugin.ets # 插件核心实现 │ │ └── module.json5 │ ├── index.ets │ ├── oh-package.json5 │ └── build-profile.json5 ├── example/ohos/ # 示例应用 OpenHarmony 工程 └── README.OpenHarmony.md # OpenHarmony 平台文档四、开发流程4.1 第一步:分析需求下发指令flutter create . --template=plugin --platforms=ohos ,初步生成4.1 第二步:运行调试报错处理向 CodeArts 代码智能体描述需求:点击退出按钮,应用没有正确退出,请检查 FlutterExitAppPlugin.ets 文件代码智能体会自动分析问题并给出解决方案。4.3 第三步:理解 Flutter 与 OpenHarmony 通信机制Flutter 与原生平台的通信通过 MethodChannel 实现:Dart 端(Flutter):static Future<bool> exitApp({bool iosForceExit = false}) async { try { final String? res = await channel.invokeMethod<String>( ChannelName.exitApp, // 'com.laoitdev.exit.app' <String, dynamic>{"killIosProcess": iosForceExit}, ); return res == "Done"; } on PlatformException { return false; } } OpenHarmony 端(ArkTS):onMethodCall(call: MethodCall, result: MethodResult): void { if (call.method == "com.laoitdev.exit.app") { // 处理退出逻辑 } } 4.4 第四步:实现插件核心功能问题诊断初次实现时,代码智能体发现了一个关键问题:// 错误实现 this.context = binding.getApplicationContext() as common.UIAbilityContextgetApplicationContext() 返回的是 common.Context 类型,而不是 UIAbilityContext。只有 UIAbilityContext 才有 terminateSelf() 方法。正确实现方案代码智能体建议使用 AbilityAware 接口来正确获取 UIAbilityContext:import { FlutterPlugin, FlutterPluginBinding, MethodCall, MethodCallHandler, MethodChannel, MethodResult, } from '@ohos/flutter_ohos'; import { AbilityAware, AbilityPluginBinding } from '@ohos/flutter_ohos'; import { common, UIAbility } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; export default class FlutterExitAppPlugin implements FlutterPlugin, MethodCallHandler, AbilityAware { private channel: MethodChannel | null = null; private static _uiContext: common.UIAbilityContext | null = null; // 通过 AbilityAware 接口获取 UIAbilityContext onAttachedToAbility(binding: AbilityPluginBinding): void { FlutterExitAppPlugin._uiContext = binding.getAbility().context; } onMethodCall(call: MethodCall, result: MethodResult): void { if (call.method == "com.laoitdev.exit.app") { if (FlutterExitAppPlugin._uiContext) { try { FlutterExitAppPlugin._uiContext.terminateSelf() .then(() => { console.info('terminateSelf succeed'); result.success("Done"); }) .catch((err: BusinessError) => { console.error(`terminateSelf failed: ${err.message}`); result.error("TERMINATE_FAILED", err.message, null); }); } catch (err) { result.error("TERMINATE_ERROR", `Error: ${err.message}`, null); } } else { result.error("CONTEXT_NULL", "UIContext is null", null); } } } } 4.5 第五步:配置 pubspec.yaml在 pubspec.yaml 中添加 OpenHarmony 平台配置:flutter: plugin: platforms: android: package: com.laoitdev.lib.exit.app.flutter_exit_app pluginClass: FlutterExitAppPlugin ios: pluginClass: FlutterExitAppPlugin ohos: pluginClass: FlutterExitAppPlugin package: com.laoitdev.lib.exit.app.flutter_exit_app4.6 第六步:创建 README 文档使用代码智能体生成 OpenHarmony 平台的 README 文档:README.OpenHarmony_CN.md(中文版):## 1. 安装与使用 dependencies: flutter_exit_app: git: url: "git@gitcode.com:oh-flutter/flutter_exit_app.git" path: "." ## 2. 兼容性 - Flutter: 3.35.8-ohos-0.0.2 - SDK: 5.1.0(18) - IDE: DevEco Studio: 6.1.0 - ROM: 6.1.0.28(SP12) ## 3. API | 方法 | 说明 | | --- | --- | | `FlutterExitApp.exitApp()` | 退出应用 | | `FlutterExitApp.platformVersion` | 获取平台版本 | 4.7 第七步:获取环境信息代码智能体可以自动获取本地环境信息:# 获取 Flutter 版本 flutter --version # 输出: Flutter 3.35.8-ohos-0.0.2 # 获取 DevEco Studio 版本 defaults read /Applications/DevEco-Studio.app/Contents/Info CFBundleShortVersionString # 输出: 6.1.0 # 获取设备 ROM 版本 hdc shell param get const.product.software.version # 输出: ALN-AL00 6.1.0.28(SP12C00E28R4P7log) 4.8 第八步:提交代码使用代码智能体执行 Git 操作:# 添加文件 git add README.OpenHarmony_CN.md README.OpenHarmony.md pubspec.yaml ohos example/ohos # 提交 git commit -m "feat: add OpenHarmony platform support" # 推送 git push origin main五、关键技术点总结5.1 AbilityAware 接口AbilityAware 是 OpenHarmony Flutter 插件开发中的重要接口,用于监听 Ability 生命周期:interface AbilityAware { onAttachedToAbility(binding: AbilityPluginBinding): void; onDetachedFromAbility(): void; } 通过这个接口可以安全地获取 UIAbilityContext,避免类型转换错误。5.2 terminateSelf() 方法terminateSelf() 是 OpenHarmony 中关闭 Ability 的标准方法:abilityContext.terminateSelf() .then(() => { // 成功关闭 }) .catch((err: BusinessError) => { // 处理错误 }); 5.3 MethodChannel 通信Flutter 与原生平台的通信流程:Flutter (Dart) ↓ invokeMethod() MethodChannel ↓ onMethodCall() OpenHarmony (ArkTS) ↓ terminateSelf() 系统关闭应用六、CodeArts 代码智能体的优势6.1 智能问题诊断代码智能体能够快速定位问题根源,例如:识别 Context 类型转换错误发现未初始化的变量检测 API 使用不当6.2 自动化操作代码智能体可以执行多种自动化操作:获取系统环境信息执行 Git 命令生成文档模板代码重构6.3 知识库支持代码智能体内置了丰富的 OpenHarmony 开发知识:Flutter 插件开发规范HarmonyOS API 文档最佳实践指南七、测试验证7.1 功能测试运行示例应用点击 “Exit” 按钮验证应用正确退出7.2 兼容性测试在以下环境测试通过:Flutter 版本SDK 版本IDE 版本ROM 版本3.7.12-ohos-1.1.35.0.0(12)6.0.1.2516.0.0.115 SP163.22.1-ohos-1.0.35.0.0(12)6.0.1.2516.0.0.115 SP163.27.5-ohos-1.0.15.0.0(12)6.0.1.2516.0.0.115 SP163.35.8-ohos-0.0.25.1.0(18)6.1.06.1.0.28(SP12)八、总结通过华为云码道(CodeArts)代码智能体,我们高效地完成了 Flutter 插件的 OpenHarmony 平台适配工作。整个过程包括:需求分析 - 明确插件功能需求问题诊断 - 识别代码中的问题方案实现 - 编写正确的实现代码文档编写 - 生成 README 文档环境配置 - 获取并配置开发环境信息代码提交 - 完成版本控制操作代码智能体大大提高了开发效率,让开发者能够专注于核心业务逻辑,而无需花费大量时间在环境配置、文档编写等重复性工作上。