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

Obsidian 插件开发,AI 协作者的实战手册:从需求描述到一键发布,让 TRAE 帮你搞定代码

1. 从“想法”到“描述”如何与你的AI协作者TRAE高效沟通你是不是也遇到过这种情况用Obsidian做笔记时总觉得少了点什么。比如你希望笔记里的某个关键词能自动关联到某个外部网站或者想在侧边栏一键生成当天的待办清单又或者想把一段文字快速转换成思维导图。你翻遍了社区插件市场发现要么功能太复杂要么就是没有完全符合你心意的。这时候一个念头冒出来要是能自己做一个插件就好了。但紧接着现实就给你泼了一盆冷水我不会写代码啊别急着放弃。今天我要分享的就是一条全新的、几乎零门槛的插件开发路径。它的核心不是让你去学TypeScript或者JavaScript而是让你学会如何与一位强大的AI协作者——比如TRAE——进行高效对话。你不需要懂编程语法你只需要清晰地描述你的“想法”。这个“想法”就是你的插件需求。那么如何把一个模糊的“想法”变成AI能理解的“功能描述”呢我总结了一个“三步描述法”亲测有效。第一步定义核心目标。用一句话说清楚你的插件要解决什么问题。这句话要像给朋友介绍一样简单。比如“我想做一个插件让我在阅读笔记时选中一个城市名就能在旁边显示当地的实时天气。” 或者 “我需要一个插件每天打开Obsidian时自动在日记里插入我昨天未完成的待办事项。” 目标越具体、越场景化AI的理解就越准确。第二步拆解关键动作。插件本质上是完成一系列自动化操作。你需要把这些操作步骤拆解出来。还是以天气插件为例关键动作可能包括1. 监听用户选中文本的事件。2. 判断选中的文本是否是有效的地名。3. 调用一个公开的天气API获取数据。4. 在选中文本附近以某种形式比如一个小弹窗展示获取到的天气信息。把这些步骤像清单一样列出来即使你不懂技术术语AI也能明白流程。第三步明确输入输出与交互。这是让插件变得好用的关键。输入用户需要做什么来触发插件比如选中文字后点击一个按钮或者直接右键菜单输出插件最终以什么形式呈现结果是弹出一个模态框在状态栏显示还是在笔记中插入一段文字交互用户能否进行一些设置比如设置API密钥、选择温度单位是摄氏度还是华氏度把这些细节描述清楚AI生成的代码才会更贴近你的使用习惯。我刚开始用TRAE时给它的指令是“帮我写一个Obsidian插件”。结果它返回的代码非常通用几乎就是官方模板。后来我学会了这样描述“请创建一个Obsidian插件功能是当我在编辑器中选中一段文本后按下快捷键CtrlShiftW插件能读取我选中的文本然后打开一个新的面板在这个面板里显示一个搜索框自动把选中的文本填入搜索框并模拟按下回车键进行网络搜索。” 你看虽然描述长了点但TRAE这次生成的代码骨架就非常对口我几乎没怎么修改就实现了核心功能。2. 环境搭建为你的AI协作者铺平道路好了现在你已经有了一个清晰的需求描述摩拳擦掌准备让TRAE大干一场了。别急在把需求“喂”给AI之前我们需要先准备好它的“工作台”——也就是本地开发环境。这一步听起来有点技术性但别怕你不需要理解每一步的原理只需要像按照食谱做菜一样一步步执行即可。整个过程大概需要10-15分钟而且大部分时间是在等待安装完成。首先你需要三个基础软件Obsidian、Node.js和Git。Obsidian你肯定已经有了。Node.js是运行JavaScript的环境也是我们编译插件所必需的。你去Node.js官网下载那个标着“LTS”长期支持版的安装包一路点击“下一步”安装就行。安装完成后打开电脑的命令行工具Windows上是PowerShell或CMDMac上是终端输入node -v和npm -v。如果能看到版本号比如“v18.19.0”和“10.2.3”那就说明安装成功了。npm是随着Node.js一起安装的包管理工具你可以把它想象成一个“软件仓库管理员”负责帮我们获取插件开发需要的各种零件。接下来是Git它是一个版本控制工具。简单说它就像一台“时光机”能记录你代码的每一次改动方便你回退或者协作。对于我们的AI协作开发来说Git更是至关重要。因为AI生成的代码可能需要多次迭代调整有了Git你就能放心大胆地尝试不行就退回到上一个能用的版本。我强烈推荐新手使用GitHub Desktop这个图形化工具它把复杂的Git命令变成了点点按钮非常直观。下载安装后用它登录你的GitHub账号没有的话需要注册一个这是免费的。环境准备好了我们就要创建插件项目了。这里有个小技巧不要自己从零开始写直接用Obsidian官方的插件模板。这就像做模型官方给了你一套高质量的骨架和说明书你只需要往上添加肌肉和皮肤你的功能就行了。获取模板有两种方式一是直接去GitHub上搜索“obsidian-sample-plugin”点击绿色的“Code”按钮选择“Download ZIP”把压缩包下载下来。二是如果你已经装了Git在命令行里输入git clone https://github.com/obsidianmd/obsidian-sample-plugin.git也可以。下载的模板压缩包你需要把它解压到正确的位置。找到你的Obsidian库就是存放你所有笔记的那个文件夹进入里面的.obsidian/plugins/目录注意.obsidian是隐藏文件夹你可能需要在系统设置里打开“显示隐藏文件”。把解压出来的文件夹名字类似obsidian-sample-plugin-master整个放进去。然后把这个文件夹的名字改成你想要的插件英文ID比如my-weather-helper。记住这个路径和名字后面会频繁用到。最后一步安装依赖。用命令行工具或者VS Code的终端进入你刚刚改名后的插件文件夹然后输入命令npm install或者yarn install并回车。这个命令会让npm或yarn去读取模板里的清单文件package.json把需要的“零件”都下载到本地的node_modules文件夹里。这个过程可能会花几分钟取决于你的网络速度。完成后你的AI协作者TRAE的“工作台”就正式搭建完毕了。3. 核心开发指挥TRAE编写与调试代码环境就绪现在进入最激动人心的环节让TRAE帮你写代码。打开你的代码编辑器我推荐使用Visual Studio Code因为它对TypeScript和前端开发的支持非常好而且自带终端。用VS Code打开你插件所在的文件夹。首先我们需要告诉TRAE我们的“工作台”是什么样子的。你可以把整个项目文件夹的压缩包上传给TRAE或者更简单把几个核心文件的内容复制给它看。主要是这三个文件manifest.json插件的身份证、package.json零件清单和main.ts目前是空的模板。你可以对TRAE说“我正在基于Obsidian官方插件模板开发一个插件这是manifest.json的内容请根据这个结构帮我实现以下功能……” 然后把上一章你精心准备好的“三步描述法”需求粘贴上去。TRAE在理解了上下文和需求后就会开始生成main.ts的代码。它生成的代码通常会包含一个完整的插件类结构包括onload插件加载时运行、onunload插件卸载时运行等方法以及你需要的命令注册、事件监听等逻辑。第一次拿到生成的代码不要急着运行先快速浏览一遍。重点关注那些有“TODO”注释或者看起来是核心逻辑的部分看看是否符合你的预期。接下来把TRAE生成的代码完整地复制到你的main.ts文件中覆盖原来的内容。保存文件后在终端里运行编译命令npm run dev。这个命令会启动一个监视进程自动将你写的TypeScript代码转换成Obsidian能执行的JavaScript代码输出为main.js。如果代码语法有错误终端会显示红色的错误信息。这是最常见的第一道坎。遇到错误怎么办这正是AI协作的精髓所在。不要自己埋头苦想。直接把终端里整段的错误信息复制下来连同你的main.ts相关代码片段一起扔回给TRAE。你可以这样说“我在编译时遇到了这个错误[粘贴错误信息]。这是我的相关代码[粘贴代码]。请帮我分析并修正。” TRAE不仅能修正语法错误还能解释错误原因这是一个绝佳的学习机会。我就是在一次次“报错-反馈-修正”的过程中慢慢理解了Obsidian API的一些基本用法和TypeScript的类型约束。代码编译通过后回到Obsidian。进入“设置” - “社区插件”找到你的插件名字来自manifest.json里的name字段打开开关。如果一切顺利你的插件就应该被加载了。根据你设计的功能去测试它比如尝试触发某个命令。如果插件没有按预期工作或者点击按钮没反应别慌打开开发者工具CtrlShiftI / CmdOptionI查看“控制台”标签页。任何由console.log输出的信息以及运行时的错误都会在这里显示。把这些错误信息和日志同样反馈给TRAE让它进行下一轮修正。这个“编码-编译-测试-调试”的循环可能会重复很多次。但请记住你的角色是“产品经理”和“测试员”而TRAE是“程序员”。你的任务是清晰地描述问题现象“点击按钮后弹窗没有出现控制台报了这样一个错误”而不是猜测技术原因。通过这种紧密的协作一个功能完整的插件原型就会逐渐成型。4. 迭代与优化像打磨产品一样完善插件第一个能跑起来的版本诞生了这值得庆祝但你可能发现它用起来还有点“糙”。比如界面全是英文设置项不够直观或者某些边缘情况会出错。别担心这才是插件开发的开始我们可以指挥TRAE对它进行精细打磨。首先是界面与交互的优化。Obsidian插件支持创建复杂的设置页面。如果你想让用户能配置API密钥、开关某些功能就需要用到PluginSettingTab。你可以对TRAE说“请为我的插件添加一个设置页面包含以下选项1. 一个文本框用于填写天气API的密钥。2. 一个下拉框让用户选择温度单位摄氏度或华氏度。3. 一个开关控制是否在启动时显示问候语。” TRAE会生成创建设置页的代码你只需要把描述性的文字如“温度单位”替换成中文即可。关于插件中文名有个小坑需要注意manifest.json里的name可以设为中文这样在插件列表里显示的就是中文名。但id字段强烈建议用英文否则在快捷键设置界面可能无法通过搜索找到你的插件命令。其次是错误处理与健壮性。一个成熟的插件必须考虑各种意外情况。比如网络请求失败怎么办用户输入了无效数据怎么办你可以要求TRAE“请为调用天气API的代码段添加错误处理。如果网络请求失败在控制台打印警告信息并在Obsidian界面上给用户一个友好的通知比如使用new Notice(获取天气失败请检查网络)。如果返回的数据格式不正确也进行类似的提示。” 增加这些“防御性”的代码能极大提升插件的稳定性和用户体验。然后是功能的渐进式增强。不要试图第一个版本就做一个“巨无霸”。采用“核心功能优先迭代增加”的策略。用Git的分支功能可以完美管理这个过程。当你完成第一个可用的核心版本后使用GitHub Desktop或命令git switch -c feat/xxx创建一个新的功能分支比如feat/add-settings-page。在这个分支上让TRAE帮你开发设置页面。开发测试完成后合并回主开发分支。接着再创建feat/support-more-cities分支增加多城市支持……每次只聚焦一个小的改进点这样管理和测试都更轻松也能持续获得正反馈。在这个过程中Obsidian的开发者工具是你的“显微镜”。除了用console.log你还可以使用更高级的调试手段。比如在“源代码”标签页找到你的插件编译后的main.js文件在关键行设置断点。当插件执行到那里时程序会暂停你可以查看当时所有变量的值一步步跟踪执行流程。这对于理解复杂逻辑或查找隐蔽Bug非常有用。把断点暂停时的变量状态截图给TRAE看它能更精准地定位问题所在。5. 发布与分享一键将你的作品推向社区经过一番打磨你的插件已经稳定好用了。是不是很想分享给其他Obsidian用户或者只是单纯想备份一个正式版本是时候学习如何发布了。整个过程其实很简单主要就是利用GitHub的Release功能。首先确保你本地的代码都已经通过git commit提交到了仓库并且推送git push到了你在GitHub上创建好的远程仓库里。在GitHub Desktop里这通常就是点一下“Push origin”按钮。你的代码现在有了一个安全的云端备份。发布的核心是“打标签”。你可以把标签Tag理解为一个重要的历史快照比如“v1.0.0正式版”。在GitHub仓库页面上点击“Releases”然后点击“Create a new release”。在“Choose a tag”下拉框里输入你的版本号比如“v0.1.0”并创建它。版本号建议遵循“主版本号.次版本号.修订号”的规则。初版可以从v0.1.0开始。接下来填写发布标题和描述。描述非常重要这是你向潜在用户介绍插件的地方。你应该用清晰的语言说明这个插件是做什么的解决了什么问题有什么特色功能如何安装和使用可以附上截图或动图。好的描述能大大增加插件的吸引力。最关键的一步来了生成发布文件。Obsidian社区插件市场识别的是包含main.js、manifest.json和styles.css这三个核心文件的ZIP压缩包。你不需要手动打包。在你插件项目的根目录下运行命令npm run build。这个命令会执行一次正式的构建生成优化后的main.js。然后手动选中main.js、manifest.json、styles.css这三个文件可能还有README.md等文档将它们打包成一个ZIP文件。在GitHub创建Release的页面上把这个ZIP文件拖到附件区域上传。最后点击“Publish release”。恭喜你的插件已经有了一个正式的发布页面。其他用户可以通过下载这个ZIP文件手动放入他们的.obsidian/plugins/文件夹来安装。如果你想更进一步提交到Obsidian官方社区插件列表让用户能直接在Obsidian内搜索并一键安装则需要去Obsidian的开发者网站提交审核。这需要你的插件拥有一个清晰的README.md说明文档并且代码开源在GitHub上。虽然多了一步但能让你的作品被更多人发现和使用。回过头看从最初的一个模糊想法到清晰的需求描述再到指挥TRAE一步步实现、调试、优化最后打包发布。你全程没有手写一行复杂的业务逻辑代码但却完成了一个真正可用的、解决自己实际问题的工具。这种“AI协作者”的模式真正打破了工具创造的壁垒。它让你从“使用者”变成了“创造者”这种成就感是单纯使用现成插件无法比拟的。我最开始用这个方法做了个简单的文本处理插件后来胆子大了甚至做了一个管理本地图片素材库的中型插件。每次打开Obsidian用上自己做的功能那种感觉真的很棒。

