D

Deepzz's Blog

唯爱与美食不可辜负😄

如何写出高质量的 Skill

<p>写出一个 Skill 很容易,但写出一个<strong>高质量、稳定、可复用</strong>的 Skill 却需要一些方法论。高质量的 Skill 就像是给 AI 制定的一套 SOP(标准作业程序),它不仅能防错,还能让 AI 的表现超出预期。</p> <hr /> <h2 id="toc_0">第一部分:核心心法(写好 Skill 的五大原则)</h2> <h3 id="toc_1">1. 精准的「触发器」设计 (Description)</h3> <p>AI 拥有成百上千个技能,如何确保它在正确的时机调用正确的技能?关键在于元信息(YAML Header)中的 <code>description</code>。</p> <p><strong>反面教材:</strong> <code>description: 帮我写代码。</code> (太宽泛,随时都可能触发,干扰其他技能)</p> <p><strong>高质量示范:</strong> <code>description: 当用户明确要求使用 React/TypeScript 编写前端组件,且需要包含单元测试时触发。</code></p> <pre><code class="language-mermaid">graph LR A[&quot;用户模糊意图&quot;] --&gt; B{&quot;描述匹配引擎&quot;} B --&gt;|&quot;高精准度&quot;| C[&quot;精确触发目标 Skill&quot;] B --&gt;|&quot;低精准度&quot;| D[&quot;误触发 / 混用多个 Skill&quot;] style C stroke:#4caf50,stroke-width:2px style D stroke:#f44336,stroke-width:2px,stroke-dasharray: 5 5 </code></pre> <h3 id="toc_2">2. 结构化、防呆的操作步骤</h3> <p>大模型像一个非常聪明但容易分心的实习生。你的指南不能是一大段散文,必须是<strong>高度结构化的步骤</strong>。</p> <ul> <li><strong>使用编号列表:</strong> <code>1. 第一步做什么... 2. 第二步做什么...</code></li> <li><strong>明确的前置与后置条件:</strong> 比如“在写代码之前,必须先确认依赖库的版本”。</li> <li><strong>强制纪律(Do&rsquo;s &amp; Don&rsquo;ts):</strong> 明确告诉 AI 绝对不能做什么(例如“严禁使用废弃的 API”)。</li> </ul> <blockquote> <p>[!tip] 技巧 可以在 Skill 中设置一个“检查点(Checkpoints)”机制,要求 AI 每完成一个大步骤必须先向用户确认,再进行下一步,避免它一口气跑到黑导致方向偏离。</p> </blockquote> <h3 id="toc_3">3. 提供高质量的「范例」(Few-Shot)</h3> <p>千言万语不如一个好例子。很多时候,用自然语言很难描述清楚一种“语感”或“代码风格”,直接给例子是最有效的。</p> <ul> <li><strong>正向范例(Good Case):</strong> 期望的理想输出是什么样。</li> <li><strong>反向范例(Bad Case):</strong> 常见错误长什么样,警告 AI 避开。</li> </ul> <h3 id="toc_4">4. 拥抱「组件化」思维</h3> <p>高质量的 Skill 不是越长越好,而是要懂得拆分和互相调用。如果你有一个“全自动化应用开发”的庞大任务,不要全塞进一个 Skill 里。</p> <pre><code class="language-mermaid">graph TD Main[&quot;主 Skill: 架构师角色&quot;] --&gt; Sub1[&quot;子 Skill: 前端开发规范&quot;] Main --&gt; Sub2[&quot;子 Skill: 后端 API 设计&quot;] Main --&gt; Sub3[&quot;子 Skill: 自动化测试用例&quot;] classDef main fill:#bbdefb,stroke:#1976d2 classDef sub fill:#f5f5f5,stroke:#9e9e9e class Main main class Sub1,Sub2,Sub3 sub </code></pre> <p>让主 Skill 负责统筹流程,然后在适当的时候,指引 AI 去加载相关的子 Skill。这就像是编写可复用的代码函数。</p> <h3 id="toc_5">5. 持续迭代与维护</h3> <p>Skill 不是一次性写完就结束的。在实际使用中,你一定会发现 AI 在某些情况下会“翻车”。 每次翻车,都是升级 Skill 的好机会: 1. 观察 AI 在哪里做错了。 2. 回到 <code>SKILL.md</code>,在对应步骤加入一条<strong>补丁规则</strong>(例如:“注意:在处理这类数据时,务必先进行非空判断”)。 3. 保存,下次执行它就不会再犯同样的错误。</p> <hr /> <h2 id="toc_6">第二部分:进阶实操(让 Skill 带上外部工具)</h2> <p>在实际操作中,高质量的 Skill 往往不是孤立存在的,它需要一个<strong>运行平台</strong>和<strong>外部工具</strong>的配合,才能真正做到“知行合一”。</p> <h3 id="toc_7">1. 我们能在哪里运行带工具的 Skill?</h3> <p>要让带有外部工具的 Skill 跑起来,你通常需要借助以下几类平台: 1. <strong>开箱即用的产品</strong>:如 OpenAI 的 Custom GPTs、Claude 的 Projects。你可以把 <code>SKILL.md</code> 作为 Knowledge(知识库)上传,并在后台开启它自带的 <code>Web Browsing</code> 或 <code>Code Interpreter</code> 工具。 2. <strong>Agent 编排平台</strong>:如字节跳动的 Coze(扣子)、Dify.ai 等。在这里,你可以把 Skill 正文填入“人设与回复逻辑”,并在左侧面板勾选所需的“插件(Plugins)”。 3. <strong>IDE 插件或本地智能体</strong>:比如你当前和我(一个具备文件系统、终端和网络搜索权限的 AI 助手)交互的环境。</p> <h3 id="toc_8">2. 实操案例:「深度行业调研专家」</h3> <p>单纯的聊天 AI 无法获取最新数据,所以我们需要给它配置两个工具(Tools): - <code>search_web</code>:搜索引擎工具。 - <code>read_url</code>:读取网页原文内容的工具。</p> <p>我们将创建一个名为 <code>深度调研专家.md</code> 的 Skill。以下是完整的文件内容:</p> <pre><code class="language-markdown">--- name: 深度行业调研专家 description: 当用户需要了解某个陌生行业、最新概念或某家公司的近期动态时触发。 required_tools: - search_web - read_url --- # 角色定义 你是一个拥有顶级咨询公司(如麦肯锡)背景的深度调研专家。你不仅依靠已有知识,更擅长使用工具去互联网上挖掘最新信息,并交叉验证。 ## 操作指南(工作流) 当用户提出调研需求时,**严格按照以下 4 个步骤执行**: #### 步 1:需求拆解与初步检索 1. 提取用户需求的核心关键词。 2. 使用 `search_web` 工具搜索 3-5 个不同维度的关键词(例如:“技术原理”、“市场规模”、“近期新闻”)。 3. **[检查点]**:不要急于输出结论,先快速浏览搜索结果的标题和摘要。 #### 步 2:深度内容读取 1. 从搜索结果中,挑选至少 3 篇高质量的链接(优先选择官方文档、权威媒体、学术报告)。 2. 使用 `read_url` 工具,把这 3 篇长文的完整内容读取进来。 #### 步 3:交叉验证与分析 1. 对比不同来源的信息。如果发现数据有冲突(如不同机构预测的市场规模不同),必须在报告中指出差异。 2. 提炼核心洞察,剔除无用的营销话术。 #### 步 4:输出最终报告 按照以下结构输出 Markdown 报告: - **核心摘要(Executive Summary)**:用 3 句话总结。 - **关键事实(Key Facts)**:带数据支撑的行业现状。 - **不同视角的观点(Perspectives)**:至少包含两种不同的声音。 - **参考信息源(Sources)**:附上你在步骤2中读取的真实网页链接。 ## 纪律限制 - 绝对禁止编造数据。如果 `search_web` 找不到近期数据,直接告诉用户“未查到相关最新数据”。 - 不要一次性调用超过 5 个 URL,避免上下文超载。 </code></pre> <h3 id="toc_9">3. 这个 Skill 跑起来是什么样的?</h3> <p>一旦这个带有工具的 Skill 被触发,你和 AI 的交互将不再是简单的“一问一答”,而是像在指挥一个员工。</p> <pre><code class="language-mermaid">sequenceDiagram participant User as 用户 participant AI as &quot;AI (挂载调研Skill)&quot; participant Web as 外部互联网 User-&gt;&gt;AI: &quot;调研一下近期 AI 视频生成工具的竞争格局&quot; Note over AI: 匹配到《深度调研专家》Skill AI-&gt;&gt;Web: Tool: search_web(&quot;AI 视频生成 竞争格局 2024&quot;) Web--&gt;&gt;AI: 返回10条搜索结果摘要 AI-&gt;&gt;Web: Tool: read_url(&quot;网址 A&quot;) AI-&gt;&gt;Web: Tool: read_url(&quot;网址 B&quot;) Web--&gt;&gt;AI: 返回万字长文内容 Note over AI: 交叉验证、提取核心事实、排版报告 AI-&gt;&gt;User: 输出带真实链接和数据的调研报告 </code></pre> <p>通过这个实操案例你可以看出,高质量的 Skill 加持了外部工具后,把 AI 从一个<strong>“根据背诵过的记忆来答题的考生”</strong>,变成了一个<strong>“懂得利用工具去解决复杂问题的打工人”</strong>。</p> <hr /> <h2 id="toc_10">第三部分:效率革命(用魔法打败魔法:借助 Skill Writer)</h2> <p>你可能会觉得:“手写这么多规则、YAML 头、Markdown 格式,是不是太麻烦了?” 非常敏锐!既然 Skill 的本质是一份写给 AI 的说明书,那么<strong>最擅长排版、最懂 AI 提示词结构的,不正是 AI 自己吗?</strong></p> <p>我们完全可以创造一个专门用来写 Skill 的元技能(Meta-Skill),我们称之为 <strong>Skill Writer</strong>。它的工作就是听取你的口语化需求,自动帮你生成符合以上所有高质量标准的 Markdown 文件,而你只需要在此基础上进行<strong>人工审核与微调优化</strong>。</p> <h3 id="toc_11">1. 标准协作流:AI 打草稿,人类注灵魂</h3> <ol> <li><strong>口语化提需求</strong>:和 AI 助手对话,比如:“我需要一个做竞品分析的 Skill,用到搜索工具查价格和功能,产出对比表格。请帮我写出标准的 SKILL.md 格式。”</li> <li><strong>AI 自动生成框架</strong>:AI 会自动输出带有精准 <code>description</code>、清晰 <code>操作指南</code> 和 <code>纪律约束</code> 的框架草稿。</li> <li><strong>人工注入经验(关键)</strong>:把你拷贝下来的草稿,结合你在真实业务中踩过的坑进行微调。比如补充一句:“必须优先从竞品的官网 Pricing 页面获取数据”。</li> </ol> <pre><code class="language-mermaid">graph LR User(&quot;你的想法/痛点&quot;) --&gt;|&quot;一句话需求&quot;| Writer[&quot;Skill Writer 助手&quot;] Writer --&gt;|&quot;秒级输出&quot;| Draft(&quot;格式规范的 Skill 初稿&quot;) Draft -.-&gt;|&quot;人工微调/注入经验&quot;| Final((&quot;高质量生产级 Skill&quot;)) style Draft fill:#fff3e0,stroke:#ff9800 style Final fill:#e8f5e9,stroke:#4caf50 </code></pre> <p>这种方式极大地降低了编写高质量 Skill 的门槛。<strong>不要从零手写,让 AI 去做那些繁琐的结构化工作,把你最宝贵的精力留在“梳理业务逻辑”和“沉淀踩坑经验”上。</strong></p> <h3 id="toc_12">2. 真实模拟:一分钟产出「B站长视频提炼专家」</h3> <p>为了让你有更直观的体感,我们来完整模拟一遍这个过程。假设你现在需要一个帮你看长视频并做笔记的 Skill。</p> <h4 id="toc_13">🎬 第一幕:你向 Skill Writer 提需求</h4> <p><strong>你的粗略提示词:</strong> &gt; “帮我写一个 Skill,叫 B站视频提炼专家。当用户发一个B站链接时触发。你需要读取它的字幕,然后总结核心内容,分成几个小节,最后列出金句。请输出标准 SKILL.md 格式。”</p> <h4 id="toc_14">🤖 第二幕:Skill Writer 秒级生成的初稿(V1.0)</h4> <p>AI 瞬间就为你搭建好了高质量的结构框架:</p> <pre><code class="language-markdown">--- name: B站视频提炼专家 description: 当用户提供 B 站 (bilibili) 视频链接,要求总结、提炼或做笔记时触发。 required_tools: - read_url (用于抓取视频字幕文本) --- # 角色定义 你是一个高效的学习委员,擅长从冗长的视频字幕中提取干货,结构化地输出笔记。 ## 操作指南 当接到 B 站视频链接时,按以下步骤执行: 1. **读取字幕**:使用 `read_url` 工具读取提供的链接内容,获取字幕。 2. **核心摘要**:用 50-100 字概括这个视频到底讲了什么。 3. **内容分节**:将视频内容按照逻辑划分为 3-5 个小节,提炼每节的要点。 4. **金句提取**:摘抄视频中最有启发性的 2-3 句话。 ## 输出格式 严格按照上述步骤输出 Markdown,使用清晰的标题结构。 </code></pre> <h4 id="toc_15">👨‍💻 第三幕:人工注入灵魂,微调优化(V2.0 终稿)</h4> <p>初稿结构已经很完美了,但缺乏你的<strong>个人使用偏好</strong>和<strong>防翻车经验</strong>。于是你把代码复制下来,手动加了三条“灵魂设定”:</p> <ol> <li>在 <code>操作指南</code> 加了一条:<strong>[防翻车经验]</strong> “自动过滤掉 UP 主求点赞、投币、打赏等无关废话。”</li> <li>在 <code>内容分节</code> 中强化:<strong>[格式要求]</strong> “必须附带对应内容在视频中的大概时间戳(如 <code>[04:12]</code>),方便我回看原视频。”</li> <li>在 <code>纪律约束</code> 加上:<strong>[底线限制]</strong> “不要自己发明内容,严格基于字幕事实总结。”</li> </ol> <p><strong>结果</strong>:你只花了几十秒提需求和补充两句话,就得到了一个完美符合你自己习惯的、具备防错机制的生产级 Skill。这就是“用魔法打败魔法”的威力!</p> <hr /> <h2 id="toc_16">第四部分:灵感图鉴(万物皆可 Skill)</h2> <p>到底什么样的任务适合被封装成 Skill? <strong>判断标准非常简单:只要这个任务满足“高频重复”、“有固定 SOP(标准流程)”、“强依赖个人经验”这三点中的任何一点,它就极度适合变成一个 Skill。</strong></p> <p>下面是各个领域中,那些把 AI 真正变成“生产力工具”的 Skill 灵感:</p> <h3 id="toc_17">1. ✍️ 自媒体与内容创作</h3> <ul> <li><strong>爆款拆解与仿写专家</strong>:输入一篇对标的爆款文章,AI 自动拆解其“情绪曲线”、“痛点设置”和“金句结构”,然后根据你提供的新主题,按照这个结构仿写。</li> <li><strong>播客/视频逐字稿清洗器</strong>:自动去除“啊、嗯、就是”等口语化废话,纠正同音错别字,并根据上下文自动切分逻辑段落,加上小标题。</li> <li><strong>全平台分发适配器</strong>:写好一篇文章后,一键生成三个版本:小红书版(多 emoji、重情绪)、知乎版(重逻辑、多引用)、公众号版(排版规整、引人深思)。</li> </ul> <h3 id="toc_18">2. 💻 程序员与技术研发</h3> <ul> <li><strong>Git Commit 规范化门神</strong>:读取 <code>git diff</code> 变化,自动判断改动类型(feat, fix, refactor 等),强制生成符合团队 Angular 规范的提交信息。</li> <li><strong>古董代码重构专家</strong>:给定一段没有注释的陈年老代码(如老旧 PHP),不仅将其翻译成现代语言(如 Go/Rust/TS),还要顺便补齐单元测试和 Docstring 注释。</li> <li><strong>运维故障排查助手</strong>:当日志报警时触发,抓取堆栈报错信息,自动调用搜索工具去 GitHub 找类似 issue,最后输出“故障原因猜想”和“修复建议清单”。</li> </ul> <h3 id="toc_19">3. 💼 企业管理与 HR</h3> <ul> <li><strong>简历双向精准匹配器</strong>:输入一份 JD(职位描述)和候选人简历,自动提取候选人的“亮点”和“雷点”,并生成一份为该候选人定制的“初面提问大纲”。</li> <li><strong>OKR 追踪与诊断顾问</strong>:检查团队提交的 OKR,指出哪些目标不符合 SMART 原则(如没有可量化指标),并直接给出具体的修改建议。</li> </ul> <h3 id="toc_20">4. 🛒 电商与外贸运营</h3> <ul> <li><strong>多语种客服 SOP 机器人</strong>:输入客户的抱怨邮件和物流状态,AI 自动判断客户情绪,并按照“安抚情绪 -&gt; 说明情况 -&gt; 提供补偿方案”的严格 SOP,生成地道的小语种回复。</li> <li><strong>竞品差评分析雷达</strong>:利用读取网页工具,抓取竞品在亚马逊/淘宝上的数十条差评,提炼出前 3 大用户痛点,并反向输出一份“我们新品的研发避坑建议”。</li> </ul> <h3 id="toc_21">5. ⚖️ 法务与合规</h3> <ul> <li><strong>商业合同避坑扫描仪</strong>:阅读一份外发合同,高亮出“违约责任不对等”、“管辖权缺失”、“付款节点模糊”等常见商业陷阱,并给出标准合规条款的替换建议。</li> <li><strong>公关稿合规审查员</strong>:审核即将发布的公关通稿,排查是否有违反《广告法》的绝对化用语,或容易引起特定群体舆情争议的表述。</li> </ul> <h3 id="toc_22">6. 🧠 个人成长与知识管理</h3> <ul> <li><strong>费曼学习法无情导师</strong>:当你学习一个新概念后,试着用自己的大白话讲给 AI 听。这个 Skill 的设定是“不断追问底层的为什么”,指出你哪里没讲清楚,逼迫你扫清知识盲区。</li> <li><strong>碎片化阅读消化器</strong>:把你白天随手剪藏的各种杂乱链接、微信推文,在睡前让 AI 自动归类,提炼核心结论,并打上适合你 Obsidian 双链体系的标签。</li> </ul> <blockquote> <p>[!tip] 行动建议:如何使用这个灵感库? 不要试图一次性把它们都写出来。观察你<strong>明天的工作中</strong>,哪一件事让你觉得“又繁琐,又不得不用脑子(或者要遵循很多细碎规则)”,那往往就是你下一个应该编写的 Skill!</p> </blockquote> <hr /> <h2 id="toc_23">结语</h2> <p>写高质量 Skill 的过程,本质上就是<strong>你把自己的行业经验、工作流、踩过的坑,抽象提炼成标准算法的过程。</strong> 你的思考越深入,你的 AI 专家就越强大。</p> <p>本文链接:<a href="https://deepzz.com/post/how-to-write-high-quality-skills.html">https://deepzz.com/post/how-to-write-high-quality-skills.html</a>,<a href="https://deepzz.com/post/how-to-write-high-quality-skills.html#comments">参与评论 »</a></p>

