当前位置: 首页 > article >正文

用 Shield CLI 本地开发调试:从零到上线你的第一个 Skill

当 AI Agent 需要调用外部能力时Skill 就是它的技能包。本文以一个文旅素材搜索 Skill 为例带你走完本地开发 → 调试 → 发布 → 安装使用的完整流程。核心工具只有一个 ——Shield CLI。背景什么是 SkillSkill 是符合 Agent Skills 规范的能力描述包。一个典型的 Skill 包含my-skill/ ├── .well-known/agent-skills/index.json # 发现文件描述、权限、环境变量 ├── SKILL.md # 技能指令Agent 读取并执行 ├── config.json # 运行时配置API 地址等 └── references/ # 补充文档Agent 通过读取SKILL.md了解如何调用你的 API而index.json告诉平台这个 Skill 需要什么权限、支持哪些环境变量。我们今天要开发的 Skill 很简单通过一个 POST API 搜索素材将结果以表格形式展示给用户。API 是现成的我们要做的是把它包装成 Agent 能理解的 Skill。一、安装 Shield CLIShield CLI 是 YiShield 提供的命令行工具用于本地开发、调试和部署应用。macOS推荐使用 Homebrewbrew tap fengyily/tap brewinstallshield-cliWindows使用 PowerShell 一键安装irm https://raw.githubusercontent.com/fengyily/shield-cli/main/install.ps1|iex手动安装前往 Shield CLI 官方文档 根据对应平台选择安装方式验证安装f1F1s-MacBook-Pro ~ % shield--versionshield version0.3.11f1F1s-MacBook-Pro ~ % shield start _____ __ _ __ __ ________ ____ / ___// /_ (_)__ / /___/ / / ____/ / / _/ \__ \/ __ \/ // _ \/ // __ / / / / / / / ___/ / / / / // __/ // /_/ / / /___/ /____/ / /____/_/ /_/_/ \___/_/ \__,_/ \____/_____/___/ Shield CLI - Secure Tunnel Connector ├─ Version: 0.3.11 ├─ Go: go1.25.8 └─ Platform: darwin/arm64 ────────────────────────────────────────────────── ✓ Service is already running Web UI: http://localhost:8181 Commands: shield stop Stop the service shield uninstall Remove the service f1F1s-MacBook-Pro ~ %二、本地启动 API 服务Shield CLI 最强大的能力之一是将你的本地服务暴露为可调试的 API 端点。启动本地服务假设你的后端 API 已经在本地开发完毕比如一个 Python FastAPI 或 Go 服务先把它跑起来# 示例启动文旅素材搜索 APIcurlhttp://localhost:8080/api/v1/resources/search\--data-raw{query:雁荡山,use_llm:true,page:1,page_size:1}服务启动后通过http://127.0.0.1:8080即可在本地访问。本地测试 API用curl快速验证接口是否正常rootfenyi-MS-7E44:~# curl -X POST http://172.16.3.60:8080/api/v1/resources/search -H Content-Type: application/json -d {query: 雁荡山, page_size: 1, use_llm: false}|jq你应该能看到类似这样的响应{code:0,message:success,data:{total:42,items:[...],page:1,page_size:5}}三、WebUI 配置获取外网访问地址本地 API 跑通了但 Agent 平台如 OpenClaw在云端它无法直接访问你的127.0.0.1。这时需要通过 Shield 的隧道功能将本地服务映射到外网。启动隧道通过http://127.0.0.1:8181访问 Shield 的 Web 界面添加一个 HTTP 协议端口 8080 IP 为 127.0.0.1 的应用点击连接等待几秒Shield 会为你分配一个外网可达的地址格式类似https://d2128144f966ce17-yishield.cn01.apps.yishield.com[图片待补充]Shield 隧道启动成功显示分配的外网地址更新 Skill 配置拿到外网地址后将其填入 Skill 的config.json{api_origin:https://d2128144f966ce17-yishield.cn01.apps.yishield.com,api_version_path:/api/v1,preview_play_path:/api/v1/play,trusted_media_origins:[https://d2128144f966ce17-yishield.cn01.apps.yishield.com]}这样 Agent 在远端调用时请求会通过 Shield 隧道转发到你的本地服务。改一行代码 → 刷新 → 立即生效无需重新部署。四、将 Skill 目录上传到 ClawHub 并发布本地调试完毕、功能确认无误后就可以把 Skill 发布到 ClawHub —— Agent Skill 的集中分发平台。打开 https://clawhub.ai/登录账号进入「我的 Skills」页面点击「上传 Skill」选择文件夹填写 Skill 名称、描述、分类等元信息点击「发布」发布后平台会扫描你的 Skill 当状态变为 Benign 就可以被其他用户在 ClawHub 市场中搜索和安装了。五、在 OpenClaw 中安装和调试 Skill5.1 安装 Skill打开 OpenClaw 客户端进入「Skill 市场」或「技能管理」搜索你刚发布的 Skill 名称如culturetour-skill点击「安装」我这里用的是 ArkClaw5.2 配置环境变量可选如果你需要让 Skill 指向不同的 API 地址比如在开发阶段指向 Shield 隧道地址可以在 OpenClaw 中设置环境变量变量名说明WENLV_API_ORIGIN覆盖 config.json 中的 api_origin仅站点根不含 /api/v1TRADE_API_BASE交易 API 基址预留5.3 对话调试安装完成后直接在 OpenClaw 对话框中用自然语言触发 Skill用户帮我搜索黄山相关的文旅素材Agent 会自动调用 Skill 中定义的 API返回结构化的搜索结果表格你可以继续测试完整流程用户选 1、3 用户预览第 1 条的视频 用户确认购买5.4 实时调试技巧这里是 Shield CLI 真正发光的地方 ——本地服务还在跑着隧道还连着。你在 OpenClaw 里触发的每一次 API 调用都会实时打到你的本地服务看日志本地终端实时输出请求日志方便排查参数和响应改代码修改 API 逻辑后重启服务OpenClaw 里下一次对话就能看到效果改 Skill调整SKILL.md中的指令描述重新打包上传测试 Agent 行为变化[本地终端] POST /api/v1/resources/search 200 {query:黄山,page_size:5} 32ms POST /api/v1/resources/search 200 {query:西湖 日落,page_size:3} 28ms[图片待补充]Shield 隧道实时转发请求到本地终端可见完整日志总结为什么选择 Shield CLI传统方式Shield CLI 方式改代码 → 推送 → CI/CD → 部署 → 测试改代码 → 本地重启 → 立即测试搭建测试环境配置域名、证书一条shield http 8080命令搞定调试靠日志平台延迟高本地终端实时看请求/响应API 和 Skill 分开调试端到端打通Agent 直接调用本地服务Shield CLI 的核心价值在于缩短反馈循环零部署调试—— 本地服务通过隧道直接暴露给 Agent 平台省去了部署到测试环境的等待时间所见即所得—— 修改 API 逻辑后秒级生效修改 Skill 描述后重新上传即可验证 Agent 行为全链路可观测—— 请求从 Agent → Shield 隧道 → 本地服务每一跳都有日志问题定位快开发生产一致—— 本地用的和线上跑的是同一套代码、同一个 API不存在本地能跑线上挂的问题低门槛—— 不需要公网服务器、不需要配置 Nginx、不需要申请域名证书一个 CLI 工具全搞定对于 Skill 开发者来说Shield CLI 把原本需要多个工具、多次部署才能完成的工作流压缩成了本地开发 一条命令。当你的 Skill 在 OpenClaw 里跑通了把config.json里的地址换成生产环境就是正式上线。开始动手吧Shield CLI 开源地址https://github.com/fengyily/shield-cli如果你觉得有用就点个星星吧