相关文章:

Obsidian 插件开发,AI 协作者的实战手册:从需求描述到一键发布,让 TRAE 帮你搞定代码

1. 从“想法”到“描述”:如何与你的AI协作者TRAE高效沟通 你是不是也遇到过这种情况?用Obsidian做笔记时,总觉得少了点什么。比如,你希望笔记里的某个关键词能自动关联到某个外部网站,或者想在侧边栏一键生成当天的待…...

PythonStudio 控件使用常用方式(三十三)THotKey 实战:自定义快捷键绑定与冲突处理

1. THotKey控件:你的快捷键管家 在PythonStudio里捣鼓桌面应用,给菜单项或者按钮绑定个快捷键,是不是觉得挺酷的?以前你可能得自己写一堆监听键盘事件的代码,判断Ctrl、Alt、Shift这些修饰键,还得处理各种按…...

企业网络卡顿疑难排查:从症状到解决方案的全流程解析

1. 从“莫名其妙”的卡顿说起:企业网络间歇性卡顿的典型症状 你有没有遇到过这种情况?办公室里,大家正热火朝天地工作,突然有人喊了一句:“网又卡了!”紧接着,抱怨声此起彼伏:“网页…...

立创天空星ODrive扩展板:双路无刷电机驱动与SimpleFOC/ODrive框架实战

