web-access Skill上线:PaiCLI 的联网能力拉到满中满
大家好,我是二哥呀。
上一期我们搞定了 CDP 会话复用,Agent 终于能直连日常 Chrome 了,GitHub 私有仓库、内网系统、飞书文档这些需要登录的内容统统能让Agent看到了。
但又有了新的问题。
比如说,让 PaiCLI 抓一篇未知的 URL。
合理的决策是:先用 web_fetch 试试能不能直接抓到正文,抓不到就切 Chrome DevTools MCP 上浏览器,浏览器也抓不到就走 Jina Reader 兜底。

这一期,我们给 PaiCLI 加上 Skill 系统。
决定 Agent 在什么场景下用什么工具、遇到阻拦怎么绕。加完之后,PaiCLI 就从一个“有一堆工具的 Agent”变成了一个“有经验的 Agent”。
01、Skill 和 MCP 的区别
MCP 提供的是能力,能搜索、能抓网页、能操作浏览器。
Skill 提供的是决策,什么时候搜索、什么时候抓网页、什么时候启动浏览器。

Claude Code 在 2025 年底首先引入了 Skill 的概念。
一个 Skill 就是一个文件夹,里面放一个 SKILL.md(决策手册)加上可选的 references 参考文件。
截止到目前,SKILL.md 已经不是 Claude Code 一家的事了。Anthropic、OpenAI、Google 三家在 Linux Foundation 下面共同成立了 Agentic AI Foundation,把 SKILL.md 定成了跨工具的开放标准。
也就是说,你给 Claude Code 写的 Skill,拿到 Codex 上也能直接用。
02、Skill的三层加载架构
PaiCLI 的 Skill 系统设计了三层加载机制:
第一层:内置 Skill,打包在 PaiCLI 的 jar 包里,随版本发布。目前内置了一个 web-access Skill,教 Agent 怎么做联网操作。
第二层:用户级 Skill,放在 ~/.paicli/skills/。放自己写的全局 Skill,所有项目都能用。
第三层:项目级 Skill,放在 <项目目录>/.paicli/skills/。针对特定项目的 Skill,优先级最高。

SkillRegistry 是管理这三层扫描和合并的核心类。扫描的时候按 builtin → user → project 的顺序处理,每扫到一个同名 Skill 就直接覆盖前一层的。
PaiCLI 启动时会输出一段 Skill 加载汇总:
📚 Skills 加载(1 个)...
✓ web-access builtin description 88 字符
1/1 启用,索引段共 0.6KB
这段日志一眼就能看到有多少 Skill 被加载了、来源是什么、索引段占了多大空间。

来验证一下。
启动 PaiCLI,输入 /skill list:

只有一个内置的 web-access。现在我在用户目录创建一个同名 Skill 试试覆盖效果:
mkdir -p ~/.paicli/skills/web-access
cat > ~/.paicli/skills/web-access/SKILL.md << 'EOF'
---
name: web-access
description: 用户自定义的联网操作指引(覆盖内置版)
version: "9.9.9"
---
这是用户版的 web-access,优先级高于内置版。
EOF
然后在 PaiCLI 里执行 /skill reload:

来源从 builtin 变成了 user,覆盖生效了。
验证完记得把用户级的删掉,恢复内置版本:
rm -rf ~/.paicli/skills/web-access
再 /skill reload 就回到内置的了。

03、SKILL.md 的结构
每个 Skill 的核心就是一个 SKILL.md 文件,分两部分:YAML frontmatter(元数据)和 ...
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
真诚点赞 诚不我欺
回复