• [问题求助] 在idea中IntelliJ IDEA 2022.2.3 中一直显示登录中
    ,今天一直无法登录,昨天点击登录后都能直接跳转华为云官方网页登录,今天一直不行。另:使用过程中一直报如下错误,com.intellij.serviceContainer.AlreadyDisposedException: Cannot create ServiceAdapter(descriptor=ServiceDescriptor(interface='null', serviceImplementation='com.huawei.extension.service.JarManagementServiceLocal', testServiceImplementation='null', headlessImplementation='null', overrides=false, configurationSchemaKey='null', preload=FALSE, client=null), pluginDescriptor=PluginDescriptor(name=CodeArts Agent, id=com.huawei.codearts.snap, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\CodeArts_Agent_213-222_1773497396437_d438e3e3, version=26.3.4, package=null, isBundled=false)) because container is already disposed (container=Project(name=vistor-hd, containerState=DISPOSE_IN_PROGRESS, componentStore=J:\Source\vistor-hd) (disposed))    at com.intellij.serviceContainer.ContainerUtilKt.throwAlreadyDisposedError(containerUtil.kt:34)    at com.intellij.serviceContainer.BaseComponentAdapter.checkContainerIsActive(BaseComponentAdapter.kt:145)    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:78)    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:73)    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:66)    at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:609)    at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:583)    at com.intellij.openapi.client.ClientAwareComponentManager.getFromSelfOrCurrentSession(ClientAwareComponentManager.kt:37)    at com.intellij.openapi.client.ClientAwareComponentManager.getService(ClientAwareComponentManager.kt:22)    at com.huawei.extension.service.JarManagementServiceLocal.getInstance(JarManagementServiceLocal.java:50)    at com.huawei.extension.listener.ProjectLifecycleListenerLocal.projectClosed(ProjectLifecycleListenerLocal.java:24)    at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:649)    at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:625)    at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:470)    at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:292)    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:425)    at jdk.proxy1/jdk.proxy1.$Proxy98.projectClosed(Unknown Source)    at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectClosed(ProjectManagerImpl.java:471)    at com.intellij.openapi.project.impl.ProjectManagerImpl.lambda$closeProject$4(ProjectManagerImpl.java:389)    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023)    at com.intellij.openapi.project.impl.ProjectManagerImpl.lambda$closeProject$5(ProjectManagerImpl.java:378)    at com.intellij.openapi.util.ShutDownTracker.executeWithStopperThread(ShutDownTracker.java:114)    at com.intellij.openapi.project.impl.ProjectManagerImpl.closeProject(ProjectManagerImpl.java:359)    at com.intellij.openapi.project.impl.ProjectManagerImpl.closeAndDispose(ProjectManagerImpl.java:411)    at com.intellij.openapi.wm.impl.CloseProjectWindowHelper.closeProjectAndShowWelcomeFrameIfNoProjectOpened(CloseProjectWindowHelper.kt:53)    at com.intellij.openapi.wm.impl.CloseProjectWindowHelper.windowClosing(CloseProjectWindowHelper.kt:41)    at com.intellij.openapi.wm.impl.ProjectFrameHelper$2.windowClosing(ProjectFrameHelper.java:233)    at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)    at java.desktop/java.awt.Window.processWindowEvent(Window.java:2107)    at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)    at java.desktop/java.awt.Window.processEvent(Window.java:2066)    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)    at com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomHeader.close(CustomHeader.kt:222)    at com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomHeader$myCloseAction$1.invoke(CustomHeader.kt:219)    at com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomHeader$myCloseAction$1.invoke(CustomHeader.kt:36)    at com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomHeader$CustomFrameAction.actionPerformed(CustomHeader.kt:229)    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6648)    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3392)    at java.desktop/java.awt.Component.processEvent(Component.java:6413)    at java.desktop/java.awt.Container.processEvent(Container.java:2266)    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754)    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752)    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:751)    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:840)    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763)    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)    at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)clear 后,也会出现。
  • [技术干货] AgentSkills最佳实践(二)--CodeArts添加3个技能实现仓颉代码自由
    前文《AgentSkills最佳实践》介绍了Anthropic发布的《A complete guide to building skills for Claude》,以及agentskills-runtime开源项目对此做出的相应优化。最近,Anthropic又更新了skill-creator,从之前的只有一个SKILL.md文档,完善成了一个系统工程化的技能创作工具集,包含了多个对技能进行评估、打分、改进、验证的scripts脚本和工具,还包含展示评估报告的工具,和3个执行这些工作的agents。这预示着agent skills生态正在从凭经验开发技能,向软件工程化的可批量生产agent skills的成熟生态演进。agentskills-runtime开源项目也迅速跟进,对新版本的skill-creator进行了更好的支持和优化。上周agentskills-runtime更新了0.0.18版本,添加完善了一系列内置工具,以配合最新的skill-creator能够高质量的进行技能的评估、改进、创建等操作。正好仓颉编程语言社区发布了一个CangjieSkills开源项目, gitcode.com/Cangjie-SIG/CangjieSkills仓颉通用程序开发 Skills。我们就用skill-creator对这个CangjieSkills进行一个优化。也是测试验证一下agentskills-runtime V0.0.18的能力。Git clone下CangjieSkills开源项目,把其中包含SKILL.md的目录全都复制到uctoo-backend的skills目录就安装好了CangjieSkills。   uctoo-backend本来是一个传统的TypeScript技术栈的高性能web开发框架,用npm install @opencangjie/skills命令安装了agentskills-runtime javascript sdk,再用npx skills install-runtime 命令安装了agentskills-runtime的二进制发行包,uctoo-backend就集成了一个全链路国产技术栈的AI Agent基础设施,也就实现了渐进式升级“+AI”能力,并可以借助agent skills生态无限拓展能力了。在uctoo的web端Agent聊天界面,明确要求使用skill-creator对CangjieSkills进行分析评估。   很快就评估出了一个对CangjieSkills的评估报告,这个展示报告的界面肯定没有在Claude code中的效果好,不过人家Anthropic公司估值几千亿美金融资几百亿美金,咱就一缺少资源的野生开发者做个全国产开源Claude code平替,做到这个水平也已经很不错了。skill-creator的评估报告总结CangjieSkills还是挺全面的,大致平均分4.2分左右(5分制)。仔细看了一下CangjieSkills里面究竟有什么,原来是把仓颉知识文档全都包装成了技能。作为对agentskills开放标准理解最深刻的开发者,用瞪眼法一看就觉得目前这个技能还不是很符合agentskills的最佳实践。最主要的问题是拆的太散了,影响Agent和大模型的注意力。AI辅助开发工具会对技能选择困难。而且这个技能本身也不够通用,设计良好的技能应该在任何支持agentskills开放标准的Agent中都能表现出一致的运行效果。然后,就对这个CangjieSkills做了一个全面的重构,主要的重构思路就是将cangjie-basic-concepts的内容再完善一下成为一个主入口技能,重命名为cangjie-language-guide,然后将其他分散的技能,全都收纳到references子目录中。重构完成后,再用skill-creator对这个技能进行评估,得分达到了4.8,剩下的0.2分就主要是示例代码可能还不够丰富完善,错误处理部分也还有待完善。   作为一个静态文档类的技能,目前CangjieSkills就已经很好了。不过agentskills开放标准的本意是将SOP和资源结合起来,才能真正发挥AI驱动的能力。那么作者之前在《深度解析agent skill标准》文章中提到的开发仓颉编程语言代码的工作流skill就派上了用场,咱的cangjie-coder技能也要再完善一下,结合这个CangjieSkills资源技能一起使用,简直完美。最近华为发布了CodeArts Agent,可以不限量使用GLM-5。咱把这3个技能都安装到CodeArts里,这就实现了仓颉代码自由!用大模型直接生成的代码不符合仓颉语法的问题彻底解决。CangjieSkills 1.1.0版本已经提了pr,欢迎开发者们用起来。cangjie-coder包含在 atomgit.com/UCToo/agentskills-runtime开源仓库中发布了。   作者在仓颉编程语言社区2025年40期workshop分享时提出的专用语言多Agent协作的AI开发范式,这才两个半月就已经实现了。为什么作者的《人工智能软件工程方法论》文章的下篇还一直没写呢,是因为这个最佳AI开发范式还在不断演进,目前算是初步达到了预期。人类总说大模型有幻觉,其实那是大模型的直觉,人类训练大模型的方式就决定了只用单一大模型生成所有编程语言的路大概是走不通的。AI生成高质量代码的方案就应该采用多个专业语言代码生成的skills结合语言的文档和开发规范共同使用的方案。该灵活的地方用大模型脑补,该严格的地方用代码模板限定,然后再结合特定的确定性代码生成工具使用,比如,完全确定性的从数据库结构生成标准CRUD和API。组合起来就形成了最佳AI开发范式。回溯作者的预测,几乎全部都实现了。在第40期workshop分享的”AI生产力= AI IDE+高智大模型+AI驱动开发框架” 公式,其实最早在作者2025年初的BP里就写了。也发给了一些投资人,直到2025年末,OpenClaw开始爆火这不就是一种AI驱动开发框架嘛。咱这BP也很早就发给了一些投资人,可是竟然没人重视。不是咱没给你们合作创建世界级产品的机会,是你们不懂得把握机会。我已竭尽全力,每天十多个小时Coding,该联系合作的也全都已经联系了,应该也是最早用仓颉语言开发agentskills开放标准的开发者,只是之前“仓颉+AI”生产力没那么高。被用TypeScript的开发者抢了先机,先发了OpenClaw出来。不慌,这不是一件只盖3、4层楼的小事情,这是要盖摩天大厦的AI基础设施的事情。用更加强安全、高性能、完全自主可控的仓颉编程语言应该没错。最近,作者每个龙虾活动都宣传咱国产替代的AI Agent智能体项目。在0.0.19版本中,已经把uctoo v3全部用仓颉编程语言重写了,算是提前实现了uctoo v4。虽然咱这个项目最初是基于CangjieMagic框架开发的,但是现在已经和原版本差别很大了,新开发的代码估计比原来的基础项目都多了,只能做一个衍生项目演进了。OpenClaw那种缺少安全机制的情况,在咱开源项目中是完全解决了。我觉得agentskills-runtime可能最有趣的用法,就是在OpenClaw里面也可以用javascript sdk安装一个agentskills-runtime。一个灵魂,两个躯体,养虾的同时也在养龙。当OpenClaw安全性无法有效解决,或者没咱产品好用的时候,就可以删掉OpenClaw,龙虾就进化成了龙。作者在3月7日的文章也发出了OpenClaw的风险提示,3月8日看到人民日报、工信部等也发出了风险提示,这两天还看到一些高校也发了禁止安装OpenClaw的通知,很好。欢迎开发者们参与咱们全国产技术栈的AI Agent基础设施开源项目。看到深圳发布了OPC的支持政策,还有国家投资AI的基金成立,期待尽早落实到咱这个定义智能体事实上的行业标准的项目上。再次请友军迅速支援。
  • [训练营] 开发者训练营:玩转华为云码道(CodeArts)代码智能体 | AI编码专属教程
    🚀掌握“提问即代码”的智能开发思维,进入“人机协同”的智效开发时代,打造个人与团队的技术竞争力!1、(新手入门)码道安装教程内容链接★码道安装指南https://codearts.huaweicloud.com/?source=dmzntsq1&sourcead=gw码道文档cid:link_3 2、(课程学习) 码道讲解&实操演示内容链接直播回放:华为云码道(CodeArts)代码智能体新春发布会(2月26日)cid:link_5直播回放:华为云码道-玩转OpenClaw,开启在线养虾模式(3月11日)cid:link_18直播回放:华为云码道-AI时代应用开发利器(3月18日)cid:link_19直播回放:Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案(3月25日)cid:link_20直播回放:码道新技能,AI 新生产力——从自动视频生成到开源项目解析(4月8日)cid:link_21直播回放:华为云码道:零代码股票智能决策平台全功能实战(4月18日)cid:link_22直播回放:华为云码道全新升级,多会话并行与多智能体协作(5月8日)cid:link_23直播回放:华为云码道 × 仓颉编程:工程化AI编码探索(5月27日)cid:link_24 3、(实战案例)码道使用场景&应用案例内容链接★★【案例共创】31小时华为云码道CodeArts从0到1全流程开发落地体育场馆预约小程序!cid:link_6★★【案例共创】华为云码道创新实践:AI辅助开发图形化编程平台cid:link_7★★华为云码道Skill工程化实践cid:link_0★★【案例共创】华为云码道代码智能体实践: Spec开发宠物小程序cid:link_8★★在线养虾模式开启,用华为云码道(CodeArts)代码智能体Skill快速安装OpenClawcid:link_9★★码道Spec-Driven模式快速开发托业听力英语学习应用cid:link_26★★华为云码道与CodeArts流水线的Agentic DevOps最佳实践cid:link_1解锁码道代码智能体无限可能之find-skills助力Skill快速检索与灵活部署cid:link_2华为云码道(CodeArts)代码智能体助力企业级内部知识库系统(Python版)快速落地——从自然语言到开箱即用全功能系统cid:link_10华为云码道(CodeArts)代码智能体助力企业任务管理系统极速生成——多轮交互定义需求,一键落地企业级任务协同cid:link_11【案例共创】基于华为开发者空间-云开发环境(容器)使用VS Code版CodeArts代码智能体高效构建自动化代码审计助手cid:link_12【案例共创】基于华为开发者空间 - 云开发环境(容器)搭建CodeArts代码智能体,构建Versatile Agent家庭园艺知识导师cid:link_13【案例共创】【第9期】基于华为开发者空间 - 云开发环境(容器)+CodeArts代码智能体,实现SeedTab一个属于你自己的新标签页cid:link_14案例中心:获取更多案例cid:link_15 4、(技术交流) 线上直播&线下活动预告/回顾内容链接【3月21日】HCDG上海-AI编码实战训练营cid:link_16【3月21日】HCDG武汉-G-Star Gathering Day 武汉站cid:link_17【4月11日】HCDG杭州-G-Star Gathering Day 杭州站cid:link_4        加入开发者交流群加入训练营,学习课程,动手实操,分享实战&踩坑经验,获得技术支持  
  • [问题求助] Android Studio安装CodeArts插件后登录一直登录中
    在Android Studio安装了codearts插件后,点击登录,网页上一直显示登录中
  • [问题求助] MCP 功能优化
    在码道的文档中提到是支持3中类型的mcp服务:** STDIO**、SSE、和 Streamable Http但实际上 Streamable Http 类似并不支持,不填写 type 字段默认是 sse,填写type 指定时,http 和 streamable_http 都会提示类型不对,即使是在类 vscode 中可以正常工作的 Streamable Http 类型的remote mcp 在码道中就是不行。在使用过程中,mcp 经常出现连接失败的问题,在设置里面手动重启又可以工作一段时间,然后又出问题,又需要手动重启一次,需要反复这样操作。希望可以优化加强一下 mcp 这块。
  • [问题求助] 读取图片时报错:扩展进程处于不响应状态
     读取图片时报错:扩展进程处于不响应状态,可能是由于 “huaweicloud.codearts-snap” 扩展程序导致的。如何解决?插件市场里搜索不到这个名字的插件目前百分百复现
  • [交流吐槽] 云码道linux版为什么不具备图形界面和AI功能
    这个linux版本用途是什么?
  • [互动交流] vscode 使用 codearts 插件,通过扫码的方式,一直登录不了,一直转圈
    vscode 使用 codearts 插件,通过扫码的方式,一直登录不了,一直转圈,最终登录失败,如下图,已经多次尝试,结果一样。
  • [热门活动] HCDG x AtomGit技术交流活动:G-Star Gathering Day 武汉站
    在这个万物皆可 AI 的时代,你是否感觉正站在一场变革的风暴中心?从“听起来很酷”的黑科技,到“人人上手”的生产力工具,AI 正在以前所未有的速度重塑我们的生活与工作。 2026 年 3 月 21 日,G-Star Gathering Day 即将登陆武汉,本次活动由 AtomGit 及华为云开发者发展与支持部 HCDG 主办,带你深度拆解 AI 如何赋能每一个普通的个体。 📅 活动核心:从工具革命到创造力爆发 我们不仅谈论技术,更关注落地。本次活动将聚焦“人人可用 AI”的核心理念,通过多场干货满满的硬核分享,探索如何从单一的工具使用者,进化为拥有“超级个体”能力的创造者。 🎤精彩议题抢先看 本次武汉站,我们邀请到了多位业内实战派大咖,为你带来最前沿的 AI 实践案例:OpenClaw 实战指南:近期爆火、能“动手办事”的 AI 助手如何部署?业务落地有哪些坑?带你一探究竟。超级个体:OPC 的诞生:在 AI 协同下,一人如何走通从设计、研发到市场投放的全链路?揭秘新型创业形态。高效革命:AI 的具体实际应用:拒绝假大空,分享 AI 在工作、学习与生活中的真实高效案例。用华为云码道(CodeArts)Skill 一键安装 OpenClaw跨界新玩法:小龙虾 JiuwenClaw 智能体:基于 openJiuwen 的趣味实战分享,看 AI 智能体如何玩转垂直领域。PS:此次活动包含现场实操内容,请大家带上电脑,现场 Coding~  🌟 活动详情 活动主题:人人可用 AI:从工具革命到个人创造力爆发活动时间:2026 年 3 月 21 日(星期六)14:00 - 17:00活动地点:湖北省武汉市鄂港澳青创园 5 楼多媒体报告厅面向人群:开发者、创业者、AI 深度使用者,以及对 AI 商业化感兴趣的所有伙伴  为什么你一定要来?🔥在这里,你将收获:前沿视野: 掌握 2026 年最火热的 AI Agent 部署方案。人脉资源: 与武汉优秀的开发者、创业者面对面深度交流。落地经验: 听听先行者们是如何把 AI 转化为真金白银的生产力的。 📩 立即报名 3 月 21 日,相约武汉,一起开启 AI 赋能的个人创造力时代! 
  • [热门活动] 华为云 AI 编码实战训练营·上海站来啦!
    【华为云 AI 编码实战训练营·上海站来啦!】🚀 掌握“提问即代码”的智能开发思维,进入“人机协同”的智效开发时代,打造个人与团队的技术竞争力!✅ 解决日常开发重复编码痛点✅ 应对复杂业务逻辑梳理✅ 体验“码道”一键部署养虾模式✅ Get智码实战项目的落地经验与技术避坑指南🗓 时间:3月21日(周六)14:00-17:30📍 地点:上海市田林路1015号42号楼1层金色会客厅💡参会须知:需携带电脑参会🎁 参与福利:完成实操/参与互动现场领取专属奖品!先到先得!🔗点击链接立即报名,开启你的“智能编码之旅”👉 cid:link_0  
  • [交流吐槽] IDE会有linux的amd64版本吗(或者说是x86_64)
    IDE会有linux的amd64版本吗(或者说是x86_64)
  • [问题求助] 华为云码道(CodeArts)代码智能体离线下载地址无法访问
    通过官网入口访问下载地址点击打开页面报错
  • [交流吐槽] 已实现鸿蒙应用开发
    airzip完全使用codearts云码道开发 已经上架华为应用市场,顺便问一下什么时候上架鸿蒙版本,一直要用虚拟机vscode里面装插件非常麻烦
  • [交流吐槽] 自动生成文件夹bug
    Get current working directoryRan Command:pwd 输出结果/c/Users/*******/Downloads/codeArts Agent Demo基于您的需求,我现在将生成需求规格文档。由于项目中没有找到EARS格式规范和模板文件,我将基于标准的EARS(Easy Approach to Requirements Syntax)方法论创建规范的需求文档。 C:\c\Users\*******\Downloads\codeArts Agent Demo\.codeartsdoer\specs\********\spec.md CodeArts Agent版本: 26.3.7VSCode 版本: 1.96.4提交: 1a440046bb2d4b46b9b1fd29fbe9e1124be13958
  • [技术干货] 我在码道实现了skillhub Assistant skill,可以调用腾讯skillhub 查找和下载任意技能。
    name: skillhub-assistantdescription: SkillHub 自然语言助手。当用户想要搜索、查找、安装技能时触发此技能。支持中文自然语言交互,自动调用 skillhub 命令搜索和下载技能。触发词: skillhub, 技能商店, 找技能, 搜技能, 安装技能, 下载技能, 有什么技能。SkillHub Assistant这是一个自然语言交互的 SkillHub 技能助手,帮助用户通过自然语言搜索和安装 SkillHub 商店中的技能。系统要求操作系统: Windows 10 或更高版本Python: Python 3.8 或更高版本网络连接: 需要访问互联网必要工具: Git Bash (推荐) 或 PowerShell + curl触发条件当用户表达以下意图时,必须触发此技能:搜索/查找技能: “帮我找个xxx技能”, “有没有xxx的技能”, “搜索xxx技能”安装技能: “安装xxx技能”, “下载xxx技能”, “帮我装个xxx”浏览技能: “有什么技能”, “技能商店”, “看看有什么好用的技能”直接提到: “skillhub”, “技能商店”⚠️ 重要:AI助手必须调用此技能当用户请求安装技能时,AI助手必须通过 SkillTool 调用此技能,而不是直接执行 bash 命令!错误示例 ❌用户: 安装bilibili-hot-monitor技能 助手: [直接执行 bash 命令安装] # 错误!正确示例 ✅用户: 安装bilibili-hot-monitor技能 助手: [使用 SkillTool 调用 skillhub-assistant 技能] # 正确!原因:skillhub-assistant 技能包含完整的安装流程和错误处理逻辑直接执行 bash 命令会绕过技能的验证和配置步骤技能会自动处理环境检测、依赖安装、配置文件创建等环境检测与自动安装Step 1: 检测 SkillHub 是否已安装在执行任何 skillhub 命令前,必须先检测环境是否就绪:# 检测 skillhub 命令是否可用 if command -v skillhub &> /dev/null; then echo "SkillHub CLI 已安装" elif [ -f "$USERPROFILE/.local/bin/skillhub" ]; then echo "SkillHub CLI 已安装(使用完整路径)" export PATH="$USERPROFILE/.local/bin:$PATH" else echo "NOT_INSTALLED" fi 如果返回 NOT_INSTALLED 或命令不存在,则执行自动安装流程。重要: 由于 Git Bash 环境下 Python 输出可能被抑制,skillhub --version 可能无输出,因此通过检查文件是否存在来判断。Step 2: 自动安装 SkillHub CLI如果检测到 SkillHub CLI 未安装,自动执行安装:echo "正在安装 SkillHub CLI..." curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash # 验证安装 if [ -f "$USERPROFILE/.local/bin/skillhub" ]; then echo "✅ SkillHub CLI 安装成功" export PATH="$USERPROFILE/.local/bin:$PATH" else echo "❌ SkillHub CLI 安装失败" exit 1 fi Step 3: 检测 Python 环境# 检测 Python 是否安装 if command -v python3 &> /dev/null; then PYTHON_CMD="python3" elif command -v python &> /dev/null; then PYTHON_CMD="python" else echo "错误: 未找到 Python,请先安装 Python 3.8 或更高版本" echo "下载地址: https://www.python.org/downloads/" exit 1 fi # 获取 Python 版本 PYTHON_VERSION=$($PYTHON_CMD --version 2>&1 | awk '{print $2}') echo "Python 版本: $PYTHON_VERSION" # 获取 Python 完整路径 PYTHON_PATH=$($PYTHON_CMD -c "import sys; print(sys.executable)") echo "Python 路径: $PYTHON_PATH" 注意: Windows 上 python 和 python3 可能指向 Windows Store 的别名,如果遇到问题,使用完整路径。Step 3: 执行安装脚本注意: 此步骤已在 Step 2 中自动完成,无需手动执行。安装完成后,CLI 工具将安装到:Git Bash: $USERPROFILE/.local/bin/skillhubPowerShell: $env:USERPROFILE\.local\bin\skillhubStep 4: 配置环境变量Git Bash# 检查 ~/.local/bin 是否在 PATH 中 if [[ ":$PATH:" != *":$USERPROFILE/.local/bin:"* ]]; then echo "将 $USERPROFILE/.local/bin 添加到 PATH" echo 'export PATH="$USERPROFILE/.local/bin:$PATH"' >> ~/.bashrc export PATH="$USERPROFILE/.local/bin:$PATH" echo "请重启 Git Bash 使环境变量生效" else echo "PATH 已包含 $USERPROFILE/.local/bin" fi PowerShell# 获取当前用户 PATH $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User') # 定义需要添加的路径 $localBinPath = "$env:USERPROFILE\.local\bin" # 检查路径是否已存在 if ($currentPath -notlike "*$localBinPath*") { # 添加到 PATH $newPath = "$localBinPath;$currentPath" [Environment]::SetEnvironmentVariable('PATH', $newPath, 'User') Write-Host "已将 $localBinPath 添加到 PATH" Write-Host "请重启 PowerShell 使环境变量生效" } else { Write-Host "PATH 已包含 $localBinPath" } 注意: 环境变量修改后需要重启终端才能生效。Step 5: 验证安装# 方式1: 直接使用 skillhub 命令 (环境变量已配置) skillhub --version # 方式2: 使用完整路径 (环境变量未生效时) $USERPROFILE/.local/bin/skillhub --version # 方式3: 使用 Python 直接运行 (备用方案) $PYTHON_CMD $USERPROFILE/.skillhub/skills_store_cli.py --versionStep 6: 配置默认安装路径 (推荐)为了确保技能默认安装到项目级目录,建议配置 SkillHub:# 编辑配置文件 cat > "$USERPROFILE/.skillhub/config.json" << 'EOF' { "self_update_url": "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/version.json", "install_dir": "./.codeartsdoer/skills" } EOF # 验证配置 cat "$USERPROFILE/.skillhub/config.json" 说明:install_dir 设置为 ./.codeartsdoer/skills 表示技能将安装到项目级目录这样可以确保技能与项目关联,便于版本控制和团队协作如果不配置,需要在每次安装时使用 --dir ./.codeartsdoer/skills 参数安装后的文件位置文件路径 (Git Bash)路径 (PowerShell)CLI 工具$USERPROFILE/.local/bin/skillhub$env:USERPROFILE\.local\bin\skillhubCLI 脚本$USERPROFILE/.skillhub/skills_store_cli.py$env:USERPROFILE\.skillhub\skills_store_cli.py配置文件$USERPROFILE/.skillhub/config.json$env:USERPROFILE\.skillhub\config.json技能目录 (项目级)./.codeartsdoer/skills/./.codeartsdoer/skills/重要: 技能默认安装到项目级目录 ./.codeartsdoer/skills/,而不是用户级目录。工作流程1. 环境检测 (必须首先执行)每次使用前,检测 SkillHub 是否可用:# 检测 Python if command -v python3 &> /dev/null; then PYTHON_CMD="python3" elif command -v python &> /dev/null; then PYTHON_CMD="python" else echo "错误: 未找到 Python" exit 1 fi # 检测 skillhub 命令 if command -v skillhub &> /dev/null; then SKILLHUB_CMD="skillhub" elif [ -f "$USERPROFILE/.local/bin/skillhub" ]; then SKILLHUB_CMD="$USERPROFILE/.local/bin/skillhub" else # 使用 Python 直接运行 SKILLHUB_CMD="$PYTHON_CMD $USERPROFILE/.skillhub/skills_store_cli.py" fi # 验证是否可用 if ! $SKILLHUB_CMD --version &> /dev/null; then echo "SkillHub 未安装或不可用,正在执行安装流程..." # 执行安装流程 fi 2. 理解用户意图分析用户的自然语言请求,提取:操作类型: 搜索、安装、浏览关键词: 用户想要的功能或技能名称3. 智能搜索策略(重要)当用户输入中文关键词时,AI 助手应自动执行以下策略:策略流程1. 先用中文关键词搜索 2. 检查结果数量 3. 如果返回 0 结果: - AI 助手自动翻译成英文 - 用英文关键词重新搜索 4. 返回结果给用户实现示例示例 1: 搜索"视频"# 步骤 1: 搜索中文关键词 curl -s "https://lightmake.site/api/v1/search?q=视频&limit=20" # 结果: 0 个技能 # 步骤 2: AI 助手自动翻译 # AI: "视频" → "video" # 步骤 3: 用英文重新搜索 curl -s "https://lightmake.site/api/v1/search?q=video&limit=20" # 结果: 15 个技能 ✅ 示例 2: 搜索"浏览器自动化"# 步骤 1: 搜索中文关键词 curl -s "https://lightmake.site/api/v1/search?q=浏览器自动化&limit=20" # 结果: 0 个技能 # 步骤 2: AI 助手自动翻译 # AI: "浏览器自动化" → "browser automation" # 步骤 3: 用英文重新搜索 curl -s "https://lightmake.site/api/v1/search?q=browser%20automation&limit=20" # 结果: 8 个技能 ✅ 优势✅ 无需关键词对照表: AI 助手具备翻译能力✅ 覆盖所有中文词汇: 不受字典限制✅ 翻译准确: AI 理解上下文✅ 用户体验好: 无需用户手动翻译✅ 响应快速: 无需调用外部翻译 API注意事项先尝试中文: 有些技能可能有中文标签,先尝试中文搜索自动翻译: 如果中文搜索返回 0 结果,AI 助手自动翻译告知用户: 向用户说明使用了翻译后的英文关键词多关键词: 对于多词组合,翻译成合适的英文短语4. 执行 SkillHub 命令重要: 由于 Git Bash 环境下 Python 输出可能被抑制,推荐使用以下方案:方案 A: 使用 curl 直接访问 API (推荐,最可靠)搜索技能:# 搜索技能 curl -s "https://lightmake.site/api/v1/search?q=<关键词>&limit=20" \ -H "User-Agent: skills-store-cli/2026.3.3" \ -H "Accept: application/json" # 格式化输出 curl -s "https://lightmake.site/api/v1/search?q=<关键词>&limit=20" \ -H "User-Agent: skills-store-cli/2026.3.3" \ -H "Accept: application/json" | python3 -m json.tool安装技能:# 1. 获取技能信息 SKILL_INFO=$(curl -s "https://lightmake.site/api/v1/skills/<技能slug>" \ -H "User-Agent: skills-store-cli/2026.3.3" \ -H "Accept: application/json") # 2. 提取版本号 VERSION=$(echo "$SKILL_INFO" | python3 -c "import sys, json; print(json.load(sys.stdin)['latestVersion']['version'])") # 3. 下载技能包 curl -s "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/skills/<技能slug>/$VERSION.zip" \ -o /tmp/<技能slug>.zip # 4. 解压到项目目录 mkdir -p ./.codeartsdoer/skills/<技能slug> unzip -q /tmp/<技能slug>.zip -d ./.codeartsdoer/skills/<技能slug> # 5. 验证安装 test -f ./.codeartsdoer/skills/<技能slug>/SKILL.md && echo "✅ 安装成功" || echo "❌ 安装失败" 优势:✅ 绕过 Python 环境问题✅ 在 Git Bash 环境下工作稳定✅ 输出可靠,不会被抑制✅ 可以看到详细的安装过程方案 B: 使用 SkillHub CLI (备用,可能无输出)# 搜索技能 $SKILLHUB_CMD search <关键词> # 安装技能到项目级目录 $SKILLHUB_CMD install <技能slug> --dir ./.codeartsdoer/skills # 列出已安装技能 $SKILLHUB_CMD list --dir ./.codeartsdoer/skills注意: 如果 CLI 命令无输出,请立即切换到方案 A (curl 方案)。重要提示 - 中文关键词智能搜索:✅ AI 助手会自动处理中文搜索当中文关键词返回 0 结果时,AI 助手会自动翻译成英文并重新搜索无需用户手动翻译或查阅对照表4. 展示结果将搜索结果以友好的方式展示给用户:技能名称和描述版本信息安装命令5. 确认安装在安装技能前:向用户展示技能详情确认用户是否要安装执行安装命令报告安装结果6. 安装后验证安装完成后,必须验证:检查技能目录是否存在: ls -la ./.codeartsdoer/skills/<技能slug>/检查SKILL.md文件是否存在: test -f ./.codeartsdoer/skills/<技能slug>/SKILL.md && echo "OK"向用户展示安装路径和下一步操作示例对话用户: “帮我找个日历相关的技能”助手:检测 SkillHub 环境执行 skillhub search calendar展示搜索结果,询问是否安装用户: “有没有可以操作飞书的技能”助手:检测 SkillHub 环境执行 skillhub search feishu展示飞书相关技能用户: “安装 google-calendar 技能”助手:检测 SkillHub 环境确认安装执行 skillhub install google-calendar --dir ./.codeartsdoer/skills报告安装结果到 ./.codeartsdoer/skills/google-calendar/故障排除问题0: skillhub search 命令无输出 (最常见)症状:$ skillhub search bilibili # 无任何输出,但命令执行成功 原因:Python 输出被抑制: Git Bash 环境下 Python 的标准输出可能被抑制Windows Python 别名: python/python3 可能指向 Windows Store 别名而非真实 Python环境变量问题: PATH 中的 Python 路径不正确解决方案:方案 1: 使用 curl 直接访问 API (推荐)# 直接搜索 curl -s "https://lightmake.site/api/v1/search?q=bilibili&limit=20" \ -H "User-Agent: skills-store-cli/2026.3.3" \ -H "Accept: application/json" # 解析 JSON 结果 curl -s "https://lightmake.site/api/v1/search?q=bilibili&limit=20" \ -H "User-Agent: skills-store-cli/2026.3.3" \ -H "Accept: application/json" | python3 -c " import sys, json data = json.load(sys.stdin) for item in data.get('results', []): print(f\"{item.get('slug')}: {item.get('displayName')}\") " 方案 2: 检查 Python 环境# 检查 python 路径 where python where python3 # 使用完整路径 C:\Users\<用户名>\AppData\Local\Programs\Python\Python312\python.exe \ "$USERPROFILE/.skillhub/skills_store_cli.py" search bilibili方案 3: 使用 PowerShell# PowerShell 中可能输出正常 python $env:USERPROFILE\.skillhub\skills_store_cli.py search bilibili方案 4: 添加调试输出# 使用 verbose 模式 LOG=VERBOSE skillhub search bilibili # 或直接运行 Python 脚本并捕获错误 python3 "$USERPROFILE/.skillhub/skills_store_cli.py" search bilibili 2>&1 最佳实践:优先使用 curl 方案: 最稳定可靠,绕过所有环境问题验证 API 可用性: curl -I https://lightmake.site/api/v1/search保存常用搜索: 将 curl 命令保存为脚本或别名问题0.5: 中文关键词搜索返回 0 结果症状:$ curl -s "https://lightmake.site/api/v1/search?q=视频&limit=20" {"results":[]} # 返回空结果 原因:API 不支持中文搜索: SkillHub API 可能只支持英文关键词URL 编码问题: 中文可能需要特殊编码数据库限制: 技能数据库可能没有中文标签解决方案:方案 1: AI 助手自动翻译搜索 (推荐)# AI 助手自动执行: # 1. 搜索中文 "视频" → 0 结果 # 2. AI 自动翻译: "视频" → "video" # 3. 搜索英文 "video" → 返回结果 ✅ 优势:✅ 无需用户手动翻译✅ AI 助手自动处理✅ 覆盖所有中文词汇✅ 翻译准确(AI 理解上下文)方案 2: 用户直接使用英文关键词# 如果用户知道英文关键词,可以直接使用 curl -s "https://lightmake.site/api/v1/search?q=video&limit=20" 方案 3: 描述功能而非关键词# 如果不确定关键词,描述功能 curl -s "https://lightmake.site/api/v1/search?q=browser%20automation&limit=20" 最佳实践:信任 AI 助手: AI 助手会自动处理中文搜索先尝试中文: 有些技能可能有中文标签查看翻译结果: AI 助手会告知使用了哪个英文关键词问题1: skillhub 命令找不到原因: 环境变量未配置或终端未重启解决方案:# 使用完整路径 $USERPROFILE/.local/bin/skillhub <命令> # 或重新加载环境变量 source ~/.bashrc问题2: Python 命令找不到原因: Python 未安装或不在 PATH 中解决方案:安装 Python 3.8+: https://www.python.org/downloads/安装时勾选 “Add Python to PATH”重启终端验证: python --version问题3: Python 指向 Windows Store原因: Windows 10+ 的 Python 别名优先级高于实际安装的 Python解决方案:找到实际 Python 路径:where python使用完整路径,例如:C:\Users\<用户名>\AppData\Local\Programs\Python\Python312\python.exe或在环境变量中调整 PATH 顺序问题4: curl 命令找不到原因: Windows 默认没有 curl解决方案:安装 Git for Windows: https://git-scm.com/download/win使用 Git Bash 运行命令或使用 PowerShell (Windows 10+ 自带 curl)问题5: 网络连接失败原因: 无法访问 SkillHub 服务器解决方案:检查网络连接确保可以访问: https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/如果在国内,建议使用网络加速工具或手动下载安装脚本后执行问题6: 权限不足原因: 没有写入 $USERPROFILE/.local/bin 的权限解决方案:# 创建目录 mkdir -p $USERPROFILE/.local/bin # 设置可执行权限 chmod +x $USERPROFILE/.local/bin/skillhub注意事项优先使用中文与用户交互每次使用前检测 SkillHub 环境,未安装则自动安装搜索技能的最佳实践:优先使用 curl 直接访问 API: 最稳定可靠,避免 Python 环境问题如果 CLI 搜索无输出: 立即切换到 curl 方案尝试多个相关关键词: 以获得更全面的结果验证 API 可用性: 确保网络连接正常安装前向用户说明技能的来源和功能如果没有找到匹配的技能,建议用户尝试其他关键词或描述需求默认安装到项目级目录:技能默认安装到 ./.codeartsdoer/skills/确保技能与项目关联,便于版本控制和团队协作可以通过配置文件或 --dir 参数指定安装路径Windows 环境下注意路径问题:Git Bash 使用 $USERPROFILE 环境变量PowerShell 使用 $env:USERPROFILE 环境变量避免使用硬编码的用户名Python 路径问题:优先使用 python3 命令备用使用 python 命令最后使用完整 Python 路径如果 Python 输出被抑制,使用 curl 方案网络问题:国内用户可能需要网络加速可以手动下载安装脚本确保防火墙允许访问快速参考常用命令# 搜索技能 skillhub search <关键词> # 安装技能到项目级目录 (推荐) skillhub install <技能slug> --dir ./.codeartsdoer/skills # 列出已安装技能 skillhub list --dir ./.codeartsdoer/skills # 查看版本 skillhub --version环境变量# Git Bash - 添加到 PATH export PATH="$USERPROFILE/.local/bin:$PATH" # PowerShell - 添加到 PATH [Environment]::SetEnvironmentVariable('PATH', "$env:USERPROFILE\.local\bin;$env:PATH", 'User') 关键路径项目路径 (Git Bash)路径 (PowerShell)SkillHub CLI$USERPROFILE/.local/bin/skillhub$env:USERPROFILE\.local\bin\skillhubSkillHub 脚本$USERPROFILE/.skillhub/skills_store_cli.py$env:USERPROFILE\.skillhub\skills_store_cli.py配置文件$USERPROFILE/.skillhub/config.json$env:USERPROFILE\.skillhub\config.json技能目录 (项目级)./.codeartsdoer/skills/./.codeartsdoer/skills/重要: 技能默认安装到项目级目录,确保技能与项目关联,便于版本控制和团队协作。一键部署脚本 (可选)如果需要在一台新 Windows 电脑上快速部署,可以使用以下脚本:#!/bin/bash # SkillHub Assistant 一键部署脚本 (Windows Git Bash) echo "==========================================" echo " SkillHub Assistant 一键部署" echo "==========================================" # 检测 Python if command -v python3 &> /dev/null; then PYTHON_CMD="python3" elif command -v python &> /dev/null; then PYTHON_CMD="python" else echo "错误: 未找到 Python" echo "请先安装 Python 3.8 或更高版本" echo "下载地址: https://www.python.org/downloads/" exit 1 fi echo "Python 版本: $($PYTHON_CMD --version)" # 下载并安装 SkillHub echo "正在安装 SkillHub..." curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash # 配置环境变量 if [[ ":$PATH:" != *":$USERPROFILE/.local/bin:"* ]]; then echo "配置环境变量..." echo 'export PATH="$USERPROFILE/.local/bin:$PATH"' >> ~/.bashrc export PATH="$USERPROFILE/.local/bin:$PATH" fi # 验证安装 echo "验证安装..." if command -v skillhub &> /dev/null; then echo "✓ SkillHub 安装成功" skillhub --version else echo "✗ SkillHub 安装失败" exit 1 fi echo "" echo "==========================================" echo " 部署完成!" echo "==========================================" echo "" echo "请重启 Git Bash 使环境变量生效" echo "" 保存为 deploy-skillhub.sh,然后执行:bash deploy-skillhub.sh
总条数:453 到第
上滑加载中