立创天空星ODrive扩展板:双路无刷电机驱动与SimpleFOC/ODrive框架实战 最近在做一个机器人关节项目,需要同时精确控制两个无刷电机,既要力矩平稳,又要位置准确。市面上现成的驱动板要么太贵,要么功能单一,于…...

一键检测:实时手机检测-通用模型,轻松识别图像中的手机

一键检测:实时手机检测-通用模型,轻松识别图像中的手机 前言: 你有没有遇到过这样的场景?整理手机相册时,想快速找出所有包含手机的图片;或者在一个复杂的监控画面里,需要立刻定位出手机的位置。…...

拖延症福音!AI论文工具 千笔AI VS 文途AI,专科生写作神器

随着人工智能技术的迅猛发展,AI辅助写作工具已逐渐成为高校学生完成毕业论文的重要帮手。越来越多的专科生开始借助这些智能工具来提升写作效率、降低写作难度,尤其是在面对开题报告、文献综述、正文撰写等复杂环节时,AI工具的价值愈发凸显。…...

Flutter 三方库 deno_postgres_interop 的鸿蒙化适配指南 - 跨越边界的数据库桥梁、在鸿蒙端实现 Deno 与 Postgres 互操作实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 deno_postgres_interop 的鸿蒙化适配指南 - 跨越边界的数据库桥梁、在鸿蒙端实现 Deno 与 Postgres 互操作实战 前言 在进行 Flutter for OpenHarmony 的全栈开发或是构建…...

