2026年2月

检索是 RAG 系统的搜索引擎,分块则是这个搜索引擎的基础。分块太长、太短、有噪声、切错了位置——随便犯哪个错LLM 都会有问题。行业里有句话流传很广:"分块决定了 RAG 质量的 70%。"

这个说法不夸张:好的分块让检索器拿到完整、有上下文、真正相关的信息;差的分块把文档打成碎片,上下文断裂,LLM 只能靠"编"来填补空白。

什么是分块?

RAG 的起点是文档收集与摄取:把所有原始材料(文档、文章、知识库条目)汇聚到一起。在进入检索环节之前,这些文档要经过文本分块处理也就是切分成更小的、有意义的片段。

每个分块应当是连贯且自包含的,这样检索器才能在面对查询时快速定位、排序,并返回最相关的信息。

分块就是在生成 Embedding 之前,把大段文本拆成更小语义单元的过程。检索器真正搜索的对象而不是整篇文档就是这些分块。

分块做得好,文档中的内容就能被干净地捕获,上下文得以保留LLM 能做出有意义的推理。分块做得差,语义被割裂检索充满噪声。向量存储、Embedding 模型、Reranker——这些统统排在分块之后,分块才是真正的起点。

固定大小分块

这是最简单的方式。按预设的字符数或 Token 数直接切分,比如每 500 个 Token 一块完全不管句子和段落的边界在哪。

速度快,行为可预测,处理大规模、结构混乱的数据集时很实用。但缺点也很明显——语义经常被拦腰切断。一个句子在这个分块里开了头,到下一个分块才结束,Embedding 的语义表达力就会打折扣。

实践中一般会在相邻分块之间设置一定的重叠来缓解这个问题:

 from langchain.text_splitter import RecursiveCharacterTextSplitter  

splitter = RecursiveCharacterTextSplitter(  
    chunk_size=500,  
    chunk_overlap=50  
)  

 chunks = splitter.split_text(long_text)

切分文本时,连续的分块之间通常会加入一小段重叠区域来维持上下文的连贯。所谓重叠,就是前一个分块的尾部几句话,在下一个分块的开头再出现一次。

这么做是为了防止跨越分块边界的关键信息丢失。没有重叠的话,检索器可能只拿到部分内容LLM 因此漏掉了关键上下文,给出残缺甚至误导性的回答。重叠量一般控制在分块长度的 10% 到 20%,在冗余和效率之间找一个平衡点。

固定大小分块适合的场景包括日志文件、邮件、代码仓库,以及结构参差不齐的大型语料库。

基于句子的分块

这种方式按完整句子来划分文本,而不是按任意长度一刀切。每个分块至少包含一个或多个完整的句子,语法完整,语义连贯。

好处是每个分块都是一个有意义的思想单元。检索器向 LLM 返回的信息更精确、更易理解,碎片化回答的风险降低不少。实际使用中通常也会搭配小幅重叠,进一步保证分块之间的衔接。

基于段落的分块

以完整段落为单位切分,不再拘泥于单个句子或固定 Token 数。这种方式天然保留了文档的结构和行文节奏,检索器更容易抓到完整的想法。

每个分块往往对应一个独立的主题或子主题,LLM 处理起来更从容,也更容易给出准确的回答。对长篇文档、研究论文、综述类文章来说,段落级分块效果不错。和句子级分块一样,也可以加重叠来保持连贯。

语义分块

语义分块的切入点不是长度,而是语义本身。它利用 Embedding 或相似度分数来识别文本中天然的断裂点——主题切换、上下文转折、章节边界。

产出的分块语义清晰度更高,边界和语义对齐,检索质量有明显提升,尤其在知识库、技术文档、结构化文章这类内容上效果突出。代价是计算开销更大而且分块长度不一致,后续处理需要额外考虑。

 from langchain_experimental.text_splitter import SemanticChunker  
 from sentence_transformers import SentenceTransformer  
   
 model = SentenceTransformer("all-MiniLM-L6-v2")  
 chunker = SemanticChunker(model, breakpoint_threshold=0.4)  
   
 chunks = chunker.split_text(long_text)

如果文档质量高、主题流转有明确脉络,语义分块往往是精度最高的选择。

递归分割

递归分割是固定大小和语义分块之间的一个折中方案。核心思路是优先尊重文档结构,只有在必要时才进一步拆分。

具体做法是先尝试按标题切分。如果某个章节还是太长,就按段落切。段落还不够就按句子。句子仍然超限,最后才按字符兜底。这样得到的分块既保有语义完整性,尺寸也在可控范围内。

 recursive_splitter = RecursiveCharacterTextSplitter(  
     separators=["\n## ", "\n### ", "\n", ". ", ""],  
     chunk_size=600,  
     chunk_overlap=80  
 )  
   
 chunks = recursive_splitter.split_text(long_doc)

开发者文档、技术手册、学术论文、研究报告——凡是层级结构明确的内容,递归分割都很适合。

滑动窗口分块

有些文本的语义天然是跨句分布的。法律合同、科学论文、长段论证,一个完整的意思可能横跨好几个句子。滑动窗口就是为这种场景设计的。

它不生成彼此独立的分块,而是创建相互重叠的窗口。比如窗口大小 400 Token,每次滑动 200 Token,这样相邻的分块之间有一半的内容是共享的,语义在边界处不会断裂。