2026/6/18
阅读更多

什么是Skill,它能迸发出什么能力

<h2 id="toc_0">1、什么是 Skill</h2> <p>Skill(技能)本质上是<strong>一份写给 AI 的&rdquo;专业说明书&rdquo;</strong>。它用 Markdown 把某个领域的知识、流程、规范、可复用的脚本打包起来,让 AI 在遇到对应任务时,能像一个专家一样按既定方法去做事。</p> <p>可以用一句话概括:</p> <blockquote> <p><strong>Skill = 触发条件(什么时候用) + 操作指南(具体怎么做) + 配套资源(脚本、模板、参考)。</strong></p> </blockquote> <!--more--> <pre><code class="language-mermaid">graph TD Skill((Skill 技能包)) Skill --&gt; Trigger[触发条件 &lt;br&gt; &lt;i&gt;何时调用&lt;/i&gt;] Skill --&gt; Guide[操作指南 &lt;br&gt; &lt;i&gt;具体怎么做&lt;/i&gt;] Skill --&gt; Assets[配套资源 &lt;br&gt; &lt;i&gt;脚本/模板/参考&lt;/i&gt;] Trigger -.-&gt; |元信息| Meta[Name / Description] Guide -.-&gt; |执行逻辑| Logic[步骤 / 原则 / 纪律] Assets -.-&gt; |外挂工具| Tools[代码 / 文件示例] classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px; classDef core fill:#e1f5fe,stroke:#0288d1,stroke-width:2px; class Skill core; </code></pre> <p>它和直接给 AI 发一段提示词(Prompt)最大的区别在于:Prompt 是<strong>一次性</strong>的临时指令,而 Skill 是<strong>可沉淀、可复用、可分享</strong>的能力模块。一次写好,之后所有对话都能反复调用。</p> <p>一个典型的 Skill 通常包含:</p> <ul> <li><strong>元信息(name / description)</strong>:声明这个技能是什么、在什么场景下应该被触发。</li> <li><strong>正文指南</strong>:完成任务的步骤、原则、注意事项,甚至是必须遵守的纪律。</li> <li><strong>附加资源</strong>:可执行脚本、文档模板、示例文件等。</li> </ul> <p>==关键机制是「按需加载」(渐进式披露):AI 平时只看到技能的简短描述,只有判断当前任务用得上时,才会把完整内容读进来。==这样既能挂载成百上千个技能,又不会一次性撑爆上下文。</p> <pre><code class="language-mermaid">sequenceDiagram participant U as 用户 (User) participant M as 通用大模型 (AI) participant S as 技能库 (Skill Library) U-&gt;&gt;M: 提出具体任务需求 Note over M,S: 1. 扫描匹配阶段 M-&gt;&gt;S: 检索各技能的元信息 (Description) S--&gt;&gt;M: 发现匹配的特定 Skill Note over M,S: 2. 按需加载阶段 M-&gt;&gt;S: 读取该 Skill 的完整正文与资源 S--&gt;&gt;M: 注入专业操作指南 Note over M: 3. 专业执行阶段 M-&gt;&gt;U: 输出符合专家规范的高质量结果 </code></pre> <h2 id="toc_1">2、为什么需要 Skill</h2> <p>通用大模型什么都&rdquo;知道一点&rdquo;,但在具体任务上往往<strong>不够专、不稳定、不一致</strong>。同样一件事,今天做得好,明天可能就跑偏。Skill 解决的正是这个问题。</p> <p>它的价值主要体现在三个方面:</p> <ul> <li><strong>把隐性经验显性化</strong>:你脑子里的方法论、踩过的坑、团队的规范,一旦写成 Skill,就变成了 AI 可执行的标准动作。</li> <li><strong>保证一致性</strong>:同一个任务,无论谁来调、调多少次,都会按同一套标准完成。</li> <li><strong>可积累、可协作</strong>:技能可以像代码一样被版本管理、被团队共享。==别人写好的优秀 Skill,你装上就能直接用,相当于站在别人的肩膀上。==</li> </ul> <h2 id="toc_2">3、它能迸发出什么能力</h2> <p>把 AI 从&rdquo;通用聊天助手&rdquo;升级成&rdquo;领域专家团队&rdquo;,是 Skill 最核心的作用。具体来说:</p> <pre><code class="language-mermaid">graph LR Task[复杂的大型任务] --&gt; Split(任务拆解) Split --&gt; S1[Skill 1: 深度调研] Split --&gt; S2[Skill 2: 前端开发] Split --&gt; S3[Skill 3: 代码审查] S1 -.组合协作.-&gt; S2 S2 -.流水线传递.-&gt; S3 S1 --&gt; |产出| R1(调研报告) S2 --&gt; |产出| R2(高质量代码) S3 --&gt; |产出| R3(安全与规范保证) R1 --&gt; Final((最终专家级交付)) R2 --&gt; Final R3 --&gt; Final </code></pre> <p><strong>① 从&rdquo;会说&rdquo;到&rdquo;会做&rdquo;。</strong> 单纯的对话只能给建议,而带脚本和工具的 Skill 能真正执行任务——读写文件、调用接口、运行命令、自动化整套流程。</p> <p><strong>② 专业度大幅提升。</strong> 通用回答常常停留在表面,挂载了专业 Skill 后,AI 能输出符合行业规范、达到生产级质量的结果,而不是&rdquo;看起来对&rdquo;的内容。</p> <p><strong>③ 复杂任务可拆解、可编排。</strong> 多个 Skill 能组合协作:一个负责调研、一个负责设计、一个负责审查,像流水线一样把一个大任务拆成可控的小步骤。</p> <p><strong>④ 强制纪律、减少出错。</strong> Skill 里可以写死必须遵守的流程(比如&rdquo;先写测试再写代码&rdquo;&ldquo;改动前先备份&rdquo;),让 AI 不会偷懒跳步,从源头上降低错误率。</p> <p><strong>⑤ 能力随团队一起成长。</strong> 每沉淀一个 Skill,AI 的能力边界就扩大一圈。团队用得越久,技能库越厚,整体效率越高。==这是一种会复利增长的资产。==</p> <h2 id="toc_3">4、一些例子</h2> <p>为了更直观,下面是几类常见的 Skill 场景:</p> <ul> <li><strong>写作类</strong>:「公众号排版规范」——自动按你的风格调整标题层级、加粗重点、统一图片尺寸,产出可直接发布的文章。</li> <li><strong>开发类</strong>:「测试驱动开发」——强制 AI 先写测试用例再写实现代码,并按固定流程提交,保证代码质量。</li> <li><strong>设计类</strong>:「前端高质量界面」——内置一整套设计规范,让 AI 生成的页面避免&rdquo;一眼 AI 味&rdquo;,达到生产级审美。</li> <li><strong>研究类</strong>:「深度调研」——自动并行搜索多个信息源、交叉验证事实、最后产出带引用的调研报告。</li> <li><strong>办公类</strong>:「会议纪要整理」——把零散的会议记录,按&rdquo;结论 / 待办 / 负责人 / 截止时间&rdquo;的固定模板结构化输出。</li> <li><strong>个人知识库类</strong>:「Obsidian 笔记管家」——理解 Markdown、双链、标签,帮你整理、补全、串联笔记,维护&rdquo;第二大脑&rdquo;。</li> </ul> <p>可以这样理解:==Prompt 是教 AI 做一道菜,Skill 则是给了 AI 一本完整的菜谱外加一套厨具。==你拥有的优质 Skill 越多,AI 能为你迸发出的能力就越强。</p> <pre><code class="language-mermaid">graph TD subgraph Prompt模式[Prompt 提示词模式] P_Input[临时指令] -- &quot;教做一道菜&quot; --&gt; P_Process(AI 临时理解) P_Process --&gt; P_Out[一次性做出一道菜] end subgraph Skill模式[Skill 技能模式] S_Input[挂载 Skill] -- &quot;给菜谱 + 厨具&quot; --&gt; S_Store(AI 变身专业大厨) S_Store --&gt; S_Out1[随时稳定做出满汉全席] S_Store --&gt; S_Out2[能力可沉淀与团队共享] end style Skill模式 fill:#e1f5fe,stroke:#0288d1 </code></pre> <h2 id="toc_4">5、一个最简单的 Skill 怎么写</h2> <p>Skill 本质就是<strong>一个带头部信息的 Markdown 文件</strong>(通常命名为 <code>SKILL.md</code>)。结构非常简单:<strong>最上面一段 YAML 声明&rdquo;是什么、何时用&rdquo;,下面正文写&rdquo;具体怎么做&rdquo;。</strong></p> <p>下面是一个完整的极简例子——「微信公众号排版」:</p> <pre><code class="language-markdown">--- name: 公众号排版 description: 当用户要把一篇文章整理成公众号可发布的格式时使用 --- # 公众号排版规范 收到一篇文章后,按以下规则排版: ## 排版规则 1. 一级标题用 `##`,二级标题用 `###`,不要用一级 `#`。 2. 每个自然段不超过 3 行,过长就拆分。 3. 关键结论用 **加粗**,核心金句用 ==高亮==。 4. 列举超过 3 项时,改写成无序列表。 5. 段落之间留一个空行,保证手机上阅读舒适。 ## 输出要求 - 直接输出排好版的全文,不要附加解释。 - 保留原文意思,只调整结构和格式,不要增删内容。 </code></pre> <p>就这么简单。==重点全在 <code>description</code>:它决定了 AI 在什么情况下会自动想起并启用这个技能。==描述写得越精准(说清&rdquo;什么场景下用&rdquo;),技能被正确触发的概率就越高。</p> <p>正文则像写给新人的工作手册——<strong>步骤清晰、规则明确、能直接照做</strong>即可。等熟练后,再往里加脚本、模板等附加资源,技能就会越来越强。</p> <p>本文链接:<a href="https://deepzz.com/post/what-is-ai-skil.html">https://deepzz.com/post/what-is-ai-skil.html</a>,<a href="https://deepzz.com/post/what-is-ai-skil.html#comments">参与评论 »</a></p>

