[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fcfiGxhr0eyOZPiGPCcfl8fdt0x0gj4xxAoSSZE6BVZ8":3},{"item":4,"related":56},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":46,"sourceName":45,"sourceUrl":47,"status":48,"seoTitle":49,"seoDescription":49,"canonicalUrl":49,"isFeatured":50,"sno":51,"sortOrder":52,"publishedAt":53,"updatedAt":54,"createdAt":55},"dbf6772f-7444-4fb3-92ea-983e6d0cee0d","article","Reuseio：为 AI 时代重新定义\"软件复用\"的注册中心","reuseio","一个面向开发者与 AI 的软件能力注册中心。它不替你写代码，而是让 AI 在动手之前，先看见已经存在的世界。","## 一、我们正重复发明轮子\n\n软件开发历史上最大、也最隐蔽的浪费，不是 Bug，而是**重复造轮子**。\n\n当一个开发者想为产品加上「对象存储」「支付」「邮件发送」「OCR」这类能力时，他面对的真实局面往往是：\n\n- 不知道市面上早有成熟方案；\n- 知道几个名字，却搞不清各自的能力边界、价格、限制和兼容环境；\n- 即使查到了，也分不清官网文档、社区博客、营销文案哪一句才算数；\n- 于是，很多团队选择「自己写一个」，或者在一个并不合适的库上叠床架屋。\n\n这个问题在 **AI Coding 时代被放大了**。\n\nClaude Code、Codex、Cursor、Gemini CLI 这类 AI 编程助手正在成为主流生产力。它们的倾向是：一旦被要求实现某个功能，就会直接生成代码。但 AI 默认并不知道「现在世界上已经有哪些可用的软件能力」——它只能依靠训练记忆里的常识去猜测。结果是：AI 也会「重复造轮子」，而且它造出来的轮子往往**没有来源、无法追溯、也无法验证**。\n\n这正是 Reuseio 要解决的问题。\n\nReuseio 的核心目标不是替代 AI 做技术判断，而是为 AI 和开发者提供**真实、结构化、可追溯的软件能力信息**，让 AI 在开发产品之前能够优先发现和复用已有方案，减少重复开发。\n\n## 二、Reuseio 是什么？\n\n> **Reuseio 是一个面向开发者与 AI 的软件产品、软件能力与接入方式注册中心。**\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-08-12\u002F3a67d9b0-5cca-42ad-af80-212dc7ad10eb.jpg\" alt=\"25a1683f-c1a0-4964-b36f-d292ca62e216\">\n\n它统一收录 API、SDK、MCP Server、Skill、CLI、SaaS、开源项目、Runtime 等软件能力，并通过四种形态对外提供一致访问：\n\n```\nReuseio\n├ 前台网站       （浏览 \u002F 搜索 \u002F 详情 \u002F 来源 \u002F 机器可读入口）\n├ Public REST API（无需 Key，机器与 Agent 可自由检索）\n├ Reuseio Manifest（统一描述格式 reuseio.json）\n└ npm SDK + Skill （让 AI Agent 与脚本更方便读取 Registry）\n```\n\n它的野心不在于\"再做一个开发者导航站\"，而在于成为**软件世界的\"事实层\"**——一个持续更新、可被机器读取、且每个事实都标明了出处的 Registry。\n\n## 三、软件开发的范式转移\n\nReuseio 背后有一个清晰而坚定的信念：未来的软件开发流程，会从\"理解需求后直接写代码\"，逐步转向\"先发现、再组合\"。\n\n**旧范式：**\n\n```\n理解需求\n  ↓\n直接编写代码\n```\n\n**新范式：**\n\n```\n理解需求\n  ↓\n识别所需能力\n  ↓\n发现已有软件\n  ↓\n验证能力与来源\n  ↓\n组合已有方案\n  ↓\n仅开发缺失部分\n```\n\n在这个新范式里，Reuseio 只承担其中关键的两步：\n\n```\n发现已有软件\n  +\n提供可信的软件能力数据\n```\n\n它**不负责**最终技术决策。最终选择由用户，或由用户正在使用的 AI Agent 完成。\n\n这是一个克制的设计哲学：Reuseio 把自己定位为\"地基\"而非\"大脑\"。地基必须坚实、诚实、可被审计；大脑留给真正使用它的人和他的 AI。\n\n## 四、产品原则\n\nReuseio 不是又一个数据库。它的独特性来自四条贯穿始终的原则。\n\n### 4.1 以 Product 为核心\n\nReuseio 的核心数据单位是 **Product**，而非 API 类型。\n\n一个 Provider（提供方）可能拥有多个 Product。例如 Cloudflare 旗下有 Workers、R2、D1、KV、Images、Turnstile 等多个相互独立的产品。Reuseio 把它们作为**独立、可被单独检索和复用**的 Product 来建模，而不是塞进一个笼统的\"Cloudflare\"条目里。\n\nProduct 的类型涵盖：API、SDK、MCP、Skill、CLI、SaaS、Service、Runtime、Library、Open Source、Other。一个 Product 既可以是 Stripe Billing 这样的大块服务，也可以是 Playwright MCP 这样一个具体的接入能力。\n\n### 4.2 Capability 独立建模\n\n**Capability（能力）** 是 Product 能够完成的正式软件能力，例如 Authentication、Object Storage、Payment Processing、OCR、Email Sending、Image Generation、Web Search。\n\nProduct 与 Capability 是**多对多**关系：一个 Product 支持多种能力，一种能力也可由多个 Product 实现。这种建模让\"按能力找软件\"成为可能——用户不必记住\"S3 \u002F R2 \u002F OSS\"这些名字，只需说\"我要对象存储\"，Reuseio 就能列出所有候选。\n\n关键约束：**Capability 不使用自由文本临时创建**。AI 在抽取中发现新能力时，只能生成候选，必须写入正式 Capability Registry 后才能使用。这避免了\"同义词爆炸\"和语义漂移。\n\n### 4.3 事实必须存在来源\n\n这是 Reuseio 最锋利的一条原则。\n\n> **Reuseio 不允许 AI 凭经验补充事实。**\n\nAI 可以抽取、整理、分类、翻译、摘要、生成介绍、生成供 AI 使用的提示词。但 AI **不可以**猜测价格、猜测兼容性、猜测运行环境、猜测 API 能力，也不能根据常识填写缺失字段。\n\n对于未知信息，Reuseio 的态度明确而优雅：\n\n```\n使用 null\n或明确显示\"暂无可靠信息\"\n```\n\n**不能把\"未知\"视为 false。** 不知道某产品是否支持 Cloudflare Workers，正确做法是 `cloudflare_workers: null`；错误地写成 `false`，会被下游 AI 当成\"明确不支持\"而错误排除。这一字之差，决定了 AI 选型的可信度。\n\n### 4.4 数据优先于 AI\n\nReuseio 本身不承担复杂 AI 推理。它主要提供：\n\n```\n可信数据 + 统一 Schema + 搜索 + 来源 + 接入信息\n```\n\n而需求分析、能力拆分、产品比较、方案推荐、技术选型，全部交给用户自己的 Claude、Codex、Cursor、Gemini CLI 等 AI 完成。\n\n这是一种\"分权\"思想：基础设施保持简单、稳定、可审计；智能留给离用户最近的那一层。Reuseio 因此不会变成一个黑盒推荐引擎，而是一块永远可被审查的\"事实地基\"。\n\n## 五、一张可被机器读取的\"软件世界地图\"\n\nReuseio 用一组相互关联的核心实体，把混乱的软件世界编织成一张可追溯的图谱：\n\n| 实体 | 作用 |\n| --- | --- |\n| **Provider** | 软件提供方（Cloudflare、Stripe、OpenAI…） |\n| **Product** | 核心实体，可独立复用的软件能力单元 |\n| **Capability** | 正式建模的能力（对象存储、支付…） |\n| **Tag** | 受控分类（Runtime、Region、License、协议…） |\n| **Integration** | 如何接入（REST \u002F SDK \u002F npm \u002F MCP \u002F CLI…） |\n| **Relationship** | 产品间关系（depends_on \u002F alternative_to \u002F compatible_with…） |\n| **Source \u002F Evidence** | 事实的出处与字段级证据 |\n\n所有这些实体最终汇聚到 **Reuseio Manifest**——一个统一的 `reuseio.json` 描述格式。它回答四个问题：**这个软件是什么、能做什么、如何接入、事实来源是什么。**\n\nManifest 背后的核心工程原则是：\n\n```\nOne Registry   （一个注册中心）\nOne Schema     （一套统一结构）\nMultiple Clients（多种客户端：网站 \u002F API \u002F npm \u002F Skill \u002F 未来 MCP）\n```\n\n同一套 Schema 驱动所有客户端，避免了\"网站一套模型、API 另一套模型、SDK 再一套模型\"的数据分裂。这保证了无论人类、Agent 还是搜索引擎，看到的都是同一个、一致的 Reuseio。\n\n## 六、可追溯的事实体系：信任的骨架\n\n让 Reuseio 区别于普通目录的，是它对**来源（Source）**与**证据（Evidence）**的执念。\n\n每一条事实都必须能追溯到出处。Source 保存 URL、标题、来源类型、文本片段、抓取时间、内容 Hash、是否官方、可信等级。Evidence 则把字段级数据与具体来源绑定——例如 `facts.runtime.cloudflare_workers` 这个字段，可以直接指向 Cloudflare 官方文档中的对应原文片段。\n\n由于不同产品的数据结构差异极大，Reuseio 用动态的 **Product Facts**（`namespace.key.value`）容纳非通用字段，如 `pricing.free_tier`、`runtime.cloudflare_workers`、`authentication.methods`、`limits.max_file_size`。而**所有 Product Fact 都必须绑定 Source**——没有来源的事实，不得发布。\n\n这种\"字段级可审计\"的设计，让下游的 AI 在做出技术判断时，能够带上证据 URL 回到官方文档核实，而不是轻信一个二手摘要。\n\n## 七、自动化，但不失严谨\n\nReuseio 的设计目标之一是**尽可能减少人工维护**。它通过一套自动化的数据流，把互联网上的软件信息持续转化为可信 Registry：\n\n```\nDiscover（发现）\n  ↓\nCrawl（抓取官方资料）\n  ↓\nExtract（抽取有效信息）\n  ↓\nAI Normalize（AI 标准化）\n  ↓\nValidate（验证）\n  ↓\nPublish（发布）\n```\n\n这条流水线有几个值得强调的工程取舍：\n\n- **自动发布，无需人工审核。** 通过 Validator 的正常数据直接发布；管理员只在事后处理异常、错误、重复和下架。\n- **AI 负责整理，来源负责事实。** 在收录判断（valid \u002F spam \u002F abandoned 等）上允许 AI 推理，但 AI 绝不因此生成任何 Product 事实。\n- **失败隔离。** 任一 Product 抓取失败、任一 Source 失败，都不能拖垮整条流水线。\n- **成本控制。** 仅当内容 Hash 变化时才重新调用 AI；纯搜索、纯读取 API 绝不触发 LLM。\n- **尊重来源。** 爬虫遵守 robots.txt、控制并发、带明确 User-Agent（`ReuseioBot\u002F1.0`），不对官方文档站制造压力。\n\n理想状态是：管理员提供少量初始 Seed 后，系统能够持续自行**发现、抓取、整理、验证、发布、更新**，人只处理例外。\n\n底层已经验证可端到端运行：本地验收中，Cloudflare 开发者平台被抓取、经 Kimi 标准化，自动发布为 18 个独立 Product（Workers、R2、D1、Workers AI、Queues、Durable Objects、SDK、Wrangler CLI 等），无泛化的\"伞型\"条目。\n\n## 八、清晰的人机边界\n\nReuseio 最有纪律感的地方，是它清楚地划出了\"我做什么、我不做什么\"。\n\n**Reuseio 负责：**\n\n```\nDiscover（发现）     Describe（描述）\nStructure（结构化）  Reference（给出来源）\n```\n\n**Reuseio 不负责：**\n\n```\nDecide（决策）        Execute（执行）\nProxy（代理请求）     Bill（计费）\nStore Credentials（托管密钥）\n```\n\n这意味着 Reuseio **不代理任何第三方 API、不托管用户密钥、不做统一调用网关**。在 Phase 4 的设想中，Reuseio 可以返回标准化的第三方调用描述，由用户自己的 Agent 直接连接 Provider——它始终是\"指路人\"，而不是\"代驾\"。\n\n边界同样体现在产品功能上：v1 明确不做用户注册、收藏、评论、评分、AI Chat、AI 推荐 API、向量搜索、统一代理等。它刻意保持\"薄\"——把智能和决策留给使用它的人。\n\n## 九、为 AI 原生而设计\n\nReuseio 从第一天起就为 AI Agent 而设计，而非事后补救。\n\n**每个 Product 页面都提供\"用于 AI\"的一键复制提示词。** 这份 Prompt 不仅包含产品能力、官方文档、Integration、运行环境、认证信息与重要限制，还明确约束 Agent：\n\n```\n优先依据官方文档实施。\n不得将 Reuseio 中缺失的信息自行视为支持。\n如果某项事实没有明确来源，应进一步检查官方文档。\n```\n\n**`POST \u002Fapi\u002Fv1\u002Fresearch` 接口** 为 Agent 提供任务级检索上下文：你传入一个任务描述和一组能力词，它返回候选产品、匹配的 Manifest、官方来源与实现约束。接口刻意保持 LLM 中立——它不替你做最终技术决策，只把\"带证据的事实\"交还给你。\n\n**npm SDK（`reuseio`）** 极薄，只暴露 `search()`、`getProduct()`、`getCapability()`、`getManifest()`、`researchTask()`，让 Agent 在代码里直接读取 Registry，不内置 LLM、不分析用户代码。\n\n**Reuseio Skill** 不保存 Product 数据，只描述工作流：\n\n```\n读取需求 → 拆分能力 → 查询 Reuseio → 读取 Manifest\n→ 检查 Evidence → 比较候选 → 选择方案 → 依据官方文档实施\n```\n\nAI 自己负责需求理解与最终推荐。Reuseio 提供\"路\"和\"路标\"，方向由行驶者决定。\n\n此外，Reuseio 还重写了文档抓取：把官方文档站作为有界的多页爬取，做语义化正文提取、标题层级、链接评分与官方来源信任加权，让详情页的事实真正来自官方，而非营销话术。\n\n## 十、实现现状与演进路线\n\nReuseio 并非纸上谈兵。基于 `progress.md`，v1 的核心能力已经落地：\n\n- Nuxt 4 + Vue 3 + Tailwind 的 SSR 前台，响应式亮\u002F暗主题，中英文界面持久化；\n- Supabase PostgreSQL 的 Registry、Evidence、Discovery、Crawl Jobs 完整迁移；\n- Public REST API v1（products \u002F providers \u002F capabilities \u002F tags \u002F search \u002F sources \u002F evidence \u002F manifest \u002F ai-prompt \u002F research）；\n- 共享的 Manifest v1 映射器与受证据约束的 AI Prompt 生成器；\n- Srces Auth 鉴权后台（`\u002Fadmin`），fail-closed 的受保护接口；\n- Cloudflare Cron + Queue 驱动的爬虫、Kimi 标准化队列、确定性证据校验与事务化发布；\n- 端到端本地验收通过，并补回 GitHub 仓库\u002FREADME 的采集与 Star、语言过滤的发现流程；\n- 轻量无依赖的 `sdk\u002F` 与 workflow-only 的 `skill\u002Freuseio-registry\u002F`。\n\n**四阶段演进路线：**\n\n```\nPhase 1  Registry \u002F Website \u002F Crawler \u002F Public API \u002F Manifest \u002F npm \u002F Skill\nPhase 2  扩大数据源 \u002F 完善 Capability Graph \u002F MCP Server \u002F 第三方 Registry 接入\nPhase 3  统一软件能力描述标准 \u002F Execution Metadata \u002F Agent Integration\nPhase 4  返回标准化第三方调用描述，由用户 Agent 直连 Provider（不托管密钥、不代理请求）\n```\n\n## 十一、Reuseio 的长期资产\n\n> **构建一个持续更新、可追溯、机器可读取的软件世界 Registry。**\n\n它不追求替你思考，也不承诺替你决策。它要做的，是在 AI 与开发者动手之前，先把\"世界上已经存在什么、各自能做什么、依据从哪来\"这件最基础也最被忽视的事，做得**诚实、结构化、可审计**。\n\n在一个 AI 可以瞬间生成海量代码的年代，真正的稀缺资源不再是\"写下代码的能力\"，而是**判断该不该写、该复用哪一行的能力**。Reuseio 正是为这种判断提供地基——让\"复用\"成为默认，让\"重复造轮子\"成为需要理由的例外。\n\n这，就是 Reuseio 想为软件世界留下的长期资产。","\u002Fuploads\u002F2026-08-12\u002F3650f19f-d9e5-4cbf-8e06-24ccd965cded.jpg",[],[],"Srces工作室","https:\u002F\u002Fwww.srces.cn","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35,39,43],{"id":24,"name":25,"slug":26},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":28,"name":29,"slug":30},"68cedb55-2cac-412f-8f81-fda8c7d686dd","思考","thought",{"id":32,"name":33,"slug":34},"93e74788-a474-46ff-a185-5bdb45ab3b02","Srces工作室产品","srces-product",{"id":36,"name":37,"slug":38},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":40,"name":41,"slug":42},"bfb9750c-40cf-487e-81ad-dbac5f22ffcd","SaaS","saas",{"id":44,"name":45,"slug":8},"631fda37-c797-4f16-b814-457c609c0aad","Reuseio","前往使用","https:\u002F\u002Freuseio.com","published",null,true,1,0,"2026-08-10T00:00:00.000Z","2026-08-19T03:03:25.167Z","2026-08-10T05:57:30.081Z",[57,66,74],{"id":58,"type":6,"title":59,"slug":60,"summary":61,"coverUrl":62,"authorName":63,"sno":51,"publishedAt":64,"createdAt":65},"fd91161d-cdca-4ddf-b773-f39120b2ae08","Agentic Debt：重复造轮子已成系统性现象","agentic-debt","AI Agent在软件开发中“重复造轮子”的现象，是其底层技术架构与真实软件工程环境之间一系列结构性冲突的必然结果。","\u002Fuploads\u002F2026-08-12\u002F2b3baae8-c605-4bf9-93aa-18ce8d222b8c.jpg","Foundit","2026-08-12T00:00:00.000Z","2026-08-11T17:02:01.940Z",{"id":67,"type":6,"title":68,"slug":69,"summary":70,"coverUrl":71,"authorName":14,"sno":72,"publishedAt":64,"createdAt":73},"b389a24b-ea9b-4e0f-a7c8-451b9d9fc271","如何为海量软件项目做「可追溯的分类整理」","how-reuseio-works","Reuseio 用机器自动维护数据流程，让来源决定事实，平台内置 AI 负责整理，用户 Agent 结合实际项目判断。","\u002Fuploads\u002F2026-08-12\u002Fc6e069f3-d23a-483d-ba9e-20ec36407ef2.jpg",5,"2026-08-12T05:56:11.211Z",{"id":75,"type":6,"title":76,"slug":77,"summary":78,"coverUrl":79,"authorName":63,"sno":80,"publishedAt":81,"createdAt":82},"3e2a7e9e-a123-4ed6-b886-455e76649df1","AI 编程为什么需要“证据链”？","ai-coding-evidence-chain-logs-tests","AI 说“功能已完成”只是声明，真正可靠的结果还需要 diff、终端日志、测试结果和真实操作共同证明。本文解释不同证据能说明什么，以及如何设计任务收尾模板。","\u002Fuploads\u002F2026-09-14\u002F34be8dc4-3692-47ab-8f7c-226dd203c805.jpg",44,"2026-09-14T00:00:00.000Z","2026-09-14T11:00:03.458Z"]