上下文保持得很好,但分块数量会膨胀,存储和检索的成本都会上升。

法律 RAG、金融分析、医学文献检索、合规审查——这些领域用滑动窗口的比较多。

层次化分块

层次化分块是一个多层级的架构:小分块负责细粒度精确检索,中等分块支撑平衡的推理,大分块维持全局上下文。

检索时,系统先用小分块锁定精确位置,再把关联的大分块拉进来补充完整上下文。这种组合能有效压制幻觉,提升推理的深度。

企业级 RAG 系统和 LlamaIndex 这类多粒度检索框架,背后都有层次化分块的影子。

实践中常见的分块失误

多数 RAG 项目翻车根源都是分块层面的问题。分块过大模型被不相关的细节淹没。分块过小语义丧失殆尽。句子被拦腰切断、不相关的段落被混到一个分块里,Embedding 质量直接垮掉。没有重叠,上下文断裂。没有元数据,检索器找不到方向。还有一个常见错误——所有类型的文档套用同一种分块策略。

分块没有万能方案。政策文件和教科书不一样,通话记录和研究论文不一样。策略必须跟着文档类型和检索任务走。

总结

分块不是一个可有可无的预处理环节,它是 RAG 管道的脊梁。好的分块是一个有意义的、自包含的知识单元;差的分块是一个孤零零的碎片,把 LLM 带向歧途。

检索是引擎分块是燃料。燃料的质量决定了整个系统是输出干净、可靠的结果,还是不断产出噪声和幻觉。LLM 本身再好,也救不了烂分块。

https://avoid.overfit.cn/post/e6520bd283254415ae61cfa28fb2ef32

作者:Abinaya Subramaniam

68gpTV7pqSasNZdsjdaXTa4kVAASR2oI.webp

🏮 过年啦!今天吃了啥?

春节的味道,从来不只有一种模样——

可能是妈妈包的饺子,可能是爸爸炖的红烧肉;
可能是闺蜜约的下午茶,也可能是深夜那碗热腾腾的泡面;
可能是值班时叫的外卖,可能是简单对付的一餐。

不挑丰盛,只等你回复分享。

无论你此刻身在何处、吃着什么,你的"春节味道"都值得被看见。

📸 活动规则超简单:

拍下你春节期间的任意一餐
年夜饭可以,外卖盒饭可以,简单速食也可以——
早餐 | 午餐 | 下午茶 | 晚餐 | 夜宵 | 快餐……统统都算!

🎁 参与奖励:

晒出你的一餐,即可获得 200 枚金币!
每个用户多次晒出照片,可能大概也许会多次奖励snicker

📅 活动时间:

春节期间(除夕至正月初三)

📲 参与方式:

拍摄你的美食照片(不挑场景,不挑档次,真实就好)
直接在本帖子回复即可!
金币为手动送出,到账时间最晚不超过正月初五!

一个人值班?叫份外卖,我们陪你吃。
简单凑合一顿?那也是你的春节味道。
快来晒出你的年味儿吧!🍜🥟🍱

p.s. 😐 嗯,其实早发也行,哈哈 😂 我在线可能大概也许就直接给了,就是这么的不讲道理。哈哈 😂

在京东自营给乡下老家买点了过年用的饮料,调料啥的。没有往常的隔日达,年底了货多,人忙我理解。第三日了,老妈等了一天快递,到 20 点了,打电话说放驿站了,让理解理解。我理解不了,如果做不到,我选的地址无货我都能接受。

还有我妈给我炫耀说她学会了多多买菜,晚上 10 点前下单,隔天早上 9 点就能送到村里。





大家新年快乐~
DS One(原 DS Cloud)新春折扣活动现已开启,这里也放一些兑换码
愿大家新年事事如意,心想事成~

下载链接:
https://apps.apple.com/cn/app/ds-one-%E5%8E%9Fds-cloud-%E9%AB%98%E6%B8%85%E5%BD%B1%E7%89%87-%E6%97%A0%E6%8D%9F%E9%9F%B3%E4%B9%90%E8%BD%BB%E6%9D%BE%E6%92%AD/id6476057278

兑换码:
77R4R6KJPY7W
JPL3FEPYKRMW
YJ3XA93J9E79
P6MPYJ9TYNRJ
FP33XWFHTMER
RTJ3NY673WKP
466JXWKFELJM
EK34J3XFXX9K
XEXETTTN9TFF
36P3N66FPRT6
33WPFMAFHJER
4PF4JT9NYMX9

过年九宫格抽奖系统,带后台版
一款专为节日 / 活动设计的九宫格转盘抽奖程序
炫酷九宫格 + 流畅绕圈动画(渐快渐慢)
支持自定义奖品图片上传、位置、中奖概率
IP 限制抽奖次数(后台可调 1 次 / 多次 / 无限)
前端毛玻璃风格 + 手机完美适配
后台支持一键编辑奖品、设置中奖位置、查看中奖记录
简单部署,适合春节、双 11、店庆等活动快速上线
源码截图:

image

下载地址: https://yuncv.lanzouw.com/i8dQp3ifqu9c

