OSS Bounty & Grant Finder 是一个面向开发者的命令行技能,目标是在开源领域寻找有偿工作机会,包括开源赏金(OSS bounties)、开源资助(open source grants)以及为开源做贡献获得报酬的途径。它依托 TinyFish CLI 实现,该 CLI 使用自然语言目标在终端运行浏览器自动化任务。
用途
当你需要寻找付费开源工作、赏金任务或开源资助时使用此技能。它接收开发者技术栈和可选关键词,搜索多个来源并综合成结构化的机会报告。
前置检查(必需)
在进行任何 TinyFish 调用前,必须运行两项检查:
- CLI 是否安装。 PowerShell: Get-Command tinyfish; tinyfish --version
bash/zsh: which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"
若未安装,提示用户:npm install -g @tiny-fish/cli
- 是否已认证。 运行 tinyfish auth status。若未认证,需要 TinyFish API key,获取地址为 https://agent.tinyfish.ai/api-keys,然后通过以下方式之一认证:
- CLI 交互登录:tinyfish auth login
- PowerShell(仅当前会话):$env:TINYFISH_API_KEY="your_api_key_here"
- PowerShell(跨会话持久):[System.Environment]::SetEnvironmentVariable("TINYFISH_API_KEY", "your_api_key_here", "User"),之后关闭并重新打开 PowerShell。
- bash/zsh(Mac/Linux):export TINYFISH_API_KEY="your_api_key_here"
- Claude Code 设置:在 ~/.claude/settings.local.json 中加入 {"env": {"TINYFISH_API_KEY": "your_api_key_here"}}
两项检查均通过前不要继续。
主要能力
技能分三层搜索,且全部并行运行:
第一层:抓取 Algora 和 IssueHunt 两个已经策展付费开源议题的赏金平台。
第二层:抓取 awesome-<stack> GitHub 列表以发现热门仓库,再逐个检查各仓库带赏金标签的议题。这是两阶段过程,阶段 2a 完成后并行运行阶段 2b。
第三层:抓取 NLNet、Sovereign Tech Fund、Mozilla MOSS、LFX Mentorship、GSoC 和 Outreachy 六个资助基金会的开放申请,这些与语言无关,无论技术栈如何都运行。
核心命令与参数
核心命令:tinyfish agent run --url <url> "<goal>"
参数标志:
- --url <url>:目标网站 URL
- --sync:等待完整结果(无流式输出)
- --async:提交后立即返回
- --pretty:人类可读的格式化输出
输入
向用户询问:
- stack(必需):如 Rust、Python、Go、TypeScript
- keywords(可选):如 async、cli、web3
- min_amount(可选):如 100,表示包含的最低赏金金额
工作流程
第一层抓取 Algora(URL 形如 https://algora.io/bounties?lang=<stack>)和 IssueHunt(URL 形如 https://issuehunt.io/repos?language=<stack>),提取开放赏金列表,返回含 title、repo、url、bountyAmount、currency、skills 字段的 JSON 数组。
第二层先抓取 awesome 列表(如 Rust 对应 https://github.com/rust-unofficial/awesome-rust),提取前 25 个唯一 GitHub 仓库 URL;再对每个仓库检查形如 https://github.com/<owner>/<repo>/issues?q=is%3Aopen+label%3Abounty+OR+bounty+in%3Atitle+OR+reward+in%3Atitle 的议题页面。
第三层抓取六个资助页面:NLNet(https://nlnet.nl/thema/)、Sovereign Tech Fund(https://www.sovereigntechfund.de/programs)、Mozilla MOSS(https://www.mozilla.org/en-US/moss/)、LFX Mentorship(https://lfx.linuxfoundation.org/tools/mentorship/)、Google Summer of Code(https://summerofcode.withgoogle.com/)、Outreachy(https://www.outreachy.org/apply/)。
并行执行
所有三层同时运行,第二层内的仓库检查也并行。文档提供了 PowerShell 和 bash/zsh 两种并行方案:PowerShell 使用 Start-Job 并按顺序 Wait-Job、Receive-Job、Remove-Job;bash/zsh 使用后台进程 & 和 wait。文档明确警告不要顺序调用各层,因为会浪费数分钟。
结果综合
所有层返回后,综合为结构化报告,包含:第一层赏金平台表格、第二层仓库发现表格、第三层资助与项目表格,以及总结(机会总数、最高赏金、最近截止日期、最适合技术栈的推荐)。只使用 TinyFish 返回的数据,不得虚构金额、截止日期或仓库名。
相关性过滤
收集结果后,丢弃标题、仓库或技能明显属于不相关技术栈的机会。例如搜索 Python 时丢弃涉及 Scala、ZIO、Rust、Swift、Kotlin 的结果;搜索 Rust 时丢弃涉及 Python、Scala、Java、Ruby、Golang 的结果等。第三层资助始终保留,因为它们与语言无关。
运行管理
- tinyfish agent run list:列出最近运行
- tinyfish agent run get <run_id>:按 ID 获取运行
- tinyfish agent run cancel <run_id>:取消正在运行的自动化
输出格式
CLI 默认以 {...} SSE 行流式输出数据。最终结果是 type == "COMPLETE" 且 status == "COMPLETED" 的事件,提取的数据在 resultJson 字段中。直接读取原始输出即可,无需脚本侧解析。
适用场景与限制
适用场景为开发者寻找有偿开源贡献机会、赏金任务或资助项目。限制方面:使用前必须安装 TinyFish CLI 并完成认证;某些平台可能需要特定过滤;文档未提供具体的收费、价格信息;实际的赏金金额、截止日期等以抓取时的实时数据为准,文档本身不保证具体数值。