{
  "source": "https://github.com/smallgreen-cloud/registry",
  "spec": "https://github.com/smallgreen-cloud/spec",
  "languages": [
    "en",
    "zh-Hant-TW"
  ],
  "positioning": {
    "en": {
      "definition": "SmallGreen is a service directory and standard for turning open-source small projects into services you can deploy, control and run yourself.",
      "audience": "People who want to turn an open-source small project into a service they can run themselves.",
      "problem": "A repository can be useful without being understandable, deployable or maintainable as a service.",
      "promise": "See what a project does, who it is for, what it needs, what has been checked and how to leave before you run it."
    },
    "zh-Hant-TW": {
      "definition": "SmallGreen 是一套把開源小型專案整理成可自己部署、自己掌握、自己運行的服務目錄與標準。",
      "audience": "想把開源小型專案變成自己能運行的服務的人",
      "problem": "一個 Repo 可以被下載，不代表它已經容易看懂、部署、維護與退出。",
      "promise": "在開始運行前，先看懂專案要解決什麼、適合誰、需要什麼、檢查過什麼，以及如何離開。"
    }
  },
  "cards": [
    {
      "id": "fluxgate",
      "name": "FluxGate",
      "one_liner": "把白話生圖意圖轉成 FLUX 圖片，透過 REST 與 MCP 提供自架生圖入口",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架 Cloudflare AI 生圖閘道",
          "en": "A self-hosted Cloudflare AI image-generation gateway"
        },
        "problem": {
          "zh-tw": "個人網站與 AI agent 需要一個可控的生圖入口，不想把 API key、圖片與用量資料交給不透明的第三方服務",
          "en": "Personal sites and AI agents need a controlled image-generation entry point without handing keys, images and usage data to an opaque third party"
        },
        "audience": {
          "zh-tw": [
            "想在自己 Cloudflare 帳號部署生圖工具的人",
            "需要 REST 與 MCP 共用入口的教學者、創作者與小型團隊"
          ],
          "en": [
            "People who want to deploy an image tool in their own Cloudflare account",
            "Educators, creators and small teams that need one REST and MCP entry point"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "把白話意圖整理成風格、主體與 FLUX prompt",
            "透過 REST 或 MCP 產生並提供圖片",
            "以 KV 管理手動 key 與用量，以 R2 保存圖片，並由 Cron 清理舊圖"
          ],
          "en": [
            "Turn plain-language intent into a style, subject and FLUX prompt",
            "Generate and serve images through REST or MCP",
            "Manage manual keys and usage in KV, store images in R2 and clean old images with Cron"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要自己的 Cloudflare Workers、Workers AI、KV 與 R2",
            "需要設定資源 binding；Firebase 會員登入與跨帳號轉發器是選配"
          ],
          "en": [
            "Your own Cloudflare Workers, Workers AI, KV and R2",
            "Resource bindings are required; Firebase membership and a cross-account forwarder are optional"
          ]
        },
        "limitations": {
          "zh-tw": [
            "版型尺寸是 composition policy 的目標，FLUX.1-schnell 實際輸出尺寸由模型決定",
            "目前 card 是 discovered；乾淨 Cloudflare 帳號重跑、備份／還原與完整維運告警仍未完成獨立驗證"
          ],
          "en": [
            "Layout dimensions are composition-policy targets; FLUX.1-schnell determines the actual output size",
            "This card is currently discovered; a clean-account rerun, backup/restore and full operational alerting still need independent verification"
          ]
        }
      },
      "categories": [
        "utilities"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "ai-cooperation/fluxgate",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "workers-ai",
          "kv",
          "r2",
          "cron"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [
          "oauth2.googleapis.com",
          "firestore.googleapis.com",
          "www.googleapis.com",
          "api.telegram.org"
        ],
        "disclosure": "開源預設為單一 Cloudflare 帳號；Firebase 會員整合與跨帳號轉發器皆為選配"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.4.0",
        "last_verified": "2026-08-29",
        "evidence_packs": [
          "evidence/fluxgate/2026-08-29-isolated-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "codex",
            "model": "GPT-5",
            "result": "assisted"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "quota_note": "Workers AI 是遠端、配額／費用敏感的依賴；本次 E2E 僅使用合成 prompt，未宣稱帳號方案或固定 neuron 額度。",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/fluxgate/",
      "translations": {
        "en": {
          "one_liner": "A self-hosted Cloudflare AI image-generation gateway with REST and MCP endpoints",
          "data_flow": "REST and MCP requests call Workers AI; manual keys and usage counters stay in KV, generated images stay in R2, and Firebase membership plus Telegram alerts are optional"
        },
        "zh-Hant-TW": {
          "one_liner": "把白話生圖意圖轉成 FLUX 圖片，透過 REST 與 MCP 提供自架生圖入口",
          "data_flow": "開源預設為單一 Cloudflare 帳號；Firebase 會員整合與跨帳號轉發器皆為選配"
        }
      }
    },
    {
      "id": "business-card-mcp",
      "name": "Business Card MCP",
      "one_liner": "把 AI 辨識的名片整理成自己帳號裡可搜尋、可控的私人聯絡人庫",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架 AI 聯絡人與名片管理 MCP",
          "en": "A self-hosted AI contact and business-card MCP"
        },
        "problem": {
          "zh-tw": "名片資料散落在相簿、聊天與紙本，整理後仍難以在日常工作中快速查找與更新",
          "en": "Business-card data is scattered across photos, chats and paper, and remains hard to find or update after manual entry"
        },
        "audience": {
          "zh-tw": [
            "想把開源小型專案變成自己能運行服務的人",
            "需要整理私人聯絡資料的顧問、業務與自由工作者"
          ],
          "en": [
            "People who want to turn an open-source small project into a service they can run",
            "Consultants, sales professionals and freelancers who need a private contact library"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "在 ChatGPT／Claude 中辨識並確認名片",
            "把資料與 480px WebP 縮圖保存到自己的 D1／R2",
            "提供私人搜尋、詳情、編輯、封存與 MCP 存取"
          ],
          "en": [
            "Identify and confirm cards in ChatGPT or Claude",
            "Store contact data and 480px WebP thumbnails in your own D1/R2",
            "Provide private search, details, editing, archiving and MCP access"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要自己的 Cloudflare Workers、D1、R2 與 KV",
            "網頁管理需要 Gmail allowlist、Turnstile 與專用 Gmail relay；MCP 仍以可撤銷 key 連線"
          ],
          "en": [
            "Your own Cloudflare Workers, D1, R2 and KV",
            "Web management needs a Gmail allowlist, Turnstile and a dedicated Gmail relay; MCP connections still use revocable keys"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前是單人私人聯絡人庫，不是多人 CRM 或銷售自動化平台",
            "原始名片圖片不保存；縮圖必須由 ChatGPT／Claude 在寫入前產生，Worker 不做線上圖片轉換"
          ],
          "en": [
            "It is a single-owner private contact library, not a multi-user CRM or sales-automation platform",
            "Original card images are not stored; ChatGPT or Claude must create the thumbnail before writing, and the Worker performs no online image transformation"
          ]
        }
      },
      "categories": [
        "sharing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "ai-cooperation/business-card-mcp",
        "license": "Apache-2.0"
      },
      "components": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "kv"
        ]
      },
      "login_method": "email-otp",
      "data_flow": {
        "external_services": [
          "challenges.cloudflare.com",
          "script.google.com"
        ],
        "disclosure": "網頁管理使用 allowlist 內的 Gmail OTP；OTP challenge 與 session digest 存在自己的 D1。ChatGPT／Claude 在呼叫 create_contact 前產生 480px WebP 縮圖；Worker 不呼叫 Images API、不保存原始名片圖片，只驗證並把 WebP 存入 R2。MCP 連線仍使用可撤銷的 bc_ key。"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/business-card-mcp/2026-08-03-sandbox-01.json",
          "evidence/business-card-mcp/2026-08-03-sandbox-02.json",
          "evidence/business-card-mcp/2026-08-03-sandbox-03.json",
          "evidence/business-card-mcp/2026-08-03-sandbox-04.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-opus-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/business-card-mcp/artifacts/2026-08-03-home.png",
          "evidence_pack_ref": "evidence/business-card-mcp/2026-08-03-sandbox-04.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/business-card-mcp/",
      "translations": {
        "en": {
          "one_liner": "A self-hosted private contact library that turns AI-identified business cards into searchable records in your own account",
          "data_flow": "Gmail OTP protects the web UI; contact data and model-generated 480px WebP thumbnails stay in the deployer's D1/R2 while MCP authorization stays in KV; no online image transformation is used"
        },
        "zh-Hant-TW": {
          "one_liner": "把 AI 辨識的名片整理成自己帳號裡可搜尋、可控的私人聯絡人庫",
          "data_flow": "網頁管理使用 allowlist 內的 Gmail OTP；OTP challenge 與 session digest 存在自己的 D1。ChatGPT／Claude 在呼叫 create_contact 前產生 480px WebP 縮圖；Worker 不呼叫 Images API、不保存原始名片圖片，只驗證並把 WebP 存入 R2。MCP 連線仍使用可撤銷的 bc_ key。"
        }
      }
    },
    {
      "id": "cloudflare-imgbed",
      "name": "CloudFlare-ImgBed",
      "one_liner": "圖床檔案管理站（External 外鏈降級收錄版，KV 中繼資料）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架圖片與檔案管理入口",
          "en": "A self-hosted image and file management entry point"
        },
        "problem": {
          "zh-tw": "網站圖片與檔案管理依賴外部圖床，連結與中繼資料不在自己的帳號",
          "en": "Website images and files depend on a hosted image service, leaving links and metadata outside the deployer's account"
        },
        "audience": {
          "zh-tw": [
            "小型網站與內容團隊",
            "需要簡單圖床管理的創作者"
          ],
          "en": [
            "Small websites and content teams",
            "Creators who need a simple image-management tool"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "管理圖片中繼資料與分享連結",
            "在自己的 KV 保存管理資料",
            "以降級模式配合外部圖片網址"
          ],
          "en": [
            "Manage image metadata and sharing links",
            "Store management metadata in your own KV",
            "Operate in a fallback mode using external image URLs"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Worker 與 KV",
            "部署者要確認外部圖片來源與連結可用性"
          ],
          "en": [
            "A Cloudflare Worker and KV",
            "The deployer reviews external image origins and link availability"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前卡片是外鏈降級模式，不等於私有二進位儲存",
            "外部圖片來源失效時，服務無法保證內容可用"
          ],
          "en": [
            "The catalogue card describes an external-link fallback, not private binary storage",
            "Content availability depends on external image origins"
          ]
        }
      },
      "categories": [
        "sharing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "MarSeventh/CloudFlare-ImgBed",
        "adapter": "smallgreen-cloud/adapter-cloudflare-imgbed",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "kv"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [
          "(user-directed)",
          "cn.bing.com",
          "o4507644548022272.ingest.us.sentry.io",
          "frozen-sentinel.pages.dev",
          "(user-configured)"
        ],
        "disclosure": "本 adapter 為 External-only 降級版——沙盒實測（B run E51）儲存後端矩陣全滅：R2 未啟用、TG/S3/Discord/HF/WebDAV 皆需外部憑證。降級語義：上傳實體檔不可用（未配置渠道時明確失敗），僅「登記外部圖片 URL」（External 外鏈渠道，functions/upload/index.…"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/cloudflare-imgbed/2026-08-02-sandbox-01.json",
          "evidence/cloudflare-imgbed/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/cloudflare-imgbed/artifacts/2026-08-03-admin.png",
          "evidence_pack_ref": "evidence/cloudflare-imgbed/2026-08-03-shots-01.json"
        }
      },
      "quota_note": "執行：claude-code deployer 批次（第 9 案 microfeed 因模型額度用盡中止，另案補收）；teardown 後沙盒五類歸零實查",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/cloudflare-imgbed/",
      "translations": {
        "en": {
          "one_liner": "An image and file manager in its external-link fallback profile with KV metadata",
          "data_flow": "This verified fallback profile registers external image URLs and manages metadata in KV because no binary storage channel is configured"
        },
        "zh-Hant-TW": {
          "one_liner": "圖床檔案管理站（External 外鏈降級收錄版，KV 中繼資料）",
          "data_flow": "本 adapter 為 External-only 降級版——沙盒實測（B run E51）儲存後端矩陣全滅：R2 未啟用、TG/S3/Discord/HF/WebDAV 皆需外部憑證。降級語義：上傳實體檔不可用（未配置渠道時明確失敗），僅「登記外部圖片 URL」（External 外鏈渠道，functions/upload/index.…"
        }
      }
    },
    {
      "id": "counterscale",
      "name": "Counterscale",
      "one_liner": "自己帳號裡的網站流量分析（GA 替代）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架網站流量分析服務",
          "en": "A self-hosted website analytics service"
        },
        "problem": {
          "zh-tw": "網站需要基本流量洞察，但不想把分析資料交給外部 SaaS",
          "en": "A website needs basic traffic insight without handing its analytics data to a hosted SaaS"
        },
        "audience": {
          "zh-tw": [
            "公司官網與內容網站",
            "重視資料掌控的小型團隊"
          ],
          "en": [
            "Company and content websites",
            "Small teams that want control of analytics data"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "收集網站使用統計",
            "在自己的 Analytics Engine 查詢分析",
            "以低維運方式提供分析儀表板"
          ],
          "en": [
            "Collect website usage metrics",
            "Query analytics in your own Analytics Engine",
            "Operate a lightweight analytics dashboard"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Workers 與 Analytics Engine",
            "需要在網站加入分析程式碼或事件入口"
          ],
          "en": [
            "Cloudflare Workers and Analytics Engine",
            "A site integration or event endpoint is required"
          ]
        },
        "limitations": {
          "zh-tw": [
            "不等同完整的使用者行為重播或行銷自動化平台",
            "分析保存與查詢能力受平台政策限制"
          ],
          "en": [
            "It is not a full session-replay or marketing-automation platform",
            "Retention and query capability follow platform policies"
          ]
        }
      },
      "categories": [
        "analytics"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "benvinegar/counterscale",
        "adapter": "smallgreen-cloud/adapter-counterscale",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "analytics-engine"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [
          "api.cloudflare.com"
        ],
        "disclosure": "分析事件寫入 Analytics Engine（90 天保留）；v0.2 起 stored_in 直接標 analytics_engine（issue"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/counterscale/2026-07-30-sandbox-01.json",
          "evidence/counterscale/2026-07-30-sandbox-02.json",
          "evidence/counterscale/2026-08-03-sandbox-03.json",
          "evidence/counterscale/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "codex",
            "model": "gpt-5.6-sol(effort=low)",
            "result": "autonomous"
          },
          {
            "agent": "opencode",
            "model": "big-pickle",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "slowing",
      "images": {
        "screenshot": {
          "path": "evidence/counterscale/artifacts/2026-08-03-dashboard.png",
          "evidence_pack_ref": "evidence/counterscale/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/counterscale/",
      "translations": {
        "en": {
          "one_liner": "Website analytics in your own account as an alternative to hosted analytics",
          "data_flow": "Analytics events are written to Analytics Engine under its configured retention policy"
        },
        "zh-Hant-TW": {
          "one_liner": "自己帳號裡的網站流量分析（GA 替代）",
          "data_flow": "分析事件寫入 Analytics Engine（90 天保留）；v0.2 起 stored_in 直接標 analytics_engine（issue"
        }
      }
    },
    {
      "id": "hananalytics",
      "name": "HanAnalytics",
      "one_liner": "輕量網站流量分析儀表板（Pages Functions＋AE）",
      "product_summary": {
        "project_type": {
          "zh-tw": "輕量自架網站分析儀表板",
          "en": "A lightweight self-hosted website analytics dashboard"
        },
        "problem": {
          "zh-tw": "中小企業需要看懂網站流量，但不想導入複雜或過度追蹤的分析平台",
          "en": "Small businesses need understandable website metrics without adopting a complex or overly tracking-heavy analytics platform"
        },
        "audience": {
          "zh-tw": [
            "中文網站經營者",
            "需要基本流量報表的中小企業"
          ],
          "en": [
            "Chinese-language website operators",
            "Small businesses that need basic traffic reports"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "收集頁面與地區等基本事件",
            "用 Analytics Engine 查詢資料",
            "提供輕量儀表板與可選密碼保護"
          ],
          "en": [
            "Collect basic page and geography events",
            "Query data through Analytics Engine",
            "Provide a lightweight dashboard with optional password protection"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Pages Functions 與 Analytics Engine",
            "要自行決定儀表板是否需要密碼保護"
          ],
          "en": [
            "Pages Functions and Analytics Engine",
            "The deployer must choose whether dashboard protection is required"
          ]
        },
        "limitations": {
          "zh-tw": [
            "不是完整的產品分析或使用者行為重播平台",
            "未設定保護時，儀表板與回報入口可能是公開的"
          ],
          "en": [
            "It is not a full product-analytics or session-replay platform",
            "Without protection, the dashboard and collection endpoint may be public"
          ]
        }
      },
      "categories": [
        "analytics"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "uxiaohan/HanAnalytics",
        "adapter": "smallgreen-cloud/adapter-hananalytics",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "pages",
          "analytics-engine"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [
          "api.cloudflare.com"
        ],
        "disclosure": "訪客事件（站點、路徑、UA、國別）寫入 Analytics Engine dataset「AnalyticsDataset」（90 天保留）。儀表板密碼（CLOUDFLARE_WEBSITE_PWD）選配——不設則儀表板任何人可查"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/hananalytics/2026-08-02-sandbox-01.json",
          "evidence/hananalytics/2026-08-03-sandbox-02.json",
          "evidence/hananalytics/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "codex",
            "model": "gpt-5.6-sol(effort=low)",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "stalled",
      "images": {
        "screenshot": {
          "path": "evidence/hananalytics/artifacts/2026-08-03-dashboard.png",
          "evidence_pack_ref": "evidence/hananalytics/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/hananalytics/",
      "translations": {
        "en": {
          "one_liner": "A lightweight website analytics dashboard using Pages Functions and Analytics Engine",
          "data_flow": "Site path browser and country events are written to Analytics Engine while dashboard password protection remains optional"
        },
        "zh-Hant-TW": {
          "one_liner": "輕量網站流量分析儀表板（Pages Functions＋AE）",
          "data_flow": "訪客事件（站點、路徑、UA、國別）寫入 Analytics Engine dataset「AnalyticsDataset」（90 天保留）。儀表板密碼（CLOUDFLARE_WEBSITE_PWD）選配——不設則儀表板任何人可查"
        }
      }
    },
    {
      "id": "microfeed",
      "name": "microfeed",
      "one_liner": "輕量 feed/CMS（JSON/RSS feed＋admin 後台；無 R2 文字模式收錄版）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架輕量內容發布與 RSS 平台",
          "en": "A self-hosted lightweight publishing and RSS platform"
        },
        "problem": {
          "zh-tw": "小型組織需要自己的內容與 feed 入口，不想維護大型 CMS",
          "en": "A small organization needs its own content and feed entry point without maintaining a large CMS"
        },
        "audience": {
          "zh-tw": [
            "個人品牌、協會與小型團隊",
            "需要文字發布與 RSS 的網站"
          ],
          "en": [
            "Personal brands, associations and small teams",
            "Websites that need text publishing and RSS"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "管理文字內容與管理後台",
            "輸出 JSON 與 RSS feed",
            "將內容與管理資料保存於自己的 D1"
          ],
          "en": [
            "Manage text content through an admin interface",
            "Publish JSON and RSS feeds",
            "Keep content and administration data in your own D1"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Workers 與 D1",
            "目前收錄設定是不使用 R2 的文字模式"
          ],
          "en": [
            "Cloudflare Workers and D1",
            "The catalogue profile uses the no-R2 text-only mode"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前文字模式停用媒體上傳",
            "不是高流量新聞或企業內容管理平台"
          ],
          "en": [
            "Media upload is disabled in the text-only profile",
            "It is not a high-traffic news or enterprise content-management platform"
          ]
        }
      },
      "categories": [
        "publishing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "microfeed/microfeed",
        "adapter": "smallgreen-cloud/adapter-microfeed",
        "license": "AGPL-3.0"
      },
      "components": {
        "cloudflare": [
          "workers",
          "d1"
        ]
      },
      "login_method": "other",
      "data_flow": {
        "external_services": [],
        "disclosure": "內容（items、channel 設定）與 admin 帳號存 D1（珍貴資料）。login_method=other 說明——admin 後台走上游內建 better-auth email＋密碼（存 D1 auth_user 表，migrations/0002_better_auth.sql）；…"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/microfeed/2026-08-02-sandbox-01.json",
          "evidence/microfeed/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "claude-code",
            "model": "claude-opus-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/microfeed/artifacts/2026-08-03-home.png",
          "evidence_pack_ref": "evidence/microfeed/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/microfeed/",
      "translations": {
        "en": {
          "one_liner": "A lightweight feed and CMS in its text-only profile without R2",
          "data_flow": "Feed content channel settings and administrator authentication records are stored in D1"
        },
        "zh-Hant-TW": {
          "one_liner": "輕量 feed/CMS（JSON/RSS feed＋admin 後台；無 R2 文字模式收錄版）",
          "data_flow": "內容（items、channel 設定）與 admin 帳號存 D1（珍貴資料）。login_method=other 說明——admin 後台走上游內建 better-auth email＋密碼（存 D1 auth_user 表，migrations/0002_better_auth.sql）；…"
        }
      }
    },
    {
      "id": "newsnow",
      "name": "NewsNow",
      "one_liner": "40+ 來源新聞熱榜聚合站，快取存自己的 D1",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架新聞來源聚合與排行網站",
          "en": "A self-hosted news-source aggregator and ranking site"
        },
        "problem": {
          "zh-tw": "團隊需要持續掌握多個來源，卻沒有簡單且可自有部署的閱讀入口",
          "en": "A team needs to follow many sources but lacks a simple reading entry point it can deploy and control"
        },
        "audience": {
          "zh-tw": [
            "需要產業情報的小型企業",
            "研究、內容與社群團隊"
          ],
          "en": [
            "Small businesses tracking industry news",
            "Research, content and community teams"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "聚合多個新聞來源",
            "把可重建的來源快取存入自己的 D1",
            "依來源與排行提供閱讀入口"
          ],
          "en": [
            "Aggregate multiple news sources",
            "Cache rebuildable source data in your own D1",
            "Provide a source and ranking view for reading"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Pages 與 D1",
            "需要自行維護來源清單與來源可用性"
          ],
          "en": [
            "Cloudflare Pages and D1",
            "The deployer maintains the source list and accepts source availability risk"
          ]
        },
        "limitations": {
          "zh-tw": [
            "只保存來源快取，不擁有第三方新聞內容",
            "更新速度受來源 RSS 與排程影響"
          ],
          "en": [
            "It caches source data but does not own third-party news content",
            "Freshness depends on source feeds and schedules"
          ]
        }
      },
      "categories": [
        "publishing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "ourongxing/newsnow",
        "adapter": "smallgreen-cloud/adapter-newsnow",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "pages",
          "d1"
        ]
      },
      "login_method": "none",
      "data_flow": {
        "external_services": [
          "40+ 新聞來源站點（完整清單見上游 server/sources/，如 news.ycombinator.com、github.com、v2ex.com、zhihu.com 等）",
          "github.com"
        ],
        "disclosure": "D1 僅存來源快取（可重建，非珍貴資料）與啟用登入時的使用者偏好同步。預設部署不啟用登入（上游 auth middleware 對缺 OAuth secrets 有防呆——登入功能自動停用，聚合 API 照常服務），啟用時 login_method 轉 github-oauth"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/newsnow/2026-08-02-sandbox-01.json",
          "evidence/newsnow/2026-08-03-sandbox-02.json",
          "evidence/newsnow/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "opencode",
            "model": "big-pickle",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "A",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/newsnow/artifacts/2026-08-03-home.png",
          "evidence_pack_ref": "evidence/newsnow/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/newsnow/",
      "translations": {
        "en": {
          "one_liner": "A news ranking aggregator for more than 40 sources cached in your own D1",
          "data_flow": "D1 stores rebuildable source cache and optional signed-in preferences while the default deployment keeps login disabled"
        },
        "zh-Hant-TW": {
          "one_liner": "40+ 來源新聞熱榜聚合站，快取存自己的 D1",
          "data_flow": "D1 僅存來源快取（可重建，非珍貴資料）與啟用登入時的使用者偏好同步。預設部署不啟用登入（上游 auth middleware 對缺 OAuth secrets 有防呆——登入功能自動停用，聚合 API 照常服務），啟用時 login_method 轉 github-oauth"
        }
      }
    },
    {
      "id": "pastebin-worker",
      "name": "Pastebin Worker",
      "one_liner": "curl 友善的自架 pastebin／短網址／檔案分享",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架文字貼上、短網址與分享服務",
          "en": "A self-hosted paste, short-link and sharing service"
        },
        "problem": {
          "zh-tw": "開發與營運團隊需要暫時分享文字或連結，不想使用不可控的第三方貼上服務",
          "en": "Development and operations teams need to share text or links temporarily without relying on an uncontrolled third-party paste service"
        },
        "audience": {
          "zh-tw": [
            "開發與維運團隊",
            "需要簡單分享入口的小型公司"
          ],
          "en": [
            "Development and operations teams",
            "Small companies that need a simple sharing endpoint"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "以 curl 建立與讀取文字內容",
            "產生短網址與管理連結",
            "依期限讓內容自動過期"
          ],
          "en": [
            "Create and read text with curl",
            "Generate short links and management links",
            "Expire content after a configured lifetime"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Worker 與 KV",
            "部署者要決定內容可見性與過期政策"
          ],
          "en": [
            "A Cloudflare Worker and KV",
            "The deployer chooses visibility and expiration policies"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前免費層降級版不支援 R2 multipart 檔案上傳",
            "知道連結的人可能可以讀取內容，需先確認分享邊界"
          ],
          "en": [
            "The free-tier fallback does not support R2 multipart uploads",
            "Anyone with a readable link may access content, so sharing boundaries must be reviewed"
          ]
        }
      },
      "categories": [
        "sharing",
        "utilities"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "SharzyL/pastebin-worker",
        "adapter": "smallgreen-cloud/adapter-pastebin-worker",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "kv"
        ]
      },
      "login_method": "none",
      "data_flow": {
        "external_services": [],
        "disclosure": "本 adapter 為 KV-only 降級（上游雙層儲存 KV+R2；未啟用 R2 的帳號適配）——R2_THRESHOLD 拉至 R2_MAX_ALLOWED（20M），所有 paste 走 KV（KV 單值上限 25MB 內）。副作用：大檔分段上傳（MPU）API 不可用；每日 R2 清理 cron 已移除。paste 預設 7 天過期（MAX 90 天）。…"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/pastebin-worker/2026-08-02-sandbox-01.json",
          "evidence/pastebin-worker/2026-08-03-sandbox-02.json",
          "evidence/pastebin-worker/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "claude-code",
            "model": "claude-opus-5",
            "result": "autonomous"
          },
          {
            "agent": "opencode",
            "model": "big-pickle",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "A",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/pastebin-worker/artifacts/2026-08-03-paste.png",
          "evidence_pack_ref": "evidence/pastebin-worker/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/pastebin-worker/",
      "translations": {
        "en": {
          "one_liner": "A curl-friendly self-hosted pastebin URL shortener and file-sharing service",
          "data_flow": "This KV-only fallback stores pastes in KV and does not support multipart uploads or R2 cleanup jobs"
        },
        "zh-Hant-TW": {
          "one_liner": "curl 友善的自架 pastebin／短網址／檔案分享",
          "data_flow": "本 adapter 為 KV-only 降級（上游雙層儲存 KV+R2；未啟用 R2 的帳號適配）——R2_THRESHOLD 拉至 R2_MAX_ALLOWED（20M），所有 paste 走 KV（KV 單值上限 25MB 內）。副作用：大檔分段上傳（MPU）API 不可用；每日 R2 清理 cron 已移除。paste 預設 7 天過期（MAX 90 天）。…"
        }
      }
    },
    {
      "id": "rin",
      "name": "Rin",
      "one_liner": "個人部落格系統（文章／評論／RSS／Queue 背景 AI 摘要）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架個人或小型團隊發布平台",
          "en": "A self-hosted publishing platform for individuals or small teams"
        },
        "problem": {
          "zh-tw": "內容、評論與 RSS 依賴外部平台，團隊想保留自己的發布資料與流程",
          "en": "Content, comments and RSS depend on an external platform while the team wants to keep its publishing data and workflow"
        },
        "audience": {
          "zh-tw": [
            "個人品牌與內容團隊",
            "需要簡單發布能力的小型企業"
          ],
          "en": [
            "Personal brands and content teams",
            "Small businesses that need simple publishing"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "管理文章、評論與 RSS",
            "以 Queue 處理背景摘要工作",
            "在自己的 Cloudflare 帳號保存內容"
          ],
          "en": [
            "Manage posts, comments and RSS",
            "Process background summaries with a Queue",
            "Keep content in the deployer's Cloudflare account"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Workers、D1、Queues 與 Cron",
            "AI 摘要功能需要另外確認 Workers AI 與額度"
          ],
          "en": [
            "Workers, D1, Queues and Cron",
            "AI summaries require separate review of Workers AI and quotas"
          ]
        },
        "limitations": {
          "zh-tw": [
            "定位是輕量發布平台，不是企業 CMS",
            "AI 摘要不是必要核心功能，會增加資源與維護範圍"
          ],
          "en": [
            "It is a lightweight publishing platform, not an enterprise CMS",
            "AI summaries are optional and expand resource and maintenance scope"
          ]
        }
      },
      "categories": [
        "publishing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "openRin/Rin",
        "adapter": "smallgreen-cloud/adapter-rin",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "d1",
          "queues",
          "workers-ai",
          "cron"
        ]
      },
      "login_method": "other",
      "data_flow": {
        "external_services": [
          "github.com",
          "自訂 S3 端點（選配）",
          "自訂 webhook URL（選配）"
        ],
        "disclosure": "文章與評論存 D1；快取走 CACHE_STORAGE_MODE=database（本 adapter 預設，免 R2/S3）。媒體上傳需 R2 或外部 S3（選配——不設則圖片上傳不可用，文章功能不受影響）。AI 摘要走 Workers AI binding（免費 10k Neurons/day，SVC-4 等級標示適用）。…"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/rin/2026-08-02-sandbox-01.json",
          "evidence/rin/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/rin/artifacts/2026-08-03-home.png",
          "evidence_pack_ref": "evidence/rin/2026-08-03-shots-01.json"
        }
      },
      "quota_note": "執行：claude-code deployer 批次（第 9 案 microfeed 因模型額度用盡中止，另案補收）；teardown 後沙盒五類歸零實查",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/rin/",
      "translations": {
        "en": {
          "one_liner": "A personal publishing system with posts comments RSS and queued AI summaries",
          "data_flow": "Posts and comments are stored in D1 while optional media and AI features use separately disclosed Cloudflare resources"
        },
        "zh-Hant-TW": {
          "one_liner": "個人部落格系統（文章／評論／RSS／Queue 背景 AI 摘要）",
          "data_flow": "文章與評論存 D1；快取走 CACHE_STORAGE_MODE=database（本 adapter 預設，免 R2/S3）。媒體上傳需 R2 或外部 S3（選配——不設則圖片上傳不可用，文章功能不受影響）。AI 摘要走 Workers AI binding（免費 10k Neurons/day，SVC-4 等級標示適用）。…"
        }
      }
    },
    {
      "id": "second-brain-cloudflare",
      "name": "Second Brain",
      "one_liner": "個人知識庫＋MCP server（keyword-only 降級收錄版）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架個人知識庫與 MCP 服務",
          "en": "A self-hosted personal knowledge base with an MCP server"
        },
        "problem": {
          "zh-tw": "筆記與知識散落在不同工具，AI 無法透過受控介面搜尋自己的內容",
          "en": "Notes and knowledge are scattered across tools and AI lacks a controlled interface to search them"
        },
        "audience": {
          "zh-tw": [
            "顧問、研究者與創作者",
            "需要保留工作記憶的小型團隊"
          ],
          "en": [
            "Consultants, researchers and creators",
            "Small teams that need durable working knowledge"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "保存筆記與知識關聯",
            "提供關鍵字搜尋與 MCP 存取",
            "以自己的 D1 與 KV 管理資料及授權"
          ],
          "en": [
            "Store notes and knowledge relationships",
            "Provide keyword search and MCP access",
            "Manage data and authorization in your own D1 and KV"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Worker、D1 與 KV",
            "需要自行設定 MCP 授權與備份方式"
          ],
          "en": [
            "A Cloudflare Worker, D1 and KV",
            "The deployer configures MCP authorization and backups"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前是關鍵字搜尋降級版，不等同向量搜尋",
            "資料保留與備份責任由部署者承擔"
          ],
          "en": [
            "The catalogue profile is keyword-search based, not vector search",
            "The deployer owns retention and backup responsibilities"
          ]
        }
      },
      "categories": [
        "sharing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "rahilp/second-brain-cloudflare",
        "adapter": "smallgreen-cloud/adapter-second-brain",
        "license": "MIT"
      },
      "components": {
        "cloudflare": [
          "workers",
          "d1",
          "kv",
          "workers-ai",
          "cron"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [],
        "disclosure": "筆記與知識圖譜存 D1（珍貴資料）；OAUTH_KV 存 MCP OAuth 狀態。本 adapter 為 keyword-only 降級版——Vectorize binding 已由 patch 移除（token 無 Vectorize 權限的帳號適配，B run E43）：語意搜尋降為關鍵字搜尋（上游讀路徑原生 fallback），寫路徑由 patch 0002 改為「binding 不存在才…"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.3.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/second-brain-cloudflare/2026-08-02-sandbox-01.json",
          "evidence/second-brain-cloudflare/2026-08-03-sandbox-02.json",
          "evidence/second-brain-cloudflare/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "claude-code",
            "model": "claude-opus-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/second-brain-cloudflare/artifacts/2026-08-03-recall.png",
          "evidence_pack_ref": "evidence/second-brain-cloudflare/2026-08-03-shots-01.json"
        }
      },
      "quota_note": "grade C 因 Workers AI：capture 走 embedding＋LLM 分類、recall 走 embedding＋查詢蒸餾，共用 10k Neurons/day 的**帳號層**免費額度；用盡即當日擷取與檢索皆回 500（不是降級是停擺），計數 00:00 UTC 重置",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/second-brain-cloudflare/",
      "translations": {
        "en": {
          "one_liner": "A personal knowledge base and MCP server in its keyword-search fallback profile",
          "data_flow": "Notes and the knowledge graph are stored in D1 while MCP authorization state is stored in KV and semantic search falls back to keywords"
        },
        "zh-Hant-TW": {
          "one_liner": "個人知識庫＋MCP server（keyword-only 降級收錄版）",
          "data_flow": "筆記與知識圖譜存 D1（珍貴資料）；OAUTH_KV 存 MCP OAuth 狀態。本 adapter 為 keyword-only 降級版——Vectorize binding 已由 patch 移除（token 無 Vectorize 權限的帳號適配，B run E43）：語意搜尋降為關鍵字搜尋（上游讀路徑原生 fallback），寫路徑由 patch 0002 改為「binding 不存在才…"
        }
      }
    },
    {
      "id": "serverless-dns",
      "name": "serverless-dns",
      "one_liner": "RethinkDNS 引擎的自架 DoH 解析端點（內建封鎖清單）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架 DNS over HTTPS 解析服務",
          "en": "A self-hosted DNS-over-HTTPS resolver"
        },
        "problem": {
          "zh-tw": "個人或小型團隊需要可自訂的 DNS 解析與封鎖清單入口",
          "en": "Individuals and small teams need a customizable DNS resolver and blocklist endpoint"
        },
        "audience": {
          "zh-tw": [
            "需要自訂 DNS 的小型團隊",
            "希望減少第三方解析依賴的技術使用者"
          ],
          "en": [
            "Small teams that need custom DNS",
            "Technical users who want less dependence on third-party resolvers"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "提供 DoH 解析端點",
            "使用建置時封裝的封鎖清單",
            "以無狀態方式處理請求"
          ],
          "en": [
            "Provide a DoH resolver endpoint",
            "Use blocklists packaged at build time",
            "Process requests without storing query history by default"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Worker",
            "需要自行維護封鎖清單與解析政策"
          ],
          "en": [
            "A Cloudflare Worker",
            "The deployer maintains blocklists and resolver policies"
          ]
        },
        "limitations": {
          "zh-tw": [
            "不是完整的企業 DNS 管理平台",
            "封鎖清單更新與錯誤分類需要自行維護"
          ],
          "en": [
            "It is not a full enterprise DNS-management platform",
            "Blocklist updates and false-positive handling remain the deployer's responsibility"
          ]
        }
      },
      "categories": [
        "utilities"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "serverless-dns/serverless-dns",
        "adapter": "smallgreen-cloud/adapter-serverless-dns",
        "license": "MPL-2.0"
      },
      "components": {
        "cloudflare": [
          "workers"
        ]
      },
      "login_method": "none",
      "data_flow": {
        "external_services": [
          "cloudflare-dns.com",
          "dns.google",
          "max.rethinkdns.com",
          "cfstore.rethinkdns.com"
        ],
        "disclosure": "無狀態服務——不落地任何查詢紀錄（預設 env 無 AE/logpush binding，send_metrics=false）。封鎖清單於 build 期自 cfstore.rethinkdns.com 下載打包"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.1",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/serverless-dns/2026-08-02-sandbox-01.json",
          "evidence/serverless-dns/2026-08-03-sandbox-02.json"
        ],
        "compatible_agents": [
          {
            "agent": "agy",
            "model": "gemini(Antigravity Pro 預設)",
            "result": "autonomous"
          },
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "A",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/serverless-dns/",
      "translations": {
        "en": {
          "one_liner": "A self-hosted DNS-over-HTTPS endpoint powered by the RethinkDNS engine with built-in blocklists",
          "data_flow": "The stateless default stores no DNS query history and packages its blocklists at build time"
        },
        "zh-Hant-TW": {
          "one_liner": "RethinkDNS 引擎的自架 DoH 解析端點（內建封鎖清單）",
          "data_flow": "無狀態服務——不落地任何查詢紀錄（預設 env 無 AE/logpush binding，send_metrics=false）。封鎖清單於 build 期自 cfstore.rethinkdns.com 下載打包"
        }
      }
    },
    {
      "id": "sink",
      "name": "Sink",
      "one_liner": "自架短網址服務，附 Analytics Engine 造訪統計",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架短網址與造訪統計服務",
          "en": "A self-hosted URL shortener with visit analytics"
        },
        "problem": {
          "zh-tw": "活動與分享連結依賴第三方短網址，企業無法掌握連結與基本統計",
          "en": "Campaign and sharing links depend on a third-party shortener, leaving the business without control of links and basic statistics"
        },
        "audience": {
          "zh-tw": [
            "需要品牌短網址的小型企業",
            "活動與行銷團隊"
          ],
          "en": [
            "Small businesses that need branded links",
            "Event and marketing teams"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "建立短網址與轉址",
            "在自己的帳號儲存彙總造訪統計",
            "由部署者維護連結與資料"
          ],
          "en": [
            "Create short links and redirects",
            "Store aggregate visit statistics in your own account",
            "Maintain links and data under the deployer's control"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要自己的 Cloudflare 帳號",
            "需要 Workers、KV；統計功能需要 Analytics Engine"
          ],
          "en": [
            "Your own Cloudflare account",
            "Workers and KV; Analytics Engine for statistics"
          ]
        },
        "limitations": {
          "zh-tw": [
            "轉址目標由使用者自行提供與負責",
            "統計受平台保留政策與免費額度限制"
          ],
          "en": [
            "The deployer is responsible for destination URLs",
            "Statistics remain subject to platform retention and free-tier limits"
          ]
        }
      },
      "categories": [
        "utilities",
        "analytics"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "miantiao-me/Sink",
        "adapter": "smallgreen-cloud/adapter-sink",
        "license": "AGPL-3.0"
      },
      "components": {
        "cloudflare": [
          "workers",
          "kv",
          "analytics-engine",
          "workers-ai(選配)"
        ]
      },
      "login_method": "token",
      "data_flow": {
        "external_services": [
          "api.cloudflare.com",
          "(user-directed)",
          "(user-configured)"
        ],
        "disclosure": "自己帳號裡的短網址服務，附點擊統計儀表板"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.0",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/sink/2026-07-30-sandbox-01.json",
          "evidence/sink/2026-07-30-sandbox-02.json",
          "evidence/sink/2026-07-31-sandbox-03.json",
          "evidence/sink/2026-08-01-sandbox-04.json",
          "evidence/sink/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "agy",
            "model": "gemini（Antigravity CLI 預設，session 未指定）",
            "result": "assisted"
          },
          {
            "agent": "agy",
            "model": "gemini（Antigravity Pro，session 預設）",
            "result": "autonomous"
          },
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/sink/artifacts/2026-08-03-dashboard.png",
          "evidence_pack_ref": "evidence/sink/2026-08-03-shots-01.json"
        }
      },
      "quota_note": "執行：claude-code deployer 批次（第 9 案 microfeed 因模型額度用盡中止，另案補收）；teardown 後沙盒五類歸零實查",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/sink/",
      "translations": {
        "en": {
          "one_liner": "A self-hosted URL shortener with Analytics Engine visit statistics",
          "data_flow": "Short links run in your account and aggregate visit statistics in Analytics Engine"
        },
        "zh-Hant-TW": {
          "one_liner": "自架短網址服務，附 Analytics Engine 造訪統計",
          "data_flow": "自己帳號裡的短網址服務，附點擊統計儀表板"
        }
      }
    },
    {
      "id": "tapcard-mcp",
      "name": "TapCard MCP",
      "one_liner": "自架 NFC／QR 電子名片＋私人 AI 名片庫：公開頁掃即得，收到的名片存自己帳號",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架 NFC／QR 電子名片與私人名片庫 MCP",
          "en": "A self-hosted NFC/QR business card and private card-wall MCP"
        },
        "problem": {
          "zh-tw": "紙本名片會過時，公開個人資訊與收到的聯絡資料也缺少同一個可控入口",
          "en": "Paper cards become outdated, while public profile sharing and received contacts lack one controlled entry point"
        },
        "audience": {
          "zh-tw": [
            "顧問、業務與自由工作者",
            "需要公開名片又要保留私人聯絡資料的小型團隊"
          ],
          "en": [
            "Consultants, sales professionals and freelancers",
            "Small teams that need public profiles and private contact storage"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "發布 NFC／QR 公開電子名片",
            "下載 vCard 並分享公開個人頁",
            "預覽、確認、匯入、搜尋與匯出私人名片"
          ],
          "en": [
            "Publish an NFC/QR public business card",
            "Share a public profile and download vCards",
            "Preview, confirm, import, search and export private cards"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要自己的 Workers、D1、R2 與 KV",
            "需要部署者管理憑證，私人 MCP key 只能由部署者保存"
          ],
          "en": [
            "Your own Workers, D1, R2 and KV",
            "The deployer manages the admin credential and private MCP keys"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前尚未支援向量搜尋、多人團隊與 NFC 寫卡 App",
            "URL 匯入只適用於符合規格的公開 TapCard"
          ],
          "en": [
            "Vector search, multi-user teams and an NFC-writing app are not in the current scope",
            "URL import is limited to public TapCards that meet the contract"
          ]
        }
      },
      "categories": [
        "sharing"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "ai-cooperation/tapcard-mcp",
        "license": "Apache-2.0"
      },
      "components": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "kv"
        ]
      },
      "login_method": "other",
      "data_flow": {
        "external_services": [
          "(user-directed)"
        ],
        "disclosure": "NFC／QR 公開電子名片與 AI 原生私人名片庫"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.3.0",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/tapcard-mcp/2026-08-03-sandbox-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-opus-5",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "C",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/tapcard-mcp/artifacts/2026-08-03-public-profile.png",
          "evidence_pack_ref": "evidence/tapcard-mcp/2026-08-03-sandbox-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/tapcard-mcp/",
      "translations": {
        "en": {
          "one_liner": "A self-hosted NFC and QR business card with a private AI card wall — public page on tap, received cards stored in your own account",
          "data_flow": "NFC and QR profile pages are public; received contacts, thumbnails and MCP keys stay private in your own D1, R2 and KV"
        },
        "zh-Hant-TW": {
          "one_liner": "自架 NFC／QR 電子名片＋私人 AI 名片庫：公開頁掃即得，收到的名片存自己帳號",
          "data_flow": "NFC／QR 公開電子名片與 AI 原生私人名片庫"
        }
      }
    },
    {
      "id": "uptimeflare",
      "name": "UptimeFlare",
      "one_liner": "自架服務監測與狀態頁（cron 探測＋D1 歷史）",
      "product_summary": {
        "project_type": {
          "zh-tw": "自架網站與 API 監測、狀態頁服務",
          "en": "A self-hosted website and API monitor with a public status page"
        },
        "problem": {
          "zh-tw": "小型團隊通常在客戶回報後才知道服務中斷，缺少可查的狀態歷史",
          "en": "Small teams often learn about outages from customers and lack a simple status history to inspect"
        },
        "audience": {
          "zh-tw": [
            "小型 SaaS 團隊",
            "接案工作室與需要公開狀態頁的服務商"
          ],
          "en": [
            "Small SaaS teams",
            "Studios and service providers that need a public status page"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "定期探測指定網址",
            "保存 D1 狀態歷史",
            "提供公開狀態頁與可選通知"
          ],
          "en": [
            "Probe configured URLs on a schedule",
            "Store status history in D1",
            "Publish a status page with optional notifications"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "需要 Cloudflare Workers、Pages、D1、KV 與 Cron",
            "需要自行設定被監測網址與通知方式"
          ],
          "en": [
            "Cloudflare Workers, Pages, D1, KV and Cron",
            "The deployer configures monitored URLs and notification targets"
          ]
        },
        "limitations": {
          "zh-tw": [
            "不是完整的 incident management 或 SLA 平台",
            "探測頻率受帳號額度與排程限制"
          ],
          "en": [
            "It is not a full incident-management or SLA platform",
            "Probe frequency is limited by account quotas and schedules"
          ]
        }
      },
      "categories": [
        "utilities"
      ],
      "profile": "small-app",
      "repo": {
        "upstream": "lyc8503/UptimeFlare",
        "adapter": "smallgreen-cloud/adapter-uptimeflare",
        "license": "Apache-2.0"
      },
      "components": {
        "cloudflare": [
          "workers",
          "pages",
          "d1",
          "kv",
          "cron"
        ]
      },
      "login_method": "none",
      "data_flow": {
        "external_services": [
          "(user-configured)",
          "cloudflare.com",
          "(user-configured)"
        ],
        "disclosure": "自己帳號裡的網站監測與狀態頁（每分鐘檢查、離線通知、歷史紀錄）"
      },
      "verification": {
        "level": "discovered",
        "spec_version": "0.2.0",
        "last_verified": "2026-08-03",
        "evidence_packs": [
          "evidence/uptimeflare/2026-07-30-sandbox-01.json",
          "evidence/uptimeflare/2026-07-30-sandbox-02.json",
          "evidence/uptimeflare/2026-07-30-sandbox-03.json",
          "evidence/uptimeflare/2026-08-03-shots-01.json"
        ],
        "compatible_agents": [
          {
            "agent": "claude-code",
            "model": "claude-fable-5",
            "result": "autonomous"
          },
          {
            "agent": "codex",
            "model": "gpt-5.4（reasoning effort low）",
            "result": "autonomous"
          },
          {
            "agent": "opencode",
            "model": "big-pickle",
            "result": "autonomous"
          }
        ]
      },
      "free_tier_grade": "A",
      "low_carbon": {
        "scale_to_zero": true,
        "green_compute": false,
        "no_idle_infra": true
      },
      "maintenance_status": "active",
      "images": {
        "screenshot": {
          "path": "evidence/uptimeflare/artifacts/2026-08-03-status.png",
          "evidence_pack_ref": "evidence/uptimeflare/2026-08-03-shots-01.json"
        }
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/uptimeflare/",
      "translations": {
        "en": {
          "one_liner": "Service monitoring and a public status page with scheduled probes and D1 history",
          "data_flow": "Scheduled checks status history and optional outage notifications run in your own account"
        },
        "zh-Hant-TW": {
          "one_liner": "自架服務監測與狀態頁（cron 探測＋D1 歷史）",
          "data_flow": "自己帳號裡的網站監測與狀態頁（每分鐘檢查、離線通知、歷史紀錄）"
        }
      }
    }
  ],
  "onboarding": [
    {
      "id": "homebox-edge",
      "name": "HomeBox Edge",
      "state": "evidence-needed",
      "state_label": {
        "zh-tw": "等待公開驗證",
        "en": "Awaiting public verification"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "自架的家庭與工作室資產管理小型專案",
          "en": "A self-hosted asset inventory for homes and small studios"
        },
        "problem": {
          "zh-tw": "解決設備、位置、保固與照片分散在試算表、訊息與雲端相簿，查找與交接都很困難的問題",
          "en": "Solves the problem of household and studio asset data being scattered across spreadsheets, messages and photo albums"
        },
        "audience": {
          "zh-tw": [
            "家庭、工作室、需要管理設備的人"
          ],
          "en": [
            "Households",
            "studios",
            "people managing equipment"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "資產新增、搜尋、編輯、封存與還原",
            "HomeBox CSV／TSV 預覽、確認後匯入與匯出",
            "私有照片、縮圖與可撤銷的 AI 連線"
          ],
          "en": [
            "Create, search, edit, archive and restore assets",
            "Preview, confirm and exchange HomeBox CSV or TSV",
            "Keep private photos and thumbnails with revocable AI connectors"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers、D1、R2、KV 與 Images binding；需要自有 Cloudflare 帳號"
          ],
          "en": [
            "Cloudflare Workers",
            "D1",
            "R2",
            "KV and Images binding; a Cloudflare account is required"
          ]
        },
        "limitations": {
          "zh-tw": [
            "上架前仍需完成正式 release、部署驗收、teardown 與 Evidence Pack；AI 連線需自行管理供應商與費用"
          ],
          "en": [
            "A release",
            "live acceptance",
            "teardown and Evidence Pack are still required; AI connectors require your own provider and cost controls"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "kv",
          "images"
        ],
        "external_services": []
      },
      "current_stage": {
        "zh-tw": "v0.2 功能與 SmallGreen 三份契約已完成，等待正確 Cloudflare 帳號下的真實部署與公開 Evidence Pack",
        "en": "v0.2 features and the three SmallGreen contracts are complete; live deployment in the correct Cloudflare account and a public Evidence Pack remain"
      },
      "next_steps": {
        "zh-tw": [
          "確認可存取既有 Worker 與 D1、KV、R2、Images 資源的 Cloudflare 帳號",
          "固定可上架的 main／release commit，並記錄部署前 migration 與資料備份狀態",
          "完成真實部署、照片與 CSV／MCP 驗收、teardown 與 Evidence Pack"
        ],
        "en": [
          "Confirm the Cloudflare account that can access the existing Worker and D1, KV, R2 and Images resources",
          "Freeze the publishable main or release commit and record pre-deploy migrations and backups",
          "Complete live deployment, photo plus CSV/MCP acceptance, teardown and an Evidence Pack"
        ]
      },
      "product_family": "personal-vault",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/homebox-edge/"
    },
    {
      "id": "kb-vault",
      "name": "Free Second Brain（kb-vault）",
      "state": "canonical-repo-needed",
      "state_label": {
        "zh-tw": "整理後上架",
        "en": "Canonicalisation before entry"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Markdown、D1 與 Remote MCP 組成的個人知識庫專案",
          "en": "A personal knowledge base built from Markdown, D1 and Remote MCP"
        },
        "problem": {
          "zh-tw": "解決研究、顧問與 AI 工作經驗散落在不同工具，日後無法搜尋、連結與重用的問題",
          "en": "Solves the problem of research, consulting and AI work knowledge being fragmented across tools and difficult to search, connect and reuse"
        },
        "audience": {
          "zh-tw": [
            "研究者、顧問、創作者、需要累積 AI 工作記憶的人"
          ],
          "en": [
            "Researchers",
            "consultants",
            "creators",
            "people building durable AI memory"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "Markdown 卡片、標籤、雙向連結與圖譜",
            "D1 全文搜尋與 Remote MCP 讀寫",
            "RSS 收集，以及選配的 Notion／GitHub 備份"
          ],
          "en": [
            "Markdown cards, tags, bidirectional links and a graph view",
            "D1 full-text search and Remote MCP read/write access",
            "RSS collection plus optional Notion or GitHub backup"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers、Pages、D1、KV、選配 R2 與 Cron；需要 OAuth、RSS 或備份服務的憑證時另行設定"
          ],
          "en": [
            "Cloudflare Workers",
            "Pages",
            "D1",
            "KV",
            "optional R2 and Cron; credentials are needed for OAuth",
            "RSS or backup services"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前有兩個 checkout，需先凍結 canonical repo；Notion、GitHub 與 RSS 是外部依賴，需各自驗證權限與資料邊界"
          ],
          "en": [
            "Two checkouts still need to be reconciled into one canonical repo; Notion",
            "GitHub and RSS are external dependencies with separate permission and data-boundary checks"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "pages",
          "d1",
          "kv",
          "r2",
          "cron"
        ],
        "external_services": [
          "Google OAuth",
          "RSS sources",
          "Notion API (optional)",
          "GitHub API (optional)"
        ]
      },
      "current_stage": {
        "zh-tw": "Worker、UI、MCP 與基本同步功能已存在，但目前有兩個 checkout，尚未凍結上架真相源",
        "en": "Worker, UI, MCP and basic sync features exist, but two checkouts must be reconciled before publishing"
      },
      "next_steps": {
        "zh-tw": [
          "決定 canonical repo 與 release commit",
          "補 SmallGreen 三檔契約、Agent 引導與外部服務揭露",
          "完成登入、MCP、RSS、同步與 teardown 的 Evidence Pack"
        ],
        "en": [
          "Choose the canonical repository and release commit",
          "Add the three SmallGreen contracts, Agent guidance and external-service disclosure",
          "Produce an Evidence Pack covering login, MCP, RSS, sync and teardown"
        ]
      },
      "product_family": "personal-vault",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/kb-vault/"
    },
    {
      "id": "meeting-capture-kit",
      "name": "Meeting Capture Kit",
      "state": "evidence-needed",
      "state_label": {
        "zh-tw": "等待公開驗證",
        "en": "Awaiting public verification"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 LINE、Cloudflare Worker 與 GitHub Actions 串成的會議紀錄處理流程",
          "en": "A meeting-record pipeline connecting LINE, a Cloudflare Worker and GitHub Actions"
        },
        "problem": {
          "zh-tw": "解決會議音訊留在聊天工具、難以轉錄整理，且敏感紀錄不希望集中在第三方 SaaS 的問題",
          "en": "Solves the problem of meeting audio staying in chat tools, being hard to structure, and sensitive notes needing a private system of record"
        },
        "audience": {
          "zh-tw": [
            "需要掌握會議資料的顧問、團隊與個人工作者"
          ],
          "en": [
            "Consultants",
            "teams and solo operators who need control of meeting records"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "LINE webhook 驗簽與使用者 allowlist",
            "GitHub Actions 執行語音轉錄、術語校正與摘要",
            "Private repo 留存會議 Markdown，並可回傳 LINE 通知"
          ],
          "en": [
            "Signed LINE webhooks with an explicit user allowlist",
            "GitHub Actions for transcription, terminology correction and summaries",
            "Retain meeting Markdown in a private repo and send LINE notifications"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers、KV、GitHub Actions 與 Private GitHub repository；需要 LINE、Groq 與 Gemini 憑證"
          ],
          "en": [
            "Cloudflare Workers",
            "KV",
            "GitHub Actions and a private GitHub repository; LINE",
            "Groq and Gemini credentials are required"
          ]
        },
        "limitations": {
          "zh-tw": [
            "仍需人工確認 provider 資料流、secret 與費用限制；目前以合成音訊驗收，尚未完成公開 Evidence Pack"
          ],
          "en": [
            "Provider data flows",
            "secrets and cost limits still need human review; acceptance currently uses synthetic audio and the public Evidence Pack is not complete"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "kv"
        ],
        "external_services": [
          "LINE",
          "GitHub Actions",
          "Groq",
          "Gemini"
        ]
      },
      "current_stage": {
        "zh-tw": "已有 Worker、pipeline、契約與合成驗收案例，但尚未建立 Registry 卡片與公開 Evidence Pack",
        "en": "Worker, pipeline, contracts and synthetic acceptance cases exist, but no Registry card or public Evidence Pack exists yet"
      },
      "next_steps": {
        "zh-tw": [
          "固定可上架的 template release commit 與公開資料邊界",
          "完成外部 provider 資料流、secret 與費用限制的人工 review",
          "用合成音訊完成真實部署、驗收、teardown 與 Evidence Pack"
        ],
        "en": [
          "Freeze a publishable template release and its public data boundary",
          "Human-review provider data flows, secrets and cost limits",
          "Complete a live deployment, acceptance, teardown and Evidence Pack with synthetic audio"
        ]
      },
      "product_family": "pipeline",
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/meeting-capture-kit/"
    }
  ],
  "research_cases": [
    {
      "id": "cloud-mail",
      "name": "Cloud Mail",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "maillab/cloud-mail",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-08-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "建立在 Cloudflare 上的簡易網域郵件服務",
          "en": "A simple domain email service built on Cloudflare"
        },
        "problem": {
          "zh-tw": "解決自有網域收發郵件與附件需要維護完整郵件伺服器的問題",
          "en": "Solves the need to run a full mail server just to send and receive mail for a domain"
        },
        "audience": {
          "zh-tw": [
            "需要自有網域郵件的小型團隊",
            "需要自行掌握郵件資料的人"
          ],
          "en": [
            "Small teams needing domain email",
            "people who want control of mail data"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "收發郵件與附件",
            "綁定單一網域",
            "以 Worker 部署郵件服務"
          ],
          "en": [
            "Send and receive mail with attachments",
            "bind one domain",
            "deploy the mail service on Workers"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "自有網域與 Email Routing",
            "需依上游文件設定郵件路由"
          ],
          "en": [
            "Cloudflare Workers",
            "a domain and Email Routing",
            "upstream mail-routing configuration"
          ]
        },
        "limitations": {
          "zh-tw": [
            "郵件路由與遞送可靠性仍需實際驗證",
            "單一網域限制需確認"
          ],
          "en": [
            "Mail routing and delivery reliability still need live verification",
            "the one-domain limit needs confirmation"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "email-routing"
        ]
      },
      "current_stage": {
        "zh-tw": "已完成 README 與 metadata 研究",
        "尚未完成部署契約與實機驗證": null,
        "en": "README and metadata research is complete; the deployment contract and live verification are pending"
      },
      "next_steps": {
        "zh-tw": [
          "確認郵件路由與附件資料流",
          "建立可重現部署步驟",
          "完成收發與 teardown 驗收"
        ],
        "en": [
          "Confirm mail-routing and attachment data flows",
          "write reproducible deployment steps",
          "verify send receive and teardown"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/cloud-mail/"
    },
    {
      "id": "cloudflare-temp-email",
      "name": "Cloudflare Temporary Email",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "dreamhunter2333/cloudflare_temp_email",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-08-25",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "建立在 Cloudflare 上的臨時信箱服務",
          "en": "A temporary email service built on Cloudflare"
        },
        "problem": {
          "zh-tw": "解決短期註冊或測試需要一次性收件地址，又不想使用第三方臨時信箱的問題",
          "en": "Solves the need for disposable addresses during signups or tests without relying on a third-party inbox"
        },
        "audience": {
          "zh-tw": [
            "軟體測試者",
            "需要短期收件地址的人"
          ],
          "en": [
            "Software testers",
            "people needing short-lived inboxes"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "建立臨時信箱",
            "收發郵件與附件",
            "IMAP／SMTP 與 Telegram Bot 整合"
          ],
          "en": [
            "Create temporary inboxes",
            "handle mail and attachments",
            "integrate IMAP SMTP and a Telegram bot"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Worker",
            "網域與郵件設定",
            "需核對外部郵件與 Telegram 設定"
          ],
          "en": [
            "A Cloudflare Worker",
            "a domain and mail configuration",
            "external mail and Telegram settings"
          ]
        },
        "limitations": {
          "zh-tw": [
            "臨時信箱的保存期限與濫用防護需實測",
            "外部郵件遞送不由 Worker 單獨保證"
          ],
          "en": [
            "Retention and abuse controls need testing",
            "external mail delivery is not guaranteed by the Worker alone"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "email-routing"
        ],
        "external_services": [
          "IMAP",
          "SMTP",
          "Telegram Bot"
        ]
      },
      "current_stage": {
        "zh-tw": "上游功能與部署線索已整理",
        "尚未建立 SmallGreen 研究以外的驗證證據": null,
        "en": "Upstream features and deployment clues are mapped; SmallGreen verification evidence is not started"
      },
      "next_steps": {
        "zh-tw": [
          "核對郵件供應商與資料保存位置",
          "驗證建立收件與過期流程",
          "設計濫用與 teardown 測試"
        ],
        "en": [
          "Confirm mail providers and data retention",
          "verify inbox creation and expiry",
          "design abuse and teardown tests"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/cloudflare-temp-email/"
    },
    {
      "id": "chatgpt-telegram-workers",
      "name": "ChatGPT Telegram Workers",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "tbxark/ChatGPT-Telegram-Workers",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-04-06",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Cloudflare Worker 執行的自有 Telegram AI Bot",
          "en": "A self-hosted Telegram AI bot running on a Cloudflare Worker"
        },
        "problem": {
          "zh-tw": "解決把 Telegram 對話接到指定 AI 服務時需要自行維護後端的問題",
          "en": "Solves the backend burden of connecting Telegram conversations to a chosen AI service"
        },
        "audience": {
          "zh-tw": [
            "想擁有自己 Telegram Bot 的人",
            "需要多模型切換的開發者"
          ],
          "en": [
            "People wanting their own Telegram bot",
            "developers needing model switching"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "多 AI provider",
            "模型切換與串流",
            "自訂指令與多 Bot"
          ],
          "en": [
            "Multiple AI providers",
            "model switching and streaming",
            "custom commands and multiple bots"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "Telegram Bot Token",
            "AI provider 憑證"
          ],
          "en": [
            "Cloudflare Workers",
            "a Telegram Bot Token and AI provider credentials"
          ]
        },
        "limitations": {
          "zh-tw": [
            "外部 AI provider 會產生成本與資料流風險",
            "Bot 權限與公開 webhook 需額外防護"
          ],
          "en": [
            "External AI providers add cost and data-flow risk",
            "bot permissions and public webhooks need hardening"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers"
        ],
        "external_services": [
          "Telegram",
          "AI providers"
        ]
      },
      "current_stage": {
        "zh-tw": "單檔 Worker 與功能範圍已確認",
        "尚未驗證各 provider 的部署差異": null,
        "en": "The single-file Worker and feature scope are confirmed; provider-specific deployment differences are unverified"
      },
      "next_steps": {
        "zh-tw": [
          "固定 provider 與 secret 邊界",
          "驗證 webhook 與模型切換",
          "補成本與資料刪除驗收"
        ],
        "en": [
          "Fix provider and secret boundaries",
          "verify webhooks and model switching",
          "add cost and data-deletion acceptance"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/chatgpt-telegram-workers/"
    },
    {
      "id": "agentic-inbox",
      "name": "Agentic Inbox",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "cloudflare/agentic-inbox",
        "license": "Apache-2.0",
        "default_branch": "main",
        "last_push": "2026-04-23",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "結合 Email Routing、Durable Object 與 AI Agent 的自架信箱",
          "en": "A self-hosted inbox combining Email Routing Durable Objects and an AI agent"
        },
        "problem": {
          "zh-tw": "解決郵件閱讀、搜尋與回覆草稿散落在 SaaS，無法掌握信箱資料與自動化邊界的問題",
          "en": "Solves the loss of data control and automation boundaries when inbox work is scattered across SaaS tools"
        },
        "audience": {
          "zh-tw": [
            "需要自有信箱工作流的人",
            "想測試郵件 AI Agent 的開發者"
          ],
          "en": [
            "People needing an owned inbox workflow",
            "developers testing email AI agents"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "每個信箱獨立儲存",
            "郵件搜尋與附件保存",
            "Agent 讀取搜尋與草擬回覆"
          ],
          "en": [
            "Per-mailbox storage",
            "email search and attachment retention",
            "agent read search and reply drafting"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "Email Routing",
            "Durable Objects SQLite",
            "R2",
            "Workers AI 或 Agents SDK"
          ],
          "en": [
            "Cloudflare Workers",
            "Email Routing",
            "Durable Objects SQLite",
            "R2",
            "Workers AI or the Agents SDK"
          ]
        },
        "limitations": {
          "zh-tw": [
            "部署按鈕後仍需多項設定",
            "AI 回覆與郵件資料邊界必須人工審查"
          ],
          "en": [
            "More configuration is needed after the deploy button",
            "AI reply and email-data boundaries need human review"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "durable-objects",
          "r2",
          "workers-ai",
          "email-routing"
        ],
        "external_services": [
          "Email Routing"
        ]
      },
      "current_stage": {
        "zh-tw": "上游架構與資料流清楚",
        "尚未完成小型部署與 AI 權限驗證": null,
        "en": "Upstream architecture and data flow are clear; a small deployment and AI-permission review are pending"
      },
      "next_steps": {
        "zh-tw": [
          "驗證 Durable Object mailbox 隔離",
          "確認附件與 AI 資料流",
          "完成部署後的設定與 teardown"
        ],
        "en": [
          "Verify Durable Object mailbox isolation",
          "confirm attachment and AI data flows",
          "complete post-deploy setup and teardown"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/agentic-inbox/"
    },
    {
      "id": "moemail",
      "name": "MoeMail",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "beilunyang/moemail",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-07-30",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Next.js 與 Cloudflare 組成的臨時信箱服務",
          "en": "A temporary email service built with Next.js and Cloudflare"
        },
        "problem": {
          "zh-tw": "解決開發測試需要快速建立短期信箱的問題",
          "en": "Solves the need to quickly create short-lived inboxes for development and testing"
        },
        "audience": {
          "zh-tw": [
            "開發者",
            "測試者",
            "需要臨時收件的人"
          ],
          "en": [
            "Developers",
            "testers",
            "people needing temporary inboxes"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "建立與查看臨時信箱",
            "提供 API",
            "以 Cloudflare 部署前後端"
          ],
          "en": [
            "Create and inspect temporary inboxes",
            "expose an API",
            "deploy frontend and backend on Cloudflare"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Pages 或 Workers",
            "Next.js 建置流程",
            "依文件設定環境變數"
          ],
          "en": [
            "Cloudflare Pages or Workers",
            "a Next.js build flow and documented environment variables"
          ]
        },
        "limitations": {
          "zh-tw": [
            "郵件保存與遞送規則需核對",
            "Next.js 部署方式可能隨平台設定變動"
          ],
          "en": [
            "Mail retention and delivery rules need confirmation",
            "the Next.js deployment path may vary with platform settings"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "pages"
        ],
        "external_services": [
          "Email provider"
        ]
      },
      "current_stage": {
        "zh-tw": "產品與部署文件已完成初步研究",
        "尚未驗證 Cloudflare 版本的完整郵件流程": null,
        "en": "Product and deployment docs are mapped; the complete Cloudflare mail flow is unverified"
      },
      "next_steps": {
        "zh-tw": [
          "確認 Cloudflare adapter 與 bindings",
          "實測信箱生命週期",
          "記錄外部郵件依賴"
        ],
        "en": [
          "Confirm the Cloudflare adapter and bindings",
          "test inbox lifecycle",
          "record external mail dependencies"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/moemail/"
    },
    {
      "id": "cf-workers-status-page",
      "name": "Cloudflare Worker Status Page",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "eidam/cf-workers-status-page",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2024-08-21",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Worker 與 Cron 監測網站的狀態頁",
          "en": "A status page that monitors websites with Workers and Cron"
        },
        "problem": {
          "zh-tw": "解決小型服務需要公開可讀的可用性歷史與通知頁面的問題",
          "en": "Solves the need for a readable public availability history and notification page for small services"
        },
        "audience": {
          "zh-tw": [
            "維護個人服務的人",
            "需要公開狀態頁的小型團隊"
          ],
          "en": [
            "People maintaining personal services",
            "small teams needing a public status page"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "定期檢查網站",
            "保存歷史狀態",
            "發送 Slack 或 Discord 通知"
          ],
          "en": [
            "Check websites on a schedule",
            "keep status history",
            "send Slack or Discord notifications"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "Cron",
            "KV",
            "自有網域；通知服務為選配"
          ],
          "en": [
            "Cloudflare Workers",
            "Cron",
            "KV and a domain; notification services are optional"
          ]
        },
        "limitations": {
          "zh-tw": [
            "上游長期未更新",
            "監測結果與通知延遲需實測"
          ],
          "en": [
            "The upstream has been inactive for a long time",
            "monitoring results and notification latency need testing"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "kv",
          "cron"
        ],
        "external_services": [
          "Slack or Discord webhooks"
        ]
      },
      "current_stage": {
        "zh-tw": "架構與維護風險已確認",
        "尚未決定是否值得進入部署驗證": null,
        "en": "Architecture and maintenance risk are known; its value for deployment verification is not decided"
      },
      "next_steps": {
        "zh-tw": [
          "確認目前 Cloudflare API 相容性",
          "實測 Cron 與 KV 歷史資料",
          "依維護風險決定去留"
        ],
        "en": [
          "Check current Cloudflare API compatibility",
          "test Cron and KV history",
          "decide whether maintenance risk is acceptable"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/cf-workers-status-page/"
    },
    {
      "id": "vmail",
      "name": "VMAIL",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "oiov/vmail",
        "license": "GPL-3.0",
        "default_branch": "main",
        "last_push": "2026-07-16",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Email Worker、D1 與 React 組成的臨時郵件服務",
          "en": "A temporary email service built from an Email Worker D1 and React frontend"
        },
        "problem": {
          "zh-tw": "解決需要多網域臨時收件、API 與簡易管理介面的問題",
          "en": "Solves the need for multi-domain temporary mailboxes with an API and simple management interface"
        },
        "audience": {
          "zh-tw": [
            "測試者",
            "需要多網域郵件入口的開發者"
          ],
          "en": [
            "Testers",
            "developers needing multi-domain mail entry points"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "多網域信箱",
            "D1 保存郵件",
            "REST API 與可選寄信 provider"
          ],
          "en": [
            "Multiple domains",
            "D1 mail storage",
            "a REST API and optional sending providers"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "Email Routing",
            "自有網域與 Resend 或其他寄信服務"
          ],
          "en": [
            "Cloudflare Workers",
            "D1",
            "Email Routing",
            "a domain and Resend or another sending service"
          ]
        },
        "limitations": {
          "zh-tw": [
            "郵件內容含敏感資料時需明確保存政策",
            "GPL-3.0 與外部寄信服務需納入發布審查"
          ],
          "en": [
            "Sensitive mail needs an explicit retention policy",
            "GPL-3.0 and external sending services need release review"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "email-routing"
        ],
        "external_services": [
          "Resend",
          "MailChannels"
        ]
      },
      "current_stage": {
        "zh-tw": "功能與元件已整理",
        "尚未完成多網域與郵件遞送驗收": null,
        "en": "Features and components are mapped; multi-domain and delivery acceptance are pending"
      },
      "next_steps": {
        "zh-tw": [
          "核對 Email Routing 與 D1 schema",
          "實測多網域收件",
          "建立資料刪除與濫用測試"
        ],
        "en": [
          "Confirm Email Routing and D1 schema",
          "test multi-domain receipt",
          "add deletion and abuse tests"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/vmail/"
    },
    {
      "id": "serverless-cloud-notepad",
      "name": "Serverless Cloud Notepad",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "s0urcelab/serverless-cloud-notepad",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2025-06-06",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Worker 與 KV 提供免登入文字記事與分享的小型服務",
          "en": "A small no-login text note and sharing service using Workers and KV"
        },
        "problem": {
          "zh-tw": "解決臨時文字需要快速記錄、同步與唯讀分享的問題",
          "en": "Solves the need to quickly record sync and share temporary text as read-only content"
        },
        "audience": {
          "zh-tw": [
            "需要簡易文字暫存的人",
            "開發與支援團隊"
          ],
          "en": [
            "People needing simple text scratch space",
            "development and support teams"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "自訂路徑",
            "自動保存",
            "唯讀分享",
            "不需帳號或資料庫"
          ],
          "en": [
            "Custom paths",
            "autosave",
            "read-only sharing",
            "no account or database"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "KV",
            "GitHub Actions；需評估 KV 寫入額度"
          ],
          "en": [
            "Cloudflare Workers",
            "KV and GitHub Actions; KV write limits need evaluation"
          ]
        },
        "limitations": {
          "zh-tw": [
            "KV 每日寫入限制可能影響高頻保存",
            "長期維護狀態需再確認"
          ],
          "en": [
            "KV daily write limits may affect high-frequency saving",
            "long-term maintenance needs rechecking"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "kv"
        ],
        "github": [
          "actions",
          "repository"
        ]
      },
      "current_stage": {
        "zh-tw": "服務定位與資料層清楚",
        "尚未實測高頻自動保存與權限邊界": null,
        "en": "Product and data-layer roles are clear; high-frequency autosave and access boundaries are untested"
      },
      "next_steps": {
        "zh-tw": [
          "確認 KV 寫入模型",
          "驗證唯讀連結與路徑權限",
          "補 GitHub Actions teardown 流程"
        ],
        "en": [
          "Confirm the KV write model",
          "verify read-only links and path access",
          "add the GitHub Actions teardown flow"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/serverless-cloud-notepad/"
    },
    {
      "id": "zmail",
      "name": "ZMail",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "takumi913/zmail",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-08-01",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "整合前後端的 24 小時臨時信箱 Worker",
          "en": "An integrated frontend and backend Worker for 24-hour temporary mailboxes"
        },
        "problem": {
          "zh-tw": "解決短期測試需要有期限收件地址的問題",
          "en": "Solves the need for expiring inboxes during short-term testing"
        },
        "audience": {
          "zh-tw": [
            "開發者",
            "測試者",
            "需要短期收件的人"
          ],
          "en": [
            "Developers",
            "testers",
            "people needing short-lived inboxes"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "建立 24 小時信箱",
            "單一 Worker 前後端",
            "自訂網域與郵件路由"
          ],
          "en": [
            "Create 24-hour inboxes",
            "run frontend and backend in one Worker",
            "use a custom domain and mail routing"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Worker",
            "自有網域與 Email Routing",
            "需以 GitHub Action 或部署按鈕設定"
          ],
          "en": [
            "A Cloudflare Worker",
            "a domain and Email Routing",
            "GitHub Action or deploy-button setup"
          ]
        },
        "limitations": {
          "zh-tw": [
            "目前 demo 標示只能查看且不能收信",
            "郵件過期與遞送尚待驗證"
          ],
          "en": [
            "The current demo says it is view-only and cannot receive mail",
            "expiry and delivery are unverified"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "email-routing"
        ],
        "github": [
          "actions"
        ]
      },
      "current_stage": {
        "zh-tw": "身份、授權與基本產品形狀已確認",
        "尚未視為可部署服務": null,
        "en": "Identity license and basic product shape are confirmed; it is not considered deployable yet"
      },
      "next_steps": {
        "zh-tw": [
          "先修正或確認 demo 的收信狀態",
          "驗證 24 小時生命週期",
          "補郵件資料清除證據"
        ],
        "en": [
          "Resolve or confirm the demo receive-mail status",
          "verify the 24-hour lifecycle",
          "add mail-deletion evidence"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/zmail/"
    },
    {
      "id": "roim-picx",
      "name": "roim-picx",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "roimdev/roim-picx",
        "license": "Apache-2.0",
        "default_branch": "main",
        "last_push": "2026-03-16",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "使用 R2、D1 與 KV 的自有圖片託管服務",
          "en": "An owned image-hosting service using R2 D1 and KV"
        },
        "problem": {
          "zh-tw": "解決圖片放在第三方圖床，無法控制檔案、連結與統計資料的問題",
          "en": "Solves the loss of control over image files links and statistics on third-party hosts"
        },
        "audience": {
          "zh-tw": [
            "網站作者",
            "需要自有圖床的開發者",
            "管理圖片資產的人"
          ],
          "en": [
            "Website authors",
            "developers needing an owned image host",
            "people managing image assets"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "圖片上傳與資料夾",
            "分享與到期",
            "OAuth",
            "統計與多儲存 provider"
          ],
          "en": [
            "Image upload and folders",
            "sharing and expiry",
            "OAuth",
            "statistics and multiple storage providers"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Workers 或 Pages Functions",
            "R2",
            "D1",
            "KV",
            "OAuth provider"
          ],
          "en": [
            "Workers or Pages Functions",
            "R2",
            "D1",
            "KV and an OAuth provider"
          ]
        },
        "limitations": {
          "zh-tw": [
            "需要同時管理多個 binding 與 OAuth 權限",
            "圖片公開連結與刪除政策需審查"
          ],
          "en": [
            "Several bindings and OAuth permissions must be managed",
            "public links and deletion policy need review"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "pages",
          "r2",
          "d1",
          "kv"
        ],
        "external_services": [
          "OAuth provider"
        ]
      },
      "current_stage": {
        "zh-tw": "產品能力與 Cloudflare 元件已整理",
        "尚未驗證檔案權限與刪除流程": null,
        "en": "Product capabilities and Cloudflare components are mapped; file permissions and deletion are unverified"
      },
      "next_steps": {
        "zh-tw": [
          "確認 OAuth callback 與權限模型",
          "實測 R2 檔案生命週期",
          "建立公開連結撤銷驗收"
        ],
        "en": [
          "Confirm the OAuth callback and permission model",
          "test the R2 file lifecycle",
          "verify public-link revocation"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/roim-picx/"
    },
    {
      "id": "authinbox",
      "name": "AuthInbox",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "TooonyChen/AuthInbox",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-07-09",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "自架多信箱 OTP 收件與擷取平台",
          "en": "A self-hosted multi-inbox OTP receiving and extraction platform"
        },
        "problem": {
          "zh-tw": "解決測試帳號驗證碼分散在信箱，難以分類、擷取與通知的問題",
          "en": "Solves the problem of OTPs being scattered across inboxes and difficult to classify extract and notify"
        },
        "audience": {
          "zh-tw": [
            "需要管理測試信箱的人",
            "自動化測試與帳號管理者"
          ],
          "en": [
            "People managing test inboxes",
            "automation testers and account operators"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "多信箱管理",
            "AI 分類與擷取",
            "D1 儲存",
            "Bark 通知與 Remote MCP"
          ],
          "en": [
            "Multi-inbox management",
            "AI classification and extraction",
            "D1 storage",
            "Bark notifications and Remote MCP"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "Email Worker",
            "AI provider",
            "Bark 或其他通知服務"
          ],
          "en": [
            "Cloudflare Workers",
            "D1",
            "an Email Worker",
            "an AI provider and Bark or another notification service"
          ]
        },
        "limitations": {
          "zh-tw": [
            "OTP 與郵件是高敏感資料",
            "AI provider、多人權限與 MCP 必須逐項審查"
          ],
          "en": [
            "OTPs and email are highly sensitive",
            "AI providers multi-user permissions and MCP need review"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "email-routing"
        ],
        "external_services": [
          "AI provider",
          "Bark"
        ]
      },
      "current_stage": {
        "zh-tw": "功能面與外部依賴已整理",
        "尚未完成敏感資料與權限驗證": null,
        "en": "Features and external dependencies are mapped; sensitive-data and permission verification are pending"
      },
      "next_steps": {
        "zh-tw": [
          "畫出 OTP 資料流與保存邊界",
          "測試多人 grant 與撤銷",
          "驗證 AI 不必要資料暴露"
        ],
        "en": [
          "Map OTP data flow and retention boundaries",
          "test multi-user grants and revocation",
          "verify minimal AI data exposure"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/authinbox/"
    },
    {
      "id": "webviso",
      "name": "Webviso",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "yestool/analytics_with_cloudflare",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2024-10-23",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "使用 Workers、D1 與 Hono 的簡易網站分析服務",
          "en": "A simple website analytics service using Workers D1 and Hono"
        },
        "problem": {
          "zh-tw": "解決小型網站需要基本流量資料，又不想導入大型追蹤平台的問題",
          "en": "Solves the need for basic website traffic data without adopting a large tracking platform"
        },
        "audience": {
          "zh-tw": [
            "網站維護者",
            "需要自有分析資料的人"
          ],
          "en": [
            "Website maintainers",
            "people needing owned analytics data"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "收集網站事件",
            "D1 儲存",
            "提供簡易分析介面"
          ],
          "en": [
            "Collect website events",
            "store them in D1",
            "provide a simple analytics view"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "Hono",
            "需建立資料表並設定 binding"
          ],
          "en": [
            "Cloudflare Workers",
            "D1 and Hono",
            "with a database schema and binding"
          ]
        },
        "limitations": {
          "zh-tw": [
            "上游更新較久",
            "事件隱私、聚合與資料刪除需補規格"
          ],
          "en": [
            "The upstream is older",
            "event privacy aggregation and deletion need specification"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1"
        ]
      },
      "current_stage": {
        "zh-tw": "部署步驟與基本元件已確認",
        "尚未判斷目前 API 是否適合正式使用": null,
        "en": "Deployment steps and basic components are known; current API suitability is unverified"
      },
      "next_steps": {
        "zh-tw": [
          "核對 schema 與事件格式",
          "補無 cookie 與匿名化邊界",
          "實測查詢與資料刪除"
        ],
        "en": [
          "Confirm schema and event format",
          "define cookie-free and anonymization boundaries",
          "test queries and deletion"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/webviso/"
    },
    {
      "id": "imguu",
      "name": "imgUU",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "yestool/imgUU",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2025-03-13",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Astro、R2 與 D1 組成的圖片上傳服務",
          "en": "An image upload and hosting service using Astro R2 and D1"
        },
        "problem": {
          "zh-tw": "解決圖片上傳後缺乏自有儲存與管理介面的問題",
          "en": "Solves the lack of owned storage and management after image upload"
        },
        "audience": {
          "zh-tw": [
            "網站作者",
            "需要管理圖片網址的開發者"
          ],
          "en": [
            "Website authors",
            "developers managing image URLs"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "GitHub 登入",
            "R2 圖片儲存",
            "D1 metadata 與 Astro SSR"
          ],
          "en": [
            "GitHub login",
            "R2 image storage",
            "D1 metadata and Astro SSR"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Pages 或 Workers",
            "R2",
            "D1",
            "GitHub OAuth"
          ],
          "en": [
            "Cloudflare Pages or Workers",
            "R2 D1 and GitHub OAuth"
          ]
        },
        "limitations": {
          "zh-tw": [
            "GitHub OAuth 與檔案權限需實測",
            "圖片格式及刪除規則需補齊"
          ],
          "en": [
            "GitHub OAuth and file permissions need testing",
            "image formats and deletion rules need completion"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "pages",
          "workers",
          "r2",
          "d1"
        ],
        "external_services": [
          "GitHub OAuth"
        ]
      },
      "current_stage": {
        "zh-tw": "上游功能與元件角色已整理",
        "尚未完成公開圖片權限驗證": null,
        "en": "Upstream features and component roles are mapped; public image permission verification is pending"
      },
      "next_steps": {
        "zh-tw": [
          "確認 OAuth 身份與 ownership",
          "實測 R2 上傳及刪除",
          "補熱連結與濫用限制"
        ],
        "en": [
          "Confirm OAuth identity and ownership",
          "test R2 upload and deletion",
          "add hotlink and abuse limits"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/imguu/"
    },
    {
      "id": "gins-blog",
      "name": "Gins' Blog",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "IchimaruGin728/Gins-Blog",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-05-17",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "結合 Astro、D1、R2、KV 與 Hono 的部落格專案",
          "en": "A blog project combining Astro D1 R2 KV and Hono"
        },
        "problem": {
          "zh-tw": "解決個人內容需要自有發布、圖片儲存與 AI 搜尋入口的問題",
          "en": "Solves the need for owned publishing image storage and AI search for personal content"
        },
        "audience": {
          "zh-tw": [
            "個人作者",
            "需要自架內容站的人"
          ],
          "en": [
            "Individual authors",
            "people needing a self-hosted content site"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "文章發布",
            "OAuth",
            "圖片儲存",
            "AI 搜尋與 MCP／Agent 引導"
          ],
          "en": [
            "Article publishing",
            "OAuth",
            "image storage",
            "AI search and MCP or agent guidance"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "R2",
            "KV",
            "Hono",
            "OAuth provider"
          ],
          "en": [
            "Cloudflare Workers",
            "D1",
            "R2 KV Hono and an OAuth provider"
          ]
        },
        "limitations": {
          "zh-tw": [
            "元件較多",
            "AI 搜尋與內容索引的資料邊界需驗證"
          ],
          "en": [
            "It has several components",
            "AI search and content-index boundaries need verification"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "kv"
        ],
        "external_services": [
          "OAuth provider"
        ]
      },
      "current_stage": {
        "zh-tw": "內容站與 AI 能力已完成初步定位",
        "尚未拆出最小可部署範圍": null,
        "en": "The content site and AI capabilities are mapped; a minimal deployable scope is not yet separated"
      },
      "next_steps": {
        "zh-tw": [
          "拆分最小部落格版本",
          "驗證 D1 R2 KV 資料流",
          "再評估 AI 搜尋與 MCP"
        ],
        "en": [
          "Separate a minimal blog version",
          "verify D1 R2 KV flows",
          "then assess AI search and MCP"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/gins-blog/"
    },
    {
      "id": "cf-files-sharing",
      "name": "CloudFlare File Share",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "joyance-professional/cf-files-sharing",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2025-01-01",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Workers、R2 與 D1 提供檔案分享的服務",
          "en": "A file-sharing service using Workers R2 and D1"
        },
        "problem": {
          "zh-tw": "解決需要自有檔案儲存與受控分享連結的問題",
          "en": "Solves the need for owned file storage and controlled sharing links"
        },
        "audience": {
          "zh-tw": [
            "需要分享檔案的小型團隊",
            "個人網站維護者"
          ],
          "en": [
            "Small teams sharing files",
            "personal website maintainers"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "上傳與下載",
            "R2 保存大型檔案",
            "D1 metadata",
            "密碼與 cookie 權限"
          ],
          "en": [
            "Upload and download",
            "R2 storage for large files",
            "D1 metadata",
            "password and cookie access"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "R2",
            "D1",
            "管理者密碼設定"
          ],
          "en": [
            "Cloudflare Workers",
            "R2 D1 and an administrator password"
          ]
        },
        "limitations": {
          "zh-tw": [
            "分享連結撤銷與密碼策略需測試",
            "上游維護狀態需再確認"
          ],
          "en": [
            "Share-link revocation and password policy need testing",
            "upstream maintenance needs rechecking"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "r2",
          "d1"
        ]
      },
      "current_stage": {
        "zh-tw": "檔案層與 metadata 層已辨識",
        "尚未完成權限與刪除驗收": null,
        "en": "File and metadata layers are identified; permission and deletion acceptance are pending"
      },
      "next_steps": {
        "zh-tw": [
          "驗證大檔案路徑",
          "測試分享連結撤銷",
          "補資源歸零與資料刪除證據"
        ],
        "en": [
          "Verify the large-file path",
          "test share-link revocation",
          "add zero-resource and deletion evidence"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/cf-files-sharing/"
    },
    {
      "id": "d1-manager",
      "name": "D1 Manager",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "JacobLinCool/d1-manager",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-08-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "管理多個 Cloudflare D1 資料庫的 Pages／SvelteKit 工具",
          "en": "A Pages and SvelteKit tool for managing multiple Cloudflare D1 databases"
        },
        "problem": {
          "zh-tw": "解決管理 D1 schema、資料與 SQL 時需要反覆切換命令列的問題",
          "en": "Solves the need to switch repeatedly to the command line to manage D1 schemas data and SQL"
        },
        "audience": {
          "zh-tw": [
            "管理多個 D1 的開發者",
            "需要簡易資料管理介面的團隊"
          ],
          "en": [
            "Developers managing multiple D1 databases",
            "teams needing a simple data console"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "查看資料表與 schema",
            "執行 SQL",
            "編輯資料",
            "連接多個 D1",
            "選配語意查詢"
          ],
          "en": [
            "Inspect tables and schemas",
            "run SQL",
            "edit data",
            "connect multiple D1 databases",
            "optional semantic queries"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Pages",
            "D1 bindings",
            "建議 Cloudflare Access",
            "選配 OpenAI 或 Workers AI"
          ],
          "en": [
            "Cloudflare Pages",
            "D1 bindings",
            "recommended Cloudflare Access",
            "optional OpenAI or Workers AI"
          ]
        },
        "limitations": {
          "zh-tw": [
            "具備高權限資料操作能力",
            "必須先設定 Access 與最小權限"
          ],
          "en": [
            "It can perform high-privilege data operations",
            "Access and least privilege must be configured first"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "pages",
          "workers",
          "d1",
          "workers-ai"
        ],
        "external_services": [
          "Cloudflare Access",
          "OpenAI (optional)"
        ]
      },
      "current_stage": {
        "zh-tw": "產品用途與部署步驟清楚",
        "尚未完成管理者權限與誤操作防護驗證": null,
        "en": "Product purpose and deployment steps are clear; admin permissions and destructive-action safeguards are unverified"
      },
      "next_steps": {
        "zh-tw": [
          "建立 Access 與角色模型",
          "測試 SQL 權限與 audit 邊界",
          "驗證 D1 binding teardown"
        ],
        "en": [
          "Define Access and roles",
          "test SQL permissions and audit boundaries",
          "verify D1 binding teardown"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/d1-manager/"
    },
    {
      "id": "zerolink",
      "name": "ZeroLink",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "yclgkd/zerolink",
        "license": "AGPL-3.0",
        "default_branch": "main",
        "last_push": "2026-08-09",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以零知識設計分享敏感內容的加密 Worker",
          "en": "An encrypted Worker for sharing sensitive content with a zero-knowledge design"
        },
        "problem": {
          "zh-tw": "解決分享密碼或秘密時不希望伺服器看到明文的問題",
          "en": "Solves the need to share secrets without exposing plaintext to the server"
        },
        "audience": {
          "zh-tw": [
            "需要分享敏感內容的人",
            "重視端到端加密的團隊"
          ],
          "en": [
            "People sharing sensitive content",
            "teams requiring end-to-end encryption"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "加密分享",
            "URL fragment 鎖定",
            "WebAuthn Passkey",
            "一次性或受控存取"
          ],
          "en": [
            "Encrypted sharing",
            "URL-fragment locking",
            "WebAuthn passkeys",
            "one-time or controlled access"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Worker",
            "WebAuthn 相容網域",
            "需驗證瀏覽器與金鑰流程"
          ],
          "en": [
            "A Cloudflare Worker",
            "a WebAuthn-compatible domain",
            "browser and key-flow verification"
          ]
        },
        "limitations": {
          "zh-tw": [
            "安全性主張必須靠獨立測試支持",
            "AGPL-3.0 與瀏覽器相容性需納入審查"
          ],
          "en": [
            "Security claims need independent testing",
            "AGPL-3.0 and browser compatibility need review"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers"
        ],
        "external_services": [
          "WebAuthn"
        ]
      },
      "current_stage": {
        "zh-tw": "產品安全模型與功能名稱已整理",
        "尚未進行 SmallGreen 安全驗證": null,
        "en": "Product security model and features are mapped; SmallGreen security verification has not started"
      },
      "next_steps": {
        "zh-tw": [
          "核對密鑰是否離開瀏覽器",
          "測試分享生命週期與撤銷",
          "進行安全與瀏覽器相容性 review"
        ],
        "en": [
          "Confirm keys never leave the browser",
          "test sharing lifecycle and revocation",
          "perform security and browser-compatibility review"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/zerolink/"
    },
    {
      "id": "statusflare",
      "name": "Statusflare",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "krzko/statusflare",
        "license": "Apache-2.0",
        "default_branch": "main",
        "last_push": "2025-12-15",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 Workers、D1 與 R2 組成的監測與狀態頁平台",
          "en": "A monitoring and status-page platform using Workers D1 and R2"
        },
        "problem": {
          "zh-tw": "解決服務需要監測、事件頁、SLO 與公開 API 的問題",
          "en": "Solves the need for monitoring incident pages SLOs and a public API"
        },
        "audience": {
          "zh-tw": [
            "維護網路服務的人",
            "需要公開事件紀錄的團隊"
          ],
          "en": [
            "People maintaining network services",
            "teams publishing incident records"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "排程監測",
            "事件與 SLO",
            "R2 快取頁面",
            "通知、RSS 與 API"
          ],
          "en": [
            "Scheduled monitoring",
            "incidents and SLOs",
            "R2-cached pages",
            "notifications RSS and API"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "R2",
            "Cron；Hyperdrive 為選配"
          ],
          "en": [
            "Cloudflare Workers",
            "D1 R2 and Cron; Hyperdrive is optional"
          ]
        },
        "limitations": {
          "zh-tw": [
            "多元監測與通知設定需較完整維運",
            "目前維護狀態與資源成本需實測"
          ],
          "en": [
            "The varied monitoring and notification setup needs more operations work",
            "maintenance and resource cost need testing"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "cron"
        ],
        "external_services": [
          "Hyperdrive (optional)",
          "notification webhooks"
        ]
      },
      "current_stage": {
        "zh-tw": "架構功能與資料層已整理",
        "尚未完成最小服務範圍與監測驗收": null,
        "en": "Architecture features and data layers are mapped; minimal scope and monitoring acceptance are pending"
      },
      "next_steps": {
        "zh-tw": [
          "確認排程與通知資料流",
          "測試事件建立與關閉",
          "量測長期保存與 teardown"
        ],
        "en": [
          "Confirm scheduled and notification flows",
          "test incident open and close",
          "measure retention and teardown"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/statusflare/"
    },
    {
      "id": "llmkit",
      "name": "LLMKit",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "smigolsmigol/llmkit",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-08-16",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "具備預算控管與證據記錄的 AI Gateway／SDK",
          "en": "An AI gateway and SDK with budget controls and request evidence"
        },
        "problem": {
          "zh-tw": "解決 AI provider 成本、路由與請求證據分散，難以在送出前控管的問題",
          "en": "Solves the lack of pre-dispatch control over AI provider cost routing and request evidence"
        },
        "audience": {
          "zh-tw": [
            "使用多 AI provider 的開發者",
            "需要成本與稽核邊界的團隊"
          ],
          "en": [
            "Developers using multiple AI providers",
            "teams needing cost and audit boundaries"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "預估費用與 budget admission",
            "provider gateway",
            "成本歸屬",
            "請求證據與 MCP tools"
          ],
          "en": [
            "Estimated-cost budget admission",
            "provider gateway",
            "cost attribution",
            "request evidence and MCP tools"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Worker 與資料層",
            "AI provider 憑證",
            "需先定義成本與敏感資料策略"
          ],
          "en": [
            "A Cloudflare Worker and data layer",
            "AI provider credentials",
            "cost and sensitive-data policy"
          ]
        },
        "limitations": {
          "zh-tw": [
            "仍屬高敏感的 AI 基礎元件",
            "budget 計算與 provider 行為需獨立驗證"
          ],
          "en": [
            "It is a sensitive AI infrastructure component",
            "budget calculations and provider behavior need independent verification"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "kv",
          "workers-ai"
        ],
        "external_services": [
          "AI providers",
          "MCP clients"
        ]
      },
      "current_stage": {
        "zh-tw": "核心產品主張與安全方向已整理",
        "尚未完成最小部署與成本 oracle 驗證": null,
        "en": "Core product claims and security direction are mapped; minimal deployment and cost-oracle verification are pending"
      },
      "next_steps": {
        "zh-tw": [
          "固定最小 provider 集合",
          "建立預估與實際費用對照",
          "驗證拒絕請求與 evidence 完整性"
        ],
        "en": [
          "Fix a minimal provider set",
          "compare estimated and actual cost",
          "verify rejection and evidence completeness"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/llmkit/"
    },
    {
      "id": "prism",
      "name": "Prism",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "skyphusion-labs/prism",
        "license": "AGPL-3.0",
        "default_branch": "main",
        "last_push": "2026-08-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "單一 Cloudflare Worker 的多模態 AI playground",
          "en": "A multimodal AI playground running as a single Cloudflare Worker"
        },
        "problem": {
          "zh-tw": "解決多種 AI 模態、RAG 與模型服務需要多套介面與後端的問題",
          "en": "Solves the need to assemble separate interfaces and backends for multimodal AI RAG and model services"
        },
        "audience": {
          "zh-tw": [
            "想自架 AI playground 的開發者",
            "需要測試多模態流程的人"
          ],
          "en": [
            "Developers self-hosting an AI playground",
            "people testing multimodal flows"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "文字圖片影音與語音",
            "RAG 與 web search",
            "D1 歷史",
            "R2 artifacts",
            "Vectorize 與 workflow"
          ],
          "en": [
            "Text image video voice and music",
            "RAG and web search",
            "D1 history",
            "R2 artifacts",
            "Vectorize and workflows"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "D1",
            "R2",
            "Vectorize",
            "Workers AI 或外部模型",
            "需設定 AI Gateway 與使用者登入"
          ],
          "en": [
            "Cloudflare Workers",
            "D1 R2 Vectorize",
            "Workers AI or external models",
            "AI Gateway and user authentication"
          ]
        },
        "limitations": {
          "zh-tw": [
            "範圍與元件遠超小型服務",
            "多使用者、模型成本與資料安全需拆分驗證"
          ],
          "en": [
            "Its scope and components exceed a small service",
            "multi-user model cost and data security need separate verification"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers",
          "d1",
          "r2",
          "vectorize",
          "durable-objects",
          "workers-ai"
        ],
        "external_services": [
          "AI Gateway",
          "external model providers",
          "web search"
        ]
      },
      "current_stage": {
        "zh-tw": "功能版與複合架構已確認",
        "暫列研究案例不進單一服務上架": null,
        "en": "The feature build and composite architecture are confirmed; it remains research-only rather than a single-service entry"
      },
      "next_steps": {
        "zh-tw": [
          "拆分最小單模態版本",
          "先完成資料與成本邊界",
          "保留複合應用到後續 showcase"
        ],
        "en": [
          "Extract a minimal single-modality version",
          "establish data and cost boundaries first",
          "reserve composite work for a later showcase"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/prism/"
    },
    {
      "id": "beam",
      "name": "Beam",
      "axis": "cloudflare-native",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "scobb/beam",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-06-16",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "cookie-free 的隱私取向網站分析服務",
          "en": "A privacy-oriented cookie-free website analytics service"
        },
        "problem": {
          "zh-tw": "解決網站需要基本分析又不希望導入 cookie 與個人追蹤的問題",
          "en": "Solves the need for basic website analytics without cookies and personal tracking"
        },
        "audience": {
          "zh-tw": [
            "網站作者",
            "重視隱私的產品團隊"
          ],
          "en": [
            "Website authors",
            "privacy-conscious product teams"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "輕量追蹤腳本",
            "分析 dashboard",
            "自有網域與 email 報告"
          ],
          "en": [
            "A lightweight script",
            "an analytics dashboard",
            "custom domains and email reports"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Cloudflare Workers",
            "自有網域",
            "郵件與付款服務為選配"
          ],
          "en": [
            "Cloudflare Workers",
            "a custom domain",
            "optional email and payment services"
          ]
        },
        "limitations": {
          "zh-tw": [
            "商業化功能與外部付款會增加範圍",
            "目前尚未核對完整部署與資源需求"
          ],
          "en": [
            "Commercial and payment features expand scope",
            "complete deployment and resource needs are unverified"
          ]
        }
      },
      "architecture": {
        "cloudflare": [
          "workers"
        ],
        "external_services": [
          "Email provider",
          "Stripe (optional)"
        ]
      },
      "current_stage": {
        "zh-tw": "產品定位與隱私方向已整理",
        "尚未完成開源部署路徑驗證": null,
        "en": "Product positioning and privacy direction are mapped; the open deployment path is unverified"
      },
      "next_steps": {
        "zh-tw": [
          "確認目前可部署功能範圍",
          "補事件匿名化與刪除規則",
          "再評估是否進入正式卡片"
        ],
        "en": [
          "Confirm the currently deployable scope",
          "define event anonymization and deletion",
          "then assess catalogue entry"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/beam/"
    },
    {
      "id": "upptime",
      "name": "Upptime",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "upptime/upptime",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-08-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "把 GitHub Actions、Issues 與 Pages 組成的開源狀態監測服務",
          "en": "An open status-monitoring service built from GitHub Actions Issues and Pages"
        },
        "problem": {
          "zh-tw": "解決小型服務需要排程監測、歷史資料與公開狀態頁的問題",
          "en": "Solves the need for scheduled checks history and a public status page for small services"
        },
        "audience": {
          "zh-tw": [
            "GitHub 使用者",
            "需要公開狀態頁的專案維護者"
          ],
          "en": [
            "GitHub users",
            "project maintainers needing a public status page"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "排程檢查",
            "把 response data 寫回 repo",
            "自動開關 Issue",
            "Svelte 狀態頁"
          ],
          "en": [
            "Scheduled checks",
            "commit response data to the repo",
            "open and close Issues",
            "a Svelte status page"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository",
            "GitHub Actions",
            "GitHub Pages",
            "repository secrets 與權限設定"
          ],
          "en": [
            "A GitHub repository",
            "GitHub Actions",
            "GitHub Pages",
            "repository secrets and permissions"
          ]
        },
        "limitations": {
          "zh-tw": [
            "資料與權限集中在 GitHub",
            "Actions 額度與公開 repo 政策需納入"
          ],
          "en": [
            "Data and permissions are concentrated in GitHub",
            "Actions quotas and public-repository policy apply"
          ]
        }
      },
      "architecture": {
        "github": [
          "actions",
          "pages",
          "repository",
          "issues"
        ]
      },
      "current_stage": {
        "zh-tw": "GitHub 作為執行、資料與發布層的模式已確認",
        "尚未完成 SmallGreen 部署契約": null,
        "en": "GitHub as runtime data store and publishing layer is clear; the SmallGreen deployment contract is pending"
      },
      "next_steps": {
        "zh-tw": [
          "固定 repository 權限模型",
          "驗證排程與 Issue 狀態機",
          "完成 repo teardown 與資料保留說明"
        ],
        "en": [
          "Fix repository permissions",
          "verify scheduled checks and the Issue state machine",
          "document repo teardown and retention"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/upptime/"
    },
    {
      "id": "metrics",
      "name": "Metrics",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "lowlighter/metrics",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-05-29",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "由 GitHub Actions 產生個人或組織資訊圖的自動化工具",
          "en": "An automation tool that generates profile infographics with GitHub Actions"
        },
        "problem": {
          "zh-tw": "解決 GitHub 活動與個人頁面資訊需要手動整理更新的問題",
          "en": "Solves the manual work of collecting and updating GitHub activity on profile pages"
        },
        "audience": {
          "zh-tw": [
            "GitHub 使用者",
            "需要自動更新個人頁的人"
          ],
          "en": [
            "GitHub users",
            "people automating profile pages"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "多種資料 plugin",
            "輸出 SVG、Markdown、PDF 與 JSON",
            "排程更新"
          ],
          "en": [
            "Many data plugins",
            "SVG Markdown PDF and JSON output",
            "scheduled updates"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository",
            "Actions workflow",
            "GitHub token 與各 plugin 的外部憑證"
          ],
          "en": [
            "A GitHub repository",
            "an Actions workflow",
            "a GitHub token and plugin-specific credentials"
          ]
        },
        "limitations": {
          "zh-tw": [
            "plugin 範圍大且外部 API 多",
            "token 權限與失敗通知需明確設定"
          ],
          "en": [
            "The plugin surface and external APIs are broad",
            "token scopes and failure alerts need explicit setup"
          ]
        }
      },
      "architecture": {
        "github": [
          "actions",
          "repository"
        ],
        "external_services": [
          "GitHub API",
          "optional provider APIs"
        ]
      },
      "current_stage": {
        "zh-tw": "產品形狀與輸出類型已整理",
        "尚未縮小成可驗證的最小 plugin 組合": null,
        "en": "Product shape and outputs are mapped; a minimal verifiable plugin set is not selected"
      },
      "next_steps": {
        "zh-tw": [
          "選定最小 plugin 集合",
          "驗證 token 最小權限",
          "補 Actions 失敗與資料清除流程"
        ],
        "en": [
          "Choose a minimal plugin set",
          "verify least-privilege tokens",
          "add Actions failure and data-cleanup flows"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/metrics/"
    },
    {
      "id": "giscus",
      "name": "giscus",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "giscus/giscus",
        "license": "MIT",
        "default_branch": "main",
        "last_push": "2026-05-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "使用 GitHub Discussions 作為資料層的網站留言元件",
          "en": "A website comment component using GitHub Discussions as its data layer"
        },
        "problem": {
          "zh-tw": "解決網站留言需要另建資料庫、登入與管理後台的問題",
          "en": "Solves the need to build a separate database login and moderation backend for website comments"
        },
        "audience": {
          "zh-tw": [
            "有 GitHub repo 的網站作者",
            "需要低維運留言的團隊"
          ],
          "en": [
            "Website authors with a GitHub repo",
            "teams needing low-operations comments"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "Discussion 留言",
            "GitHub OAuth",
            "依頁面映射討論",
            "不含廣告與追蹤"
          ],
          "en": [
            "Discussion comments",
            "GitHub OAuth",
            "page-to-discussion mapping",
            "no ads or tracking"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository 與 Discussions",
            "GitHub App 設定",
            "網站嵌入元件"
          ],
          "en": [
            "A GitHub repository with Discussions",
            "GitHub App configuration and a website embed"
          ]
        },
        "limitations": {
          "zh-tw": [
            "留言資料與權限依賴 GitHub",
            "社群與 moderation 規則需自行管理"
          ],
          "en": [
            "Comments and permissions depend on GitHub",
            "community and moderation rules are yours to manage"
          ]
        }
      },
      "architecture": {
        "github": [
          "discussions",
          "api"
        ],
        "external_services": [
          "GitHub OAuth"
        ]
      },
      "current_stage": {
        "zh-tw": "資料層與使用方式清楚",
        "尚未驗證 SmallGreen 網站的留言權限邊界": null,
        "en": "Data layer and usage are clear; comment permissions on a SmallGreen site are unverified"
      },
      "next_steps": {
        "zh-tw": [
          "確認 repo 與 Discussion category",
          "測試頁面映射與刪除",
          "補 OAuth 與 moderation 說明"
        ],
        "en": [
          "Confirm repo and Discussion category",
          "test mapping and deletion",
          "document OAuth and moderation"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/giscus/"
    },
    {
      "id": "picx",
      "name": "PicX",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "XPoet/picx",
        "license": "AGPL-3.0",
        "default_branch": "master",
        "last_push": "2025-02-26",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 GitHub API 與 repository 作為圖片儲存的圖床工具",
          "en": "An image host using the GitHub API and a repository for image storage"
        },
        "problem": {
          "zh-tw": "解決個人網站需要圖片上傳介面而不想維護獨立物件儲存的問題",
          "en": "Solves the need for an upload interface without maintaining separate object storage"
        },
        "audience": {
          "zh-tw": [
            "部落格作者",
            "使用 GitHub 的開發者"
          ],
          "en": [
            "Blog authors",
            "developers using GitHub"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "GitHub OAuth",
            "圖片上傳",
            "repository／branch 管理",
            "圖片網址生成"
          ],
          "en": [
            "GitHub OAuth",
            "image upload",
            "repository and branch management",
            "image URL generation"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "靜態網站 hosting",
            "GitHub OAuth",
            "具備寫入權限的 GitHub token"
          ],
          "en": [
            "Static hosting",
            "GitHub OAuth and a GitHub token with write access"
          ]
        },
        "limitations": {
          "zh-tw": [
            "圖片直接進 Git repository",
            "儲存量與 token 權限不適合所有場景",
            "授權為 AGPL-3.0"
          ],
          "en": [
            "Images go into a Git repository",
            "storage and token permissions do not fit every case",
            "license is AGPL-3.0"
          ]
        }
      },
      "architecture": {
        "github": [
          "api",
          "repository"
        ]
      },
      "current_stage": {
        "zh-tw": "GitHub 作為圖片資料層的模式已確認",
        "尚未驗證 repository 權限與檔案刪除": null,
        "en": "GitHub as the image data layer is clear; repository permissions and deletion are unverified"
      },
      "next_steps": {
        "zh-tw": [
          "測試 OAuth 與 repository grant",
          "量測圖片與歷史檔案成長",
          "補刪除與 rate limit 說明"
        ],
        "en": [
          "Test OAuth and repository grants",
          "measure image and history growth",
          "document deletion and rate limits"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/picx/"
    },
    {
      "id": "running-page",
      "name": "running_page",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "yihong0618/running_page",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-07-16",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "整合運動資料的個人跑步首頁",
          "en": "A personal running homepage that presents activity data"
        },
        "problem": {
          "zh-tw": "解決跑步紀錄分散在 Garmin、Strava 等服務，無法集中展示的問題",
          "en": "Solves the fragmentation of running records across Garmin Strava and similar services"
        },
        "audience": {
          "zh-tw": [
            "跑者",
            "想自架運動資料頁的人"
          ],
          "en": [
            "Runners",
            "people self-hosting an activity page"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "跑步活動展示",
            "地圖與統計",
            "靜態頁發布"
          ],
          "en": [
            "Running activity display",
            "maps and statistics",
            "static-page publishing"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub 或其他 hosting",
            "Garmin／Strava 等帳號與 secret",
            "地圖服務設定"
          ],
          "en": [
            "GitHub or another host",
            "Garmin or Strava accounts and secrets",
            "map-service configuration"
          ]
        },
        "limitations": {
          "zh-tw": [
            "外部運動與地圖服務依賴高",
            "secret 與個人位置資料需要額外保護"
          ],
          "en": [
            "It depends heavily on activity and map services",
            "secrets and location data need extra protection"
          ]
        }
      },
      "architecture": {
        "github": [
          "actions",
          "pages",
          "repository"
        ],
        "external_services": [
          "Garmin",
          "Strava",
          "Mapbox or MapCN"
        ]
      },
      "current_stage": {
        "zh-tw": "個人展示場景已整理",
        "尚未確認純 GitHub runtime 的最小部署路徑": null,
        "en": "The personal-display use case is mapped; a minimal GitHub-runtime path is unconfirmed"
      },
      "next_steps": {
        "zh-tw": [
          "拆出不含敏感資料的 demo",
          "確認 provider API 與 secret 邊界",
          "再評估是否適合單一服務卡"
        ],
        "en": [
          "Extract a non-sensitive demo",
          "confirm provider APIs and secret boundaries",
          "then assess a single service card"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/running-page/"
    },
    {
      "id": "blog-post-workflow",
      "name": "Blog Post Workflow",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "gautamkrishnar/blog-post-workflow",
        "license": "AGPL-3.0",
        "default_branch": "master",
        "last_push": "2026-08-10",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 GitHub Actions 從 RSS 更新 README 的內容同步工作流",
          "en": "A GitHub Actions workflow that updates a README from RSS feeds"
        },
        "problem": {
          "zh-tw": "解決個人頁面需要定期手動同步文章、影片或 Stack Overflow 內容的問題",
          "en": "Solves the manual work of syncing articles videos or Stack Overflow content to a profile"
        },
        "audience": {
          "zh-tw": [
            "使用 GitHub profile 的作者",
            "需要自動更新內容的人"
          ],
          "en": [
            "GitHub-profile authors",
            "people automating content updates"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "排程讀取 RSS",
            "更新 README",
            "支援文章、影片與 Stack Overflow feed"
          ],
          "en": [
            "Scheduled RSS reads",
            "README updates",
            "support for article video and Stack Overflow feeds"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository",
            "Actions workflow",
            "contents:write 權限",
            "RSS sources"
          ],
          "en": [
            "A GitHub repository",
            "an Actions workflow",
            "contents:write permission and RSS sources"
          ]
        },
        "limitations": {
          "zh-tw": [
            "需要寫入 repository",
            "RSS 格式與來源變動會影響結果",
            "授權為 AGPL-3.0"
          ],
          "en": [
            "It needs repository write access",
            "RSS changes affect results",
            "license is AGPL-3.0"
          ]
        }
      },
      "architecture": {
        "github": [
          "actions",
          "repository",
          "rss"
        ]
      },
      "current_stage": {
        "zh-tw": "工作流邊界清楚",
        "尚未完成 RSS 失敗與寫入權限的證據設計": null,
        "en": "Workflow boundaries are clear; RSS failure and write-permission evidence are pending"
      },
      "next_steps": {
        "zh-tw": [
          "建立最小 feed fixture",
          "驗證 contents:write 最小權限",
          "補失敗通知與回滾策略"
        ],
        "en": [
          "Create a minimal feed fixture",
          "verify least-privilege contents:write",
          "add failure alerts and rollback"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/blog-post-workflow/"
    },
    {
      "id": "shot-scraper",
      "name": "shot-scraper",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "simonw/shot-scraper",
        "license": "Apache-2.0",
        "default_branch": "main",
        "last_push": "2026-07-12",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 CLI 與瀏覽器自動化擷取網頁截圖或資料的工具",
          "en": "A CLI and browser-automation tool for screenshots and web extraction"
        },
        "problem": {
          "zh-tw": "解決網頁截圖、簡單擷取與定期產出需要自行維護瀏覽器流程的問題",
          "en": "Solves the need to maintain browser flows for screenshots simple extraction and scheduled outputs"
        },
        "audience": {
          "zh-tw": [
            "文件與內容維護者",
            "需要網頁快照的開發者"
          ],
          "en": [
            "Documentation and content maintainers",
            "developers needing web snapshots"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "截圖",
            "JavaScript 擷取",
            "影片與批次執行",
            "GitHub Actions template"
          ],
          "en": [
            "Screenshots",
            "JavaScript extraction",
            "video and batch execution",
            "a GitHub Actions template"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Python CLI",
            "Chromium 環境",
            "GitHub Actions 或其他 runner"
          ],
          "en": [
            "The Python CLI",
            "a Chromium environment",
            "GitHub Actions or another runner"
          ]
        },
        "limitations": {
          "zh-tw": [
            "瀏覽器資源與第三方網站變動會影響結果",
            "輸出檔案可能快速累積"
          ],
          "en": [
            "Browser resources and third-party changes affect results",
            "output files may accumulate quickly"
          ]
        }
      },
      "architecture": {
        "github": [
          "actions",
          "workflow-artifacts"
        ],
        "external_services": [
          "Target websites"
        ]
      },
      "current_stage": {
        "zh-tw": "工具能力與 Actions 路徑已整理",
        "尚未驗證 Cloudflare／GitHub 的小型部署邊界": null,
        "en": "Tool capabilities and the Actions path are mapped; the small Cloudflare or GitHub deployment boundary is unverified"
      },
      "next_steps": {
        "zh-tw": [
          "定義固定目標網站 fixture",
          "測量 runner 與 artifact 成本",
          "補失敗與 robots 政策說明"
        ],
        "en": [
          "Define fixed target-site fixtures",
          "measure runner and artifact cost",
          "document failure and robots policy"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/shot-scraper/"
    },
    {
      "id": "gitblog",
      "name": "Gitblog",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "yihong0618/gitblog",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2026-08-20",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "以 GitHub Issues 與 Actions 作為內容層的個人部落格",
          "en": "A personal blog using GitHub Issues and Actions as its content layer"
        },
        "problem": {
          "zh-tw": "解決個人寫作需要 CMS、資料庫與 hosting 維護的問題",
          "en": "Solves the need to maintain a separate CMS database and hosting for personal writing"
        },
        "audience": {
          "zh-tw": [
            "使用 GitHub 的作者",
            "想把 repo 當內容資料庫的人"
          ],
          "en": [
            "Authors using GitHub",
            "people treating a repo as a content database"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "Issues 文章",
            "Actions 建置",
            "RSS feed",
            "靜態部落格發布"
          ],
          "en": [
            "Issue-based posts",
            "Actions builds",
            "an RSS feed and static blog publishing"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository",
            "Issues",
            "Actions",
            "Pages 或其他靜態 hosting"
          ],
          "en": [
            "A GitHub repository",
            "Issues",
            "Actions and Pages or another static host"
          ]
        },
        "limitations": {
          "zh-tw": [
            "內容與權限綁定 GitHub",
            "Issue API 與 Actions 額度需納入"
          ],
          "en": [
            "Content and permissions are tied to GitHub",
            "Issue API and Actions quotas apply"
          ]
        }
      },
      "architecture": {
        "github": [
          "issues",
          "actions",
          "pages",
          "repository"
        ]
      },
      "current_stage": {
        "zh-tw": "GitHub 作內容資料庫的模式已整理",
        "尚未完成發布與刪除的端到端驗收": null,
        "en": "GitHub as a content database is mapped; end-to-end publishing and deletion acceptance are pending"
      },
      "next_steps": {
        "zh-tw": [
          "固定文章 schema 與狀態",
          "測試 Issue 變更到頁面的流程",
          "補 repo backup 與 teardown"
        ],
        "en": [
          "Fix the post schema and states",
          "test Issue-to-page flow",
          "add repo backup and teardown"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/gitblog/"
    },
    {
      "id": "git-history",
      "name": "Git History",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "pomber/git-history",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2024-10-10",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "用瀏覽器呈現 Git repository 檔案歷史的檢視工具",
          "en": "A browser viewer for the history of files in a Git repository"
        },
        "problem": {
          "zh-tw": "解決一般 Git diff 不容易理解長期檔案演變的問題",
          "en": "Solves the difficulty of understanding long-term file evolution from ordinary Git diffs"
        },
        "audience": {
          "zh-tw": [
            "開發者",
            "文件維護者",
            "需要檢視內容演變的人"
          ],
          "en": [
            "Developers",
            "documentation maintainers",
            "people inspecting content evolution"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "檢視檔案歷史",
            "支援 GitHub、GitLab 與 Bitbucket",
            "以 URL 開啟 repository"
          ],
          "en": [
            "View file history",
            "support GitHub GitLab and Bitbucket",
            "open repositories by URL"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "靜態前端與 API／repository 讀取權限",
            "需確認目前 hosting 流程"
          ],
          "en": [
            "A static frontend and repository read access",
            "with the current hosting flow to be confirmed"
          ]
        },
        "limitations": {
          "zh-tw": [
            "上游更新較久",
            "大型 repository 與 API rate limit 需測量"
          ],
          "en": [
            "The upstream is older",
            "large repositories and API rate limits need measurement"
          ]
        }
      },
      "architecture": {
        "github": [
          "api",
          "repository"
        ]
      },
      "current_stage": {
        "zh-tw": "使用情境與資料來源已整理",
        "尚未確認現代 GitHub API 的相容性": null,
        "en": "Use case and data sources are mapped; compatibility with current GitHub APIs is unverified"
      },
      "next_steps": {
        "zh-tw": [
          "確認 API 與 hosting 入口",
          "測試大型檔案歷史",
          "補 rate limit 與快取策略"
        ],
        "en": [
          "Confirm API and hosting entry points",
          "test large file histories",
          "add rate-limit and caching policy"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/git-history/"
    },
    {
      "id": "utterances",
      "name": "utterances",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中",
        "en": "In research"
      },
      "source": {
        "repository": "utterance/utterances",
        "license": "MIT",
        "default_branch": "master",
        "last_push": "2024-08-15",
        "checked_on": "2026-08-27"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "使用 GitHub Issues 作為資料層的輕量留言元件",
          "en": "A lightweight comment component using GitHub Issues as its data layer"
        },
        "problem": {
          "zh-tw": "解決網站留言需要自建資料庫與管理後台的問題",
          "en": "Solves the need to build a separate database and moderation backend for comments"
        },
        "audience": {
          "zh-tw": [
            "有 GitHub repo 的網站作者",
            "需要簡單留言的內容站"
          ],
          "en": [
            "Website authors with a GitHub repo",
            "content sites needing simple comments"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "Issue 留言",
            "OAuth",
            "頁面映射",
            "不含廣告與追蹤"
          ],
          "en": [
            "Issue comments",
            "OAuth",
            "page mapping",
            "no ads or tracking"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "GitHub repository",
            "Issues",
            "GitHub OAuth App",
            "網站嵌入設定"
          ],
          "en": [
            "A GitHub repository",
            "Issues",
            "a GitHub OAuth App and website embed configuration"
          ]
        },
        "limitations": {
          "zh-tw": [
            "留言權限與 moderation 依賴 GitHub",
            "上游維護較慢需評估"
          ],
          "en": [
            "Comment permissions and moderation depend on GitHub",
            "slower upstream maintenance needs assessment"
          ]
        }
      },
      "architecture": {
        "github": [
          "issues",
          "api"
        ],
        "external_services": [
          "GitHub OAuth"
        ]
      },
      "current_stage": {
        "zh-tw": "產品模式與依賴已整理",
        "尚未完成與 giscus 的選型比較": null,
        "en": "Product model and dependencies are mapped; comparison with giscus is pending"
      },
      "next_steps": {
        "zh-tw": [
          "比較 Issues 與 Discussions 的資料邊界",
          "測試頁面映射與刪除",
          "依維護狀態決定是否保留"
        ],
        "en": [
          "Compare Issues and Discussions boundaries",
          "test mapping and deletion",
          "decide whether to keep it based on maintenance"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/utterances/"
    },
    {
      "id": "foreclosure-map",
      "name": "法拍地圖",
      "axis": "github-runtime",
      "state": "content-research",
      "state_label": {
        "zh-tw": "研究中／沙盒已驗證",
        "en": "In research / sandbox verified"
      },
      "source": {
        "repository": "ai-cooperation/foreclosure-map",
        "license": "Apache-2.0",
        "default_branch": "main",
        "last_push": "2026-08-29",
        "checked_on": "2026-08-30"
      },
      "product_summary": {
        "project_type": {
          "zh-tw": "將台灣法院法拍物件整理成可篩選的互動地圖與週期資料管線",
          "en": "An interactive map and weekly data pipeline for Taiwan court-auction properties"
        },
        "problem": {
          "zh-tw": "法拍公告分散在多個法院系統，使用者難以用地理位置與條件快速查找",
          "en": "Court-auction notices are spread across multiple court systems",
          "making geographic and condition-based search difficult": null
        },
        "audience": {
          "zh-tw": [
            "想查詢法拍屋與法拍土地的個人",
            "不動產從業者",
            "不動產市場研究者"
          ],
          "en": [
            "People searching for auctioned homes and land",
            "real-estate professionals",
            "property-market researchers"
          ]
        },
        "capabilities": {
          "zh-tw": [
            "在地圖瀏覽有座標的法拍物件",
            "依物件類型法院縣市拍別與底價篩選",
            "開啟法院公告原文",
            "保留每週資料快照與歷史索引"
          ],
          "en": [
            "Browse geocoded auction properties on a map",
            "filter by type court county auction round and price",
            "open court notices",
            "retain weekly snapshots and a history index"
          ]
        },
        "deployment_requirements": {
          "zh-tw": [
            "Python 3、Playwright 與 Chromium",
            "可執行每週排程的 runner",
            "靜態 hosting 或 GitHub Pages",
            "需先核對法院與地理編碼服務的使用條款"
          ],
          "en": [
            "Python 3",
            "Playwright and Chromium",
            "a runner for weekly scheduling",
            "static hosting or GitHub Pages",
            "and review of court and geocoding service terms"
          ]
        },
        "limitations": {
          "zh-tw": [
            "地理編碼成功率與資料新鮮度會受外部服務與排程影響",
            "公開快照的保存與再散布政策待確認",
            "第三方資料與外部服務不因上游 Apache-2.0 而改變授權",
            "不構成法律估價或投資建議"
          ],
          "en": [
            "Geocoding coverage and freshness depend on external services and scheduling",
            "public snapshot retention and redistribution policies need confirmation",
            "third-party data and external services remain under their own terms despite the upstream Apache-2.0 license",
            "and the tool is not legal valuation or investment advice"
          ]
        }
      },
      "architecture": {
        "github": [
          "repository",
          "pages"
        ],
        "external_services": [
          "司法院法拍公告系統",
          "twland.ronny.tw",
          "國土測繪中心 NLSC",
          "Leaflet CDN",
          "Google tag",
          "optional Telegram",
          "optional SMTP"
        ]
      },
      "current_stage": {
        "zh-tw": "已核對上游公開 repo、GitHub Pages 與 b7345422e2f63e815c4a8e27fefdbcf27e5d81d6；已完成 22 法院 raw 9",
        "942 筆、全量分片 geocode、build、Cloudflare sandbox Pages、遠端 SHA 與瀏覽器篩選驗收。8": null,
        "176 筆有座標、1": null,
        "766 筆 fail-closed，故仍是 D4-degraded，不是正式 SmallGreen service card": null,
        "en": "The public upstream repository",
        "GitHub Pages site and commit b7345422e2f63e815c4a8e27fefdbcf27e5d81d6 are checked; a 22-court scrape of 9": null,
        "942 raw records": null,
        "sharded full geocoding": null,
        "build": null,
        "Cloudflare sandbox Pages deployment": null,
        "remote SHA and browser filter acceptance all passed. 8": null,
        "176 records have coordinates and 1": null,
        "766 are fail-closed": null,
        "so this remains D4-degraded rather than a formal SmallGreen service card": null
      },
      "verification_note": {
        "zh-tw": "已完成一次真實 Cloudflare sandbox 部署與瀏覽器驗收；這份證據不等於正式服務卡或 SmallGreen Ready",
        "en": "One real Cloudflare sandbox deployment and browser acceptance run are complete; this evidence does not make the project a formal service card or SmallGreen Ready"
      },
      "next_steps": {
        "zh-tw": [
          "使用 adapter 的 portable runner 在乾淨環境重跑並驗證重跑冪等",
          "核對司法院 twland NLSC 與 CDN 的條款及保存／再散布政策",
          "決定是否把 CDN／GTM／WMTS 改為自帶資產與明確遙測政策",
          "完成正式上架前的人工 review 與 teardown"
        ],
        "en": [
          "Rerun the adapter portable runner in a clean environment and verify idempotency",
          "review the court twland NLSC and CDN terms including retention and redistribution",
          "decide whether CDN/GTM/WMTS should be self-hosted with an explicit telemetry policy",
          "then complete human review and teardown before formal catalogue promotion"
        ]
      },
      "url": "https://smallgreen-site-foreclosure-sandbox.pages.dev/services/foreclosure-map/"
    }
  ]
}