2026/6/18
阅读更多

iOS 实用有趣的快捷指令 & 自动化收集

<p>想象一下:每天到家,Wi-Fi 一连接,手机就自动播放你喜欢的歌单;早上闹钟一响,窗帘外的天气简报就已准备就绪。这不是未来科技,而是你现在就能用 iOS 快捷指令和自动化实现的智能生活。</p> <!--more--> <p>本指南汇集了最实用、最富创意的 iOS 快捷指令与自动化方案,从高效工作到便捷生活,一键提升你的数字体验。</p> <h2 id="toc_0">快捷指令 - Shortcuts</h2> <table> <thead> <tr> <th>指令名称</th> <th>使用场景</th> <th>链接二维码</th> </tr> </thead> <tbody> <tr> <td>Wi-Fi 二维码</td> <td>当你Wi-Fi密码又长又难记时,二维码分享快速又便捷</td> <td><img src="https://st.deepzz.cn/blog/img/qrcode-wifi.png" alt="qrcode-wifi" /></td> </tr> </tbody> </table> <h2 id="toc_1">自动化 - Automation</h2> <h3 id="toc_2">指定App开关VPN</h3> <p>快捷指令 -&gt; 自动化 (新建) -&gt;「App」-&gt; 选取 App -&gt;「已打开」-&gt;「立即运行」-&gt;「下一步」-&gt;「新建空白自动化」-&gt;「设定 VPN」-&gt; 选择 VPN -&gt;「完成」</p> <p>关闭VPN再新建一个自动化,同理设置 <img width="300" height="320" src="https://st.deepzz.cn/blog/img/app-vpn.png" alt="app-vpn" /></p> <h2 id="toc_3">参考文档</h2> <p>[1] <a href="https://www.reddit.com/r/shortcuts/comments/1ic5048/whats_some_of_your_most_useful/?tl=zh-hans" rel="nofollow">你用过哪些最实用的自动化/快捷方式,让生活更轻松?</a></p> <p>本文链接:<a href="https://deepzz.com/post/ios-shortcuts-automation.html">https://deepzz.com/post/ios-shortcuts-automation.html</a>,<a href="https://deepzz.com/post/ios-shortcuts-automation.html#comments">参与评论 »</a></p>

2025/10/13
阅读更多