开源这个项目的初衷是希望能帮到同样在处理地址、邮编、行政区划逻辑转换中受苦的 dev
如果你由于业务需要发现其中的数据有误,或者有更好的优化建议,欢迎来提 Issue 或 PR !

ScreenShot_2026-02-13_161742_225.png

一、 为什么要做这个项目?

1. 开发时邮编获取的困局

调研了下市面上的邮编数据 API, 通过地址信息获取邮编需要付费限免次数有限
通过 AI 获取的邮编数据幻觉严重,实测多个模型都无法返回准确邮编
有很多网页提供三级联动查询区域邮编,但无法通过 api 接入项目
有一些开源数据但内行政区划老旧不准确,获取邮编还需要手动拆分输入地址的省市区来进行匹配,不准还麻烦

2. 地图 API 的“断层”

在使用地图 SDK 时,最常用的流程是:
输入地址 -> 地图地理编码 -> 行政代码(Adcode) / 经纬度 / 格式化后的地址等
然而,邮编作为一个相对传统的字段,在现代地图服务中的权重在降低。即使拿到了详细地址以及行政区域编码(Adcode),也无法获取到对应的邮编。

3. 数据的时效性问题

邮编数据,要么是 2018 年之前的陈旧版本,不少是付费下载的。
行政区划数据,随着近年来国内行政区划的频繁调整(撤县设区、新区合并),最新对应数据变得非常稀缺。

注意:自 2024 年 10 月起,国家统计局继续公开《关于统计上划分城乡的规定》《统计用区划代码和城乡划分代码编制规则》等统计标准方法,不再公开具体相关代码


二、 解决方案

通过建立行政区划代码( Adcode )对应邮政编码( Zipcode )的关联数据来方便实现查询,将数据导出为 JSON ,各种语言都可以基于此数据方便开发

  • 最新数据:参考了《2023 年中华人民共和国县以上行政区划代码》与 高德 API 返回区域代码 手动校对邮编。 高德全国邮政编码查询
  • Adcode 关联:不仅是名字匹配,且是基于标准的行政区划代码 Adcode 匹配,极速方便。
  • 极小体积:经过数据去重与结构优化,JSON 压缩后极小,加载无压力。
  • 全环境支持:支持纯 JSON 导入、ESM 模块加载、甚至浏览器 CDN 零配置调用。


logo

本文展示了如何通过自托管的 OpenClaw Skills,对 Home Lab(家庭服务器群)与智能家居进行真 AI 智能化控制。而不受限于小米米家等平台的各种智能限制。通过将家庭服务器群环境、监控系统以及几种 API 封装为结构化的 Skills,AI Agent 可以完成服务器故障排查、以有趣的智能家居灯光方式可视化运维操作,并通过智能音箱汇总报播网站实时新闻。


背景

这些年,我一直在运行和维护自己的 Home Lab(家庭服务器群) 和一套小型智能家居系统。随着设备和服务越来越多,维护和管理也变得越来越复杂。

同时,我也逐渐意识到,传统的“智能家居”其实并不真正智能。运营方出于各种原因,没有把最近的 AI 科技更新到智能家居平台上。很多问题的存在,往往只是因为我懒得去做自动化。如今,现代 AI 技术或许可以帮助解决这些问题。

我的 Home Lab 已经运行了 5 年多,承载着多个 Linux 主机上的各种服务。同时,我还运行了一套 Home Assistant 实例,用来管理家中的 IoT 智能家居设备。

在可观测性方面,我部署了 Prometheus 和 Grafana,并为硬件和软件异常配置了告警机制。

但问题是:当手机收到告警后,我仍然需要手动调查和排查问题。如果我不在家,用手机远程排障就会变得低效又麻烦。

这正是 OpenClaw 发挥作用的地方。理想情况下,我只需要给它一些目标,它就应该能替我完成后续操作。

作为 Home Lab 和智能家居的管理员,OpenClaw 需要具备以下三类“技能 (Skills) ”:


使用场景

1. Home Lab 故障排查与根因分析

查找某台服务器上 CPU 占用最高的服务,并通过智能音箱播报结果。

当收到“CPU 使用率过高”或“温度过高”告警时,这种方式尤其方便。

image.png
(配图:root cause 分析示意图)


2. Home Lab “氛围灯光秀大师”

重启某一台服务器。重启开始时,立刻调暗书房灯光;当机器启动完成、所有服务初始化完毕后,再把灯光恢复。

这样一来,当我人在书房时,就可以通过灯光变化 “可视化” 服务器的启动进度。

image.png
(配图:重启灯光联动示意图)


3. AI 驱动的智能家居控制

