anarlog 仓库新增 Tauri 插件全流程指南:add-plugin Skill 的脚手架与集成规范

发布时间:2026/11/12 19:29:56

anarlog 仓库新增 Tauri 插件全流程指南:add-plugin Skill 的脚手架与集成规范 anarlog 仓库新增 Tauri 插件全流程指南add-plugin Skill 的脚手架与集成规范【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarlog导读本文面向需要在 anarlog 开源仓库中新增 Tauri 插件的开发者完整梳理.agents/skills/add-plugin/SKILL.md中定义的插件生成、代码规约与仓库集成流程从tauri-apps/cli plugin new脚手架开始到以plugins/analytics为范本整理目录结构与依赖再到通过 specta 生成 TypeScript 绑定最后完成 Cargo 工作区、桌面端 Tauri 工程与能力capabilities声明的四处集成。读完本文你将能够按仓库统一规范新增一个可被apps/desktop前端直接调用的 Tauri 插件并理解每一步背后的实现依据。一、技能定位何时使用 add-plugin.agents/skills/add-plugin/SKILL.md在 frontmatter 中明确将自身定位为internal: true的内部技能适用于两类场景当需求是在plugins/目录下新增或创建插件时使用该技能完成插件生成与仓库集成当需求是把一份刚生成的插件接入项目既有约定时同样适用。反之如果需求是修改已有插件例如为plugins/analytics增加新的事件命令则不应使用本技能说明仓库对脚手架生成与存量维护做了明确的责任切分避免生成器覆盖手工改动。二、脚手架生成一条命令产出插件骨架技能给出的生成命令无需手写任何 boilerplatenpx tauri-apps/cli plugin new NAME \ --no-example \ --directory ./plugins/NAME其中NAME由 Agent 根据用户请求决定如analytics、fs-sync生成器会把它写入 crate 名、npm 包名与源码模块中。--no-example跳过示例应用--directory ./plugins/NAME把插件直接生成到仓库统一的plugins/目录下。生成后插件应立即能通过仓库根 Cargo.toml 中的 workspace 依赖例如tauri-plugin-analytics { path plugins/analytics }被引用——这正是第 5 节集成步骤之一。三、以 plugins/analytics 为范本的代码规约技能要求Follow the style and conventions used inplugins/analytics生成后需做四项清理/调整操作说明删除生成的rollup.config.js本项目不采用 rollup 打包前端绑定删除生成的README.md插件说明统一由仓库文档体系承载更新tsconfig.json改为继承仓库基础配置并限定js/目录更新package.json对齐anlg/plugin-NAME命名与 codegen 脚本以plugins/analytics为参照整理后的形态是package.jsonname: anlg/plugin-analytics、private: true、main: ./js/index.ts脚本codegen: cargo test -p tauri-plugin-analytics与typecheck: tsc --noEmit依赖仅tauri-apps/api见 plugins/analytics/package.jsontsconfig.jsonextends ../tsconfig.base.jsoninclude: [./js/*.ts]见 plugins/analytics/tsconfig.json与仓库根 tsconfig.base.json 对齐Rust 侧标准布局src/lib.rs、src/commands.rs#[tauri::command]#[specta::specta]命令、src/ext.rsRust 扩展 trait、src/error.rs、src/permissions能力描述目录与js/TypeScript 绑定目录。默认保留 ping 函数技能特别强调除非用户要求不同的命令行为否则应在ext.rs与commands.rs中同时保留生成器产出的单个ping命令。这一约定保证新插件开箱即用前端可直接调用ping验证插件注入成功后续再按需增补业务命令与plugins/analytics中event、identify、set_properties等命令同构演进。四、生成 TypeScript 绑定codegen 流程代码落位后执行绑定生成pnpm -F anlg/plugin-NAME codegen-F anlg/plugin-NAME指定 pnpm workspace 过滤目标。该脚本最终执行cargo test -p tauri-plugin-NAME其原理可从 plugins/analytics/src/lib.rs 的export_types测试看出make_specta_builder收集commands::event、commands::set_disabled等全部命令通过tauri_specta::Builder::export配合specta_typescript的 prettier formatter 输出到./js/bindings.gen.ts并自动写入// ts-nocheck头。apps/desktop侧则通过import { commands } from anlg/plugin-analytics直接使用这些绑定见 apps/desktop/src/analytics.ts 与 apps/desktop/src/auth/auth-analytics.ts。因此 codegen 本质是以测试驱动的方式导出类型新增命令后重跑该脚本即可让前端类型与 Rust 端保持一致。五、四处集成点把插件接入桌面端技能列出的集成点共四处缺一不可集成点作用analytics 实例根 Cargo.toml声明插件 crate 为 workspace 依赖tauri-plugin-analytics { path plugins/analytics }apps/desktop/src-tauri/Cargo.toml让桌面端可链接该插件tauri-plugin-analytics { workspace true }apps/desktop/package.json让前端可 import 绑定包anlg/plugin-analytics: workspace:*apps/desktop/src-tauri/capabilities/default.json为主窗口授予插件权限analytics:default能力声明Tauri 2 权限模型的关键一环最后一步常被忽略却至关重要Tauri 2 的命令调用受 capabilities 权限约束未在default.json的permissions数组中声明analytics:default即plugins/analytics/permissions/default.toml与autogenerated/commands/*.toml定义的能力集合前端调用会被拒绝。新插件需在 apps/desktop/src-tauri/capabilities/default.json 追加形如NAME:default的条目并同步维护plugins/NAME/permissions/下的能力定义。六、收尾依赖安装与验证完成apps/desktop/package.json更新后必须执行pnpm i以更新 pnpm-lock 并链接新 workspace 包。随后可依次验证pnpm -F anlg/plugin-NAME codegen生成绑定、pnpm -F anlg/plugin-NAME typecheck通过类型检查、cargo check -p tauri-plugin-NAME通过编译以及plugins/analytics中test_analytics、fire_and_forget_admission_is_bounded这类 Rust 单测见 plugins/analytics/src/lib.rs在桌面端mock_builder环境下验证插件生命周期与状态管理的范式。七、快速核对清单按.agents/skills/add-plugin/SKILL.md收尾时逐项确认npx tauri-apps/cli plugin new NAME --no-example --directory ./plugins/NAME已执行已删除生成的rollup.config.js与README.mdtsconfig.json继承../tsconfig.base.json且只包含js/package.json命名为anlg/plugin-NAME含codegen/typecheck脚本ext.rs与commands.rs保留默认ping命令pnpm -F anlg/plugin-NAME codegen已生成js/bindings.gen.ts根Cargo.toml、apps/desktop/src-tauri/Cargo.toml、apps/desktop/package.json、apps/desktop/src-tauri/capabilities/default.json四处已更新更新apps/desktop/package.json后已执行pnpm i。【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarlog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/2 9:25:20

知了大模型:中文优化的MoE架构AI实践解析

1. 知了大模型技术解析与应用实践最近在AI领域掀起了一波大模型应用的讨论热潮,其中"知了大模型"这个项目引起了我的特别关注。作为一名长期关注自然语言处理技术发展的从业者,我想分享一下对这个项目的技术解析和实践思考。知了大模型本质上是…

2026/11/10 21:05:58

全桥LLC谐振变换器设计与双环控制策略

1. 全桥LLC谐振变换器概述全桥LLC谐振变换器作为现代电力电子领域的重要拓扑结构,在工业电源、电动汽车充电桩等场合得到了广泛应用。这种变换器之所以备受青睐,关键在于其独特的软开关特性——通过合理设计谐振腔参数,可以实现主开关管的零电…

2026/11/12 19:29:06

郑州特种工考试平台多久拿证才靠谱?别交完培训费考不过

郑州特种工考试平台多久拿证才靠谱?别交完培训费考不过 怕考不过白交培训费?你不是一个人。郑州特种工考试平台虽然听着像是官方渠道,但很多学员还是踩坑了。特别是像信阳浉河区这种刚毕业的工程类学生,一边找工作一边准备考试,结果不是被培训费坑了,就…

2026/11/12 19:29:06

安庆电工证报名地点揭秘:通过率到底有多高?

安庆电工证报名地点揭秘:通过率到底有多高? 怕考不过白交培训费?安庆电工证报名地点这么多,到底哪家靠谱?别急,今天就带你扒一扒 通过率揭秘 ,还有真实学员避坑经验。 案例背景:鹤壁培训机构学员的焦虑…

2026/11/12 19:29:06

企业电工作业流程证丢了怎么补办网上查询

企业电工作业流程证丢了怎么补办网上查询 学历不高怕报不上名?别慌!其实企业电工作业流程相关的证书报考门槛并不高,关键是你得知道怎么操作。很多小伙伴担心自己学历不够,怕被拒绝,但现实是,只要你符合基本条件,比如具备一定的电气操作经验,就可以通…

2026/11/12 19:29:06

榆林中级电工证怎么考网上查询外省证能否转

榆林中级电工证怎么考网上查询外省证能否转 之前考的证在外省能不能转过来?这个问题,我见过太多人问,而且很多兄弟是拿着外地证在榆林干活,结果被单位或项目方拦下,说**“证书没备案,不能上岗”…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