从零到日入$10:朋友独立开发临时邮箱网站的故事

<p>最近,我的朋友决定踏上了独立开发者的道路,做了一个临时邮箱网站:<a href="https://tempmail100.com" target="_blank">tempmail100.com</a>,<a href="https://apps.apple.com/app/id6593689186" rel="nofollow">iOS</a> &amp; <a href="https://play.google.com/store/apps/details?id=com.deepzz.tempmail" rel="nofollow">Android</a>。作为一个旁观者,我亲眼见证了他从零开始,一步步摸索,最终取得了广告日入$10的成绩。今天,我想分享一下他的经历,希望能给那些想要踏入独立开发者行业的朋友一些启发。</p> <p><img src="https://st.deepzz.cn/tempmail100-days-10dollar.jpg" alt="tempmail100-days-10dollar" /></p> <!--more--> <h3 id="toc_0">1. 从想法到落地</h3> <p>朋友的初衷很简单:做一个实用的临时邮箱工具,帮助用户在不暴露真实邮箱的情况下,快速注册一些临时服务。他选择了临时邮箱这个方向,主要是因为市场需求明确,且技术门槛相对较低。</p> <p>他花了几周时间,从设计到开发,最终上线了tempmail100.com。网站的页面设计非常简洁,用户体验也很流畅,尤其是那个“一键生成邮箱”的功能,简直不要太方便。</p> <h3 id="toc_1">2. 技术栈与SEO优化</h3> <p>作为一个独立开发者,朋友在技术选型上非常务实。他选择了轻量级的技术栈,确保网站能够快速响应,并且易于维护。同时,为了提升网站的SEO表现,他做了以下几件事:</p> <ul> <li>外链建设:他主动在一些技术论坛(如V2EX、X等)上分享了自己的项目,吸引了不少开发者点击和讨论。这些外链不仅带来了流量,还提升了网站的权重。</li> <li>关键词优化:他在网站的标题、描述和内容中巧妙地融入了“临时邮箱”、“免费邮箱生成”等关键词,确保搜索引擎能够更好地抓取和索引。</li> <li>社交媒体推广:他还在Twitter(X)上分享了一些开发心得和使用技巧,吸引了不少用户前来试用。</li> </ul> <h3 id="toc_2">3. 支付与变现</h3> <p>为了让网站能够持续运营,朋友决定引入Stripe作为收款工具。为了接入Stripe,他甚至注册了一家美国公司!虽然这个过程有些复杂,但最终他成功接入了Stripe,用户可以通过付费解锁一些高级功能,比如更长的邮箱有效期、自定义邮箱前缀等。虽然目前付费用户还不多,但这为他提供了一个稳定的收入来源。</p> <p>此外,他还通过Google AdSense在网站上投放广告。随着流量的增加,广告收入也逐渐提升,最近甚至达到了日入$10的成绩。虽然这个数字看起来不大,但对于一个刚刚起步的独立开发者来说,已经是一个不错的开始了。</p> <h3 id="toc_3">4. 挑战与未来</h3> <p>当然,独立开发者的道路并不总是一帆风顺。朋友也遇到了一些挑战,比如如何持续吸引新用户、如何应对竞争对手等。但他始终保持乐观,不断优化产品,提升用户体验。</p> <p>未来,他计划继续完善网站功能,比如增加多语言支持、提升邮箱的稳定性等。同时,他也希望通过更多的SEO优化和社交媒体推广,进一步提升网站的知名度和流量。</p> <h3 id="toc_4">5. 给新人的建议</h3> <p>如果你也想要踏入独立开发者的行业,朋友的建议是:</p> <ul> <li>从小项目开始:不要一开始就想着做大而全的产品,选择一个细分市场,解决一个具体的问题。</li> <li>注重SEO和推广:酒香也怕巷子深,好的产品需要让更多人知道。SEO和社交媒体推广是非常有效的手段。</li> <li>保持耐心:独立开发是一个长期的过程,不要急于求成。只要坚持,总会有收获。</li> </ul> <h3 id="toc_5">结语</h3> <p>朋友的经历让我深刻体会到,独立开发者虽然充满挑战,但也充满了可能性。如果你也有类似的想法,不妨大胆尝试,或许下一个成功的独立开发者就是你!</p> <p>如果你对tempmail100.com感兴趣,或者有任何关于独立开发的问题,欢迎在评论区交流。我们一起探讨,一起进步!</p> <p>本文链接:<a href="https://deepzz.com/post/indie-maker-tempmail100.html">https://deepzz.com/post/indie-maker-tempmail100.html</a>,<a href="https://deepzz.com/post/indie-maker-tempmail100.html#comments">参与评论 »</a></p>

2025/3/5
阅读更多

2024年终总结 - 稳中求变

<p>2025年啦,大家过得都可还好?</p> <p>时间转瞬即逝,2024年就过完了,不得不感叹一年时间还是蛮短暂的!</p> <p><strong>回顾2024:</strong></p> <!--more--> <p>2024骑着第一辆公路车参加了2023的跨年骑行,千人规模很是壮观,以后是再也不会有了。</p> <p>2024组装了第一台真正意义上的NAS,五盘位,8T,结合Apple TV该享受的还是要享受。</p> <p>2024学习了swift与swiftui,与朋友空闲时间开发了一款临时邮箱应用,突破了独开零收入门槛。</p> <p>2024读了6本书,远未达到最初设定的10本书的目标,看来执行力还是差了些。</p> <p>2024为小朋友组装了一个大玩具:水管攀爬架,挺爱玩,大运动好了不少。</p> <p>2024总共骑行了400来公里,都没别人跑步跑得多,看来还得找个骑行搭子。</p> <p>2024开始关注保险,为家人安排了重疾险,寿险。</p> <p>2024房贷利率降低了不少,还贷压力也有部分减轻,但依旧是个重担。</p> <p>2024不少地方发生战争,如乌克兰俄罗斯,还有各种事故,只能说珍惜当下,天灾还是人祸不知道哪一个先来。</p> <p>2024特朗普竞选总统成功,币圈高涨,可惜没能抓住,错失成为首富的机会。</p> <p>2024陪着我的小家伙又成长了一年,每次看到他的笑容,喊着爸爸,心里都是感动。</p> <p>2024家里第一次开了地暖,室内外温差十几二十度,家里真的是舒服。</p> <p>2024奶奶九十大寿,真的是儿孙满堂,实实在在的印证了家有一老,如有一宝。</p> <p>2024工作平稳,但有个盼头,来年努力为公司输出,一同成长。</p> <p>2025愿世界和平,愿家人安康,愿陌生的你快乐幸福,愿风调雨顺!</p> <p>本文链接:<a href="https://deepzz.com/post/2024-year-end.html">https://deepzz.com/post/2024-year-end.html</a>,<a href="https://deepzz.com/post/2024-year-end.html#comments">参与评论 »</a></p>

2025/1/1
阅读更多

2023年终总结 - 焦虑的一年

<p>该篇总结是我第一次严格意义上的年终总结,也到了必须要进行总结的时候。总结经验,反思过往!</p> <p>相较于以往,每年的这个时候都会看到很多人在对自己进行总结。对于自己,是一个性格比较随意的一个人,总结不总结的也无所谓,只要内心对自己有要求,有思考就行。但对于很多事和物,没有纸笔的记录很快就会忘却,2023年对于我来说是挺焦虑的一年,希望记录下对这些事情,以作反省。</p> <!--more--> <p>先说说自己,性格是一个比较独立的一个人,不想去处理那些复杂的人际关系,不喜欢,也是浪费时间(当然这肯定是不对的,大家不要学我)。简简单单的就挺好,没有利益,没有冲突,有兴趣的就一块玩,没有的我们下次找机会。平时个人想法也挺多的,就是执行力需要提高。</p> <p>从标题可以反映出我2023焦虑的一年,可以从工作上和生活中来进行总结。</p> <h3 id="toc_0">工作上</h3> <p>我目前在一家安全相关的公司从事产品研发的工作,公司不大但老板有技术背景,对技术比较看重。当时过去主要工作内容是数字身份产品的研发(以创业的心态),包括IDaaS平台(OAuth2/OIDC,SAML,LDAP等)、无密码身份认证(WebAuthn/FIDO2)、协同签名和S/MIME相关的产品。</p> <p>由于各种原因吧,如产品方向和研发方案,经过3年的产品研发,最终的产出很少或者说没有应用场景。个人挺苦恼的,毕竟作为研发研发出没有产生价值的产品真的很没有成就感,产品没价值就代表研发没价值。</p> <p>2023最主要是将我们的产品通过国密L2认证,这也是痛苦的根源,目前也仅通过一半。起初从已通过小伙伴处得知过认证还是比较容易,检测人员有提供部分指导。自从我们从接手项目开始,整个文档或者说产品的方案就不满足检测要求,才知道有多难。整个过程下来文档修改过不下百遍,在一遍遍修改和沟通下才艰难完成部分项目的认证,期间还收到整改通知。</p> <p>总结下来:</p> <ol> <li>对检测要求和产品设计的不了解(过检产品由他人研发),沟通和功能修改过程也挺难的。</li> <li>不能汲取公司内部已过产品的经验,该过检产品非标品,有很大不确定性。仅能部分参考。</li> <li>检测机构为北京国密检测局且今年格外严格。</li> </ol> <p>我认为这个过程对我来说是焦虑的,首先它不是的我强项(产品研发),其次它的认证过程是我不能够把控的。当一件事情不在我的控制范围内的时候,充满了不确定性,就像一个快断线风筝,指不定什么时候就失败了,它就会让我变得焦虑。我的性格不容许有这样的事情发生。</p> <p>同时,2023年较年初定下的目标完成了不到50%,未能达成年初计划,其中有研发方向的变化,有人员的变化。</p> <p>不过今年公司产研的变化让我看到希望,从最初无产品经理到目前三名产品经理。现在产品的立项也较之前更严谨,不再是一股脑拍板觉得这个可以做,这个方向我看到了机会,今天行明天不行。我相信在产品经理的介入下,通过调研用数据说话,更多人的参与立项讨论,专业的事交给专业的人,以后会更加规范,做的产品会更有价值。</p> <p>从根本上来说,利用每个人的长处去做事情一定是事半功倍的,有时候静下心来好好思考,方向比忙得不可开交更加重要,观察与发现比我觉得更合适。2023年工作上的变化就是没有变化,现在看来,除了埋头干活或许有意提升自身的价值更加重要。</p> <h3 id="toc_1">生活中</h3> <p>今年生活上最大的变化是我们家里的天使宝宝降临,给我们整个家庭带来了很多变化。</p> <p>宝宝出生前,家里就开始囤各种婴儿用品,什么婴儿床、婴儿车、小玩具、纸尿裤、抱被什么的,各种各样,以前我们小时候咋就没这么多玩意。同时两边的父母也过来帮着带带孩子煮个饭照顾我们的饮食,不然两个人确实转不过来。</p> <p>孩子出生后本以为大人可以轻松一点,谁知孩他妈还堵奶,最严重的是最后还发炎了,痛的恼火得很。最后找通乳师通了五六次才消下去(新生孩母亲一定要注意这个问题)。孩子每几个小时就需要喂一次奶,有时候还一直哭闹,这让你睡眠和精力严重不足。但这就是人生需要经历的一件事,孩子有时候一个笑容就会把你治愈。加油吧,少年!</p> <p>今年给自己找了一个锻炼的理由,一狠心给自己添置了一台公路车,国庆节第一次就去骑行了95公里的绿道,那感觉很酸爽。身边的朋友也一起购置了,以后跟这大神一起拉练。</p> <h3 id="toc_2">2024计划</h3> <blockquote> <p>个人比较向往独立开发者,有经验的朋友的可以带带新人。</p> </blockquote> <p>装了一年多的房子打算2024年初入住。由于房子不是在工作附近,每次装修或安装什么东西就得安排时间,一来二去整个房子很多细节都没有弄好,不过有什么办法只有妥协,下一次不就有经验了嘛。</p> <p>年前和朋友聊了许久,感觉每个人都有每个人的苦恼,都过得不容易,比如为了下一代怎么怎么的。要我说,有很多苦恼都是自己给自己的压力。只有先把自己安排好,才能安排别人。一辈子很短,快乐向上的活下去!</p> <p>2024年,给自己立一些Flag:</p> <ul> <li>产品突破0的销售额 - 100%</li> <li>读10本书,无论什么书 - 60% <ul> <li>SwiftUI编程思想 - 100%</li> <li>Swift进阶 - 100%</li> <li>SwiftUI by Tutorials - 100%</li> <li>macOS by Tutorials - 100%</li> <li>把时间当作朋友 - 100%</li> <li>三体(全集)- 100%</li> </ul></li> <li>骑行1000公里。 - 40%</li> <li>开始运营小红书和Twitter,粉丝数突破5000。 - 10%</li> </ul> <p>2024让自己发生点变化。</p> <hr /> <p>2024年目标没有达成,执行力还是差了!!</p> <p>本文链接:<a href="https://deepzz.com/post/2023-year-end.html">https://deepzz.com/post/2023-year-end.html</a>,<a href="https://deepzz.com/post/2023-year-end.html#comments">参与评论 »</a></p>