将 Hacker News (https://news.ycombinator.com/) 的内容摘要和翻译为中文,并通过智能音箱朗读出来。

当我在晨起或做家务时,也可以通过智能音箱播报了解最新任意网站的动态摘要。

use-case-speak-news.png
(配图:语音播报示意图)


Skills 设计

为了实现这些功能,我首先需要向 OpenClaw 介绍我的 Home Lab 环境,包括:

  • 所有 Linux 主机列表
  • 每台机器上运行的服务
  • 监控系统细节
  • Agent 必须遵守的运维规则

我不希望把这些信息直接塞进普通的 LLM 上下文里——那样会迅速消耗上下文窗口,并浪费大量 token。

Anthropic 的 Skills 规范提供了一个清晰的解决方案:我可以将 Home Lab 环境封装成一个 Skill,让 OpenClaw 在需要时按需加载。

注意:以下 Skill 代码片段为了便于阅读,做了简化处理。

Home Lab 环境 Skill

核心思想:

  • 通过 Bash 和 SSH 控制 Home Lab 机器
  • 所有 Linux 主机使用同一个用户名
  • SSH 无需密码登录
  • Prometheus 运行在 192.168.1.74:9090
  • 优先从 Prometheus 查询指标,而非 SSH 到机器
  • 仅在无法获取数据时才通过 SSH 获取实时信息
  • 某些关键机器(如网关)默认只读访问
  • 执行任何会修改系统状态的命令前必须请求确认

特别强调了两条运维规范:

  1. 执行前必须先解释行动计划
  2. 所有可能改变系统状态的操作必须征求用户确认

这相当于为 AI Agent 定义了运维行为准则(Operational Guardrails)。

路径:

~/openclaw/workspace/skills/home-lab/SKILL.md

Skill 片段:

---
name: home-lab
description: Control the home lab where you(personal assistant running inside OpenClaw) are running on
---

# Home Lab

Control home lab Linux machines via bash and SSH commands.

## Conduct of Code

Always provide a clear, high-level explanation of your action plan before executing the first step. Let the user understand and confirm the plan before proceeding.

Always request confirmation before executing any command that may change system state, such as rebooting the OS, modifying configuration files, or restarting services. Clearly explain what the command does and why it is necessary before asking for confirmation.

## Home Lab Environment

All Linux machines use the same username: `mark`. SSH login does not require a password.

### Linux Machines

- 192.168.1.58 : Raspberry Pi, always on
- 192.168.1.68 : Raspberry Pi, always on
- 192.168.1.108 : Raspberry Pi, always on
- 192.168.1.14 : X86_64 server

### Observability and Monitoring

A Prometheus instance runs on 192.168.1.74:9090. Metrics are collected by Node Exporter on each machine.

When users request metrics (temperature, CPU usage, memory usage, disk usage), first query Prometheus. Only execute remote SSH commands if the required metrics cannot be found in Prometheus.

If you are unfamiliar with the Prometheus API, load the `prometheus-api` Skill.

Note that Prometheus metrics may not always be real-time. If real-time data is required, execute a remote SSH command.

### Services running on the machines

#### 192.168.1.68
This machine acts as the main Internet gateway of the home lab. 

Access this machine in read-only mode. Do not change anything without explicit confirmation. 

##### Home Assistant
The home automation system. Access by http://192.168.1.68:8123

##### OpenClaw
An OpenClaw instance runs at http://127.0.0.1:18789. It may be you or may be another AI assistant.

#### 192.168.1.74

##### Prometheus

Base URL: `http://192.168.1.74:9090`  

All machines are monitored via Node exporter, with metrics collected by this Prometheus server. 

## Remote wake up

Wake up 192.168.1.14 using:
```bash
ssh mark@192.168.1.108 o
```

Home Assistant Skill

基于 Home Assistant API 文档,我创建了一个 webhook,用于向小米智能音箱发送通知。

然后在 Skill 文档中告诉 Agent 如何调用该 API,例如:

curl -s -X POST $HA_URL/api/webhook/ai-speak \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -d '{"msg": "需要播报的内容"}'

此外,还封装了:

  • 列出智能设备
  • 控制开关
  • 控制灯光亮度

这些都通过标准的 Home Assistant REST API 实现。

---
name: homeassistant
description: Control Home Assistant - smart plugs, lights, scenes, automations.
homepage: https://www.home-assistant.io/
metadata: {"clawdis":{"emoji":"🏠","requires":{"bins":["curl"],"env":["HA_TOKEN"]},"primaryEnv":"HA_TOKEN"}}
---

# Home Assistant

Control smart home devices via Home Assistant API.

## Setup

Set environment variables:
- `HA_URL`: Your Home Assistant URL (e.g., `http://192.168.1.100:8123`)
- `HA_TOKEN`: Long-lived access token (create in HA → Profile → Long-Lived Access Tokens)

## Quick Commands

### Smart Speaker Integration 🔊 
There is a smart speaker you can control. You can control it to speech any text to the user. You can use it to send notification to user at home.

```bash
curl -s -X POST $HA_URL/api/webhook/ai-speak -H "Content-Type: application/json" -H "Authorization: Bearer $HA_TOKEN" -d '{"msg": "The message you want to speech to user"}'
```

### List entities by domain
```bash
curl -s "$HA_URL/api/states" -H "Authorization: Bearer $HA_TOKEN" | \
  jq -r '.[] | select(.entity_id | startswith("switch.")) | .entity_id'
```

### Turn on/off
```bash
# Turn on
curl -s -X POST "$HA_URL/api/services/switch/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.office_lamp"}'
```

### Control lights
```bash
# Turn on with brightness
curl -s -X POST "$HA_URL/api/services/light/turn_on" \
  -H "Authorization: Bearer $HA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "light.living_room", "brightness_pct": 80}'
```

Prometheus API Skill

基于 Prometheus API 文档封装。

这样 Agent 可以:

  • 查询 CPU 使用率
  • 查询设备温度
  • 查询内存、磁盘使用情况
  • 结合 Alertmanager 做进一步自动化处理

未来使用场景

主动型 Agent

下一步,我希望 Agent 不只是“被动响应”,而是主动监控并处理 Home Lab 和智能家居状态。

用户只需要用自然语言描述期望行为,Agent 可以自动转换为:

  • 监控规则
  • 告警规则
  • 自动化规则

例如:

通过集成 OpenClaw Webhook 到 Prometheus Alertmanager,实现:

  • 自动触发故障排查
  • 自动调查分析
  • 自动进行根因定位

也就是说,当告警触发时,Agent 不只是发通知,而是直接开始分析问题。

管理我的家居物品

用自然语言管理我的 Homebox,这是一个自托管的家庭物品管理系统。例如,当我购买新设备时,我可以告诉 Agent: “我买了一部新的 iPhone 15 Pro Max,请将其添加到我的家庭物品清单中”。


总结

通过将 Home Lab 环境知识、Prometheus 监控系统和 Home Assistant API 封装为结构化 Skills,OpenClaw 可以将传统“手动运维 + 被动智能家居”升级为“AI 编排驱动”的自动化系统。

它不仅可以:

  • 分析服务器故障
  • 有趣化运维过程
  • 语音播报任意网站信息

更重要的是,它为“主动式 AI 运维与智能家居控制”提供了一个可扩展的架构基础。

安全风险警告

赋予人工智能 Agent 在您的 Home Lab 中执行命令并控制智能家居设备的权限会带来重大的安全风险。攻击者可能利用该 Agent 获取未经授权的访问权限、造成损害或窃取敏感信息。请仅从可信来源下载和安装任何 Skill 。安装任何 Skill 之前,务必先查看其代码。考虑在权限受限的沙箱环境中运行 Agent,以降低潜在风险。

本文发布于我的博客:https://blog.mygraphql.com/zh/posts/ai/ai-personal-assistant/openclaw-as-home-lab-admin/

三种模型,除 pro 之外的两款免费使用

image

注册就拥有 2000W Tokens,注册后需先创建 InferenceEdnpoint

API 兼容 OpenAI 标准,直接在 Cherry Studio 使用,速度还不错

image

可接入 ClaudeCode 使用,CC 配置如下

复制
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "你的 API key",
    "ANTHROPIC_BASE_URL": "https://vanchin.streamlake.ai/api/gateway/v1/endpoints/注意这里要填写 InferenceEndpointId/claude-code-proxy"
  }
}

