智能分析 Git 仓库或普通链接,自动识别内容类型并执行相应处理流程。 支持四种类型:1) OpenClaw Skills 项目(风险检测与收藏)2) 论文/文档项目(加入 dashifu——wiki 待处理队列)3) 功能项目(评估 OpenClaw 学习可行性)4) 普通网页/文章(加入 dashifu——w...
Git Repo Analyzer是一项面向实际任务的技能,主要用于Overview;本 skill 用于自动识别用户提供的 URL 类型,并根据内容分类执行后处理:;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
本 skill 用于自动识别用户提供的 URL 类型,并根据内容分类执行后处理:
~/.openclaw/workspace/memory/kb-queue.json 异步队列~/.openclaw/workspace/memory/kb-queue.json 异步队列~/.openclaw/workspace/memory/kb-queue.json 异步队列不适合的场景:需要登录的私有页面、纯本地文件路径。
用户输入 URL
│
▼
detect_url_type.py
│
├─ git-repo ──► analyze_git_repo.py
│ │
│ skill ──► analyze_skill_security.py
│ │ │ pass/warn ──► install_skill.py
│ │ │ fail ──► 阻止安装并清理
│ │
│ paper ──► process_paper_repo.py (queue)
│ │ └──► append to ~/.openclaw/workspace/memory/kb-queue.json
│ │
│ function ──► evaluate_function.py
│
├─ direct-file ──► process_direct_file.py (queue)
│ └──► append to ~/.openclaw/workspace/memory/kb-queue.json
│
└─ webpage ──► process_webpage.py (queue)
└──► append to ~/.openclaw/workspace/memory/kb-queue.json
输入 URL,输出 JSON 类型分析结果。
python3 scripts/detect_url_type.py "https://github.com/user/repo"
# {"url": "...", "type": "git-repo", "domain": "github.com"}
输入 Git URL,通过 API 或文件列表判断子类型(skill / paper / function / unknown)。
python3 scripts/analyze_git_repo.py "https://github.com/user/repo"
依赖环境变量:GITHUB_TOKEN、GITLAB_TOKEN(可选,用于提升 API 限额)。
浅克隆仓库到 staging,读取 SKILL.md 并扫描危险指令,返回安全评级(safe / caution / dangerous)。
python3 scripts/analyze_skill_security.py "https://github.com/user/repo" "repo_name"
若评级为 dangerous,脚本会自动清理 staging 目录。
将 staging 中的 Skill 安装到 ~/.openclaw/skills/installed/。
python3 scripts/install_skill.py /path/to/staging "repo_name" "https://github.com/user/repo"
识别为论文/文档仓库后,不克隆、不分析内容,仅将链接以结构化 JSON 记录到 ~/.openclaw/workspace/memory/kb-queue.json,交给 kb-archive-process 每日自动处理。
python3 scripts/process_paper_repo.py "https://github.com/user/papers" "papers"
克隆功能项目仓库,统计语言分布、代码行数、是否具备 CLI/测试,评估封装为 OpenClaw Skill 的可行性评分与建议。
python3 scripts/evaluate_function.py "https://github.com/user/tool" "tool"
识别为直链文件后,不下载,仅将链接以结构化 JSON 记录到 ~/.openclaw/workspace/memory/kb-queue.json,交给 kb-archive-process 每日自动处理。
python3 scripts/process_direct_file.py "https://example.com/paper.pdf" "pdf"
识别为普通网页后,默认不提取内容,仅将链接以结构化 JSON 记录到 ~/.openclaw/workspace/memory/kb-queue.json,交给 kb-archive-process 每日自动处理。
特殊平台:若 URL 为 zhuanlan.zhihu.com 专栏文章,会优先调用 zhihu-article-fetcher skill(Playwright 浏览器自动化)尝试抓取正文;成功后直接保存为 .md 到 memory/ 目录。抓取失败则 fallback 回队列模式。
python3 scripts/process_webpage.py "https://example.com/blog" "example.com"
Skill 中间目录:
~/.openclaw/skills/ ├── staging/ # 临时克隆目录 └── installed/ # 已安装 Skills
异步队列文件:
~/.openclaw/workspace/memory/kb-queue.json # 论文/文档/网页/文件链接的统一待处理队列(JSON 格式)
当 analyze_git_repo.py 返回 subtype: unknown 时:
skill / paper / function