2024/1/1
阅读更多

如何玩转智能家居 - 组建局域网,访问家庭网络

<p>接上篇文章,继续折腾家庭网络:<a href="https://deepzz.com/post/router-openwrt-v2ray-tproxy.html" rel="nofollow">如何玩转智能家居 - 网络如何智能openwrt+v2ray</a>。</p> <h3 id="toc_0">更新说明</h3> <ul> <li>2023.02.24:R2S不再作为主路由,采用旁路由接入</li> </ul> <p>本篇文章解决问题是:如何通过配置wireguard实现从世界任何地方优雅的访问家庭网络。我们在家庭网络使用场景汇总一定会遇到以下情况,人在外:</p> <ol> <li>想要访问家庭网络中的NAS服务,获取一些资料。</li> <li>想要下载一部资源,添加下载任务,一回家就可使用</li> <li>全屋智能家居,某一个设备出现故障,想要直接接入家庭网络查看原因修复</li> <li>等等&hellip;</li> </ol> <!--more--> <p>这些场景的基本需求是:安全性一定要有保障,能够在外网连接到家庭网络(不是简单的内网穿透,而是组成大局域网)。</p> <p>答案不言而喻,组建vpn。那么问题来了,用什么vpn,如何连接到家庭网络:</p> <ul> <li>没有公网IP,现在IPv4已经耗尽,想要从运营商那获得公网IP还是很困难的,而且IPv6目前还不是很普及。</li> <li>家庭内部网络安全性脆弱,需要防火墙来保护,一般的不应该将家庭网络中的服务暴露在公网中,这样会有极大的安全隐患。</li> </ul> <p>本篇文章的目的是:通过vpn的形式使得在外网如同访问家庭内部局域网一样,让外部设备与家庭网络中的设备形成一个局域网。</p> <p>那为什么选择wireguard:</p> <ul> <li>开源:<a href="https://github.com/WireGuard" rel="nofollow">https://github.com/WireGuard</a>。</li> <li>简单:代码简单,仅4000余行,原理简单,部署简单。</li> <li>安全:支持最新加密技术,Curve25519、ChaCha20等。</li> <li>性能:WireGuard 虚拟网由于是100%内核处理,省去了用户进程和内核交互的开销,因此性能优越,具体表现为吞吐量高。</li> </ul> <p>网络架构: <img width="640" height="512" src="https://st.deepzz.cn/blog/img/homenet-design.png" alt="homenet-design" /></p> <p>博主目前设计的网络架构如上图,不过本篇文章只讲 <code>光猫&lt;-&gt;AC&lt;-&gt;R2S</code> 这样的链路:</p> <pre><code>光猫:192.168.1.1 AC(主路由):192.168.2.1 R2S(旁路由):192.168.2.100 </code></pre> <p>这里的R2S我们作为旁路由来使用,什么是旁路由请自行搜索资料。简而言之,家庭内大多数网络均走AC主路由,部分走旁路由(翻墙),旁路由的(折腾)挂掉不会导致整个家里网络中断。</p> <p>由于博主家庭网络没有公网IP,动态IP也没有,因此这里找了一台云服务器作为中转(非UDP打洞,中转方式会消耗云服务器流量,请悉知)。当然也可以用基于wireguard现成的方案,如tailscale,免费应该够用(有设备限制)。</p> <h3 id="toc_1">提前准备</h3> <p>这里假设你已经准备好已经准备好openwrt路由器。我们还需要准备:</p> <p>一个公网IP:或是家里自带公网IP+DDNS,或是购买一台公网服务器VPS<br /> 一个域名:可选,如果你的公网IP是动态的,那就需要域名且必须通过DDNS</p> <h3 id="toc_2">FRP</h3> <p>因为博主家里没有公网IP,那么只能通过这种内网穿透的方式实现,将wireguard的udp端口通过代理的方式暴露到外网,如果有公网IP跳至下一步。</p> <p>1、在vps上安装frps服务端,请到 <a href="https://github.com/fatedier/frp/releases" rel="nofollow">frp/releases</a> 下载对应架构的最新版本即可,解压到服务器。</p> <p>服务端配置:</p> <pre><code>[common] bind_port = 7000 token = 768f72bc664ad2ad7c9edccf65523fd7 </code></pre> <p>其中 <code>token</code> 是用来鉴权客户端的,请重新生成。<code>bind_port</code> 指定 frps 监听的端口,云服务器需要放开该端口的访问。</p> <p>2、在openwrt安装frpc客户端,请到 <code>System-&gt;Software</code> 搜索 <code>frpc</code> 安装。 <img width="640" height="500" src="https://st.deepzz.cn/blog/img/software-frpc.png" alt="software-frpc" /></p> <p>完成后进行配置:假设这里我们选择端口 <code>51820/udp</code> 作为wireguard的通信端口,IP <code>10.0.0.1</code>作为wireguard的网关IP。 <img width="640" height="500" src="https://st.deepzz.cn/blog/img/frpc-service.png" alt="frpc-service" /></p> <p>我这边的 <code>/etc/config/frpc</code> 配置如下,你可对应着在网页上进行修改:</p> <pre><code>config init option stdout '1' option stderr '1' option respawn '1' option user 'root' option group 'root' config conf 'common' option server_port '7000' option tls_enable 'false' option server_addr '&lt;server_ip&gt;' option token '768f72bc664ad2ad7c9edccf65523fd7' config conf 'ssh' option name 'wireguard' option type 'udp' option use_encryption 'false' option use_compression 'false' option local_ip '10.0.0.1' option local_port '51820' option remote_port '51820' </code></pre> <p>记得将 <code>server_ip</code> 替换成frps的地址,如果不出意外的,openwrt中的frpc已经跑起来了。</p> <h3 id="toc_3">WireGuard</h3> <p>WireGuard是点对点的网络,每个节点既可以做服务器,又可以做客户端。我们这里将部署在openwrt中的wireguard节点称为服务端,在手机或电脑端部署的wireguard节点称为客户端。更多安装方式:<a href="https://www.wireguard.com/install/" rel="nofollow">https://www.wireguard.com/install/</a>。</p> <p>整体步骤如下:</p> <ol> <li>LAN口设置(旁路由)</li> <li>安装wireguard</li> </ol> <h3 id="toc_4">LAN口设置</h3> <p>1、编辑LAN口,设置上游网关信息: <img width="640" height="533" src="https://st.deepzz.cn/blog/img/interfaces-lan.png" alt="interfaces-lan" /></p> <p><img width="640" height="533" src="https://st.deepzz.cn/blog/img/lan-settings.png" alt="lan-settings" /></p> <p>2、配置DNS: <img width="640" height="533" src="https://st.deepzz.cn/blog/img/lan-dns-settings.png" alt="lan-dns-settings" /></p> <p>3、关闭SYN-flood保护,开启动态IP伪装 <img width="640" height="533" src="https://st.deepzz.cn/blog/img/wireguard-firewall.png" alt="wireguard-firewall" /></p> <h3 id="toc_5">安装wireguard</h3> <p>1、在openwrt中安装wireguard建议通过<code>System-&gt;Software</code>进行安装:</p> <p><img width="640" height="500" src="https://st.deepzz.cn/blog/img/software-wireguard.png" alt="software-wireguard" /></p> <p>安装完成,重启路由器。同时你也会看到 <code>Status-&gt;WireGuard</code>: <img width="640" height="461" src="https://st.deepzz.cn/blog/img/wireguard-status.png" alt="wireguard-status" /></p> <h4 id="toc_6">配置服务端</h4> <p>需要了解细节的朋友可以参考官方 <a href="https://www.wireguard.com/quickstart/" rel="nofollow">Quick Start</a>,我们这里通过openwrt进行wireguard服务端配置。</p> <p>1、点击 <code>Network-&gt;Interface</code> 中的 <code>Add new interface</code> 创建接口: <img width="640" height="461" src="https://st.deepzz.cn/blog/img/wireguard-interface.png" alt="wireguard-interface" /></p> <p>2、接口名称建议 <code>wg0</code>,协议选择 <code>WireGuard VPN</code> 进行创建: <img width="640" height="461" src="https://st.deepzz.cn/blog/img/wireguard-create.png" alt="wireguard-create" /></p> <p>3、一般设置:</p> <ul> <li><p><code>Private Key</code> 是WireGuard节点的私钥,可通过 <code>Generate Key Pair</code> 生成,也可手动生成:</p> <pre><code># 通过ssh登录到openwrt,执行 $ wg genkey | tee privatekey | wg pubkey &gt; publickey $ cat privatekey publickey </code></pre></li> <li><p><code>Listen Port</code> 监听的端口,这里设置为 <code>51820</code> 与 frpc 配置对应即可。</p></li> <li><p><code>IP Addresses</code> 是WireGuard接口的私有IP网段,这里设置为 <code>10.0.0.1/24</code> 与 frpc 配置对应,不要与其它内网IP段冲突。</p></li> </ul> <p><img width="640" height="606" src="https://st.deepzz.cn/blog/img/wireguard-general-settings.png" alt="wireguard-general-settings" /></p> <p>4、防火墙设置,有 <code>vpn</code> 选 <code>vpn</code>,无则选 <code>lan</code>: <img width="640" height="478" src="https://st.deepzz.cn/blog/img/wireguard-firewall-settings.png" alt="wireguard-firewall-settings" /></p> <p>最后 <code>Save</code>,保存即可,后续再步骤添加 <code>Peers</code>。</p> <h4 id="toc_7">客户端配置</h4> <p>首先,通过这里的安装方式进行客户端的安装:<a href="https://www.wireguard.com/install/" rel="nofollow">https://www.wireguard.com/install/</a>,我这里以iOS举例。</p> <p>1、点击 <code>创建隧道-&gt;手动创建</code>: <img width="320" height="569" src="https://st.deepzz.cn/blog/img/wireguard-ios-home.png" alt="wireguard-ios-home" /></p> <p>2、填写基本信息,主要填写下面三项,其它默认:</p> <ul> <li>名称,这里随便填</li> <li>公私钥,这里点击 <code>生成密钥对</code> 随机生成即可。</li> <li>局域网IP地址,即客户端节点IP,这个地址要设置为符合 <code>10.0.0.1/24</code>。</li> </ul> <p><img width="320" height="569" src="https://st.deepzz.cn/blog/img/wireguard-ios-settings1.png" alt="wireguard-ios-settings1" /></p> <p>3、通过 <code>添加节点</code> 添加服务器信息:</p> <ul> <li>公钥,填写服务端的公钥。</li> <li>对端,服务端地址+端口,由于家里没有公网,这里走的frp,所以填的是公网vps代理地址。</li> <li>路由的IP地址(段),这里填写需要走wireguard网络的IP段,如:<code>192.168.100.0/24,192.168.2.0/0,10.0.0.0/0</code>。这样当开启wireguard vpn之后访问这些IP就会走vpn网络。</li> </ul> <p><img width="320" height="569" src="https://st.deepzz.cn/blog/img/wireguard-ios-settings2.png" alt="wireguard-ios-settings2" /></p> <p>到了这一步,客户端已经完成配置了。但是服务端还没有,因为wireguard本质上是一个P2P通信的软件,我们还要将客户端公钥信息配置到服务端才行。</p> <h4 id="toc_8">配置Peer</h4> <p>在openwrt配置wireguard peer信息。</p> <p><img width="640" height="462" src="https://st.deepzz.cn/blog/img/wireguard-interface-edit.png" alt="wireguard-interface-edit" /></p> <p>填写刚才配置的客户端信息,<code>Save</code> 保存即可: <img width="640" height="635" src="https://st.deepzz.cn/blog/img/wireguard-peer-settings.png" alt="wireguard-peer-settings" /></p> <p>现在在手机上开启 vpn,尝试访问一下路由器地址 <code>192.168.100.1</code> 是否可行。 <img width="320" height="569" src="https://st.deepzz.cn/blog/img/wireguard-ios-vpn.png" alt="wireguard-ios-vpn" /></p> <h3 id="toc_9">FAQ</h3> <p>1、客户端如何访问openwrt的下一级路由的服务,如这里如何访问 <code>192.168.2.x</code> 服务:</p> <p>因为路由器作为openwrt的下一级路由,openwrt是不知道如何到达 <code>192.168.2.x</code> 这个网段的。因此需要添加一条静态路由: <img width="640" height="453" src="https://st.deepzz.cn/blog/img/wireguard-static-route.png" alt="wireguard-static-route" /></p> <p>2、如何所有流量都走wireguard,并且可以通过之前设置的v2ray进行科学上网:</p> <p>请参考:<a href="https://www.wireguard.com/netns/#routing-all-your-traffic" rel="nofollow">https://www.wireguard.com/netns/#routing-all-your-traffic</a>。</p> <p>3、不用开启端口吗,很多教程上面需要开启路由器端口?</p> <p>开启端口,一般是指我们路由器有公网IP,通过ddns方式对外暴露端口的时候需要开启。</p> <h3 id="toc_10">相关地址</h3> <p>[1] <a href="https://github.com/WireGuard" rel="nofollow">https://github.com/WireGuard</a></p> <p>[2] <a href="https://www.wireguardconfig.com/" rel="nofollow">https://www.wireguardconfig.com/</a></p> <p>本文链接:<a href="https://deepzz.com/post/openwrt-and-wireguard-connect-homenet-anywhere.html">https://deepzz.com/post/openwrt-and-wireguard-connect-homenet-anywhere.html</a>,<a href="https://deepzz.com/post/openwrt-and-wireguard-connect-homenet-anywhere.html#comments">参与评论 »</a></p>