image

注册连接: https://www.streamlake.ai 无 AFF

image
保存过通知 Webhook URL 之后,如果想要关闭通知,删除 url 保存报错

坐标江苏,目前来看是需要安装哪种宽带呢?
电信现在是拿不到公网 IP ,我考虑的是不是访问一些网站电信优先级更高一些?
联通有公网 IP ,但是地方不一定覆盖
移动目前没有想法,正常来用的话推荐是哪种呢

find-skills技能全解析:一键解决AI Agent技能搜索、安装与管理痛点
在AI Agent使用过程中,“找技能、装技能、管技能”是多数用户面临的核心难题——要么四处搜罗技能资源,要么切换平台搜索打断工作流,要么安装后难以统一管理更新。此前在Skills蓝皮书分享过的Skills.sh资源库中,一款名为find-skills的技能异军突起,不仅登顶24h安装榜榜首,长期稳居总榜第二且持续上升,日均安装量突破10k+,与第二名拉开显著差距。

这款由Vercel官方发布的技能,之所以能快速走红,核心在于它完美解决了技能获取与管理的全流程痛点,无需切换平台、无需复杂操作,仅需在单个Agent中运行,就能完成技能搜索、安装、检查、更新的闭环。本文将从核心优势、详细操作步骤、注意事项三个维度,全方位解析find-skills的使用方法,帮助用户高效利用AI Agent技能,提升工作效率。

一、find-skills核心优势:为什么它能成为“技能神器”?

在find-skills出现之前,用户获取技能的方式普遍存在诸多弊端,而它的出现的实现了技能管理的“一站式闭环”,具体优势对比及核心亮点如下:

1.1 解决传统技能获取的核心痛点

传统技能获取主要有两种方式,均存在明显局限:

  • 人工分享/仓库搜索:依赖他人分享,效率低下,且难以精准匹配自身需求,容易找到过时或不适配的技能。
  • 技能搜索平台(如skillsmp.com):搜索体验不佳,中文搜索命中率低,即便使用AI搜索也无法达到理想效果;且需要跳出当前工作任务,打开单独平台搜索,严重打断工作流,影响专注度。

1.2 find-skills的核心亮点

相较于传统方式,find-skills实现了全流程优化,核心亮点集中在3点:

  • 全闭环操作:无需切换平台,在单个Agent中即可完成“搜索→安装→检查→更新”全流程,不打断工作流,提升使用效率。
  • 适配性强:由Vercel官方发布,与Vercel生态完美兼容,支持多种Agent安装,后续管理和更新更便捷。
  • 操作灵活:支持指令搜索和自然语言搜索两种方式,中文提问可同时检索中英文关键词,搜索精度更高,小白也能快速上手。