基于Cursor与CMake的STM32现代化开发工作流:从零搭建到一键调试

1. 为什么你需要这套现代化开发工作流? 如果你还在用 Keil 或者 IAR 开发 STM32,每次新建工程都要重复配置一堆路径,代码补全慢半拍,换个电脑或者操作系统就得重头再来,那我猜你肯定想过:“有没有更爽一点的…...

Flutter 三方库 dart_dotenv 的鸿蒙化适配指南 - 配置隔离的指挥官、在鸿蒙端实现多环境安全解耦实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 dart_dotenv 的鸿蒙化适配指南 - 配置隔离的指挥官、在鸿蒙端实现多环境安全解耦实战 前言 在进行 Flutter for OpenHarmony 的企业级应用开发时,我们经常需要…...

NHSE技术指南:从问题解决到创意实现的动物森友会存档编辑全攻略

NHSE技术指南:从问题解决到创意实现的动物森友会存档编辑全攻略 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 一、问题导入:突破动物森友会的机制限制 1.1 玩家的常见困…...

如何突破《原神》帧率限制?genshin-fps-unlock工具的技术解析与应用指南

如何突破《原神》帧率限制?genshin-fps-unlock工具的技术解析与应用指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 问题溯源:为何帧率限制成为游戏体验的隐形…...