2022/11/20
阅读更多

如何玩转智能家居 - 网络组网方案实施

<p>接上篇:<a href="https://deepzz.com/post/home-networking.html" rel="nofollow">如何玩转智能家居 - 家庭组网方案选择</a>。</p> <p>当我们已经选择好家庭组网方案之后:AC(PoE)+AP。那么问题来了:实际该如何操作,如何布线,需要考虑什么?</p> <p>就我来说,可能考虑这些因素:</p> <ol> <li>弱电箱位置,要不要挪动,什么位置才是最佳</li> <li>强弱电的走向,如何才不会被影响</li> <li>我们的AC应该放在哪里,AC为什么需要POE</li> <li>我们的AP应该放在哪里,要放几个</li> <li>到底需不需要弄一个类似家庭机房的东西,放哪,有什么用</li> <li>网线怎么弄,什么地方要放几根,用几类网线</li> <li>普通家庭上全屋光纤有用吗</li> </ol> <!--more--> <h3 id="toc_0">确定需求</h3> <p>确定需求前,我们确定下当下的环境:</p> <ol> <li>电信宽带目前只能达到千兆</li> <li>大多数家庭以WiFi上网为主,台式机上网较少</li> <li>不考虑全屋光纤,目前成本较高(土豪请忽略),因为直接支持光纤设备极少,需要光电转换</li> <li>全屋必须网络全覆盖,必须实现网络无缝漫游</li> </ol> <p>以上,我们得出:全屋采用超六类网线即可满足未来需求,超六类网线可以达到万兆网络,往后看还是能够满足的。全屋主要是以WiFi为主,那么部署AP时,如果不需要网线则不牵网线,节省成本。</p> <p>我们还有有哪些需求需要解决呢,确定以下信息:</p> <ul> <li>是否需要IPTV:需要,至少客厅需要一台电视</li> <li>哪些设备需要网线:电视,台式电脑,Xbox,AP</li> <li>是否需要科学上网:需要,长期会查询外文资料</li> <li>是否使用NAS:需要,NAS可以帮助存储照片,视频,音乐等,能够称为智能家居的后端存储</li> <li>是否需要万兆网络:需要,内网一定要快,至少保证访问NAS的速度,剪辑视频需要</li> <li>是否需要内网穿透:需要,我需要在外控制家里设备</li> <li>预算有多少,4k+</li> </ul> <p>以上,我们得出:</p> <ol> <li>客厅至少需要三根网线:电视或电视盒子,Xbox游戏机,AP</li> <li>书房至少需要三根网线:台式电脑,NAS,AP</li> <li>每个卧室至少需要一根网线:AP或作备用</li> <li>需要一个万兆交换机,实现内网有线万兆</li> <li>软路由来一套,自由上网用</li> <li>向电信要IPv4或外网服务器来一套</li> </ol> <p>那么综合以上信息,我确定我是需要一个机柜的:将所有的网络硬件都放在一个位置,把NAS也放过去,最后将该机柜放到定制柜里完美隐藏。</p> <h3 id="toc_1">设计方案</h3> <p>接下来是设计布网方案,这需要实际根据户型图来操作。大家可以参考我的这张设计图: <img width="640" height="512" src="https://st.deepzz.cn/blog/img/homenet-design.png" alt="homenet-design" /></p> <p>基本思路就是有一个总的网络机柜,网络从弱电箱出来直接到网络机柜,后续的网络全部走机柜出去。由于博主要实现内网穿透,故画了阿里云上去,如果你们不需要可不参考(也可以走<code>wireguard/tailscale</code>打洞方案)。</p> <p>以上图仅是设计参考用,实际在实施过程中有些许变化。然后就有了这张图: <img width="640" height="637" src="https://st.deepzz.cn/blog/img/homenet-design-part2.png" alt="homenet-design-part2" /></p> <p>这张图AP酌情减少了一个,具体根据实际情况来定。</p> <p>当你确定好方案之后,一定要第一时间与电工师傅进行核对,确认方案的可行性。博主就是这样,想当然的将弱电箱挪到鞋柜处,所有网络设备都放到鞋柜,谁知强电与弱电在一个垂直面上,不行。所以改到了餐柜处,当时也是打得我措手不及,方案是调整了又调整。</p> <h3 id="toc_2">选定设备</h3> <p>基于以上种种结论,可以开始选择设备了。</p> <h4 id="toc_3">机柜</h4> <p>首先,选机柜。tb上的机柜也有现成的,而且非常结实,有兴趣的朋友可以看这里:<a href="https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-22421369317.13.b5cf88ddhZtbie&amp;id=618005043093" rel="nofollow">简易开放式机柜</a> <img width="640" height="640" src="https://st.deepzz.cn/blog/img/open-trial-cabinet.jpg" alt="open-trial-cabinet" /></p> <p>但是,自购机柜的话需要考虑机柜放置位置。比如放鞋柜,那么尺寸一定要合适。还有就是机柜出最好叫木工师傅帮助打一个散热孔。</p> <p>现成的对于我来说不够折腾,本着极客的原则,博主开始学习网友的购买零件自己组装机柜。具体可参考这里: <img width="450" height="800" src="https://st.deepzz.cn/blog/img/cabinet-list.png" alt="cabinet-list" /></p> <p><img width="640" height="853" src="https://st.deepzz.cn/blog/img/lizhu-jijia01.jpeg" alt="lizhu-jijia" /></p> <p><img width="640" height="480" src="https://st.deepzz.cn/blog/img/lizhu-jijia02.jpg" alt="lizhu-jijia" /> 从知乎上看到第一眼就爱上这个配置,和我的计划也非常符合。于是我也采购了一套,不过散热还是比较贵的。等房子装修好了晒图。</p> <h4 id="toc_4">选AC+AP</h4> <p>由于是面板AP,选择面就比较少了。最开始相中了华为的H6,不过这玩意是贴上去的,不够美观。于是叫朋友推荐了一套TP-Link的套装,省事也省心。</p> <p><a href="https://item.jd.com/10049206901636.html" rel="nofollow">TP-LINK TL-R4010GP-AC PoE ACTP</a><br /> <a href="https://item.jd.com/100017194221.html" rel="nofollow">TP-LINK TL-XAP3002GI-PoE</a></p> <p>这两款设备,我是在某鱼上购买的全新,应该不会翻车,有需求的朋友可以去某鱼上搜索下。</p> <p>这款AC是集PoE交换机一体的:</p> <ul> <li>双WAN口接入</li> <li>9个千兆网口,2WAN+8LAN</li> <li>内置无线控制器,可统一管理TP-LINK AP产品</li> <li>所有LAN口支持标准PoE供电,整机输出功率高达120W</li> <li>IPSec/PPTP/L2TP VPN,远程通信更安全</li> <li>接入认证(Web认证、短信认证、PPPoE服务器)</li> <li>上网行为管理(移动APP管控/桌面应用管控/网站过滤/网页安全)</li> </ul> <p>这款AP是支持Wi-Fi6:</p> <ul> <li>新一代Wi-Fi 6 (802.11ax)技术</li> <li>11AX 2.4G/5G 双频并发,无线速率高达2976Mbps</li> <li>国标86壳体,外观优雅,出墙厚度仅9.4mm</li> <li>802.3af/at标准PoE网线供电,无需外接电源</li> <li>支持TP-LINK易展功能,简单按下按键,即可供TP-LINK易展设备无线接入</li> <li>频谱导航,引导双频用户优先连接5GHz频段,使2.4GHz 和5GHz 两个频段负载均衡,保障网络性能</li> <li>FIT模式支持自动射频调优</li> <li>FIT模式支持智能漫游</li> <li>支持弱信号设备剔除、禁止弱信号设备接入功能</li> <li>胖瘦一体,可以根据不同应用环境选择不同模式</li> <li>支持TP-LINK 商用网络云平台集中管理</li> <li>支持TP-LINK 商云APP远程查看/管理</li> <li>整机尺寸(mm):88*86*45.4,出墙厚度9.4mm</li> </ul> <p>看中这款AP的原因也是它的出墙厚度仅9.4mm,与普通插座面板差不多的高度。实现了完美的隐藏。</p> <h3 id="toc_5">参考</h3> <p><a href="https://www.zhihu.com/question/26596786/answer/279309998" rel="nofollow">https://www.zhihu.com/question/26596786/answer/279309998</a></p> <p>本文链接:<a href="https://deepzz.com/post/smart-home-networking-design.html">https://deepzz.com/post/smart-home-networking-design.html</a>,<a href="https://deepzz.com/post/smart-home-networking-design.html#comments">参与评论 »</a></p>