二、find-skills详细操作教程(以Claude Code为例)

本教程将以Claude Code为操作场景,拆解find-skills从安装、搜索到管理更新的完整步骤,所有操作均无需复杂代码基础,复制指令即可完成,全程适配小白用户。

步骤一:安装find-skills技能(推荐官方最优方式)

find-skills支持多种安装方式,但最推荐使用Vercel官方发布的add-skill指令安装——作为官方同源工具,后续技能的管理、更新更稳定,避免出现适配问题。

  1. 获取项目地址(备用):find-skills的官方项目地址为:https://github.com/vercel-labs/skills/tree/main/skills/find-skills,无需下载,仅作为备用参考。
  2. 执行安装指令:打开Claude Code,输入以下指令并运行,即可启动安装流程:

     npx skills add https://github.com/vercel-labs/skills --skill find-skills
    
  3. 选择安装配置(3个选项依次选择):

  • 安装Agent选择:选择将技能安装到哪个Agent中,可选择“一键安装到全部Agents”(适合多Agent用户),也可选择具体某个Agent,根据个人使用习惯选择即可。
  • 安装范围选择:分为“全局范围”和“项目范围”——全局范围可在所有项目中使用,项目范围仅在当前项目中生效,推荐新手选择“项目范围”,避免影响其他项目。
  • 安装方式选择:提供两种方式,按需选择:
- SymLink(推荐):通过创建符号链接实现集中管理,所有Agent共享一个技能源文件,后续更新时可统一同步,无需逐个Agent更新。

- Copy to all agents:将技能文件直接复制到每个Agent节点,每个节点独立存储,更新时需逐个操作,适合需要个性化修改技能文件的用户。
  1. 确认安装成功:安装完成后,当前项目中会出现适配对应Agent的技能路径,说明安装成功,可进入下一步操作。

补充建议:新手推荐配置为“所有Agent + 项目范围 + SymLink”,兼顾便捷性和后续管理效率。

步骤二:使用find-skills搜索并安装目标技能

安装完成后,即可通过两种方式搜索技能,操作简单,精准匹配需求,具体步骤如下:

  1. 选择搜索方式(两种均可,按需选择):

  • 指令搜索(精准高效):输入以下指令,将“skills关键词”替换为具体需求,即可搜索相关技能:

        npx skills find "skills关键词"示例:搜索SEO标签优化相关技能,指令为:npx skills find "SEO标签优化";搜索YouTube视频下载相关技能,指令为:npx skills find "YouTube视频下载"。
    
  • 自然语言搜索(小白友好):无需输入指令,直接用中文或英文提问即可,例如:“帮我找下SEO meta标签优化的skills”“有没有小红书封面设计相关的Skills”。
  1. 精准搜索技巧(重点):

  • 关键词尽量细化:避免使用宽泛关键词(如“SEO”“小红书”),优先使用具体关键词(如“SEO meta标签”“小红书封面设计”),减少无关搜索结果,提升搜索精度。
  • 语言适配:英文提问仅搜索英文关键词,中文提问会同时搜索中文及相关英文关键词,推荐中文用户使用中文提问,扩大搜索范围。
  1. 安装目标技能:搜索完成后,find-skills会列出所有相关技能,只需告知其需要安装的技能名称,即可自动完成安装,无需额外操作。

小建议:若搜索结果中能显示技能安装量,可优先选择安装量较高的技能,安全性和适配性更有保障(后续版本可能优化该功能)。

步骤三:技能管理与更新(易忽略但关键步骤)

find-skills不仅能搜索安装技能,还提供了3个实用的管理指令,解决技能过多难以管理、版本过时等问题,具体使用方法如下(重点注意局限性):

  1. 查看已安装技能:当安装的技能过多时,可通过以下指令快速查看所有已安装技能,清晰掌握自身技能储备:

     npx skills list⚠️ 注意(重点):该指令仅能识别通过“npx skills add”指令安装的技能,若通过其他方式(如手动下载、第三方工具)安装的技能,无法被识别。
    
  2. 检查可更新技能:定期检查技能版本,避免使用过时技能,指令如下:

     npx skills check运行后,会列出所有可更新的技能及当前版本、最新版本,方便用户判断是否需要更新。
    
  3. 更新所有已安装技能:若确认需要更新,可通过以下指令一键更新所有可更新技能:

     npx skills update⚠️ 注意(慎用):更新前需确认所有技能均为可信任来源,避免更新后出现技能适配异常、功能失效等问题;建议更新前备份相关项目文件,降低风险。
    

三、find-skills使用注意事项(避坑必看)

虽然find-skills操作简单、实用性强,但在使用过程中仍有4点注意事项,避免出现操作失误、功能异常等问题,新手必看:

  • 安装方式优先选官方同源:尽量使用“npx skills add”指令安装,避免使用其他第三方安装方式,否则可能出现后续管理、更新失败,或与Agent适配异常的问题。
  • 搜索关键词决定搜索精度:宽泛关键词会导致搜索结果杂乱、无关信息过多,务必细化关键词,可观察搜索输出过程,了解关键词拓展逻辑,优化搜索词。
  • 技能管理指令的局限性:牢记“npx skills list”仅识别官方指令安装的技能,手动安装的技能需单独记录管理,避免遗漏。
  • 更新技能需谨慎:“npx skills update”会一键更新所有可更新技能,若部分技能与当前项目适配度较低,更新后可能出现功能异常,建议按需更新,而非盲目一键更新。