PCB阻焊工艺全解析:从油墨选择到关键工序优化

1. 阻焊工艺:不只是“绿油”那么简单 很多刚接触PCB设计的朋友,可能都和我当初一样,觉得电路板上的那层“绿油”就是个背景板,选个颜色而已。直到我第一次打样回来的板子,在焊接时发生了好几处不该有的桥连&#xff0c…...

BurpSuit实战:SQL注入漏洞的17种攻击手法全解析

1. 从零开始:认识Burp Suite与SQL注入 如果你刚开始接触Web安全,可能会觉得Burp Suite和SQL注入这两个词听起来有点吓人。别担心,我刚开始学的时候也是一头雾水,感觉像在看天书。但实际用起来你会发现,Burp Suite其实就…...

金融理财系列课程

金融理财系列课程 财企分析系列课程 01什么是年报(半年报、季报等) 02掌握资产负债表 03掌握企业利润表 04掌握现金流量表 05通过财报了解企业 理财与金融系列课程 01 投资原则 02投资指数基金的计算方法 03投资股票的计算方法 04投资债券的计算方法…...

小红书内容采集开源工具完全指南:从入门到精通

小红书内容采集开源工具完全指南:从入门到精通 【免费下载链接】XHS-Downloader 免费;轻量;开源,基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader 在数字…...

电机控制进阶1 - SVPWM算法在工业伺服系统中的实战解析

1. 从理论到实战:为什么工业伺服离不开SVPWM? 大家好,我是老张,在工业自动化这行摸爬滚打了十几年,从最早用分立元件搭驱动板,到现在玩转各种高端伺服驱动器,电机控制这块算是踩过不少坑。今天咱…...

Dify从入门到精通(一)——Docker Compose一键部署实战

1. 为什么选择Docker Compose部署Dify? 如果你对AI应用开发感兴趣,但又觉得从零开始搭建大模型环境、处理各种依赖和配置太麻烦,那Dify的出现简直就是福音。我自己刚开始接触LLM应用时,光是环境配置就折腾了好几天,各种…...

【Unity进阶技巧】打造无边框透明窗口:实现桌面悬浮工具与宠物应用

1. 为什么你需要一个“看不见”的窗口? 如果你用过一些桌面小工具,比如一个始终显示在屏幕角落的简约时钟,或者一个会在你桌面上跑来跑去的可爱宠物,你可能会好奇:它们是怎么做到“悬浮”在所有窗口之上,而…...

毕业设计实战:基于YOLOv8/v5/v11的PCB缺陷智能检测系统(Python+PyQt5)

1. 项目开篇:为什么选择PCB缺陷检测作为你的毕业设计? 如果你正在为计算机视觉或人工智能相关的毕业设计选题发愁,觉得人脸识别、车辆检测这些题目太“卷”了,那我强烈建议你看看PCB缺陷智能检测这个方向。这绝对是一个能让你脱颖…...