相关文章:

用 Shield CLI 本地开发调试:从零到上线你的第一个 Skill

当 AI Agent 需要调用外部能力时,Skill 就是它的"技能包"。本文以一个文旅素材搜索 Skill 为例,带你走完本地开发 → 调试 → 发布 → 安装使用的完整流程。核心工具只有一个 —— Shield CLI。 背景:什么是 Skill? Sk…...

可口可乐在美国250周年庆活动中唱响“我想给美国买瓶可乐”

可口可乐公司正式启动一项为期一年的全国性营销活动,以配合其与“美国250周年委员会(America250)”的合作伙伴关系。该委员会是负责筹备美国建国250周年庆典的非营利组织。 活动核心是一支三分钟的赞歌式视频《畅饮美国(Drink In…...

Efinity入门--运行第一个程序

1、新建工程与编码 file–create project这里只需要改好项目名字和所用的芯片即可。注意,这里top module 名字要和项目名字一样。 之后,file–new file,创建一个verilog文件。在这里面创建功能代码,注意最顶层的module要和项目名字…...

【Charles 抓包工具笔记】(自用复盘版)

📡 Charles 抓包工具笔记(自用复盘版)适用场景:HTTP/HTTPS 抓包分析、接口调试、弱网测试、移动端测试 最后更新:2026-04-09一、Charles 简介 1.1 基本信息 Charles:中文名“青花瓷”,是一款基于…...

Claude Code 从零复刻教程 - 完整大纲

Claude Code 从零复刻教程 - 完整大纲 本教程面向有 JavaScript 基础的开发者,通过 12 篇系列文章,从零构建一个类似 Claude Code 的 AI 编程助手 CLI 工具。 目录 教程简介技术栈系列大纲每篇教程结构学习路径 教程简介 什么是 Claude Code&#xff1…...

拆解政务知识库落地:从0到日均万次应答的实战手记

在基层政务服务中,“这个政策怎么解读?”“社保卡丢了去哪补办?”这类问题每天被重复成百上千次。政策法规分散在数十个系统中,居民问不清,工作人员也答不准。如何在不增加编制的前提下,让90%的重复性问题被…...

【限时技术解禁】GraalVM静态镜像内存优化速查表(含JFR+Native Memory Tracking双验证脚本),仅开放72小时下载

第一章:GraalVM静态镜像内存优化快速接入全景概览GraalVM 静态镜像(Native Image)通过提前编译(AOT)将 Java 应用编译为独立、无 JVM 依赖的原生可执行文件,在启动速度与内存占用方面具备显著优势。然而&am…...

“.NET 11 + ONNX Runtime 1.18 + Triton集成”三重加速组合拳:某全球Top3药企临床辅助诊断系统P99延迟压至17ms的完整链路揭秘

第一章:“.NET 11 ONNX Runtime 1.18 Triton集成”三重加速组合拳:某全球Top3药企临床辅助诊断系统P99延迟压至17ms的完整链路揭秘该系统面向高并发、低延迟的病理图像实时推理场景,需在单次请求中完成多模态(HE染色切片免疫组化…...

SecGPT-14B私有化部署:企业内网安全使用OpenClaw的方案

SecGPT-14B私有化部署:企业内网安全使用OpenClaw的方案 1. 为什么需要内网专属AI助手 去年我在某金融机构参与了一个敏感项目,客户要求所有数据处理必须在隔离网络中完成。当我第一次尝试用公有云API调用AI能力时,安全团队立即叫停了整个流…...

PowerMeter:嵌入式电能计量开源库设计与实现

1. 项目概述PowerMeter 是一款面向嵌入式电能计量场景的轻量级开源库,专为基于 ZMPT101B 电压传感器与 ZMCT103C 电流传感器构建的单相交流电参数测量系统而设计。该库不依赖特定硬件平台(如 Arduino、ESP32 或 STM32),其核心抽象…...

SQL如何计算分组内的加权平均值_使用SUM与除法运算

<p>分组加权平均 SUM(值 * 权重) / NULLIF(SUM(权重), 0)&#xff0c;需在 GROUP BY 下按组分别计算分子分母&#xff1b;权重为NULL时SUM自动忽略&#xff0c;应显式过滤或处理&#xff1b;避免重复SUM影响性能。</p>用 SUM() 和除法算分组加权平均&#xff0c;核…...

Vibe Coding 程序员何去何从?最大的价值是质疑能力

当 AI 成为强力执行者&#xff0c;细节做得好不好、快不快&#xff0c;都不再重要。模型会越来越智能、越来越快。但真正决定你能用好 AI 还是被 AI 牵着走的&#xff0c;是你的思考能力。 专业能力的本质是质疑能力 很多人以为用好 AI 的关键是写好提示词&#xff08;Prompt&…...

重新定义翻译质量评估:COMET的智能引擎与行业变革

重新定义翻译质量评估&#xff1a;COMET的智能引擎与行业变革 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET 在全球化内容生产的浪潮中&#xff0c;翻译质量评估长期被一个认知误区所困扰——许多…...

什么是引线键合(WireBonding)

引线键合&#xff08;WireBonding&#xff09;引线键合是一种使用细金属线&#xff0c;利用热、压力、超声波能量为使金属引线与基板焊盘紧密焊合&#xff0c;实现芯片与基板间的电气互连和芯片间的信息互通。在理想控制条件下&#xff0c;引线和基板间会发生电子共享或原子的相…...

Windows Defender Remover终极指南:彻底释放系统性能的3种方法

Windows Defender Remover终极指南&#xff1a;彻底释放系统性能的3种方法 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mir…...

易基因|PBJ/IF10.5:西南大学吕典秋课题组揭示m6A甲基化修饰调控马铃薯耐盐性的新机制

​​大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 近日&#xff0c;Plant Biotechnology Journal杂志在线发表了由西南大学吕典秋课题组撰写的“StALKBH10B-mediated RNA m6A modification inhibits potato salt tolerance by target…...

如何处理死锁异常_ORA-00060捕获与重试机制设计

ORA-00060是死锁&#xff0c;非单纯竞争&#xff1b;Oracle检测到多个会话互持对方所需锁并主动回滚其中一个事务&#xff0c;需通过trace文件分析Deadlock graph定位具体行锁冲突及session&#xff0c;不可盲目重试。ORA-00060 是死锁还是竞争&#xff1f;先看日志里真正冲突的…...

不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?

在工业4.0与智能制造加速落地的当下&#xff0c;工厂自动化系统的集成复杂度日益攀升。一个普遍存在的工程痛点在于&#xff1a;控制层往往采用以三菱电机为代表的CC-Link IE高速工业以太网&#xff0c;追求微秒级的同步与海量数据吞吐&#xff1b;而现场设备层却依然大量存留着…...

LangChain教程-、Langchain基础磐

简介 AI Agent 不仅仅是一个能聊天的机器人&#xff08;如普通的 ChatGPT&#xff09;&#xff0c;而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统&#xff0c;更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料&#xff0c;agent的…...

OpenClaw安全实践:Gemma-3-12b-it本地化保障敏感数据处理

OpenClaw安全实践&#xff1a;Gemma-3-12b-it本地化保障敏感数据处理 1. 为什么选择本地化部署 去年我在处理一批财务数据时&#xff0c;曾尝试使用某云端大模型服务进行报表分析。当系统提示"您的数据将被传输至第三方服务器进行处理"时&#xff0c;那种对敏感信息…...

性价比高的水泥压力板哪家技术强

在建筑材料市场中&#xff0c;水泥压力板凭借其诸多优势&#xff0c;如防火、防潮、隔音等&#xff0c;成为众多建筑项目的理想选择。对于追求性价比的客户来说&#xff0c;选择一家技术实力强的水泥压力板品牌至关重要。兴达成就是这样一家在市场上具有较高声誉的品牌&#xf…...

StructBERT中文相似度模型效果展示:LCQMC与ChineseSTS精准匹配案例集

StructBERT中文相似度模型效果展示&#xff1a;LCQMC与ChineseSTS精准匹配案例集 1. 引言&#xff1a;当AI能读懂句子的“言外之意” 你有没有遇到过这样的场景&#xff1f;在搜索引擎里输入一个问题&#xff0c;结果返回的答案和你问的完全不是一回事。或者&#xff0c;你想…...

智能营销新纪元:揭秘星图销冠系统如何用AI自动化重塑企业获客生态

在数字化转型浪潮席卷各行各业的今天&#xff0c;企业获客成本持续攀升&#xff0c;传统营销方式疲态尽显。寻找一家真正专业AI企业、服务好AI服务商&#xff0c;引入一套能打通公域引流与私域转化全链路的智能系统&#xff0c;已成为众多市场决策者的核心诉求。市场上声称能提…...

如何划分接口文档?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快1、首先最主要的就是要分析接口测试文档&#xff0c;每一个公司的测试文档都是不一样的。具体的就要根据自己公司的接口而定&#xff0c;里面缺少的内容自己需要与开…...

OpenClaw性能调优实战:提升Kimi-VL-A3B-Thinking多模态响应速度的5个技巧

OpenClaw性能调优实战&#xff1a;提升Kimi-VL-A3B-Thinking多模态响应速度的5个技巧 1. 问题背景与性能瓶颈分析 最近我在本地部署了Kimi-VL-A3B-Thinking多模态模型&#xff0c;并通过OpenClaw与之对接&#xff0c;构建了一个自动化图文处理的工作流。但在实际使用中发现&a…...

Glide:Android图片加载的瑞士军刀,真的有这么神?

Glide&#xff1a;Android图片加载的瑞士军刀&#xff0c;真的有这么神&#xff1f; Glide 是什么&#xff0c;为何选择它 在 Android 开发的世界里&#xff0c;图片加载是一个绕不开的重要环节。想象一下&#xff0c;在一个社交类 APP 中&#xff0c;用户的头像、发布的照片&a…...

基于Arm Cortex-M7内核GD32H7

基于Arm Cortex-M7内核&#xff0c;主频高达750MHz&#xff0c;并配备了高速大容量内存架构&#xff0c;旨在以“超高算力”与“实时通信”能力&#xff0c;为伺服控制、数字电源、智能家居&#xff08;885478&#xff09;等下一代智能装备提供核心硬件基础。 性能铁三角&#…...

查老板信息免费?3款工具深度功能对比(附避坑指南)

查老板信息免费的方法有很多&#xff0c;但大多数人都只停留在基础工商信息层面。真正能免费查到深度信息&#xff08;关联企业、风险记录、AI解读&#xff09;的工具其实不多&#xff0c;我最近亲测了几款常用工具&#xff0c;发现风鸟企业查询平台在免费深度功能方面表现突出…...

沈阳户外路灯厂家哪家好

大家好&#xff0c;我是你们的老朋友小李。今天咱们聊聊沈阳的户外路灯市场&#xff0c;尤其是哪家厂家值得信赖。在众多品牌中&#xff0c;中领乾路灯凭借其卓越的产品质量和贴心的服务&#xff0c;逐渐成为了行业的佼佼者。接下来&#xff0c;我会从几个方面来详细分析一下&a…...

企业为什么开始用小程序替代官网?

企业为什么开始用小程序替代官网?一、核心结论企业开始用小程序替代传统官网&#xff0c;本质上不是“技术替代”&#xff0c;而是获客方式与用户行为的变化。当用户从“搜索访问网站”转向“在平台内直接完成浏览与交易”时&#xff0c;小程序在转化效率与使用路径上更具优势…...