四、补充说明与实用建议

4.1 find-skills的局限性

find-skills并非万能,需理性看待其功能边界:

  • 仅能搜索开源技能:无法搜索未开源的私有技能,若需使用特定私有技能,仍需通过手动安装方式添加。
  • 搜索结果不一定完全适配:找到的技能可能无法完全满足当前任务需求,此时可基于现有技能进行改造,比从零开发全新技能效率更高。

4.2 实用搭配建议

若仅需保留两个核心技能,实现“技能获取+技能开发”的闭环,推荐搭配:

  • find-skills:负责技能的搜索、安装、管理,解决“找技能难”的问题。
  • skill-creator:负责基于现有技能改造或从零开发全新技能,解决“技能适配”的问题。

4.3 资源补充

find-skills已正式收录到《Skills蓝皮书-实用Skills篇》,若需了解更多技能相关知识(概念、局限、制作方法等),可移步查看《做了份Skills蓝皮书,从概念、局限到使用、制作,一次讲清》,系统学习技能相关内容。

五、总结

find-skills的走红,本质上是解决了AI Agent用户“找技能、装技能、管技能”的核心痛点——无需切换平台、无需复杂操作,小白也能快速上手,大幅提升AI Agent的使用效率。无论是日常使用AI Agent处理简单任务,还是需要大量技能支撑复杂工作,find-skills都能成为高效助手。

需要注意的是,它并非万能工具,需理性看待其局限性,合理搭配其他技能使用;同时严格遵循使用注意事项,避免出现操作失误。希望本文的解析的操作教程,能帮助大家快速掌握find-skills的使用方法,充分发挥AI Agent的核心价值。

本文由mdnice多平台发布

突然想到的,如果使用这个方案,能不能防运营商探测?
1.使用一个备案域名的子域名。
2.前端接入腾讯云 edgeone CDN 。CDN 回源指向家宽公网 IPv4 一个高位端口
3.在家用路由器上做端口转发,把该高位端口映射到内网主机。同时设置端口仅监听指定 IP (即只允许 CDN 回源段 IP 访问,其他来源 DROP )。除此以外对公网不直接开放网站端口,用户必须通过前端域名访问。

前端用 antd 替换了,界面有点像 UniFi Dream Router

官方下载页支持直接下载升级包


新增应用市场


4.0 升级注意事项
欢迎您使用全新版本的 IKOS!

本次升级为您带来了更强大的性能和更稳定的体验。

为了确保系统兼容性与稳定性,以下需要您关注并调整。

请仔细阅读以下内容



升级降级

强烈建议您使用 3.7.21 版本进行升级。

其他的更低版本,有较小概率出现不可预知风险。

4.0 版本不支持降级至 3.0 版本,升级前请妥善备份好相关配置&文件。



应用协议

应用协议库已重新分类,采用更科学的分类体系,提升识别准确率。

但可能会影响协议相关的分流/管控规则。

需要您关注:

1. 检查现有 [协议分流] 中的应用协议选择;

2. 检查现有 [应用协议控制] 中的应用协议选择;

3. 验证关键应用的识别准确性。

新老协议转换详情:3.0→4.0 协议库对照表



智能流控

我们对智能流控-自定义场景中的协议场景做了重新的分类,场景更多元且合理,识别更加准确。

由于发生了结构的变化,此处无法兼容。

若您当前是自定义模式,升级后,系统将以自定义模式的默认优先级运行。

需要您关注:

1. 智能流控的自定义场景下的协议分类;

2. 协议分类的流控优先级数值



QQ 黑名单

因 QQ 通信协议频繁更新且加密机制日益复杂,同时根据我们近期的调研,该功能的使用率显著偏低;

为优化服务体验并集中资源维护更广泛使用的功能,我们将于近期下架路由设备中的“QQ 黑白名单”功能。

由此带来的不便,我们深表歉意,感谢您一直以来的支持与理解。



Docker

4.0_32 位系统不支持 docker&应用市场。

软路由用户建议使用 64 位系统进行刷机。



企业微信/钉钉-应用绑定

因微信与钉钉平台已关闭设备绑定接口的相关业务,导致新设备无法成功接入。

为保障服务的一致性与稳定性,避免功能差异带来的体验困扰,我们决定在 4.0 版本中正式下架“企业微信绑定”与“钉钉绑定”功能。

若您十分依赖此两项功能,请暂时勿升级

感谢您的支持与理解。



其他

1. 备份路由配置文件,并保存至 PC 本地;

2. 备份路由重要磁盘文件,并保存至 PC 本地。

services:
  easyconnect:
    image: hagb/docker-easyconnect:7.6.7
    container_name: easyconnect
    devices:
    - /dev/net/tun:/dev/net/tun
    cap_add:
    - NET_ADMIN
    environment:
    - PASSWORD=xxxx
    - URLWIN=1
    volumes:
    - $HOME/.ecdata:/root
    ports:
    - "127.0.0.1:5901:5901"
    - "127.0.0.1:1080:1080"
    - "127.0.0.1:8888:8888"
    stdin_open: true
    tty: true
    restart: "no"

