1. 项目概述一个为AI智能体赋能的OSINT技能包如果你正在寻找一个能让你的AI助手比如Claude Code、OpenClaw这类代码智能体瞬间化身“网络侦探”的工具那么smixs/osint-skill这个项目绝对值得你深入研究。简单来说它是一个打包好的“技能包”专门教你的AI智能体如何进行系统性的开源情报OSINT收集。你只需要给它一个名字或一个网络ID它就能像经验丰富的情报分析师一样自动执行从浅层搜索到深度挖掘的全流程最终生成一份结构化的“人物档案”里面甚至包含基于内容分析的心理侧写和职业路径图。这个项目的核心价值在于它将原本复杂、琐碎、需要大量人工操作的OSINT流程标准化、自动化并封装成了AI智能体能够理解和执行的指令集SKILL.md格式。这意味着你不再需要手动在十几个社交平台和搜索引擎之间反复横跳也不用去记忆各种晦涩的API调用命令。你只需要对你的AI智能体说“查一下这个人”它就能调用这个技能包里预设的“工具箱”有条不紊地展开工作。2. 核心设计思路与工作流拆解2.1 分阶段递进式调查管道这个技能包最精妙的设计在于其分阶段、递进式的调查管道。它不是一个“一把梭”的粗暴搜索而是一个有策略、有预算意识的智能流程。整个流程被清晰地划分为从0到6的七个阶段确保调查由浅入深资源由廉到贵逐步构建出完整的人物画像。Phase 0: 工具自检这是所有工作的起点。技能包会首先运行diagnose.sh脚本检查当前环境中所有必需的依赖工具如curl,jq,python3,node是否就位以及关键的API密钥如Perplexity, Apify是否已配置。这就像特工出发前检查自己的装备和通讯是否畅通避免了执行到一半才发现“枪里没子弹”的尴尬。Phase 1: 种子信息收集在此阶段智能体会向所有可用的搜索引擎如Brave Search, Perplexity Sonar, Tavily, Exa同时发起第一轮“齐射”First Volley。first-volley.sh脚本会并行调用多个搜索API用目标姓名或ID作为关键词快速抓取互联网上的公开提及。这一步的目标是尽可能广撒网收集初始的线索和关联点比如新闻报道、论坛帖子、个人网站等。Phase 1.5: 内部情报优先这是一个非常关键且符合OSINT伦理与效率的步骤。在转向外部公开网络深挖之前技能包会优先检查“内部”资源。这指的是用户自己可能已经拥有的、与目标相关的信息例如本地通讯录或CRM系统Vault检查是否有匹配的联系人。历史邮件记录在用户授权下搜索本地邮件库。Telegram等即时通讯工具的历史记录如果用户提供了相关数据。 这样做的逻辑是先从成本最低免费、信任度最高第一手资料的信息源开始往往能直接获得关键信息如准确的全名、公司、邮箱从而极大地提高后续外部搜索的精准度。Phase 2: 平台专项提取当有了初步线索后调查进入针对特定平台的深度挖掘。技能包内嵌了超过55个Apify平台的执行器Actor专门用于从结构化数据源提取信息。例如职业信息使用LinkedIn执行器抓取职业经历、教育背景。社交动态使用Instagram、Facebook、TikTok执行器获取发帖内容、互动模式、关注列表。内容产出使用YouTube执行器下载视频字幕分析演讲内容。 这一步是将模糊的网络存在转化为具体的、结构化的数据点。Phase 3: 交叉验证与置信度评分收集到大量数据后关键是如何判断其真伪。技能包引入了置信度评分系统。每一个发现的事实例如“某人在A公司任职”都会被评估A级被3个以上独立、可靠的来源证实。B级被2个独立来源证实。C级仅有一个来源提及但该来源可信度较高。D级单一低可信度来源或存在矛盾的信息。 这个系统迫使智能体和背后的使用者以批判性思维看待信息避免被虚假或误导性内容带偏最终生成的报告会明确标注每条信息的可信等级。Phase 4: 心理侧写生成这是该项目超越普通信息聚合的亮点。它不仅仅收集“他做了什么”还尝试分析“他可能是什么样的人”。通过分析从Phase 2获取的文本内容如YouTube视频转录稿、博客文章、社交媒体发文的语言风格技能包会应用一套分析模型来推测目标的MBTI人格类型倾向于哪种认知和决策方式。大五人格特质在开放性、尽责性、外向性、宜人性、神经质五个维度的可能得分。沟通风格是直接还是委婉是重逻辑还是重情感。 这对于风险评估、商务谈判或团队协作分析等场景提供了极具价值的深层洞察。Phase 5: 完整性检查在生成最终报告前系统会进行一轮强制性检查确保没有遗漏关键维度。这包括9个必查项例如真实姓名验证、当前雇主确认、主要社交账号定位、近期公开活动等。同时它会给出一个“深度分数”1-10分直观地告诉你本次调查的覆盖面和深入程度。Phase 6: 档案输出所有信息被汇总、清洗、格式化填入一个预设的dossier-template.md模板中生成一份易于阅读和分享的最终报告。报告结构清晰包含摘要、核心事实附置信度、心理侧写、时间线、关联图谱等部分。2.2 成本控制与“调查升级”机制对于需要大量调用付费API的自动化工具成本是不可忽视的问题。osint-skill设计了一个聪明的“调查升级”Research Escalation机制完美平衡了深度与预算。它设定了四个成本层级智能体会自动从最便宜的开始仅在必要时才“升级”到更昂贵、更深入的方法Level 1: 快速答案成本~$0.00使用免费的或极低成本的快速搜索API如Brave Search内置额度、Perplexity Sonar获取基础答案。适用于验证一个简单事实。Level 2: 来源验证成本~$0.01如果快速答案不够或需要核实则调用如Jina AI的“读取网页”或Parallel AI的“信息提取”API直接获取源网页的特定内容片段。Level 3: 社交媒体抓取成本~$0.01-0.10当需要从Instagram、Facebook等平台获取非公开API提供的数据时启动Apify执行器。成本取决于平台的复杂度和反爬力度。Level 4: 深度研究成本~$0.05-0.50对于最复杂的问题或需要综合推理、多步搜索的任务启用“重型武器”如Perplexity Deep Research、Exa Deep Search。这些服务能进行长时间、多步骤的链式思考与搜索。更重要的是技能包内置了预算跟踪。它会累计单次调查的成本默认设置下如果累计花费低于0.5美元AI智能体可以自主决定是否升级调查层级。一旦预计将超过0.5美元这个阈值它就会暂停并主动向用户申请许可“进一步深度调查将产生约$0.8的费用是否继续” 这种设计既保证了自动化效率又将最终消费决策权交给了用户。2.3 “蜂群模式”加速并行处理在Phase 1种子收集和某些需要多平台同时查询的阶段串行操作会非常耗时。osint-skill为此设计了“蜂群模式”Swarm Mode。 其原理是当AI智能体例如基于Claude Sonnet模型处理一个复杂OSINT任务时它可以动态地协调3到5个并行的“子智能体”。每个子智能体负责一个独立的搜索方向或平台查询任务。例如一个子智能体用“姓名公司”在新闻网站搜索另一个用“用户名”在GitHub搜索第三个用“可能邮箱”在数据泄露库查询。 这些子智能体并行工作最后由主智能体汇总和去重所有结果。这种模式能将原本需要数分钟的广泛初查压缩到几十秒内完成极大地提升了效率。3. 环境搭建与核心工具链详解要让这个技能包真正跑起来你需要搭建一个合适的环境。它不依赖于某个特定的AI智能体平台而是基于一套标准的命令行工具链这保证了其可移植性和灵活性。3.1 基础工具安装与验证首先你需要确保操作系统Linux或macOS上具备以下核心工具。Windows用户建议使用WSL2。1. 命令行工具三剑客curl用于发送HTTP请求调用各类API。通常系统已预装可通过curl --version检查。jq处理JSON数据的瑞士军刀。OSINT的API返回几乎都是JSON格式jq能让你快速过滤、提取、格式化所需数据。安装命令# Ubuntu/Debian sudo apt update sudo apt install jq # macOS (使用Homebrew) brew install jqpython3运行一些辅助脚本如MCP客户端和进行数据清洗。同样预装检查命令python3 --version。2. Node.js环境关键这是运行Apify执行器的引擎。项目要求Node.js 18或更高版本。# 推荐使用nvm管理Node版本 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # 重新打开终端后安装Node 18 nvm install 18 nvm use 18 # 验证安装 node --version npm --version安装完成后强烈建议运行项目自带的诊断脚本进行一次全面的“体检”cd osint-skill bash osint/scripts/diagnose.sh这个脚本会逐一检查所有必需和可选工具并测试已配置的API密钥是否有效给出清晰的通过/失败报告。3.2 API密钥配置策略与选型建议osint-skill采用“优雅降级”Graceful Degradation设计。你配置的API密钥越多它能调用的服务就越多调查能力就越强。但即使你只有一个免费的搜索API它也能开始工作。以下是核心服务的配置指南。免费起步套餐强烈建议至少配置一项Brave Search API如果你的AI智能体是Claude Code它可能已内置。无需额外配置每月有约2000次免费查询额度适合基础搜索。Jina AI提供优秀的网页内容读取URL转Markdown和搜索功能。去 jina.ai 注册即可获得免费API密钥。环境变量设为export JINA_API_KEYyour_key_here。Apify这是社交平台抓取的灵魂。注册Apify账号后在 控制台 获取APIFY_API_TOKEN。免费额度大约价值5美元足够进行大量测试和轻度使用。Parallel AI新兴的AI搜索服务提供带推理的答案。注册后可获得免费额度。付费增强套餐推荐用于生产环境Perplexity API提供“Sonar”快速问答和“Deep Research”深度研究两种模式。后者能进行多步推理和搜索对于复杂问题非常有效。月费5美元起性价比极高。环境变量PERPLEXITY_API_KEY。Exa AI专注于语义搜索特别擅长根据概念而非关键词查找信息在人物和公司背景调查中表现突出。同样约5美元/月起。环境变量EXA_API_KEY。Tavily专为AI智能体优化的搜索引擎返回的结果已经过相关性优化和摘要处理非常适合直接喂给AI分析。成本低廉约0.005美元/请求。环境变量TAVILY_API_KEY。高级/特定场景套餐Bright Data当你需要抓取一些反爬措施严格如Cloudflare保护、需要登录如某些Facebook信息或特定区域搜索如Yandex的网站时它是终极解决方案。它通过MCPModel Context Protocol提供服务。环境变量BRIGHTDATA_MCP_URL。成本较高通常10美元/月起仅在必要时使用。实操心得密钥管理最安全便捷的方式是使用环境变量。你可以在你的shell配置文件如~/.bashrc或~/.zshrc末尾一次性添加所有密钥然后执行source ~/.zshrc使其生效。# 编辑配置文件 nano ~/.zshrc # 在文件末尾添加 export PERPLEXITY_API_KEYpplx-... export APIFY_API_TOKENapify_api_... # ... 其他密钥对于不支持环境变量的场景部分脚本也支持从项目目录下的.txt文件读取密钥但这安全性较低仅作为备用方案。4. 核心脚本解析与实战调用技能包的scripts/目录下是一系列精心编写的Shell脚本和Node.js脚本它们是AI智能体执行OSINT任务的“武器库”。理解它们你就能更灵活地手动调用或进行定制。4.1 搜索类脚本信息获取的矛头first-volley.sh与merge-volley.sh并行搜索与结果融合这是Phase 1的核心。first-volley.sh脚本的设计非常巧妙它同时启动多个后台进程分别调用perplexity.sh,tavily.sh,exa.sh,jina.sh等搜索脚本。每个进程都将搜索结果输出到独立的临时文件。脚本使用wait命令等待所有搜索完成或通过超时机制Linux下用tail --pid防止某个API挂起导致整个流程卡死。最后调用merge-volley.sh脚本该脚本使用jq工具对所有结果进行去重、合并、并按来源和相关性排序生成一份统一的初步报告。手动调用示例# 进入脚本目录 cd osint-skill/osint/scripts # 执行第一轮齐射搜索关键词是“John Doe Acme Corp” bash first-volley.sh John Doe Acme Corp # 查看合并后的结果 cat /tmp/volley_merged.json | jq . # 使用jq美化输出perplexity.sh/tavily.sh/exa.sh各具特色的搜索利器每个脚本都封装了对应API的核心功能。以perplexity.sh为例它通常支持三种模式# 快速问答模式 (Sonar) bash perplexity.sh sonar Who is the CEO of OpenAI? # 深度研究模式 (Deep Research) bash perplexity.sh deep Analyze the career trajectory of Satya Nadella. # 普通搜索模式 bash perplexity.sh search latest news about quantum computing注意事项API速率限制与成本并行搜索虽快但会瞬间消耗多个API的调用额度。务必清楚各API的免费限额和收费标准。例如Perplexity的Deep Research每次调用成本较高在first-volley.sh中默认可能不会启用以免在初查阶段就产生高额费用。你需要根据调查阶段和预算手动调整这些脚本的调用参数。4.2 抓取类脚本深入平台的钩子apify.sh与run-actor.sh/run_actor.js社交抓取引擎这是技能包最强大的部分之一。apify.sh是一个便捷的包装脚本它内部调用的是通用的run-actor.sh。run-actor.sh本身是一个Bash包装器它最终调用的是用Node.js编写的run_actor.js。这个JavaScript文件是真正的执行核心它通过Apify API启动一个指定的“执行器”Actor。持续轮询任务状态。任务完成后将结果通常是JSON或CSV下载到本地。进行初步的数据清洗和格式化。手动抓取LinkedIn资料示例# 使用apify.sh快捷方式 (需要提前查看references/tools.md找到正确的Actor ID) bash apify.sh linkedin https://www.linkedin.com/in/username-profile # 或者直接使用通用runner指定Actor ID和输入参数 bash run-actor.sh -a aKXw8BqC32jTqoWjX -i {username:username-profile} -o ./results/linkedin.json关键提醒合规性与伦理使用Apify等工具抓取社交媒体数据时必须严格遵守目标平台的Robots协议和服务条款。该技能包仅供教育和授权研究使用。未经授权抓取非公开数据或用于骚扰、欺诈等非法目的将导致法律风险和你Apify账户被封禁。始终确保你的调查目的合法合规并优先考虑使用目标的公开资料。brightdata.sh与mcp-client.py应对复杂场景当遇到需要代理、验证码破解或特定地理定位搜索时Bright Data的MCP服务是最后的手段。brightdata.sh脚本封装了几种常见操作而其底层通过一个极简的Python MCP客户端 (mcp-client.py) 进行通信该客户端只使用Python标准库无需额外依赖。# 使用Bright Data抓取一个受保护的页面 bash brightdata.sh scrape https://some-protected-site.com/profile4.3 内容分析与侧写生成心理侧写功能并非由一个独立的脚本实现而是AI智能体在获取了足够多的文本内容Phase 2后根据references/psychoprofile.md中的方法论自行进行分析和推断的。 这份指南文件可能包含了诸如语言特征与人格关联例如频繁使用“我认为”、“分析显示”可能指向思考型(T)大量使用“感觉”、“和谐”可能指向情感型(F)。大五人格词汇表特定词汇频率与开放性、尽责性等特质的关联。内容主题分析关注技术、艺术、商业还是社交内容暗示兴趣和价值观。 智能体会综合这些规则对提取的文本进行评分最终生成一份推测性的心理侧写报告。这是一个基于启发式规则的分析而非临床诊断其结果应被视为一种有价值的参考视角而非绝对真理。5. 集成到AI智能体以Claude Code为例技能包的最终价值在于被AI智能体调用。这里以集成到Claude Code为例展示完整流程。5.1 安装与部署克隆仓库git clone https://github.com/smixs/osint-skill.git cd osint-skill复制技能目录根据Claude Code的文档技能通常存放在用户主目录的.claude/skills/下。# 将整个osint文件夹复制到技能目录 cp -r osint/ ~/.claude/skills/复制后~/.claude/skills/osint/目录下应包含SKILL.md主文件、scripts/、assets/等子目录。配置环境变量确保在启动Claude Code的环境通常是同一个终端中已经正确设置了所有需要的API环境变量PERPLEXITY_API_KEY,APIFY_API_TOKEN等。5.2 在对话中触发技能启动Claude Code后你可以在对话中直接要求它使用该技能。SKILL.md文件定义了技能的触发方式、参数和调用示例。一个典型的交互流程可能是你 使用osint技能调查一下“Jane Smith”她可能是一名在旧金山工作的数据科学家。 Claude Code: 识别到osint技能我将开始OSINT调查流程。首先进行工具自检...运行diagnose.sh所有工具就绪。开始Phase 1并行种子搜索...调用first-volley.sh找到了几个可能的LinkedIn资料和会议演讲记录。进入Phase 1.5检查内部情报...未在本地发现关联。进入Phase 2启动平台提取...正在通过Apify获取LinkedIn公开资料...获取到职业经历。正在搜索可能的GitHub账号...发现一个匹配度高的账号。进入Phase 3交叉验证...教育背景在LinkedIn和会议网站得到双重确认B级置信度。进入Phase 4心理侧写...分析其博客文章和演讲用语推测为INTJ人格高尽责性和开放性...Phase 5完成深度评分7/10。正在生成最终档案...随后Claude Code会输出一份结构化的Markdown报告内容基于assets/dossier-template.md模板。5.3 自定义与扩展技能包是高度模块化的你可以根据需求进行定制修改调查流程编辑SKILL.md调整Phase的顺序或触发条件。添加新的数据源在scripts/目录下创建新的脚本如new_source.sh封装新的API调用。然后在references/tools.md中注册这个新工具并在first-volley.sh中将其加入并行搜索列表。调整侧写模型如果你有更专业的人格分析模型可以修改references/psychoprofile.md中的规则。定制输出模板直接修改assets/dossier-template.md改变最终报告的版式和内容区块。6. 常见问题、故障排查与安全须知6.1 安装与配置问题问题现象可能原因解决方案运行diagnose.sh报错command not found: jqjq未安装使用系统包管理器安装jq见3.1节。Apify脚本执行失败提示Cannot find moduleNode.js依赖未安装在osint/scripts/目录下运行npm install安装run_actor.js所需的依赖。任何API调用返回Invalid API Key或401环境变量未正确设置或生效1. 使用echo $PERPLEXITY_API_KEY检查变量是否存在且正确。2. 确保在同一个终端会话中设置变量并启动AI智能体。3. 重启终端或重新source你的shell配置文件。first-volley.sh在macOS上提前退出脚本使用了Linux特有的tail --pid参数macOS的tail命令不支持--pid。可以注释掉脚本中相关的超时检查代码块或者改用timeout命令需安装coreutilsbrew install coreutils。6.2 运行时与性能问题问题现象可能原因解决方案调查速度非常慢卡在某个阶段某个API响应超时或网络问题Apify执行器排队。1. 检查网络连接。2. 单独运行卡住的脚本如bash perplexity.sh search test测试API状态。3. Apify免费任务可能需要排队耐心等待或升级账户。结果中重复信息太多多个搜索引擎返回了相似结果。merge-volley.sh脚本内置了去重逻辑但可能不完美。可以手动审查/tmp/volley_*.json中间文件或调整脚本中的去重相似度阈值。心理侧写结果看起来不准确分析所依据的文本数据太少或质量不高侧写模型本身具有推测性。1. 确保Phase 2成功抓取到了足够多的文本内容博客、视频字幕等。2. 记住侧写是推测仅供参考。结合其他事实信息综合判断。成本超出预期“蜂群模式”或深度研究被过度触发。1. 审查AI智能体的决策日志看它何时决定升级调查等级。2. 在SKILL.md或技能调用指令中明确设置更低的预算阈值如--max-cost 0.2如果支持该参数。3. 优先使用免费API并在脚本中注释掉昂贵的付费API调用。6.3 安全、合规与伦理红线这是使用此类工具时必须绷紧的弦。输入净化重要安全漏洞项目已知问题提到存在“Shell注入”风险。绝对不要在不可信的、未经净化的用户输入上运行这些脚本。脚本中直接将用户输入拼接成JSON或命令参数恶意输入可能导致任意命令执行。仅在可信环境或对输入进行严格过滤后使用。遵守法律法规在你所在的国家/地区使用自动化工具收集个人数据可能受到《通用数据保护条例》GDPR、《加州消费者隐私法案》CCPA等法律的约束。确保你的使用场景符合“合法利益”或已获得必要同意尤其是用于雇佣背景调查时。尊重平台条款违反LinkedIn、Facebook等平台的Terms of Service可能导致你的IP、账户被封禁甚至法律诉讼。Apify的许多执行器也要求你遵守目标站点的规则。仅抓取公开可用且允许爬虫访问的数据。用途正当性该工具设计用于合法的开源情报收集例如尽职调查、安全审计、学术研究、寻人、品牌监控等。严禁用于骚扰、人肉搜索、网络暴力、金融诈骗或其他任何非法或不道德的目的。数据存储与处理你通过此工具收集的个人数据负有安全存储和妥善处理的责任。定期清理不必要的缓存文件如/tmp/volley_*.json对于需要保留的报告进行加密存储。这个技能包是一个威力强大的工具它将前沿的AI智能体与成熟的OSINT技术栈连接起来。它的模块化设计意味着你可以从简单的免费搜索开始逐步集成更强大的付费服务构建符合自己需求的自动化调查工作流。记住能力越大责任越大。始终以合规、伦理和安全为前提让技术服务于洞察而非侵扰。