集合竞价数据处理差异解析:同花顺与通达信的bar逻辑对比

1. 集合竞价数据:一个被忽视的“隐形”Bar 如果你做过量化交易,尤其是高频一点的策略,肯定没少跟K线图打交道。一根根红红绿绿的柱子,记录着价格的开、高、低、收和成交量,这就是我们常说的Bar数据。但不知道你有没有注…...

ONLYOFFICE连接器(Connector)实战指南:从基础API到业务系统深度集成

1. 为什么你需要关注ONLYOFFICE连接器? 如果你正在开发OA、CRM或者知识库这类需要处理文档的业务系统,那你肯定遇到过这样的头疼事:用户想在系统里直接编辑个Word、Excel或者PPT,你得想办法集成一个在线编辑器。市面上选择不少&am…...

实战演练:基于快马平台从ER图到生成可运行API的教务管理系统

最近在做一个教务管理系统的原型开发,深刻体会到从数据库设计到接口实现这个过程的繁琐。画ER图、写建表SQL、再手动搭建后端框架……每个环节都得花不少时间。不过,这次我尝试用了一个新方法,借助InsCode(快马)平台,直接把设计好…...

AI新手村:我妈问我什么是OpenClaw,什么是养虾,我一文讲清

OpenClaw 到底是什么?它是一种全新的 AI,不是 ChatGPT 那种只会跟你聊天的机器人,是真能上手帮你干活的那种 AI ,行业里管它叫 AI Agent,也就是智能体。那跟 ChatGPT 到底有什么不一样?说实话,区…...

某大厂员工吐槽:我一个月加班20H+,被上级警告加班太少!

某大厂研究所员工爆料,自己一个月加班近20个小时,却被同事警告“加班太少”。评论区更有人表示,20小时确实不多,他们那里都是60至70小时起步。这条帖子看似在比较时长,实则撕开了职场中一种扭曲的价值观:当…...

便携式NFC检测枪设计:基于ESP32-C3与MFRC522的工业级读卡终端

1. 项目概述本项目是一款面向现场巡检、资产识别与门禁验证场景的便携式NFC检测枪,核心功能为非接触式读取ISO/IEC 14443-A标准的MIFARE Classic、MIFARE Ultralight及NTAG系列标签,并通过低功耗蓝牙(BLE)将原始UID、ATQA、SAK及可…...

ResNet与ViT在图像特征提取中的核心差异:卷积与自注意力机制的比较

1. 从“看”图片到“理解”图片:两种截然不同的思维方式 如果你刚开始接触计算机视觉,可能会觉得把一张图片扔进模型,然后它就能告诉你图片里是猫是狗,这事儿挺神奇的。但模型内部到底是怎么“看”这张图的?这背后其实…...

Ubuntu系统SMBus Host Controller报错全面解析与修复指南

1. 从一次“开不了机”的恐慌说起:SMBus报错到底是什么? 那天早上,我像往常一样按下Ubuntu电脑的开机键,准备开始一天的工作。屏幕亮起,熟悉的GRUB引导菜单一闪而过,紧接着,一行刺眼的黄字跳了出…...

【FPGA】基于DS18B20的单总线温度监测系统设计与实现

1. 从零开始:为什么选择FPGA和DS18B20来玩转温度监测? 如果你对电子DIY或者嵌入式开发感兴趣,肯定听说过温度传感器。市面上温度传感器种类繁多,有模拟的,有数字的,有复杂的,也有简单的。但说到…...

聊聊汇川系列飞剪与追剪程序那些事儿

飞剪程序 追剪程序plc程序伺服程序 汇川系列 带注释 触摸屏程序 飞剪程序、追剪程序plc程序伺服程序 几年前的飞剪追剪程序,用的都是汇川系列。 包含详细的注释、触摸屏程序、plc程序、伺服参数设 置和图纸,实际当中的应用 在工业自动化领域,…...

3个步骤打造个性化PDF阅读体验:Zotero Style视觉定制指南

3个步骤打造个性化PDF阅读体验:Zotero Style视觉定制指南 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件,提供了一系列功能来增强 Zotero 的用户体验,如阅读进度可视化和标签管理,适合研究人员和学者。 项目地…...