使用 docker-compose up -d 运行成功以后,登录成功了但是连接资源服务器连接不上. 求大佬指点一下

🌞 北回归线极客节 2.23–2.25

⛰️ 北纬 23.5° 共聚潮汕

🤖 大模型智能体 × 具身智能

————参赛报名————

🚗 跨市交通 & 食宿全免,全程无忧投入创造!

🛠 硬核设备 + 充裕算力,免费开放,助力实现!

🏆 丰厚奖金、名企内推、项目孵化与产业对接!

💡 与资深专家、行业领袖面对面,收获深度赋能!

————观众报名————

🎪 科技作品展览 + 机器人英歌展演,触摸前沿现实!

🍸 圆桌酒会特邀调酒师驻场,思想碰撞中举杯相叙!

🛋️ 配备懒人沙发与创意休憩区,在放松中激发灵感!

————加入我们————

💻 用 72 小时,将灵感炼成黄金!

✨ 未来已来,这一次,由你创造定义!

🔗 我们不仅是参与者,更是共创者。

欢迎各位胶己人来参加呀,具体细节可以前往官网查看

以前在住处等电梯的时候,我总有种幻觉,觉得停靠高楼层的次数比低楼层要多,为了验证一下这是不是幻觉,我在 3 年多前开始了一个统计,我在每一次不管是下楼还是上楼等电梯的时候都会记住电梯停靠的楼层( 1 楼除外、我自己的楼层除外),3 年的时间我换过 3 次住处,有两个是 16 层,有一个是 18 层,把它们分为低楼层和高楼层,即一个是 9 层及以上为高楼层,一个是 10 层及以上为高楼层。一共统计了 1 万次的停靠,结果发现低楼层的停靠次数只有两千次出头,出结果的时候终于验证了自己不是幻觉。当然,这结果可能什么也说明不了,也可能有人觉得我闲的蛋疼,不过记一下数据不费时,更重要的是验证想法,消除自我怀疑。分享到此结束。😂

2022 年的时候,我和一个同事做过一个项目,要改 Raft ,要动 etcd ,还要调整 K8s 的核心逻辑。我们两个人做了差不多一整年,最后真正写进仓库的代码不到 800 行。

那一年很慢。很多时间都花在推一致性,讨论异常场景,设计升级路径,确认历史数据怎么兼容。有时候一整天只改十几行代码。数量不多,但基本都是想清楚了才落下去。

以前一个开发者一天写 300 行代码算效率不错,写到 400 、500 行已经很拼。写代码有节奏,也有成本。很多问题在真正敲出来之前,已经在脑子里来回过了几遍。

现在节奏完全不同。AI 十分钟就能生成上千行代码,模块划分清晰,层次完整,接口齐全,异常处理也都写好了。很多时候只要把需求说清楚,代码很快就生成好了。

一开始确实觉得轻松。

后来慢慢发现,真是越来越累了,因为这些代码还是要有人读,要有人确认它和现有系统是不是贴合,要有人判断抽象是不是合适。虽然生成的速度上去了,但是我理解的节奏还是原来的节奏。

以前也是要 review 代码的。打开一个改动,从头看到尾,逻辑能在脑子里慢慢铺开。读完之后,大概知道这段代码放进系统里是什么样子。

现在一天新增几千行代码已经很常见。很多时候是,一轮对话下来就是上千行实现。改动动辄上千行,结构完整,分层清楚,看起来没有明显问题,但还是得一段段读过去。接口是不是多了一层,抽象是不是提前了,边界有没有被放大,这些都要自己确认。

很多实现从写法上挑不出毛病,但系统本身是有历史的。某些字段可能永远不会扩展,某些逻辑过几个月就会被删除,一些接口只是阶段性存在。模型不会知道这些背景,它给出的实现往往是完整的。是否贴合当前的环境,需要自己去判断。

测试也没有轻松多少。单元测试我也让 AI 一起生成,但自测还是得自己做。接口要自己调,参数要自己换着测,异常路径要一条条走,数据要自己造。现在很多时候前后端是一整套一起生成,页面、接口、数据结构都在一起,看起来很顺,只要中间有一个地方不对,就得从头走流程,把请求发出去,看返回结果,对着日志查调用链。整个链路还是要自己过一遍。

有时候会发现,一天下来真正写代码的时间其实不多,大部分时间都在读代码,在确认生成出来的实现有没有和现有结构冲突,有没有引入新的复杂度。刚看完一段,又出来一段新的;刚决定保留一种写法,下一轮生成又给了另一种实现。很多选择都不算错,只是需要自己一个个拿出来想一遍。这样的来回在一天里会发生很多次,思路一直被打断,很难长时间停在同一个问题上。

现在项目推进的越来越快,人也越来越累。

那种不是熬夜的累,也不是体力透支的累,是脑子一直没有停下来的那种消耗。晚上关掉电脑,脑子里还在过白天的逻辑;第二天坐下来,又是一堆还没完全消化的结构等着处理。思路被切得很碎,很少有完整的一段时间能沉进去。

以前写代码累,是因为问题难。现在更多是密度高。每天都在读,在判断,在确认,在来回切换。

这种状态持续久了,真的是超级累。