2022/6/23
阅读更多

如何玩转智能家居 - 家庭组网方案选择

<p>为什么会有家庭组网这个说法?其根本原因是想要实现全屋网络覆盖。结合时下流行的智能家居,相辅相成。</p> <p>目前,大多数家庭的网络仅靠那么一个路由器支撑,但路由器的网络覆盖范围往往都会有局限,就比如信号穿堵墙就会有很大的衰减,家里的角落甚至有时搜索不到信号。那么一般我们的解决方案有哪些呢?</p> <!--more--> <ol> <li>换一个更好更强的路由器,天线更多,窗墙能力更强,<strong>4根的,6根的,越多越强</strong></li> <li>使用WiFi放大器,将信号进行增强。<strong>一个不够用两个,两个不够用多个</strong></li> <li>路由器桥接模式,<strong>当前路由器信号不好的时候切换成信号好的</strong></li> <li>家庭组网方案:电力猫、有线/无线Mesh、AC(POE)+AP</li> </ol> <p>前面三种有各种各样的缺点,比如别墅这种大空间用一个再NB的路由器也是覆盖不全的;WiFi放大器这种东西网速会有损耗,稳定性得不到保证;路由器桥接,由于SSID不同,设备不会自动切换路由器,只能手动切换,不方便。因此,前三种方案均不推荐。</p> <p>我们这里着重说家庭组网方案。这几种方案都能解决全屋网络覆盖的问题,具体选择哪种需根据情况来决定。</p> <h3 id="toc_0">电力猫</h3> <p>电力猫用的传输技术是正交频分复用(OFDM),简单点说就是把互联网信号和电力信号叠加到一起。 <img width="640" height="243" src="https://st.deepzz.cn/blog/other/power-cat.webp" alt="power-cat" /></p> <p>我们平时用的电都是交流电,频率是50HZ,电力猫就是在交流电的基础上叠加上互联网的信号。因为互联网的信号频率都很高(10MHz甚至更高)所以如果采用合适的手段,是不会对电力传输产生影响的。</p> <p>不过要注意,电力猫有以下缺点:</p> <ul> <li>必须在同一电表下,不在同一电表下将不会进行数据传输</li> <li>如果电力线采用三相供电设计,电力猫的作用就会受到严重限制,速度会降低</li> <li>品质低下的电力猫存在散热和噪音问题</li> <li>电力猫的稳定性容易受到滤波产品、充电器、大功率电器的干扰</li> </ul> <p>一般的,如果家里现有的网络布线中没有预埋网线且不能够增加网线的情况下建议采用这种方式组网。</p> <h3 id="toc_1">无线/有线Mesh</h3> <p>什么Mesh组网?又称网格网络,即家里的网络通过节点组建的方式实现网格化,网络中所有的节点都互相连接,并且每一个节点至少连接其他两个节点,所有的节点之间形成一个整体的网络。 <img width="640" height="433" src="https://st.deepzz.cn/blog/img/mesh-networking.jpg" alt="mesh-networking" /></p> <blockquote> <p>整个Mesh网络中有一个主节点,主节点用来进行节点信息的同步。</p> </blockquote> <p>组网后,会生成一种网状网络,不同接入点可以以星状、树状、串联和总线方式,混合组网。在这个网络中,SSID统一,无线设备还可以自由寻找信号最好的节点去连接传输数据,用户手持设备在不同节点间,穿梭时无线网络是无缝切换的,实现较好的漫游效果,漫游过程中,数据丢包,延时,抖动越低,网络质量越好。</p> <p><img width="640" height="249" src="https://st.deepzz.cn/blog/img/mesh-networking.gif" alt="mesh-networking" /></p> <p>Mesh组网分无线组网和有线组网(有线/无线是指Mesh网络中节点的连接方式):</p> <p>1、无线组网</p> <p>优点是可以不受空间的限制,可以在需要增加节点的时候随意增加,实现家庭的网络全覆盖。</p> <p>缺点也是有的,就比如说所有节点均需要的一个供电插座,摆放位置,对于强迫症患者来说是致命的。</p> <p>2、有线组网</p> <p>优点是可以通过主路由POE供电方式(POE供电是通过网线为节点供电)和面板子路由形式进行隐藏式安装,美观,比如华为H6。</p> <p>缺点是后期不能够随意增加节点,因为网口的位置和个数都是固定,如果前期没有提前规划好就会比较痛苦。</p> <h3 id="toc_2">AC(POE)+AP</h3> <p>AC是指无线控制器(Wireless AccessPoint Controller),是一种网络设备,用来集中化控制局域网内可控的无线AP,是一个无线网络的核心,负责管理无线网络中的所有无线AP,对AP管理包括:下发配置、修改相关配置参数、射频智能管理、接入安全控制等。</p> <p>AP即无线访问接入点(Wireless AccessPoint),传统有线网络中的HUB。AP相当于一个连接有线网和无线网的桥梁,其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网,从而达到网络无线覆盖的目的。</p> <p>目前该组网方式最常用于企业等大型对网络要求较高的商业场所,该组网方式稳定,简单。目前也用于对网络要求较高的家庭组网中。我们这里聊一聊AC+AP组网的特点。</p> <p>由于AC+AP组网方式中,一般为有线组网,我们这里也只讨论该组网形式。</p> <p>1、对于AC</p> <p>常接触到关键词是POE(Power Over Ethernet),一般还是建议采用POE为AP供电的方式,这样更加方便。</p> <p>2、对于AP</p> <p>分为面板AP和吸顶AP。面板AP是一种隐藏式安装形式,这种必须要使用POE供电方式才行,非常美观,但覆盖范围相较于吸顶AP会稍微逊色,100平建议2-3个。吸顶AP安装在吊顶处,覆盖范围较广,100平安装1-2个就好。</p> <p>由于目前我家是新装修,所以博主采用:AC(POE)+AP:</p> <ul> <li><a href="https://item.jd.com/10049206901636.html" rel="nofollow">TP-LINK TL-R4010GP-AC PoE ACTP</a></li> <li><a href="https://item.m.jd.com/product/100017194221.html?&amp;utm_source=iosapp&amp;utm_medium=appshare&amp;utm_campaign=t_335139774&amp;utm_term=CopyURL&amp;ad_od=share&amp;utm_user=plusmember&amp;gx=RnFhwDEMOWeNytRG99EpHPbPixCdgg" rel="nofollow">TP-LINK TL-XAP3002GI-PoE</a></li> </ul> <blockquote> <p>啊,之前买的 479GPE 不能放进弱电箱。重新买了个4010GP,它有磁铁可以直接粘在弱电箱上。</p> </blockquote> <h3 id="toc_3">FTTR</h3> <p>FTTR(Fiber To The Room)即光纤到室的说法。FTTR组网方案采用了一个主光猫,多个从光猫的方式进行网络组网,光猫与光猫之间通过光纤进行连接,由于光纤比较细小,即使显示布线也不会太影响美观: <img width="640" height="409" src="https://st.deepzz.cn/blog/img/fiber-to-the-room.jpg" alt="fiber-to-the-room" /></p> <p>有兴趣的朋友可以去了解下。我认为FTTR是未来十年发展的一种趋势,但现其高昂的布设成本劝退了我,待后期方案成熟,将网线替换成光纤也是可行的。</p> <p>下文将介绍博主具体组网方案和思考。</p> <h3 id="toc_4">参考文档</h3> <p>[1] <a href="https://wenku.baidu.com/view/b001ec4f33687e21af45a953.html" rel="nofollow">https://wenku.baidu.com/view/b001ec4f33687e21af45a953.html</a><br /> [2] <a href="https://www.zhihu.com/question/410166038/answer/1989571138" rel="nofollow">​https://www.zhihu.com/question/410166038/answer/1989571138</a><br /> [3] <a href="https://zhuanlan.zhihu.com/p/296788149" rel="nofollow">https://zhuanlan.zhihu.com/p/296788149</a></p> <p>本文链接:<a href="https://deepzz.com/post/home-networking.html">https://deepzz.com/post/home-networking.html</a>,<a href="https://deepzz.com/post/home-networking.html#comments">参与评论 »</a></p>

