
Flue 技能导入与挂载实战2种姿势快速复用现有技能【免费下载链接】flueThe sandbox agent framework.项目地址: https://gitcode.com/GitHub_Trending/flue1/flueFlue 是一个面向 AI Agent 的沙箱 Agent 框架sandbox agent framework。本文带你掌握Flue 技能导入与挂载的 2 种核心姿势直接导入现成的SKILL.md技能目录以及用defineSkill在代码中声明、改造已有技能。无论你的技能是自己写的、同事给的还是来自 npm 包都能 3 步以内挂载到你的 Agent 上真正做到一次编写处处复用。先搞懂Flue 技能是什么为什么值得复用在 Flue 中技能Skill打包的是一套可复用的专业知识——用 Markdown 写的操作步骤可以附带检查清单、模板等支持文件。它和工具Tool的分工很清晰概念作用类比工具 Tool执行应用代码给 Agent 一把锤子技能 Skill教 Agent 一套流程给 Agent 一本操作手册技能采用**渐进披露progressively disclosed**机制每个挂载的技能只在系统提示词中占一行名称 描述Agent 判断任务匹配时才加载完整指令。也就是说一个 Agent 可以挂几十个技能却不用为每轮对话背诵全部内容——这正是把现有技能复用起来的魅力所在。 完整的技能机制说明见官方文档apps/docs/src/content/docs/guide/skills.md姿势一直接导入 SKILL.md 文件构建期挂载这是最推荐的方式像导入普通模块一样导入SKILL.md再用useSkill挂载。构建时Flue 会自动识别这个导入、校验 frontmatter 元信息并把整个技能目录含支持文件打包进应用。以官方示例项目imported-skill为例技能长这样src/skills/review/ ├─ SKILL.md # frontmatter 指令正文 └─ CHECKLIST.txt # 支持文件按需读取技能定义见 SKILL.md配套的 CHECKLIST.txt 会被一起打包。挂载代码极其简单完整实现见 with-imported-skill.tsimport { useModel, useSkill } from flue/runtime; import review from ../skills/review/SKILL.md; export function WithImportedSkill() { useModel(anthropic/claude-haiku-4-5); useSkill(review); // 一行完成挂载 }这套方式的几个关键点没有注册步骤没有运行时文件拷贝——导入本身就是声明。开发服务器、vite build、flue run三种场景全都能跑技能导入必须是静态的动态import(./skills/x/SKILL.md)会在构建时报错同名技能每个 Agent 只能挂载一次重复挂载会直接抛错打包时会跳过node_modules、.git等噪音目录并且拒绝打包密钥文件.env、私钥等属于硬性错误技能里的支持文件不会拷贝进沙箱而是由运行时在虚拟路径下只读提供——Agent 能读、不能改笔记本、Node.js、Cloudflare 上的行为完全一致。 小技巧useSkill和所有资源钩子一样可以条件挂载比如根据持久化状态在对话中途解锁某个技能运行时会自动通知模型目录变化。姿势二用 defineSkill 声明或改造已有技能当技能内容很短、是动态生成的、或者来源是一段普通 Markdown 文本时用defineSkill(...)在代码里声明更灵活。它等价于一个技能目录instructions对应SKILL.md正文可选的files字段携带支持文件。这一姿势还能解决两个常见痛点复用 npm 包里的技能像导入模块一样从包里导入SKILL.md例如acme/review-skills/review/SKILL.md前提是包正确发布了SKILL.md及其支持文件把普通.md文件变成技能直接导入的.md只是纯文本字符串把它传给defineSkill就完成了技能化——比如把团队现成的故障响应手册incident-runbook.md一键变成可挂载技能。定义完成后传给useSkill(escalation)即可用法与姿势一完全相同。定义会被校验并冻结首次需要时由运行时打包成与SKILL.md导入完全一致的形态。两种姿势怎么选场景推荐姿势理由技能以目录形式存在自己写的或第三方给的姿势一导入SKILL.md构建期严格校验错误在编译阶段就能发现内容短小、由数据拼装或动态生成姿势二defineSkill无需落盘代码即技能复用现有手册、文档类.md文件姿势二defineSkill包装把纯文本一键转成技能技能放在 npm 包里跨项目共享姿势一包导入与普通模块导入体验一致另外如果你的 Agent 自带沙箱还有一条隐藏路径会话开始时运行时会扫描工作区的.agents/skills/目录把其中每个合法的SKILL.md自动加入技能目录——无需导入、无需useSkill。适合技能随仓库/工作区一起分发的场景。上手跑一跑3 分钟验证你的技能挂载官方示例 examples/imported-skill/ 已经备好了完整可运行的演示README 中给出了两种方式# 单次运行 pnpm exec flue run src/agents/with-imported-skill.ts \ --message Run the review skill demo. # 或以 HTTP 服务方式启动两个 Agent 挂载见 app.ts pnpm exec vite dev服务启动后两个演示 Agent 分别挂载在 app.ts 的/agents/with-imported-skill和/agents/with-custom-bash路由上。对前者说一句 Run the review skill demoAgent 就会调用其内部动作、激活review技能、读取CHECKLIST.txt并按清单完成回答——整个过程你能清晰看到技能按需加载的效果。总结Flue 技能导入与挂载要点回顾导入即声明import ... from .../SKILL.mduseSkill(...)是最简洁的挂载姿势整目录自动打包支持文件只读挂载、永不进沙箱️代码即技能defineSkill让短内容、动态内容、现成.md文档都能成为技能还能配合 npm 包实现跨项目复用渐进披露省钱省时系统提示词里每个技能只占一行指令按需加载挂几十个技能也不心疼 token⚠️三条红线导入必须静态、同名技能禁止重复挂载、密钥文件拒绝打包。掌握这两种姿势后你团队沉淀下来的每一份操作手册、检查清单、SOP都能变成 Agent 即插即用的能力。下一步可以继续阅读 apps/docs/src/content/docs/guide/skills.md 了解技能的激活机制与支持文件细节或在 examples/ 目录下探索更多 Agent 玩法。【免费下载链接】flueThe sandbox agent framework.项目地址: https://gitcode.com/GitHub_Trending/flue1/flue创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考