2022/4/13
阅读更多

如何玩转智能家居 - 灯控方案选择

<p>作为玩转智能家居的第一篇,今天我们了解一下智能家居中的灯光控制系统。</p> <p>最近准备装修房子,作为互联网从业者一直对科技产品有浓厚兴趣,喜欢折腾。所以新家最好有一个专用家庭机柜,软路由、万兆交换机、AC+CP,全屋光纤,都给它搞上。最重要的还是要有套全屋智能家居,进行自动化场景控制。家庭组网及全屋智能我会在这个系列一一实践,总结经验为大家踩坑,哈哈。</p> <!--more--> <p>目前来说想要实现全屋智能,两种方式:</p> <ol> <li>全屋智能方案提供商,你只需要提要求,方案和实施均交给他们(省心但价格较贵)。</li> <li>自己折腾,动手设计,这需要有一定的折腾能力和专业知识(心累)。</li> </ol> <p>开始全屋智能系列之初,你首先要确定的是选择一个全屋智能生态,选生态涉及到你能够搭配智能设备的丰富程度。比如你选了苹果生态,但是家里的灯光是不支持 HomeKit 控制的,这就陷入两难,就很烦(当然这也是有解决办法的,后续文章说到)。</p> <ul> <li>米家生态,有完善的智能家居生态链,配套完整,且设备性价比高(推荐)</li> <li>华为生态,HarmonyOS支持,目前主要由官方提出的解决方案为主,其它配套较少</li> <li>苹果生态,HomeKit支持,结合 iPhone 体验超棒,但国内支持产品较少(备选)</li> <li>Matter生态,由全球大厂组成的IoT物联网联盟,实现厂厂互联,不过目前还在起步阶段</li> </ul> <p>其它生态,老牌家电厂商也在推自己的智能家居系统与玩法,不过感觉是和自己玩,个人认为智能家居最终还是会实现统一或互连。我这里选择米家生态作为全屋智能解决方案,自己折腾。后续结合 HomeAssistant 上苹果生态,体验应该是非常棒。</p> <p>本篇文章作为装修系列中的灯光控制篇。</p> <h3 id="toc_0">基础知识</h3> <p>先来普及下电相关的知识。电线分(GB/T6995-2008):</p> <ul> <li>地线(E),黄绿色(双色线),用于有金属外壳电器,防止触电,直接接地,三孔插座会用到。</li> <li>零线(N),蓝色或绿色、黑色</li> <li>火线(L),红色或棕色,火线与地线,零线电压差220V。开关接在火线上。L1灯连接线。</li> </ul> <p>我们一般就会接触到零线与火线。</p> <h4 id="toc_1">开关</h4> <p>在智能设备出现之前,就一种开关:机械开关。智能设备出现之后,为了让原来不智能的设备变智能,于是智能开关出现了。这里普及一下开关的种类。</p> <p>开关又分几开几控,几开即该开关面板上有几个开关控制按钮,几控即该开关上有几个接触点,如下图: <img width="640" height="417" src="https://st.deepzz.cn/blog/img/single-open-double-charged.jpg" alt="single-open-double-charged" /></p> <p>开关往上拨会接通一根线,往下拨又会接通一更线。常见的应用就是,一个灯能够被多个开关控制。如一般卧室就是双控。</p> <p>理解了开关的说法,我们来讲一讲典型的开关案例:</p> <p>1、<strong>单火开关</strong>,即普通开关,这是最常见的开关。开关里只有两根线,一根进,一根出。 <img width="640" height="444" src="https://st.deepzz.cn/blog/img/single-line-switch.jpg" alt="single-line-switch" /></p> <p>2、<strong>零火开关</strong>,即智能开关(忽略普通开关),智能开关是需要一直通电的,因此需要三根线,两进,一出。 <img width="640" height="486" src="https://st.deepzz.cn/blog/img/zero-line-switch.jpg" alt="zero-line-switch" /></p> <p>3、<strong>凌动开关</strong>,也是普通机械开关,开关通过弹簧实现回弹(单向按键),使得灯一直通电。因此它需要搭配凌动灯来使用(关键还是在灯),该开关通过对开和关的电脉冲算法实现灯的亮灭。</p> <p>目前市面上还有一种<strong>单火智能开关</strong>,同样是智能开关那么必须一直通电在线。它是如何实现的呢?它是通过调节“可变电阻”实现“灯泡”的开启和关闭的或者内置电池(总之需要使得开关处于在线状态),我认为这只是一种妥协的做法。还有就是无线智能开关,原理上均类似。</p> <blockquote> <p>以上说的开关均是单键开关,多控开关线路会相应增加。</p> </blockquote> <h4 id="toc_2">灯</h4> <p>1、<strong>普通灯</strong>,不做过多描述</p> <p>2、<strong>智能灯</strong>,可以通过手机等智能设备和开关控制的灯。</p> <p>3、<strong>凌动灯</strong>,支持凌动功能的灯</p> <p>好了,现在已经基本了解了灯控相关的知识啦,我们来说一说实际的方案。</p> <h3 id="toc_3">方案</h3> <p>总的来说,智能灯控就是开关、灯的组合:</p> <ol> <li>智能灯+智能开关,<strong>不推荐</strong>。容易出现冲突,智能开关控制开,智能灯控制关,到底开还是关傻傻分不清楚。</li> <li>智能灯+普通开关,<strong>不推荐</strong>。开关得一直在开启状态,通过智能手机控制,容易出现开关断掉设备不在线状态。</li> <li>普通灯+智能开关,<strong>次选</strong></li> <li>普通灯(改凌动)+凌动开关,<strong>次选</strong></li> <li>凌动灯+凌动开关,<strong>首选</strong></li> </ol> <p>可以看到,博主中意的还是凌动方案。凌动方案既可以满足现房智能改造,也可以满足新房装修线路造价问题,同时还满足对智能不感冒的老年人使用习惯。如果家里没有老人,推荐直接不设计开关,绝对给力。</p> <h4 id="toc_4">普通灯+智能开关</h4> <p>由于是智能开关,因此开关盒里有必要再加一根零线。如果你的家已经装修好请确认是否预留零线。 <img width="640" height="532" src="https://st.deepzz.cn/blog/img/zero-line-seitch2.jpg" alt="zero-line-seitch2" /></p> <p>当然如果你基于很多因素考虑,这种方案最适合你的家庭,在没有零线预留的情况你可以采用<strong>单火智能开关</strong>也是一种不错的选择。不过这种方案可能对灯有一定的需求,比如日光灯就不可以。 <img width="640" height="515" src="https://st.deepzz.cn/blog/img/single-line-switch2.jpg" alt="single-line-switch2" /></p> <p>不过目前这种方案有两个缺点:</p> <ul> <li>实现双控有难度,即在门口开灯,在床头关灯。</li> <li>布线成本增加(需要增加零线)</li> </ul> <h4 id="toc_5">普通灯(改凌动)+凌动开关</h4> <p>结论,这种方案可以和凌动灯方案实现全屋凌动统一方案。这种方案推荐不想过多增加成本,现有灯具不换情况下的用户使用。</p> <p>这里涉及两个地方的改造。</p> <p>1、改造灯</p> <p>凌动开关只是一个普通机械开关,重点还是在控制灯的组件上。该方案需要一个叫<strong>灵动通断器</strong>的东西,这个不是凌动官方出的,是民间根据凌动方案适配的。所以对此介意的同学可以绕道了。</p> <p>它的原理就是,将凌动灯拆分成两块:普通灯+灵动通断器。一些灵动通断器的功能还是很多的,如蓝牙,蓝牙Mesh,还有开关随意贴可用。 <img width="640" height="702" src="https://st.deepzz.cn/blog/img/lingdong-switch.jpg" alt="lingdong-tongduanqi" /></p> <p>还有个选择就是,将现有灯换成凌动灯。据我观察,现在支持凌动功能的灯还是蛮多的,如客餐厅吸顶灯,卧室吸顶灯,吊灯等。</p> <p>2、普通开关改凌动开关</p> <p>如果家里开关是普通开关,可以通过添加一个弹簧的形式改成凌动开关。普通开关改凌动开关相关可以到某宝搜索,不过推荐购买原装凌动开关更安全稳定。</p> <h4 id="toc_6">凌动灯+凌动开关</h4> <p>原生支持凌动,如果家里有条件完全可以采用这样方案。上面所有方案的缺点,都完美的解决了。不管你是正在装修还是已经装修好,完全不需要做任何特殊线路改动(原普通灯光线路),换上凌动开关和凌动灯就可以了。 <img width="640" height="1097" src="https://st.deepzz.cn/blog/img/lingdong.jpg" alt="lingdong" /></p> <p>博主目前采用:</p> <ul> <li>普通灯(改凌动)+凌动开关</li> <li>凌动灯+凌动开关</li> </ul> <p>两种方案结合的形式,毕竟不是所有灯都支持凌动功能,你喜欢的灯不一定都支持凌动功能。</p> <p>最后,其实所有方案都不是固定的,当你对智能灯控了解到一定程度之后,你可以有自己的方案,组合和场景是多种多样的。</p> <p>本文链接:<a href="https://deepzz.com/post/smart-home-lighting-control-scheme.html">https://deepzz.com/post/smart-home-lighting-control-scheme.html</a>,<a href="https://deepzz.com/post/smart-home-lighting-control-scheme.html#comments">参与评论 »</a></p>

2022/3/31
阅读更多

推荐订阅

每日新闻.

The Art of Chawye Hsu

Recent content on Yuko's Blog