From 1250b674b0cdd1eee596850281c3f717800d5715 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Fri, 30 Oct 2026 03:25:38 +0800 Subject: [PATCH] Add AI company research workbench backed by the shared site database --- README.md | 27 + apps/docs/package.json | 3 +- apps/docs/scripts/auth-cli.ts | 17 +- apps/docs/scripts/test-research.mjs | 14 + .../docs/src/components/AICompanyResearch.tsx | 145 + apps/docs/src/lib/ai-research-store.ts | 87 + apps/docs/src/lib/ai-research.ts | 79 + apps/docs/src/lib/auth-store.ts | 10 +- apps/docs/src/lib/site-database.ts | 20 + .../src/pages/api/research/ai-companies.ts | 13 + apps/docs/src/pages/docs/[...slug].tsx | 5 +- apps/docs/src/styles/globals.css | 88 + apps/docs/tests/research.test.ts | 70 + content/catalog.json | 8 + .../docs/ai-company-research/00-overview.md | 5 + content/research/ai-companies.seed.json | 3410 +++++++++++++++++ package.json | 5 +- scripts/check-container.sh | 1 + 18 files changed, 3994 insertions(+), 13 deletions(-) create mode 100644 apps/docs/scripts/test-research.mjs create mode 100644 apps/docs/src/components/AICompanyResearch.tsx create mode 100644 apps/docs/src/lib/ai-research-store.ts create mode 100644 apps/docs/src/lib/ai-research.ts create mode 100644 apps/docs/src/lib/site-database.ts create mode 100644 apps/docs/src/pages/api/research/ai-companies.ts create mode 100644 apps/docs/tests/research.test.ts create mode 100644 content/docs/ai-company-research/00-overview.md create mode 100644 content/research/ai-companies.seed.json diff --git a/README.md b/README.md index 9b7f0e3..b23ed82 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,33 @@ AUTH_CONFIG_FILE=/private/tmp/tabularium-auth/config.json AUTH_COOKIE_SECURE=fal `pnpm test:auth`运行算法、会话、重放及限流测试。容器验证使用自己的匿名测试卷完成登录/并发重放/CSRF/限流测试,并在重启后检查状态仍存在。生产部署只运行无副作用的 `verify`,不会消耗用户动态码或触发生产限流。 +## AI 公司研究 + +导航入口为 **其他研究 → AI 公司研究**,页面路径是 +`/docs/other-research/ai-company-research/overview`。工作台提供业务分类、公司搜索与筛选、 +公司明细、收入观测、原始证据和数据核查记录。所有页面与 +`GET /api/research/ai-companies` 均使用文档站现有的登录认证。 + +研究数据与登录状态**共用文档站现有的 SQLite 数据库文件**: +`AUTH_CONFIG_FILE` 同目录下的 `login-state.sqlite`。该文件名是历史名称,未创建第二个数据库。 +`login_state` 保留登录限流与重放状态,新增的 `research_*` 表保存数据版本、分类、 +公司、经营指标、证据与核查记录。沿用现有 `/auth` 持久挂载,数据库不会写入镜像或公开目录。 + +`content/research/ai-companies.seed.json` 是可评审的研究导入快照, +服务端首次读取该版本时将它以事务导入同一数据库,之后从数据库查询记录。 +导入使用外键校验,不删除登录数据,也不覆盖旧研究版本。每次更新快照必须修改 `version`; +同一版本内容变化会拒绝导入,避免静默读取旧数据。回退代码时继续读取对应旧版本。 +所有修改都经过工作分支和 PR,部署仍等待人工合并主线。 + +首批资料包含 54 家公司、10 类业务、87 条证据记录和 63 条经营观测。 +它是定向试样,收入披露不足且统计时点不统一,不代表全部 AI 公司。 +界面将公司自述、第三方估算、融资、客户收入和履历收入分开,未知收入不记为零。 +当前尚不能可靠计算领域 ARR 均值、离散排名或财务造假概率。 + +`pnpm test:research` 在远程 Runner 上验证同库持久化、重复读取、版本导入与回退、 +登录限流保留、引用完整性及收入排除规则。镜像冒烟检查会验证研究页面与 API 的认证、 +返回记录数量、只读方法和容器重启后的读取结果。页面筛选交互仍需实际浏览器验证。 + ## CI/CD 与缓存 `.gitea/workflows/ci-deploy.yml` 使用已有 ces-control Runner,不修改共享 Runner 配置。 diff --git a/apps/docs/package.json b/apps/docs/package.json index a8e7658..2330f52 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -10,7 +10,8 @@ "start": "NEXT_TELEMETRY_DISABLED=1 next start --hostname 127.0.0.1", "lint": "eslint . --max-warnings=0", "typecheck": "NEXT_TELEMETRY_DISABLED=1 next typegen && tsc --noEmit", - "test:auth": "node scripts/test-auth.mjs" + "test:auth": "node scripts/test-auth.mjs", + "test:research": "node scripts/test-research.mjs" }, "dependencies": { "next": "16.4.3", diff --git a/apps/docs/scripts/auth-cli.ts b/apps/docs/scripts/auth-cli.ts index e702ff5..50620f2 100644 --- a/apps/docs/scripts/auth-cli.ts +++ b/apps/docs/scripts/auth-cli.ts @@ -160,7 +160,7 @@ async function main() { path, ); } - for (const path of ["/api/private", "/api/unknown", "/api/search"]) + for (const path of ["/api/private", "/api/unknown", "/api/search", "/api/research/ai-companies"]) assert.equal((await request(path)).status, 401, path); assert.equal( ( @@ -181,6 +181,21 @@ async function main() { const headers = { Authorization: "Bearer " + signSession(config, undefined, 600), }; + const researchResponse = await request("/api/research/ai-companies", { headers }); + assert.equal(researchResponse.status, 200, "authenticated research API"); + assert.ok(researchResponse.headers.get("cache-control")?.includes("no-store")); + const research = await researchResponse.json(); + assert.equal(research.companies.length, 54); + assert.equal(research.categories.length, 10); + assert.equal(research.evidence.length, 87); + assert.equal(research.observations.length, 63); + assert.equal((await request("/api/research/ai-companies", { method: "POST", headers })).status, 405); + const researchPage = await request("/docs/other-research/ai-company-research/overview", { headers }); + assert.equal(researchPage.status, 200); + const researchHtml = await researchPage.text(); + assert.ok(researchHtml.includes('data-category="其他研究"')); + assert.ok(researchHtml.includes("AI 公司研究")); + assert.ok(researchHtml.includes("正在读取研究数据库")); const searchResponse = await request("/api/search", { headers }); assert.equal(searchResponse.status, 200); const searchIndex = await searchResponse.json(); diff --git a/apps/docs/scripts/test-research.mjs b/apps/docs/scripts/test-research.mjs new file mode 100644 index 0000000..9b164e5 --- /dev/null +++ b/apps/docs/scripts/test-research.mjs @@ -0,0 +1,14 @@ +import { build } from "esbuild"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { spawnSync } from "node:child_process"; + +const dir = await mkdtemp(join(tmpdir(), "tabularium-research-tests-")); +try { + const file = join(dir, "research.test.cjs"); + await build({ entryPoints: ["tests/research.test.ts"], bundle: true, + platform: "node", target: "node22", format: "cjs", outfile: file }); + const result = spawnSync(process.execPath, ["--test", file], { stdio: "inherit" }); + process.exitCode = result.status ?? 1; +} finally { await rm(dir, { recursive: true, force: true }); } diff --git a/apps/docs/src/components/AICompanyResearch.tsx b/apps/docs/src/components/AICompanyResearch.tsx new file mode 100644 index 0000000..36a27fe --- /dev/null +++ b/apps/docs/src/components/AICompanyResearch.tsx @@ -0,0 +1,145 @@ +import { useEffect, useMemo, useRef, useState } from "react"; +import { + categorySummary, evidenceUrl, type ResearchEvidence, type ResearchSnapshot, +} from "@/lib/ai-research"; + +const pageSize = 12; +const revenueLabels = { self: "公司披露,待核口径", estimate: "仅第三方估算", unknown: "本轮未找到收入数字" }; +const useLabels: Record = { + signal: "公司披露信号", estimate: "第三方估算", historical: "历史里程碑", + "historical-estimate": "历史估算", excluded: "排除收入比较", scale: "团队规模", + funding: "融资", crosscheck: "同一里程碑的其他资料", +}; +const money = (value: number, unit = "USD") => unit === "USD" + ? new Intl.NumberFormat("zh-CN", { style: "currency", currency: "USD", maximumFractionDigits: 0 }).format(value) + : `${new Intl.NumberFormat("zh-CN").format(value)} ${unit}`; + +function External({ url, children }: { url: string; children: React.ReactNode }) { + const safe = evidenceUrl(url); + return safe ? {children} ↗ : {children}; +} +function Evidence({ item, prefix = "evidence" }: { item: ResearchEvidence; prefix?: string }) { + return
  • +
    {item.id}{item.kind}
    + {item.title} +

    {item.summary}

    {item.limitation}

    + 发布:{item.publishedAt ?? "未注明"} 读取:{item.accessedAt} +
  • ; +} + +export default function AICompanyResearch() { + const [data, setData] = useState(null); + const [error, setError] = useState(false); + const [attempt, setAttempt] = useState(0); + const [query, setQuery] = useState(""); + const [category, setCategory] = useState(""); + const [cohort, setCohort] = useState(""); + const [income, setIncome] = useState(""); + const [page, setPage] = useState(0); + const [selected, setSelected] = useState(null); + const [tab, setTab] = useState<"companies" | "revenue" | "sources" | "reviews">("companies"); + const companySection = useRef(null); + const detailSection = useRef(null); + useEffect(() => { + const controller = new AbortController(); + fetch("/api/research/ai-companies", { signal: controller.signal, cache: "no-store" }) + .then(async (response) => { + if (!response.ok) throw new Error("Research unavailable"); + const snapshot: ResearchSnapshot = await response.json(); + setData(snapshot); + }).catch(() => { if (!controller.signal.aborted) setError(true); }); + return () => controller.abort(); + }, [attempt]); + useEffect(() => { if (selected) detailSection.current?.focus(); }, [selected]); + const summaries = useMemo(() => data ? categorySummary(data) : [], [data]); + const filtered = useMemo(() => data?.companies.filter((c) => { + const search = `${c.name} ${c.business} ${c.location ?? ""} ${c.buyer}`.toLocaleLowerCase(); + const yearMatch = !cohort || (cohort === "other" ? ![2025, 2026].includes(c.year ?? 0) : c.year === Number(cohort)); + return (!category || c.cat === category) && yearMatch && (!income || c.revenueStatus === income) + && search.includes(query.trim().toLocaleLowerCase()); + }) ?? [], [data, query, category, cohort, income]); + if (error) return
    研究数据库暂时不可用。
    ; + if (!data) return

    正在读取研究数据库…

    ; + const categories = new Map(data.categories.map((c) => [c.id, c])); + const selectedCompany = data.companies.find((c) => c.id === selected); + const observed = data.observations.filter((o) => ["signal", "estimate"].includes(o.selection)); + const revenueCompanies = new Set(observed.map((o) => o.company)).size; + const selectedObservations = data.observations.filter((o) => o.company === selected); + const selectedEvidenceIds = new Set([ + ...(selectedCompany?.evidenceIds ?? []), ...(selectedCompany?.pricingEvidence ? [selectedCompany.pricingEvidence] : []), + ...selectedObservations.map((o) => o.evidence), + ]); + const selectedEvidence = data.evidence.filter((e) => e.companyId === selected || selectedEvidenceIds.has(e.id)); + function chooseCategory(id: string) { + setCategory(id); setPage(0); setTab("companies"); + companySection.current?.scrollIntoView({ behavior: "smooth", block: "start" }); + } + return
    +
    资料截至 {data.asOf}首批研究 · 持续补全
    +
    +
    {data.companies.length}已收录公司
    +
    {data.categories.length}业务类别
    +
    {revenueCompanies}找到收入信号的公司
    +
    {data.evidence.length}证据记录
    +
    +

    {data.scope}

    +
    数据口径与覆盖限制
      {data.limitations.map((note) =>
    • {note}
    • )}
    +

    来源以 YC、公司官网、投资机构名录与经营案例为主。同一披露的转载不构成独立验证。团队人数包含公司自报的 Team Size,与正式员工口径可能不同。

    +
    +
    +
    +

    业务分类

    点击类别查看对应公司。数量反映本次采集覆盖,不是市场份额。

    +
    {summaries.map((c) => )}
    +
    +
    +

    研究数据

    +
    + {([['companies','公司数据'],['revenue','收入观测'],['sources','原始证据'],['reviews','核查记录']] as const).map(([id,label]) => + )} +
    + {tab === "companies" && <> +
    + + + + +
    +
    {filtered.length} 家匹配公司
    +
    + {filtered.slice(page * pageSize, (page + 1) * pageSize).map((c) => + + + + )} +
    公司分类与经营资料。选择公司名称查看指标和原始证据。
    公司 / 地区业务与买家成立 / 发布组别团队规模收入资料
    {c.location ?? "地区未注明"}{categories.get(c.cat)?.name}

    {c.business}

    买家:{c.buyer}
    {c.cohort}{c.team ?? "未披露"}{c.team !== null && " 人"}{revenueLabels[c.revenueStatus]}
    + {!filtered.length &&

    没有匹配公司,请调整筛选条件。

    } + {filtered.length > pageSize && } + } + {tab === "revenue" && <> +

    目前找到 {revenueCompanies} 家公司的收入信号。大多是缺少日历时点的历史里程碑,且 ARR 与年化收入尚未统一。领域均值和离散度暂不计算。

    +
    {observed.map((o) =>
    +
    {money(o.value, o.unit)}
    + + {o.kind} · {useLabels[o.selection]} · {o.timing} +
    )}
    +
    {summaries.map((c) => )}
    各领域收入可得性;未建立同期、同龄、同口径比较组
    业务分类公司披露数仅估算数本轮未找到数字同期均值 / 离散度
    {c.self}{c.estimate}{c.unknown}条件不足
    +

    离散度用于筛选值得核查的异常,还需排除公司年龄、口径和披露偏差;不能据此认定财务造假。

    + } + {tab === "sources" && <>

    来源链接保留原始位置。相同 URL 的记录可能属于同一披露,不能按记录数计算独立证据数量。

      {data.evidence.map((e) => )}
    } + {tab === "reviews" &&
      {data.reviews.map((r) =>
    • {r.type}

      {r.company}

      {r.summary}

      {r.handling}

      {r.evidenceIds.map((id) => { const e=data.evidence.find((item) => item.id === id); return e ? {id} : null; })}
    • )}
    } +
    + {selectedCompany &&
    +

    {selectedCompany.name}

    +

    公司资料入口 {selectedCompany.extraUrl && 额外核验入口}

    +
    主营业务
    {selectedCompany.business}
    样本组别
    {selectedCompany.cohort}
    买家
    {selectedCompany.buyer}
    收费方式
    {selectedCompany.price}
    交付证据
    {selectedCompany.delivery}
    团队口径
    {selectedCompany.teamBasis ?? "本轮未核验人数"}
    技术水平
    尚未独立测试,不据融资或收入作能力排名。
    身份与限制
    {selectedCompany.notes}
    +

    经营指标与排除记录

    + {selectedObservations.length ?
    {selectedObservations.map((o) => )}
    指标 / 归属原始数值数据时点用途及限制证据
    {o.kind}{o.scope}{o.bound !== "=" && o.bound}{money(o.value,o.unit)}{o.timing}{useLabels[o.selection] ?? o.selection}{o.reason}{o.evidence}
    :

    本轮尚未找到可记录的量化经营指标。收入保持未知。

    } +

    原始证据

      {selectedEvidence.map((e) => )}
    +
    } +

    数据版本 {data.version}。当前为首批资料,覆盖、收入定义、财务透明度与商业模式评估将随核验补充。

    +
    ; +} diff --git a/apps/docs/src/lib/ai-research-store.ts b/apps/docs/src/lib/ai-research-store.ts new file mode 100644 index 0000000..72bda48 --- /dev/null +++ b/apps/docs/src/lib/ai-research-store.ts @@ -0,0 +1,87 @@ +import seed from "../../../../content/research/ai-companies.seed.json"; +import { createHash } from "node:crypto"; +import { openSiteDatabase } from "./site-database"; +import { validateResearch, type ResearchSnapshot } from "./ai-research"; + +// Each release selects an immutable research revision. New revisions are added +// transactionally, preserving both earlier research and all authentication rows. +export function readResearchSnapshot(snapshot = seed as ResearchSnapshot): ResearchSnapshot { + validateResearch(snapshot); + const digest = createHash("sha256").update(JSON.stringify(snapshot)).digest("hex"); + const db = openSiteDatabase(); + try { + db.exec(` + CREATE TABLE IF NOT EXISTS research_datasets ( + id TEXT PRIMARY KEY, as_of TEXT NOT NULL, metadata TEXT NOT NULL, content_hash TEXT NOT NULL + ); + CREATE TABLE IF NOT EXISTS research_categories ( + dataset_id TEXT NOT NULL REFERENCES research_datasets(id), + id TEXT NOT NULL, payload TEXT NOT NULL, PRIMARY KEY(dataset_id,id) + ); + CREATE TABLE IF NOT EXISTS research_companies ( + dataset_id TEXT NOT NULL, id TEXT NOT NULL, category_id TEXT NOT NULL, + name TEXT NOT NULL, founded_year INTEGER, team_size INTEGER, + revenue_status TEXT NOT NULL, payload TEXT NOT NULL, + PRIMARY KEY(dataset_id,id), + FOREIGN KEY(dataset_id,category_id) REFERENCES research_categories(dataset_id,id) + ); + CREATE TABLE IF NOT EXISTS research_evidence ( + dataset_id TEXT NOT NULL REFERENCES research_datasets(id), + id TEXT NOT NULL, url TEXT NOT NULL, payload TEXT NOT NULL, + PRIMARY KEY(dataset_id,id) + ); + CREATE TABLE IF NOT EXISTS research_observations ( + dataset_id TEXT NOT NULL, id TEXT NOT NULL, company_id TEXT NOT NULL, + evidence_id TEXT NOT NULL, kind TEXT NOT NULL, amount REAL NOT NULL, + unit TEXT NOT NULL, record_use TEXT NOT NULL, payload TEXT NOT NULL, + PRIMARY KEY(dataset_id,id), + FOREIGN KEY(dataset_id,company_id) REFERENCES research_companies(dataset_id,id), + FOREIGN KEY(dataset_id,evidence_id) REFERENCES research_evidence(dataset_id,id) + ); + CREATE TABLE IF NOT EXISTS research_reviews ( + dataset_id TEXT NOT NULL REFERENCES research_datasets(id), + id TEXT NOT NULL, payload TEXT NOT NULL, PRIMARY KEY(dataset_id,id) + ); + `); + // The database transaction also serializes first requests from two workers. + db.exec("BEGIN IMMEDIATE"); + try { + const exists = db.prepare("SELECT content_hash FROM research_datasets WHERE id=?") + .get(snapshot.version) as { content_hash: string } | undefined; + if (exists && exists.content_hash !== digest) + throw new Error("Research data changed without a new revision identifier"); + if (!exists) { + const { categories, companies, observations, evidence, reviews, ...metadata } = snapshot; + db.prepare("INSERT INTO research_datasets VALUES (?,?,?,?)") + .run(snapshot.version, snapshot.asOf, JSON.stringify(metadata), digest); + const insertCategory = db.prepare("INSERT INTO research_categories VALUES (?,?,?)"); + for (const row of categories) insertCategory.run(snapshot.version, row.id, JSON.stringify(row)); + const insertCompany = db.prepare("INSERT INTO research_companies VALUES (?,?,?,?,?,?,?,?)"); + for (const row of companies) insertCompany.run(snapshot.version, row.id, row.cat, + row.name, row.year, row.team, row.revenueStatus, JSON.stringify(row)); + const insertEvidence = db.prepare("INSERT INTO research_evidence VALUES (?,?,?,?)"); + for (const row of evidence) insertEvidence.run(snapshot.version, row.id, row.url, JSON.stringify(row)); + const insertObservation = db.prepare("INSERT INTO research_observations VALUES (?,?,?,?,?,?,?,?,?)"); + for (const row of observations) insertObservation.run(snapshot.version, row.id, row.company, + row.evidence, row.kind, row.value, row.unit, row.selection, JSON.stringify(row)); + const insertReview = db.prepare("INSERT INTO research_reviews VALUES (?,?,?)"); + for (const row of reviews) insertReview.run(snapshot.version, row.id, JSON.stringify(row)); + } + db.exec("COMMIT"); + } catch (error) { + db.exec("ROLLBACK"); + throw error; + } + const meta = db.prepare("SELECT metadata FROM research_datasets WHERE id=?").get(snapshot.version) as { metadata: string }; + // All displayed records come from the site database, not the seed arrays. + const rows = (table: string) => (db.prepare( + `SELECT payload FROM ${table} WHERE dataset_id=? ORDER BY id`, + ).all(snapshot.version) as { payload: string }[]).map((r) => JSON.parse(r.payload)); + const stored: ResearchSnapshot = { ...JSON.parse(meta.metadata), + categories: rows("research_categories"), companies: rows("research_companies"), + observations: rows("research_observations"), evidence: rows("research_evidence"), + reviews: rows("research_reviews") }; + validateResearch(stored); + return stored; + } finally { db.close(); } +} diff --git a/apps/docs/src/lib/ai-research.ts b/apps/docs/src/lib/ai-research.ts new file mode 100644 index 0000000..ced9ce9 --- /dev/null +++ b/apps/docs/src/lib/ai-research.ts @@ -0,0 +1,79 @@ +export type ResearchCategory = { id: string; name: string; description: string }; +export type ResearchCompany = { + id: string; name: string; url: string; cat: string; year: number | null; + team: number | null; location: string | null; business: string; buyer: string; + delivery: string; notes: string; cohort: string; teamBasis: string | null; + price: string; stage: string; sourceType: string; evidenceIds: string[]; + revenueStatus: "self" | "estimate" | "unknown"; + extraUrl?: string; pricingEvidence?: string; +}; +export type ResearchObservation = { + id: string; company: string; name: string; kind: string; value: number; + unit: string; timing: string; evidence: string; scope: string; + selection: string; reason: string; bound: string; comparisonGroup: string | null; +}; +export type ResearchEvidence = { + id: string; companyId: string | null; title: string; url: string; + publishedAt: string | null; accessedAt: string; kind: string; + summary: string; limitation: string; +}; +export type ResearchReview = { + id: string; type: string; company: string; summary: string; + evidenceIds: string[]; handling: string; +}; +export type ResearchSnapshot = { + version: string; asOf: string; scope: string; limitations: string[]; + categories: ResearchCategory[]; companies: ResearchCompany[]; + observations: ResearchObservation[]; evidence: ResearchEvidence[]; + reviews: ResearchReview[]; +}; + +export function evidenceUrl(value: string): string | undefined { + try { + const url = new URL(value); + return ["https:", "http:"].includes(url.protocol) ? url.href : undefined; + } catch { return undefined; } +} + +export function validateResearch(snapshot: ResearchSnapshot) { + const unique = (values: string[], label: string) => { + if (new Set(values).size !== values.length || values.some((v) => !v)) + throw new Error(`Duplicate or missing research ${label}`); + return new Set(values); + }; + if (!snapshot.version || !/^\d{4}-\d{2}-\d{2}$/.test(snapshot.asOf)) + throw new Error("Invalid research dataset metadata"); + const categories = unique(snapshot.categories.map((c) => c.id), "categories"); + const companies = unique(snapshot.companies.map((c) => c.id), "companies"); + const evidence = unique(snapshot.evidence.map((e) => e.id), "evidence"); + unique(snapshot.observations.map((o) => o.id), "observations"); + unique(snapshot.reviews.map((r) => r.id), "reviews"); + for (const c of snapshot.companies) { + if (!categories.has(c.cat) || !evidenceUrl(c.url) || + c.evidenceIds.some((id) => !evidence.has(id)) || + (c.pricingEvidence && !evidence.has(c.pricingEvidence))) + throw new Error(`Invalid research company reference: ${c.id}`); + } + for (const e of snapshot.evidence) { + if (!evidenceUrl(e.url) || (e.companyId && !companies.has(e.companyId))) + throw new Error(`Invalid research evidence: ${e.id}`); + } + for (const o of snapshot.observations) { + if (!companies.has(o.company) || !evidence.has(o.evidence) || + !Number.isFinite(o.value)) + throw new Error(`Invalid research observation: ${o.id}`); + } + for (const r of snapshot.reviews) + if (r.evidenceIds.some((id) => !evidence.has(id))) + throw new Error(`Invalid research review: ${r.id}`); +} + +export function categorySummary(snapshot: ResearchSnapshot) { + return snapshot.categories.map((category) => { + const companies = snapshot.companies.filter((c) => c.cat === category.id); + return { ...category, count: companies.length, + self: companies.filter((c) => c.revenueStatus === "self").length, + estimate: companies.filter((c) => c.revenueStatus === "estimate").length, + unknown: companies.filter((c) => c.revenueStatus === "unknown").length }; + }); +} diff --git a/apps/docs/src/lib/auth-store.ts b/apps/docs/src/lib/auth-store.ts index 248507f..83f4c31 100644 --- a/apps/docs/src/lib/auth-store.ts +++ b/apps/docs/src/lib/auth-store.ts @@ -1,14 +1,8 @@ -import { chmodSync } from "node:fs"; -import { dirname, join } from "node:path"; -import { DatabaseSync } from "node:sqlite"; import { authId, matchingStep, type AuthConfig } from "./auth"; +import { openSiteDatabase } from "./site-database"; function database() { - const configFile = process.env.AUTH_CONFIG_FILE; - if (!configFile) throw new Error("Authentication is not configured"); - const file = join(dirname(configFile), "login-state.sqlite"); - const db = new DatabaseSync(file); - chmodSync(file, 0o600); + const db = openSiteDatabase(); db.exec(`PRAGMA busy_timeout=5000; CREATE TABLE IF NOT EXISTS login_state ( id TEXT PRIMARY KEY, window_start INTEGER NOT NULL, diff --git a/apps/docs/src/lib/site-database.ts b/apps/docs/src/lib/site-database.ts new file mode 100644 index 0000000..6a9a65d --- /dev/null +++ b/apps/docs/src/lib/site-database.ts @@ -0,0 +1,20 @@ +import { chmodSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { DatabaseSync } from "node:sqlite"; + +// Keep the historical filename so existing authentication state is preserved. +// Research and authentication use different tables in this same site database. +export function openSiteDatabase() { + const configFile = process.env.AUTH_CONFIG_FILE; + if (!configFile) throw new Error("Authentication is not configured"); + const file = join(dirname(configFile), "login-state.sqlite"); + const db = new DatabaseSync(file); + try { + chmodSync(file, 0o600); + db.exec("PRAGMA busy_timeout=5000; PRAGMA foreign_keys=ON;"); + return db; + } catch (error) { + db.close(); + throw error; + } +} diff --git a/apps/docs/src/pages/api/research/ai-companies.ts b/apps/docs/src/pages/api/research/ai-companies.ts new file mode 100644 index 0000000..37ebf58 --- /dev/null +++ b/apps/docs/src/pages/api/research/ai-companies.ts @@ -0,0 +1,13 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import { readResearchSnapshot } from "@/lib/ai-research-store"; + +// The site's existing proxy protects this endpoint with the same login session. +export default function handler(request: NextApiRequest, response: NextApiResponse) { + response.setHeader("Cache-Control", "private, no-store"); + if (request.method !== "GET") { + response.setHeader("Allow", "GET"); + return response.status(405).end(); + } + try { return response.status(200).json(readResearchSnapshot()); } + catch { return response.status(503).json({ error: "研究数据库暂时不可用,请稍后重试" }); } +} diff --git a/apps/docs/src/pages/docs/[...slug].tsx b/apps/docs/src/pages/docs/[...slug].tsx index 5ddb476..dfb7efc 100644 --- a/apps/docs/src/pages/docs/[...slug].tsx +++ b/apps/docs/src/pages/docs/[...slug].tsx @@ -4,6 +4,7 @@ import type { InferGetStaticPropsType, } from "next"; import Head from "next/head"; +import dynamic from "next/dynamic"; import Link from "next/link"; import { Children, @@ -24,6 +25,7 @@ import { Icon } from "@/components/Icon"; import { headingsFor } from "@/lib/navigation"; type Props = { doc: Doc; docs: DocLink[] }; +const AICompanyResearch = dynamic(() => import("@/components/AICompanyResearch")); export const getStaticPaths: GetStaticPaths = async () => ({ paths: (await listDocs()).map(({ slug }) => ({ params: { slug: slug.split("/") } })), fallback: false, @@ -88,7 +90,7 @@ export default function DocPage({ -
    +
    @@ -225,6 +227,7 @@ export default function DocPage({ {doc.content} + {doc.slug === "other-research/ai-company-research/overview" && }
    .toc { display: none; } +.ai-research { margin-top: 28px; font-size: 13px; line-height: 1.65; } +.ai-research h2 { font-size: 20px; font-weight: 600; margin: 0 0 10px; letter-spacing: -.4px; } +.ai-research h3 { font-size: 15px; font-weight: 600; margin: 18px 0 8px; } +.ai-research p { margin: 6px 0 10px; } +.ai-research a, .research-company-name { color: var(--green); } +.ai-research a:hover, .research-company-name:hover { text-decoration: underline; } +.ai-research button { text-align: left; } +.research-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--muted); font-size: 12px; } +.research-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 22px 0; } +.research-stats > div { border-top: 1px solid var(--line); padding: 14px 0; } +.research-stats strong { display: block; font-size: 29px; line-height: 1.3; font-weight: 550; font-variant-numeric: tabular-nums; } +.research-stats span { color: var(--muted); font-size: 12px; } +.research-scope { padding: 14px 18px; background: var(--soft); border-radius: 7px; } +.research-scope summary { color: var(--green); font-weight: 500; } +.research-scope ul { padding-left: 20px; } +.research-section { margin: 38px 0; scroll-margin-top: 92px; } +.research-muted, .research-footnote { color: var(--muted); font-size: 12px; } +.research-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 26px; margin-top: 20px; } +.research-categories button { padding: 12px 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); } +.research-categories button:hover { color: var(--green); } +.research-categories button > div, .research-revenue-chart > div > div { display: flex; justify-content: space-between; gap: 16px; } +.research-categories strong { font-variant-numeric: tabular-nums; } +.research-categories small { font-size: 11px; color: var(--muted); } +.research-bar { display: block; height: 5px; background: #f0f3f1; margin: 8px 0; border-radius: 3px; overflow: hidden; } +.research-bar i { display: block; height: 100%; background: #47856d; border-radius: 3px; } +.research-bar[data-estimate] i { background: #b98a40; } +.research-tabs { display: flex; gap: 18px; border-bottom: 1px solid var(--line); margin: 18px 0; overflow-x: auto; } +.research-tabs button { padding: 10px 0; white-space: nowrap; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted); } +.research-tabs button[aria-pressed="true"] { border-bottom-color: var(--green); color: var(--green); font-weight: 600; } +.research-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; } +.research-filters label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 11px; flex: 1 1 140px; } +.research-filters .research-query { flex: 2 1 210px; } +.research-filters :is(input,select) { min-width: 0; width: 100%; padding: 8px 10px; font-size: 12px; color: var(--ink); background: #fff; border: 1px solid #dfe6e0; border-radius: 5px; height: 36px; } +.research-result-count { display: flex; justify-content: space-between; margin: 14px 0 8px; color: var(--muted); font-size: 12px; } +.research-result-count button { border: 0; background: none; color: var(--green); } +.research-table-wrap { overflow-x: auto; max-width: 100%; } +.ai-research table { width: 100%; border-collapse: collapse; min-width: 720px; text-align: left; font-size: 12px; } +.ai-research caption { text-align: left; color: var(--muted); padding: 12px 0; font-size: 12px; } +.ai-research th { color: var(--muted); background: #f7f9f7; font-weight: 500; } +.ai-research :is(th,td) { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; } +.ai-research td:first-child { min-width: 140px; } +.ai-research td:nth-child(2) { min-width: 220px; } +.ai-research td p { margin: 6px 0; } +.ai-research td small { display: block; color: var(--muted); margin-top: 5px; } +.ai-research tr[data-selected] { background: #f0f8f3; } +.research-company-name { font-weight: 600; background: none; border: 0; padding: 0; } +.research-tag { display: inline-block; font-size: 10px; line-height: 1.7; padding: 1px 6px; border-radius: 3px; background: #eef3ef; color: #596e60; } +.research-pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; } +.research-pagination button, .research-message button, .research-detail-heading button { padding: 6px 11px; border-radius: 4px; border: 1px solid var(--line); background: white; } +.research-pagination button:disabled { color: #a8afa9; cursor: default; } +.research-message { padding: 24px 0; color: var(--muted); } +.research-message button { margin-left: 12px; color: var(--green); } +.research-notice { border-left: 3px solid #c6a063; padding: 10px 16px; background: #faf8f2; } +.research-revenue-chart { display: grid; gap: 18px; padding: 18px 0 30px; } +.research-revenue-chart button { padding: 0; border: 0; background: none; color: var(--green); } +.research-revenue-chart strong { font-variant-numeric: tabular-nums; font-weight: 500; } +.research-revenue-chart small { color: var(--muted); font-size: 11px; } +.research-evidence-list, .research-review-list { list-style: none; padding: 0; margin: 0; } +.research-evidence { padding: 18px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 92px; } +.research-evidence > div { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; } +.research-evidence code { font-size: 11px; color: var(--muted); } +.research-evidence strong { font-weight: 500; } +.research-evidence small { color: var(--muted); font-size: 11px; } +.research-review-list > li { padding: 20px 0; border-bottom: 1px solid var(--line); } +.research-review-list h3 { margin: 8px 0; } +.research-review-list > li > div { display: flex; gap: 14px; flex-wrap: wrap; } +.research-detail { padding-top: 24px; border-top: 2px solid #dbe8df; } +.research-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; } +.research-company-facts { margin: 24px 0; } +.research-company-facts > div { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); } +.research-company-facts dt { color: var(--muted); } +.research-company-facts dd { margin: 0; } +.research-footnote { border-top: 1px solid var(--line); padding: 18px 0; } +@media (max-width: 900px) { + .research-layout { grid-template-columns: 1fr; } + .research-layout .reading-main { padding: 26px 24px 0; } +} +@media (max-width: 560px) { + .research-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 18px; } + .research-categories { grid-template-columns: 1fr; } + .research-tabs { gap: 16px; } + .research-layout .reading-main { padding: 22px 16px 0; } +} diff --git a/apps/docs/tests/research.test.ts b/apps/docs/tests/research.test.ts new file mode 100644 index 0000000..4c2c7ed --- /dev/null +++ b/apps/docs/tests/research.test.ts @@ -0,0 +1,70 @@ +import test from "node:test"; +import assert from "node:assert/strict"; +import { mkdtempSync, rmSync } from "node:fs"; +import { join } from "node:path"; +import { tmpdir } from "node:os"; +import seed from "../../../content/research/ai-companies.seed.json"; +import { readResearchSnapshot } from "../src/lib/ai-research-store"; +import { openSiteDatabase } from "../src/lib/site-database"; +import { categorySummary, evidenceUrl, validateResearch, type ResearchSnapshot } from "../src/lib/ai-research"; +import { consumeCode, initializeStore } from "../src/lib/auth-store"; +import { newAuthConfig } from "../src/lib/auth"; + +test("research revisions share the authentication database and preserve replay limits", () => { + const dir = mkdtempSync(join(tmpdir(), "site-research-")); + const previous = process.env.AUTH_CONFIG_FILE; + process.env.AUTH_CONFIG_FILE = join(dir, "config.json"); + try { + initializeStore(); + const config = newAuthConfig(); + for (let i = 0; i < 20; i++) consumeCode(config, "invalid"); + assert.equal(consumeCode(config, "invalid"), "limited"); + const initial = readResearchSnapshot(); + assert.equal(initial.companies.length, 54); + assert.equal(initial.evidence.length, 87); + assert.equal(initial.observations.length, 63); + assert.deepEqual(readResearchSnapshot(), initial, "reopening does not duplicate records"); + const db = openSiteDatabase(); + const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all() as { name: string }[]; + assert.ok(tables.some((r) => r.name === "login_state")); + assert.ok(tables.some((r) => r.name === "research_companies")); + assert.equal(db.prepare("PRAGMA foreign_keys").get()?.foreign_keys, 1); + db.close(); + const next = structuredClone(seed) as ResearchSnapshot; + next.version += "-revision-test"; + next.companies[0].name = "Revised company"; + assert.equal(readResearchSnapshot(next).companies[0].name, "Revised company"); + assert.deepEqual(readResearchSnapshot(), initial, "old release still reads its original revision"); + assert.equal(consumeCode(config, "invalid"), "limited", "research import must not reset auth limits"); + const collision = structuredClone(seed) as ResearchSnapshot; + collision.companies[0].name = "Changed without revision"; + assert.throws(() => readResearchSnapshot(collision), /new revision/); + assert.deepEqual(readResearchSnapshot(), initial, "failed import leaves valid revision intact"); + } finally { + if (previous === undefined) delete process.env.AUTH_CONFIG_FILE; + else process.env.AUTH_CONFIG_FILE = previous; + rmSync(dir, { recursive: true, force: true }); + } +}); + +test("research validation rejects broken evidence and unsafe source links", () => { + validateResearch(seed as ResearchSnapshot); + const invalid = structuredClone(seed) as ResearchSnapshot; + invalid.observations[0].evidence = "missing"; + assert.throws(() => validateResearch(invalid), /observation/); + assert.equal(evidenceUrl("javascript:alert(1)"), undefined); + assert.equal(evidenceUrl("/local-link"), undefined); + assert.equal(evidenceUrl("https://example.com/evidence"), "https://example.com/evidence"); +}); + +test("disclosure counts exclude client income, biographies, targets and duplicate milestones", () => { + const snapshot = seed as ResearchSnapshot; + const summary = categorySummary(snapshot); + assert.equal(summary.reduce((n, c) => n + c.count, 0), 54); + assert.equal(summary.reduce((n, c) => n + c.self, 0), 5); + assert.equal(summary.reduce((n, c) => n + c.estimate, 0), 1); + assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 48); + assert.equal(snapshot.companies.find((c) => c.name === "Rork")?.revenueStatus, "unknown"); + assert.equal(snapshot.companies.find((c) => c.name === "Result")?.revenueStatus, "unknown"); + assert.ok(snapshot.observations.filter((o) => o.selection === "signal").every((o) => o.scope === "公司整体")); +}); diff --git a/content/catalog.json b/content/catalog.json index 1360c87..86ed7ba 100644 --- a/content/catalog.json +++ b/content/catalog.json @@ -17,6 +17,14 @@ } ], "documents": { + "ai-company-research/00-overview": { + "collection": "AI 公司研究", + "group": "公司与市场", + "description": "按业务分类查看 AI 公司、经营指标与原始证据,检查收入定义与数据缺项。", + "slug": "other-research/ai-company-research/overview", + "category": "其他研究", + "featured": true + }, "00-endor-concepts-draft": { "group": "架构设计", "description": "Endor 的全球入口、区域运行时与对象数据。", diff --git a/content/docs/ai-company-research/00-overview.md b/content/docs/ai-company-research/00-overview.md new file mode 100644 index 0000000..dc0e347 --- /dev/null +++ b/content/docs/ai-company-research/00-overview.md @@ -0,0 +1,5 @@ +# AI 公司研究 + +调查 2025—2026 年不同类型 AI 公司的业务、交付能力、规模与商业模式。分类表链接公司数据,公司数据链接经营指标与原始证据。 + +以下工作台读取研究数据库。首批为公开资料定向试样,成立、公开发布和转型发布分别记录。未披露收入的公司继续保留,避免把收入资料缺失误当成零收入。 diff --git a/content/research/ai-companies.seed.json b/content/research/ai-companies.seed.json new file mode 100644 index 0000000..27a27e2 --- /dev/null +++ b/content/research/ai-companies.seed.json @@ -0,0 +1,3410 @@ +{ + "version": "2026-10-30-pilot-1", + "asOf": "2026-10-30", + "scope": "全球公开资料定向试样,2025—2026年成立公司为主,公开发布与转型对照单列。", + "limitations": [ + "非随机样本,YC和英文资料偏多;不代表全球全量公司。", + "没有统一时点、同龄且同口径的ARR可比组;不计算领域收入排名或造假概率。", + "公司介绍和技术指标大多为自述,尚未独立测试;未披露不代表零收入。" + ], + "categories": [ + { + "id": "C01", + "name": "基础模型", + "description": "通用、行业、多模态与音频模型" + }, + { + "id": "C02", + "name": "算力与模型基础设施", + "description": "推理、部署、芯片与训练数据" + }, + { + "id": "C03", + "name": "Agent 开发与运行设施", + "description": "通信、连接、身份、支付与评估" + }, + { + "id": "C04", + "name": "软件开发", + "description": "编程、应用生成与安全测试" + }, + { + "id": "C05", + "name": "企业通用工作", + "description": "知识、办公、运营与安全工作流" + }, + { + "id": "C06", + "name": "客户与收入运营", + "description": "客服、销售与营销" + }, + { + "id": "C07", + "name": "行业专业应用", + "description": "医疗、法律、金融、制造与芯片设计" + }, + { + "id": "C08", + "name": "内容与创意", + "description": "视频、图像与设计" + }, + { + "id": "C09", + "name": "消费者个人应用", + "description": "个人助手、故事与Agent终端" + }, + { + "id": "C10", + "name": "机器人及实体产业", + "description": "机器人与具身智能系统" + } + ], + "companies": [ + { + "id": "AI001", + "name": "Result", + "url": "https://www.ycombinator.com/companies/result", + "channel": "S01", + "cat": "C05", + "year": 2026, + "team": 2, + "location": null, + "business": "创业者从设立公司到运营业务的一体化平台", + "buyer": "创业者", + "delivery": "私人测试,页面称8位早期用户", + "notes": "用户合计280万美元ARR属于用户,不属于Result", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E001" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI002", + "name": "primitive", + "url": "https://www.ycombinator.com/companies/primitive", + "channel": "S01", + "cat": "C03", + "year": 2026, + "team": 4, + "location": "美国旧金山", + "business": "自主Agent的通信基础设施", + "buyer": "Agent开发者", + "delivery": "公开公司与招聘资料", + "notes": "未读取到收入或价格披露", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E002" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI003", + "name": "Naïve", + "url": "https://www.ycombinator.com/companies/naive", + "channel": "S01", + "cat": "C05", + "year": 2025, + "team": 12, + "location": "美国旧金山", + "business": "部署执行公司运营工作的AI员工", + "buyer": "创业者与企业", + "delivery": "页面提供免费入门和按量使用入口", + "notes": "端到端自主能力为公司自述,未独立测试", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E003" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI004", + "name": "Async", + "url": "https://www.ycombinator.com/companies/withasync", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 2, + "location": "美国纽约", + "business": "为中小专业服务企业实施业务Agent", + "buyer": "律所、诊所、房产与托育机构", + "delivery": "称已自动化数千小时工作", + "notes": "实施、人工介入及毛利未披露", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E004" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI005", + "name": "Strand AI", + "url": "https://www.ycombinator.com/companies/strand-ai", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "多模态模型补全患者生物学数据", + "buyer": "药企与生物科技公司", + "delivery": "模型及合作邀约", + "notes": "未披露付费规模,技术效果为公司自述", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E005" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI006", + "name": "Agnost AI", + "url": "https://www.ycombinator.com/companies/agnost-ai", + "channel": "S01", + "cat": "C03", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "分析Agent失败并训练专用模型", + "buyer": "Agent产品团队", + "delivery": "已有产品和工作负载评测邀约", + "notes": "客户提及不等于收入已核实", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E006" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI007", + "name": "Paloma", + "url": "https://www.ycombinator.com/companies/paloma", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 3, + "location": "美国旧金山", + "business": "为供应链与制造运营提供软件和数据分析", + "buyer": "制造与供应链运营负责人", + "delivery": "当前介绍与早期CRM定位不同", + "notes": "5亿美元ARR属于创始人在Deel的过往业务", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E007" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI008", + "name": "Ergo", + "url": "https://www.ycombinator.com/companies/ergo", + "channel": "S01", + "cat": "C06", + "year": 2025, + "team": 9, + "location": "美国旧金山", + "business": "整合销售沟通数据并推进交易", + "buyer": "B2B销售团队", + "delivery": "页面列示客户团队", + "notes": "7.5万美元成交合同是客户效果,非本公司收入", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E008" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI009", + "name": "Pacific", + "url": "https://www.ycombinator.com/companies/pacific", + "channel": "S01", + "cat": "C02", + "year": 2026, + "team": 6, + "location": "美国旧金山", + "business": "生产模块化数据中心并出售算力或设备", + "buyer": "算力买家与数据中心客户", + "delivery": "披露托管与设备销售意向书", + "notes": "意向书不等于已执行合同、收入或ARR", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E009" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI010", + "name": "horizontal.", + "url": "https://www.ycombinator.com/companies/horizontal", + "channel": "S01", + "cat": "C07", + "year": 2026, + "team": 2, + "location": "美国旧金山", + "business": "生产计划、质量和物流的工厂运营Agent", + "buyer": "制造企业", + "delivery": "公开产品及示范视频", + "notes": "工厂软件运营归行业应用,不混入机器人硬件", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E010" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI011", + "name": "Wayco", + "url": "https://www.ycombinator.com/companies/wayco", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 5, + "location": "美国纽约", + "business": "医疗法律案件的数据与流程自动化", + "buyer": "医疗法律服务机构", + "delivery": "公开产品介绍", + "notes": "未独立测试交付水平", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E011" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI012", + "name": "Waddle Labs", + "url": "https://www.ycombinator.com/companies/waddle-labs", + "channel": "S01", + "cat": "C10", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "用语言Agent编写机器人控制代码", + "buyer": "机器人开发者", + "delivery": "预览API和操作演示", + "notes": "任务完成时间与泛化能力为公司自述", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E012" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI013", + "name": "Clarm", + "url": "https://www.ycombinator.com/companies/clarm", + "channel": "S01", + "cat": "C05", + "year": 2025, + "team": 2, + "location": "瑞士", + "business": "在企业自有数据上创建有治理能力的Agent", + "buyer": "金融、法律等高信任团队", + "delivery": "产品及使用场景介绍", + "notes": "700万和1000万美元ARR均指创始人此前项目", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E013" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI014", + "name": "Parametric", + "url": "https://www.ycombinator.com/companies/parametric", + "channel": "S01", + "cat": "C10", + "year": 2025, + "team": 7, + "location": "美国旧金山", + "business": "以客户反馈训练执行实体工作的机器人", + "buyer": "实体运营企业", + "delivery": "机器人与训练路线介绍", + "notes": "未核验商用部署规模", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E014" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI015", + "name": "Eloquent AI", + "url": "https://www.ycombinator.com/companies/eloquent-ai", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 5, + "location": "美国旧金山", + "business": "金融服务后台与客户服务操作Agent", + "buyer": "金融与保险机构", + "delivery": "自述四周达到50万美元ARR", + "notes": "ARR统计日期和经常性定义不完整", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E015" + ], + "revenueStatus": "self" + }, + { + "id": "AI016", + "name": "Gojiberry AI", + "url": "https://www.ycombinator.com/companies/gojiberry-ai", + "channel": "S01", + "cat": "C06", + "year": 2025, + "team": 7, + "location": "法国巴黎", + "business": "识别购买意图并自动执行销售触达", + "buyer": "B2B销售团队", + "delivery": "页面列示付费客户与ARR里程碑", + "notes": "页面含140万与250万美元两阶段数字,日期不明", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "PRO页面标99美元/月,包含2个Agent及月度触达额度;附加用量另计。", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "pricingEvidence": "E131", + "evidenceIds": [ + "E016" + ], + "revenueStatus": "self" + }, + { + "id": "AI017", + "name": "Pelica", + "url": "https://www.ycombinator.com/companies/pelica", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 5, + "location": "美国旧金山", + "business": "整合医疗数据并执行价值医疗工作流程", + "buyer": "医保及风险承担医疗组织", + "delivery": "自述覆盖35万成员", + "notes": "服务成员数不是付费客户数;履历收入排除", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E017" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI018", + "name": "Balance", + "url": "https://www.ycombinator.com/companies/getbalance", + "channel": "S01", + "cat": "C07", + "year": 2026, + "team": 20, + "location": "英国伦敦", + "business": "用AI协助完成月度账务的会计服务", + "buyer": "中小企业", + "delivery": "会计业务和招聘资料", + "notes": "不能默认会计服务具备纯软件毛利", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E018" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI019", + "name": "Remedy", + "url": "https://www.ycombinator.com/companies/remedy", + "channel": "S01", + "cat": "C07", + "year": 2025, + "team": 2, + "location": null, + "business": "药房处方续配与患者服务Agent", + "buyer": "药房", + "delivery": "YC状态为已被收购", + "notes": "收入未披露;保留被收购公司以减少存续偏差", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E019" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI020", + "name": "Hedge", + "url": "https://www.ycombinator.com/companies/hedge", + "channel": "S01", + "cat": "C07", + "year": 2026, + "team": 2, + "location": "美国旧金山", + "business": "AI原生专业保险公司", + "buyer": "保险经纪商", + "delivery": "产品与招聘资料", + "notes": "创始人此前管理2000万美元业务收入不属于Hedge", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E020" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI021", + "name": "Roark", + "url": "https://www.ycombinator.com/companies/roark", + "channel": "S01", + "cat": "C03", + "year": 2025, + "team": 3, + "location": "美国旧金山", + "business": "语音Agent的测试、监控与仿真", + "buyer": "语音AI开发团队", + "delivery": "自述六个月处理1000万通话分钟", + "notes": "150万和5000万美元ARR属于创始人原雇主", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E021" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI022", + "name": "Swerve", + "url": "https://www.ycombinator.com/companies/swerve", + "channel": "S01", + "cat": "C09", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "交互式AI故事与聊天", + "buyer": "个人消费者", + "delivery": "应用及先前视频社交发布记录", + "notes": "产品方向发生变化,不能把旧使用量当当前收入", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E022" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI023", + "name": "OneTriangle", + "url": "https://www.ycombinator.com/companies/onetriangle", + "channel": "S01", + "cat": "C02", + "year": 2026, + "team": 4, + "location": "美国旧金山", + "business": "利用KV缓存迁移降低推理成本", + "buyer": "模型与Agent开发者", + "delivery": "技术演示及公开产品", + "notes": "成本和延迟改进为公司自述,未独立复测", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E023" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI024", + "name": "Narrative", + "url": "https://www.ycombinator.com/companies/usenarrative", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 3, + "location": "美国纽约", + "business": "视频素材搜索、剪辑与后期自动化", + "buyer": "剪辑师、工作室、体育团队", + "delivery": "页面列举实际使用场景", + "notes": "创始人此前应用用户规模不代表本产品", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E024" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI025", + "name": "Hera", + "url": "https://www.ycombinator.com/companies/hera-video", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 5, + "location": "德国柏林", + "business": "通过自然语言制作动态图形", + "buyer": "视频创作者和出版团队", + "delivery": "明确于2025年5月发布", + "notes": "月收入翻倍为增长率,缺少收入基数", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E025" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI026", + "name": "OpenRelay", + "url": "https://www.ycombinator.com/companies/openrelay", + "channel": "S01", + "cat": "C02", + "year": 2026, + "team": 2, + "location": "美国旧金山", + "business": "跨硬件和云调度模型推理", + "buyer": "推理买家与算力供应商", + "delivery": "自述每周生成1000亿token", + "notes": "Token量不等于营收;原AWS业务ARR排除", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E026" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI027", + "name": "Bezel", + "url": "https://www.ycombinator.com/companies/bezel", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 1, + "location": "美国纽约", + "business": "电商服装虚拟模特与影像生成", + "buyer": "服装电商品牌", + "delivery": "公开自助产品", + "notes": "过往支付处理量不属于Bezel收入", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E027" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI028", + "name": "Flick", + "url": "https://www.ycombinator.com/companies/flick", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 2, + "location": "美国圣巴巴拉", + "business": "AI短片创作与协同工作流", + "buyer": "电影与视频创作者", + "delivery": "自述已有影片和创作者社区", + "notes": "作品和奖项不能代替商业收入", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E028" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI029", + "name": "Compyle", + "url": "https://www.ycombinator.com/companies/compyle", + "channel": "S01", + "cat": "C04", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "在澄清需求后协作编程的Agent", + "buyer": "软件工程团队", + "delivery": "公开测试版", + "notes": "基于公司介绍分类,未进行性能排名", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E029" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI030", + "name": "Prism", + "url": "https://www.ycombinator.com/companies/prism", + "channel": "S01", + "cat": "C02", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "为编码Agent提供推理和模型部署", + "buyer": "模型及Agent开发团队", + "delivery": "推理产品与定价模式介绍", + "notes": "与招聘公司Prism不是同一实体", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E030" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI031", + "name": "Cardboard", + "url": "https://www.ycombinator.com/companies/cardboard", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 8, + "location": "印度班加罗尔", + "business": "Agent式视频剪辑", + "buyer": "视频制作团队", + "delivery": "产品与研发招聘资料", + "notes": "未独立核验付费与交付规模", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E031" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI032", + "name": "Wideframe", + "url": "https://www.ycombinator.com/companies/wideframe", + "channel": "S01", + "cat": "C08", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "本地视频剪辑AI同事", + "buyer": "视频制作与营销团队", + "delivery": "提供7天试用及定制工作流", + "notes": "定制收入和软件订阅需分拆", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E032" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI033", + "name": "General Instinct", + "url": "https://www.ycombinator.com/companies/general-instinct", + "channel": "S01", + "cat": "C02", + "year": 2026, + "team": 2, + "location": "美国旧金山", + "business": "边缘视觉与物理AI模型部署", + "buyer": "边缘AI产品团队", + "delivery": "披露端侧生产实例", + "notes": "性能指标为自述,未独立复测", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E033" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI034", + "name": "Raven(原Sintem)", + "url": "https://www.ycombinator.com/companies/ravenphone", + "channel": "S01", + "cat": "C09", + "year": 2026, + "team": 1, + "location": "德国", + "business": "跨应用执行工作的Agent手机", + "buyer": "个人及团队用户", + "delivery": "公开产品与创始人资料", + "notes": "旧名称sintem重定向;此前SaaS的110万美元ARR排除", + "cohort": "2026年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E034" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI035", + "name": "AgentMail", + "url": "https://www.ycombinator.com/companies/agentmail", + "channel": "S01", + "cat": "C03", + "year": 2025, + "team": 10, + "location": "美国旧金山", + "business": "面向Agent的程序化邮箱API", + "buyer": "Agent开发团队", + "delivery": "API与按邮件用量计费模式", + "notes": "融资额不是ARR", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "官方明确加购为固定月费容量,而非按每个邮件事件收费。每个容量单位2美元/月。", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "pricingEvidence": "E130", + "evidenceIds": [ + "E035" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI036", + "name": "Orthogonal", + "url": "https://www.ycombinator.com/companies/orthogonal", + "channel": "S01", + "cat": "C03", + "year": 2025, + "team": 2, + "location": "美国旧金山", + "business": "让Agent发现、访问并支付API", + "buyer": "Agent开发者及API供应商", + "delivery": "公开MCP与SDK", + "notes": "API交易流水和平台净收入应分开", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E036" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI037", + "name": "OpenHack", + "url": "https://www.ycombinator.com/companies/openhack", + "channel": "S01", + "cat": "C04", + "year": 2025, + "team": 1, + "location": "美国旧金山", + "business": "持续执行安全扫描与渗透测试的Agent", + "buyer": "软件与安全团队", + "delivery": "公开产品", + "notes": "安全能力与误报率尚未独立评测", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E037" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI038", + "name": "Cotool", + "url": "https://www.ycombinator.com/companies/cotool", + "channel": "S01", + "cat": "C05", + "year": 2025, + "team": 8, + "location": "美国旧金山", + "business": "安全告警调查、检测与响应Agent", + "buyer": "企业安全团队", + "delivery": "页面列示使用团队与人工审批机制", + "notes": "Agent交付与日志基础设施需区分", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E038" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI039", + "name": "Multifactor", + "url": "https://www.ycombinator.com/companies/multifactor", + "channel": "S01", + "cat": "C03", + "year": 2025, + "team": 6, + "location": "美国旧金山", + "business": "Agent身份认证、授权与审计", + "buyer": "企业安全与Agent开发团队", + "delivery": "多平台产品及演示", + "notes": "客户供应链金额不是本公司收入", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "evidenceIds": [ + "E039" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI040", + "name": "Floot", + "url": "https://www.ycombinator.com/companies/floot", + "channel": "S01", + "cat": "C04", + "year": 2025, + "team": 4, + "location": "美国旧金山", + "business": "承载由AI生成的应用及其后端", + "buyer": "非技术创业者与应用构建者", + "delivery": "公开产品;当前强调按平台收费", + "notes": "创始人披露100万美元ARR,但业务时点待核", + "cohort": "2025年成立", + "teamBasis": "YC Team Size,公司自述;访问快照,业务截至日未注明", + "datePrecision": "年", + "price": "当前公司介绍强调平台收费,无单独AI点数加价;模型调用使用用户已有订阅。", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司在YC的自述资料", + "pricingEvidence": "E133", + "evidenceIds": [ + "E040" + ], + "revenueStatus": "self" + }, + { + "id": "AI041", + "name": "humans&", + "cat": "C01", + "year": 2025, + "location": "美国", + "url": "https://humansand.ai/investors", + "business": "面向人与人协作的前沿模型实验室", + "buyer": "企业与开发者", + "delivery": "公开实验室与研发方向", + "notes": "成立年份据投资方S32名录;2026-01-20官方介绍", + "extraUrl": "https://s32.getro.com/companies/humans-2-e0211813-0914-4645-81de-de078cc9d441", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E041" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI042", + "name": "AMI Labs", + "cat": "C01", + "year": null, + "location": "法国巴黎", + "url": "https://amilabs.xyz/", + "business": "学习现实世界表征的世界模型", + "buyer": "工业、机器人与医疗开发者", + "delivery": "官网展示研发方向", + "notes": "成立日期未获一手核验;2026-03-10公开发布单列", + "extraUrl": "https://www.edb.gov.sg/en/business-insights/insights/ai-godfather-raises-s1-3-billion-for-startup-with-singapore-as-a-key-base.html", + "channel": "S12", + "cohort": "2026年公开发布(成立日待核)", + "team": null, + "teamBasis": null, + "datePrecision": "未知", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E042" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI043", + "name": "Nexor AI", + "cat": "C06", + "year": 2026, + "location": "美国旧金山", + "url": "https://speedrun.a16z.com/companies/nexor-ai", + "business": "跨语音与消息渠道执行收入运营任务", + "buyer": "企业销售与增长团队", + "delivery": "投资方披露270家客户及ARR里程碑", + "notes": "成立年和人数来自a16z Speedrun资料", + "extraUrl": "https://speedrun.a16z.com/companies/nexor-ai", + "channel": "S12", + "cohort": "2026年成立", + "team": 8, + "teamBasis": "投资机构名录,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E043" + ], + "revenueStatus": "self" + }, + { + "id": "AI044", + "name": "诺因智能", + "cat": "C10", + "year": 2025, + "location": "中国深圳", + "url": "https://www.knowinai.com/about.html", + "business": "面向家庭消费场景的具身智能系统", + "buyer": "家庭消费者", + "delivery": "官网介绍模型、系统及家庭产品路线", + "notes": "官网称2025年7月成立;第三方工商日期为2025-06-23,口径差异待核", + "extraUrl": "https://www.taibo.cn/company/121711", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E044" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI045", + "name": "苏度科技", + "cat": "C10", + "year": 2025, + "location": "中国上海", + "url": "https://t.cj.sina.com.cn/articles/view/2822771827/a8401473020017lca", + "business": "通用机器人大脑与具身系统", + "buyer": "工业及机器人企业", + "delivery": "2026-09-30融资报道说明仍推进产业验证", + "notes": "媒体直接报道;技术性能未独立评测", + "extraUrl": "https://www.taibo.cn/company/121773", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "媒体报道", + "evidenceIds": [ + "E045" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI046", + "name": "眸深智能", + "cat": "C10", + "year": 2025, + "location": "中国上海", + "url": "https://www.moushen.ai/", + "business": "跨机器人本体的生成式具身模型", + "buyer": "机器人与行业客户", + "delivery": "官网产品及合作动态", + "notes": "成立年月来自上海市中小企业服务机构托管的企业材料", + "extraUrl": "https://www.ssme.sh.gov.cn/images/contest_2026/award/2025/mszn.pdf", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E046" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI047", + "name": "维泛智能", + "cat": "C02", + "year": 2025, + "location": "中国北京", + "url": "https://www.cyzone.cn/article/834459.html", + "business": "面向机器人推理与控制的芯片", + "buyer": "机器人厂商", + "delivery": "报道规划2027年第二季度投产", + "notes": "处于研发阶段;数亿元融资不当作收入", + "extraUrl": "https://www.cyzone.cn/article/834459.html", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "媒体报道", + "evidenceIds": [ + "E047" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI048", + "name": "深度机智(机智赛博主体)", + "cat": "C10", + "year": 2025, + "location": "中国北京", + "url": "https://www.puhuacapital.com/mobile/index.php/news/info/301", + "business": "人类第一视角数据与具身基座模型", + "buyer": "机器人与物理AI团队", + "delivery": "投资方介绍模型和数据路线", + "notes": "关联主体可能早于2025;本行明确北京机智赛博主体,避免混淆", + "extraUrl": "https://m.pedaily.cn/vc/company/882321.html", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E048" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI049", + "name": "Amplibotics", + "cat": "C02", + "year": 2025, + "location": "美国拉斯维加斯", + "url": "https://amplibotics.ai/", + "business": "遥操作机器人数据采集与交付", + "buyer": "物理AI实验室与机器人开发商", + "delivery": "官网披露机器人农场和人工遥操作流程", + "notes": "人工操作与质检成本需计入数据交付成本", + "extraUrl": "https://amplibotics.ai/", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E049" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI050", + "name": "Ricursive Intelligence", + "cat": "C07", + "year": 2025, + "location": "美国", + "url": "https://www.ricursive.com/", + "business": "面向芯片设计与验证的自改进AI系统", + "buyer": "芯片设计客户", + "delivery": "官网及领投机构介绍", + "notes": "成立年来自Sequoia公司名录;融资与收入分开", + "extraUrl": "https://sequoiacap.com/companies/ricursive-intelligence", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E050" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI051", + "name": "Gradium", + "cat": "C01", + "year": 2025, + "location": "法国巴黎", + "url": "https://gradium.ai/blog/gradium", + "business": "实时生成、转录与对话的音频基础模型", + "buyer": "语音应用开发者与企业", + "delivery": "2025-12-02正式发布,称已有生产客户", + "notes": "2025年成立据公司合作公告;研发能力不等同经营规模", + "extraUrl": "https://gradium.ai/blog/yampa-gradium-partnership", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "月费套餐包含点数,额外点数及企业部署另计;XS页面为12美元/月。", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "pricingEvidence": "E132", + "evidenceIds": [ + "E051" + ], + "revenueStatus": "unknown" + }, + { + "id": "AI052", + "name": "Wonderful", + "cat": "C06", + "year": 2025, + "location": "荷兰阿姆斯特丹 / 以色列团队", + "url": "https://www.wonderful.ai/blog-articles/wonderful-raises-550m-series-c", + "business": "企业客户服务Agent并扩展企业AI平台", + "buyer": "大型企业", + "delivery": "2026-09-02官方融资公告", + "notes": "原客服分类保留;企业通用平台作辅助标签。收入估算单列", + "extraUrl": "https://www.wonderful.ai/blog-articles/wonderful-raises-550m-series-c", + "channel": "S12", + "cohort": "2025年成立", + "team": null, + "teamBasis": null, + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E052" + ], + "revenueStatus": "estimate" + }, + { + "id": "AI053", + "name": "Emergent", + "cat": "C04", + "year": null, + "location": "美国旧金山 / 印度团队", + "url": "https://emergent.sh/about-us", + "business": "自然语言生成、测试和部署应用", + "buyer": "非技术创业者与中小企业", + "delivery": "2025年公开推出应用构建平台", + "notes": "成立年尚未核验;2024年已获YC支持,不按二手页面2025成立说法纳入成立队列", + "extraUrl": "https://stripe.com/customers/emergent", + "channel": "S12", + "cohort": "2025年公开发布(2024年已获YC支持)", + "team": null, + "teamBasis": null, + "datePrecision": "未知", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E053" + ], + "revenueStatus": "self" + }, + { + "id": "AI054", + "name": "Rork", + "cat": "C04", + "year": 2024, + "location": "美国旧金山", + "url": "https://speedrun.a16z.com/companies/rork", + "business": "通过AI构建移动应用", + "buyer": "个人创业者与产品团队", + "delivery": "2025年转向移动应用并正式公告", + "notes": "2025发布/转型对照;不声称首次发布于2025", + "extraUrl": "https://rork.com/blog/announcing-rork", + "channel": "S12", + "cohort": "2025年转型发布对照", + "team": 7, + "teamBasis": "投资机构名录,业务截至日未注明", + "datePrecision": "年", + "price": "未逐一核验定价页", + "stage": "公开资料,商用成熟度待核验", + "sourceType": "公司或投资机构资料", + "evidenceIds": [ + "E054" + ], + "revenueStatus": "unknown" + } + ], + "observations": [ + { + "id": "O001", + "company": "AI001", + "name": "Result", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E001", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O002", + "company": "AI002", + "name": "primitive", + "kind": "团队人数", + "value": 4, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E002", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O003", + "company": "AI003", + "name": "Naïve", + "kind": "团队人数", + "value": 12, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E003", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O004", + "company": "AI004", + "name": "Async", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E004", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O005", + "company": "AI005", + "name": "Strand AI", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E005", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O006", + "company": "AI006", + "name": "Agnost AI", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E006", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O007", + "company": "AI007", + "name": "Paloma", + "kind": "团队人数", + "value": 3, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E007", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O008", + "company": "AI008", + "name": "Ergo", + "kind": "团队人数", + "value": 9, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E008", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O009", + "company": "AI009", + "name": "Pacific", + "kind": "团队人数", + "value": 6, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E009", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O010", + "company": "AI010", + "name": "horizontal.", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E010", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O011", + "company": "AI011", + "name": "Wayco", + "kind": "团队人数", + "value": 5, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E011", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O012", + "company": "AI012", + "name": "Waddle Labs", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E012", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O013", + "company": "AI013", + "name": "Clarm", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E013", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O014", + "company": "AI014", + "name": "Parametric", + "kind": "团队人数", + "value": 7, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E014", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O015", + "company": "AI015", + "name": "Eloquent AI", + "kind": "团队人数", + "value": 5, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E015", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O016", + "company": "AI016", + "name": "Gojiberry AI", + "kind": "团队人数", + "value": 7, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E016", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O017", + "company": "AI017", + "name": "Pelica", + "kind": "团队人数", + "value": 5, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E017", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O018", + "company": "AI018", + "name": "Balance", + "kind": "团队人数", + "value": 20, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E018", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O019", + "company": "AI019", + "name": "Remedy", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E019", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O020", + "company": "AI020", + "name": "Hedge", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E020", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O021", + "company": "AI021", + "name": "Roark", + "kind": "团队人数", + "value": 3, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E021", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O022", + "company": "AI022", + "name": "Swerve", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E022", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O023", + "company": "AI023", + "name": "OneTriangle", + "kind": "团队人数", + "value": 4, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E023", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O024", + "company": "AI024", + "name": "Narrative", + "kind": "团队人数", + "value": 3, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E024", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O025", + "company": "AI025", + "name": "Hera", + "kind": "团队人数", + "value": 5, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E025", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O026", + "company": "AI026", + "name": "OpenRelay", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E026", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O027", + "company": "AI027", + "name": "Bezel", + "kind": "团队人数", + "value": 1, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E027", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O028", + "company": "AI028", + "name": "Flick", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E028", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O029", + "company": "AI029", + "name": "Compyle", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E029", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O030", + "company": "AI030", + "name": "Prism", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E030", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O031", + "company": "AI031", + "name": "Cardboard", + "kind": "团队人数", + "value": 8, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E031", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O032", + "company": "AI032", + "name": "Wideframe", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E032", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O033", + "company": "AI033", + "name": "General Instinct", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E033", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O034", + "company": "AI034", + "name": "Raven(原Sintem)", + "kind": "团队人数", + "value": 1, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E034", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O035", + "company": "AI035", + "name": "AgentMail", + "kind": "团队人数", + "value": 10, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E035", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O036", + "company": "AI036", + "name": "Orthogonal", + "kind": "团队人数", + "value": 2, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E036", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O037", + "company": "AI037", + "name": "OpenHack", + "kind": "团队人数", + "value": 1, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E037", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O038", + "company": "AI038", + "name": "Cotool", + "kind": "团队人数", + "value": 8, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E038", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O039", + "company": "AI039", + "name": "Multifactor", + "kind": "团队人数", + "value": 6, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E039", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O040", + "company": "AI040", + "name": "Floot", + "kind": "团队人数", + "value": 4, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E040", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O041", + "company": "AI043", + "name": "Nexor AI", + "kind": "团队人数", + "value": 8, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E043", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O042", + "company": "AI054", + "name": "Rork", + "kind": "团队人数", + "value": 7, + "unit": "人", + "timing": "业务截至日未注明;2026-10-30访问快照", + "evidence": "E054", + "scope": "公司团队", + "selection": "scale", + "reason": "Team Size与Employee口径见公司表", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O043", + "company": "AI016", + "name": "Gojiberry AI", + "kind": "原文称ARR", + "value": 2500000, + "unit": "USD", + "timing": "推出后10个月,日历时点未注明", + "evidence": "E101", + "scope": "公司整体", + "selection": "signal", + "reason": "统计时点未知,不进入同期ARR排名", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O044", + "company": "AI016", + "name": "Gojiberry AI", + "kind": "原文称ARR", + "value": 1400000, + "unit": "USD", + "timing": "推出后9个月,早期发布版本", + "evidence": "E101", + "scope": "公司整体", + "selection": "historical", + "reason": "保留历史里程碑,不与250万美元重复计公司", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O045", + "company": "AI015", + "name": "Eloquent AI", + "kind": "原文称ARR", + "value": 500000, + "unit": "USD", + "timing": "推出后四周,日历时点未注明", + "evidence": "E102", + "scope": "公司整体", + "selection": "signal", + "reason": "统计时点未知,经常性定义待核", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O046", + "company": "AI043", + "name": "Nexor AI", + "kind": "原文称ARR", + "value": 2500000, + "unit": "USD", + "timing": "推出后5个月,日历时点未注明", + "evidence": "E103", + "scope": "公司整体", + "selection": "signal", + "reason": "投资方资料,未经审计,非同期比较", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O047", + "company": "AI040", + "name": "Floot", + "kind": "原文称ARR", + "value": 1000000, + "unit": "USD", + "timing": "推出约6个月,帖子日期待核", + "evidence": "E104", + "scope": "公司整体", + "selection": "signal", + "reason": "创始人自述,保留时点不确定性", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O048", + "company": "AI052", + "name": "Wonderful", + "kind": "年化收入run-rate", + "value": 70000000, + "unit": "USD", + "timing": "2026-08", + "evidence": "E105", + "scope": "公司整体", + "selection": "estimate", + "reason": "第三方估算,单独展示,不混入自述ARR均值", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O049", + "company": "AI052", + "name": "Wonderful", + "kind": "年化收入run-rate", + "value": 1000000, + "unit": "USD", + "timing": "约2025-08,原文称一年前", + "evidence": "E105", + "scope": "公司整体", + "selection": "historical-estimate", + "reason": "原文日期精度和估算身份保留", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O050", + "company": "AI053", + "name": "Emergent", + "kind": "原文称ARR", + "value": 100000000, + "unit": "USD", + "timing": "推出后8个月,官方页面未注明日历日期", + "evidence": "E106", + "scope": "公司整体", + "selection": "signal", + "reason": "官方称ARR;伙伴称年化收入,口径冲突单列", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O051", + "company": "AI053", + "name": "Emergent", + "kind": "年化收入run-rate", + "value": 100000000, + "unit": "USD", + "timing": "推出后8个月;2026-06-26文章", + "evidence": "E108", + "scope": "公司整体", + "selection": "crosscheck", + "reason": "同一里程碑,不能作为第二家公司或第二笔收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O052", + "company": "AI054", + "name": "Rork", + "kind": "目标ARR", + "value": 10000000, + "unit": "USD", + "timing": "2025年全年目标,2025-05-05披露", + "evidence": "E109", + "scope": "公司整体", + "selection": "excluded", + "reason": "未来目标,不是已实现ARR", + "bound": ">=", + "comparisonGroup": null + }, + { + "id": "O053", + "company": "AI054", + "name": "Rork", + "kind": "客户ARR", + "value": 2100000, + "unit": "USD", + "timing": "日历时点未核验", + "evidence": "E110", + "scope": "客户产品合计", + "selection": "excluded", + "reason": "归属客户,聚合榜单疑似误归为Rork收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O054", + "company": "AI001", + "name": "Result", + "kind": "客户ARR", + "value": 2800000, + "unit": "USD", + "timing": "8位早期用户,时点未注明", + "evidence": "E119", + "scope": "客户业务合计", + "selection": "excluded", + "reason": "不是Result收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O055", + "company": "AI007", + "name": "Paloma", + "kind": "履历ARR", + "value": 500000000, + "unit": "USD", + "timing": "创始人在Deel任职期间", + "evidence": "E120", + "scope": "上一家公司业务", + "selection": "excluded", + "reason": "不是Paloma收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O056", + "company": "AI013", + "name": "Clarm", + "kind": "履历ARR", + "value": 7000000, + "unit": "USD", + "timing": "创始人此前任职期间", + "evidence": "E121", + "scope": "上一家公司业务", + "selection": "excluded", + "reason": "不是Clarm收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O057", + "company": "AI021", + "name": "Roark", + "kind": "履历ARR", + "value": 1500000, + "unit": "USD", + "timing": "创始人此前任职期间", + "evidence": "E122", + "scope": "上一家公司业务", + "selection": "excluded", + "reason": "不是Roark收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O058", + "company": "AI034", + "name": "Raven(原Sintem)", + "kind": "履历ARR", + "value": 1100000, + "unit": "USD", + "timing": "创始人此前教育SaaS", + "evidence": "E123", + "scope": "上一家公司业务", + "selection": "excluded", + "reason": "不是Raven收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O059", + "company": "AI009", + "name": "Pacific", + "kind": "意向书金额", + "value": 95000000, + "unit": "USD", + "timing": "页面未注明日历时点", + "evidence": "E118", + "scope": "托管算力LOI", + "selection": "excluded", + "reason": "意向书不等于收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O060", + "company": "AI009", + "name": "Pacific", + "kind": "意向书金额", + "value": 27000000, + "unit": "USD", + "timing": "页面未注明日历时点", + "evidence": "E118", + "scope": "设备销售LOI", + "selection": "excluded", + "reason": "意向书不等于收入", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O061", + "company": "AI051", + "name": "Gradium", + "kind": "融资额", + "value": 70000000, + "unit": "USD", + "timing": "2025-12-02", + "evidence": "E115", + "scope": "种子轮", + "selection": "funding", + "reason": "融资不是ARR", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O062", + "company": "AI052", + "name": "Wonderful", + "kind": "融资额", + "value": 550000000, + "unit": "USD", + "timing": "2026-09-02", + "evidence": "E116", + "scope": "C轮", + "selection": "funding", + "reason": "本轮融资金额", + "bound": "=", + "comparisonGroup": null + }, + { + "id": "O063", + "company": "AI050", + "name": "Ricursive Intelligence", + "kind": "融资额", + "value": 335000000, + "unit": "USD", + "timing": "官网访问快照,业务时点未注明", + "evidence": "E117", + "scope": "累计支持资金", + "selection": "funding", + "reason": "融资不是收入", + "bound": "=", + "comparisonGroup": null + } + ], + "evidence": [ + { + "id": "E001", + "companyId": "AI001", + "title": "Result公司与产品资料", + "url": "https://www.ycombinator.com/companies/result", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:创业者从设立公司到运营业务的一体化平台。资料记载成立年份2026。团队数2,见人数口径。", + "limitation": "用户合计280万美元ARR属于用户,不属于Result" + }, + { + "id": "E002", + "companyId": "AI002", + "title": "primitive公司与产品资料", + "url": "https://www.ycombinator.com/companies/primitive", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:自主Agent的通信基础设施。资料记载成立年份2026。团队数4,见人数口径。", + "limitation": "未读取到收入或价格披露" + }, + { + "id": "E003", + "companyId": "AI003", + "title": "Naïve公司与产品资料", + "url": "https://www.ycombinator.com/companies/naive", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:部署执行公司运营工作的AI员工。资料记载成立年份2025。团队数12,见人数口径。", + "limitation": "端到端自主能力为公司自述,未独立测试" + }, + { + "id": "E004", + "companyId": "AI004", + "title": "Async公司与产品资料", + "url": "https://www.ycombinator.com/companies/withasync", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:为中小专业服务企业实施业务Agent。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "实施、人工介入及毛利未披露" + }, + { + "id": "E005", + "companyId": "AI005", + "title": "Strand AI公司与产品资料", + "url": "https://www.ycombinator.com/companies/strand-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:多模态模型补全患者生物学数据。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "未披露付费规模,技术效果为公司自述" + }, + { + "id": "E006", + "companyId": "AI006", + "title": "Agnost AI公司与产品资料", + "url": "https://www.ycombinator.com/companies/agnost-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:分析Agent失败并训练专用模型。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "客户提及不等于收入已核实" + }, + { + "id": "E007", + "companyId": "AI007", + "title": "Paloma公司与产品资料", + "url": "https://www.ycombinator.com/companies/paloma", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:为供应链与制造运营提供软件和数据分析。资料记载成立年份2025。团队数3,见人数口径。", + "limitation": "5亿美元ARR属于创始人在Deel的过往业务" + }, + { + "id": "E008", + "companyId": "AI008", + "title": "Ergo公司与产品资料", + "url": "https://www.ycombinator.com/companies/ergo", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:整合销售沟通数据并推进交易。资料记载成立年份2025。团队数9,见人数口径。", + "limitation": "7.5万美元成交合同是客户效果,非本公司收入" + }, + { + "id": "E009", + "companyId": "AI009", + "title": "Pacific公司与产品资料", + "url": "https://www.ycombinator.com/companies/pacific", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:生产模块化数据中心并出售算力或设备。资料记载成立年份2026。团队数6,见人数口径。", + "limitation": "意向书不等于已执行合同、收入或ARR" + }, + { + "id": "E010", + "companyId": "AI010", + "title": "horizontal.公司与产品资料", + "url": "https://www.ycombinator.com/companies/horizontal", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:生产计划、质量和物流的工厂运营Agent。资料记载成立年份2026。团队数2,见人数口径。", + "limitation": "工厂软件运营归行业应用,不混入机器人硬件" + }, + { + "id": "E011", + "companyId": "AI011", + "title": "Wayco公司与产品资料", + "url": "https://www.ycombinator.com/companies/wayco", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:医疗法律案件的数据与流程自动化。资料记载成立年份2025。团队数5,见人数口径。", + "limitation": "未独立测试交付水平" + }, + { + "id": "E012", + "companyId": "AI012", + "title": "Waddle Labs公司与产品资料", + "url": "https://www.ycombinator.com/companies/waddle-labs", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:用语言Agent编写机器人控制代码。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "任务完成时间与泛化能力为公司自述" + }, + { + "id": "E013", + "companyId": "AI013", + "title": "Clarm公司与产品资料", + "url": "https://www.ycombinator.com/companies/clarm", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:在企业自有数据上创建有治理能力的Agent。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "700万和1000万美元ARR均指创始人此前项目" + }, + { + "id": "E014", + "companyId": "AI014", + "title": "Parametric公司与产品资料", + "url": "https://www.ycombinator.com/companies/parametric", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:以客户反馈训练执行实体工作的机器人。资料记载成立年份2025。团队数7,见人数口径。", + "limitation": "未核验商用部署规模" + }, + { + "id": "E015", + "companyId": "AI015", + "title": "Eloquent AI公司与产品资料", + "url": "https://www.ycombinator.com/companies/eloquent-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:金融服务后台与客户服务操作Agent。资料记载成立年份2025。团队数5,见人数口径。", + "limitation": "ARR统计日期和经常性定义不完整" + }, + { + "id": "E016", + "companyId": "AI016", + "title": "Gojiberry AI公司与产品资料", + "url": "https://www.ycombinator.com/companies/gojiberry-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:识别购买意图并自动执行销售触达。资料记载成立年份2025。团队数7,见人数口径。", + "limitation": "页面含140万与250万美元两阶段数字,日期不明" + }, + { + "id": "E017", + "companyId": "AI017", + "title": "Pelica公司与产品资料", + "url": "https://www.ycombinator.com/companies/pelica", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:整合医疗数据并执行价值医疗工作流程。资料记载成立年份2025。团队数5,见人数口径。", + "limitation": "服务成员数不是付费客户数;履历收入排除" + }, + { + "id": "E018", + "companyId": "AI018", + "title": "Balance公司与产品资料", + "url": "https://www.ycombinator.com/companies/getbalance", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:用AI协助完成月度账务的会计服务。资料记载成立年份2026。团队数20,见人数口径。", + "limitation": "不能默认会计服务具备纯软件毛利" + }, + { + "id": "E019", + "companyId": "AI019", + "title": "Remedy公司与产品资料", + "url": "https://www.ycombinator.com/companies/remedy", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:药房处方续配与患者服务Agent。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "收入未披露;保留被收购公司以减少存续偏差" + }, + { + "id": "E020", + "companyId": "AI020", + "title": "Hedge公司与产品资料", + "url": "https://www.ycombinator.com/companies/hedge", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:AI原生专业保险公司。资料记载成立年份2026。团队数2,见人数口径。", + "limitation": "创始人此前管理2000万美元业务收入不属于Hedge" + }, + { + "id": "E021", + "companyId": "AI021", + "title": "Roark公司与产品资料", + "url": "https://www.ycombinator.com/companies/roark", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:语音Agent的测试、监控与仿真。资料记载成立年份2025。团队数3,见人数口径。", + "limitation": "150万和5000万美元ARR属于创始人原雇主" + }, + { + "id": "E022", + "companyId": "AI022", + "title": "Swerve公司与产品资料", + "url": "https://www.ycombinator.com/companies/swerve", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:交互式AI故事与聊天。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "产品方向发生变化,不能把旧使用量当当前收入" + }, + { + "id": "E023", + "companyId": "AI023", + "title": "OneTriangle公司与产品资料", + "url": "https://www.ycombinator.com/companies/onetriangle", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:利用KV缓存迁移降低推理成本。资料记载成立年份2026。团队数4,见人数口径。", + "limitation": "成本和延迟改进为公司自述,未独立复测" + }, + { + "id": "E024", + "companyId": "AI024", + "title": "Narrative公司与产品资料", + "url": "https://www.ycombinator.com/companies/usenarrative", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:视频素材搜索、剪辑与后期自动化。资料记载成立年份2025。团队数3,见人数口径。", + "limitation": "创始人此前应用用户规模不代表本产品" + }, + { + "id": "E025", + "companyId": "AI025", + "title": "Hera公司与产品资料", + "url": "https://www.ycombinator.com/companies/hera-video", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:通过自然语言制作动态图形。资料记载成立年份2025。团队数5,见人数口径。", + "limitation": "月收入翻倍为增长率,缺少收入基数" + }, + { + "id": "E026", + "companyId": "AI026", + "title": "OpenRelay公司与产品资料", + "url": "https://www.ycombinator.com/companies/openrelay", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:跨硬件和云调度模型推理。资料记载成立年份2026。团队数2,见人数口径。", + "limitation": "Token量不等于营收;原AWS业务ARR排除" + }, + { + "id": "E027", + "companyId": "AI027", + "title": "Bezel公司与产品资料", + "url": "https://www.ycombinator.com/companies/bezel", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:电商服装虚拟模特与影像生成。资料记载成立年份2025。团队数1,见人数口径。", + "limitation": "过往支付处理量不属于Bezel收入" + }, + { + "id": "E028", + "companyId": "AI028", + "title": "Flick公司与产品资料", + "url": "https://www.ycombinator.com/companies/flick", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:AI短片创作与协同工作流。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "作品和奖项不能代替商业收入" + }, + { + "id": "E029", + "companyId": "AI029", + "title": "Compyle公司与产品资料", + "url": "https://www.ycombinator.com/companies/compyle", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:在澄清需求后协作编程的Agent。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "基于公司介绍分类,未进行性能排名" + }, + { + "id": "E030", + "companyId": "AI030", + "title": "Prism公司与产品资料", + "url": "https://www.ycombinator.com/companies/prism", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:为编码Agent提供推理和模型部署。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "与招聘公司Prism不是同一实体" + }, + { + "id": "E031", + "companyId": "AI031", + "title": "Cardboard公司与产品资料", + "url": "https://www.ycombinator.com/companies/cardboard", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:Agent式视频剪辑。资料记载成立年份2025。团队数8,见人数口径。", + "limitation": "未独立核验付费与交付规模" + }, + { + "id": "E032", + "companyId": "AI032", + "title": "Wideframe公司与产品资料", + "url": "https://www.ycombinator.com/companies/wideframe", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:本地视频剪辑AI同事。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "定制收入和软件订阅需分拆" + }, + { + "id": "E033", + "companyId": "AI033", + "title": "General Instinct公司与产品资料", + "url": "https://www.ycombinator.com/companies/general-instinct", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:边缘视觉与物理AI模型部署。资料记载成立年份2026。团队数2,见人数口径。", + "limitation": "性能指标为自述,未独立复测" + }, + { + "id": "E034", + "companyId": "AI034", + "title": "Raven(原Sintem)公司与产品资料", + "url": "https://www.ycombinator.com/companies/ravenphone", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:跨应用执行工作的Agent手机。资料记载成立年份2026。团队数1,见人数口径。", + "limitation": "旧名称sintem重定向;此前SaaS的110万美元ARR排除" + }, + { + "id": "E035", + "companyId": "AI035", + "title": "AgentMail公司与产品资料", + "url": "https://www.ycombinator.com/companies/agentmail", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:面向Agent的程序化邮箱API。资料记载成立年份2025。团队数10,见人数口径。", + "limitation": "融资额不是ARR" + }, + { + "id": "E036", + "companyId": "AI036", + "title": "Orthogonal公司与产品资料", + "url": "https://www.ycombinator.com/companies/orthogonal", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:让Agent发现、访问并支付API。资料记载成立年份2025。团队数2,见人数口径。", + "limitation": "API交易流水和平台净收入应分开" + }, + { + "id": "E037", + "companyId": "AI037", + "title": "OpenHack公司与产品资料", + "url": "https://www.ycombinator.com/companies/openhack", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:持续执行安全扫描与渗透测试的Agent。资料记载成立年份2025。团队数1,见人数口径。", + "limitation": "安全能力与误报率尚未独立评测" + }, + { + "id": "E038", + "companyId": "AI038", + "title": "Cotool公司与产品资料", + "url": "https://www.ycombinator.com/companies/cotool", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:安全告警调查、检测与响应Agent。资料记载成立年份2025。团队数8,见人数口径。", + "limitation": "Agent交付与日志基础设施需区分" + }, + { + "id": "E039", + "companyId": "AI039", + "title": "Multifactor公司与产品资料", + "url": "https://www.ycombinator.com/companies/multifactor", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:Agent身份认证、授权与审计。资料记载成立年份2025。团队数6,见人数口径。", + "limitation": "客户供应链金额不是本公司收入" + }, + { + "id": "E040", + "companyId": "AI040", + "title": "Floot公司与产品资料", + "url": "https://www.ycombinator.com/companies/floot", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司在YC的自述资料", + "summary": "业务:承载由AI生成的应用及其后端。资料记载成立年份2025。团队数4,见人数口径。", + "limitation": "创始人披露100万美元ARR,但业务时点待核" + }, + { + "id": "E041", + "companyId": "AI041", + "title": "humans&公司与产品资料", + "url": "https://humansand.ai/investors", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:面向人与人协作的前沿模型实验室。资料记载成立年份2025。", + "limitation": "成立年份据投资方S32名录;2026-01-20官方介绍" + }, + { + "id": "E042", + "companyId": "AI042", + "title": "AMI Labs公司与产品资料", + "url": "https://amilabs.xyz/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:学习现实世界表征的世界模型。", + "limitation": "成立日期未获一手核验;2026-03-10公开发布单列" + }, + { + "id": "E043", + "companyId": "AI043", + "title": "Nexor AI公司与产品资料", + "url": "https://speedrun.a16z.com/companies/nexor-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:跨语音与消息渠道执行收入运营任务。资料记载成立年份2026。团队数8,见人数口径。", + "limitation": "成立年和人数来自a16z Speedrun资料" + }, + { + "id": "E044", + "companyId": "AI044", + "title": "诺因智能公司与产品资料", + "url": "https://www.knowinai.com/about.html", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:面向家庭消费场景的具身智能系统。资料记载成立年份2025。", + "limitation": "官网称2025年7月成立;第三方工商日期为2025-06-23,口径差异待核" + }, + { + "id": "E045", + "companyId": "AI045", + "title": "苏度科技公司与产品资料", + "url": "https://t.cj.sina.com.cn/articles/view/2822771827/a8401473020017lca", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "媒体报道", + "summary": "业务:通用机器人大脑与具身系统。资料记载成立年份2025。", + "limitation": "媒体直接报道;技术性能未独立评测" + }, + { + "id": "E046", + "companyId": "AI046", + "title": "眸深智能公司与产品资料", + "url": "https://www.moushen.ai/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:跨机器人本体的生成式具身模型。资料记载成立年份2025。", + "limitation": "成立年月来自上海市中小企业服务机构托管的企业材料" + }, + { + "id": "E047", + "companyId": "AI047", + "title": "维泛智能公司与产品资料", + "url": "https://www.cyzone.cn/article/834459.html", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "媒体报道", + "summary": "业务:面向机器人推理与控制的芯片。资料记载成立年份2025。", + "limitation": "处于研发阶段;数亿元融资不当作收入" + }, + { + "id": "E048", + "companyId": "AI048", + "title": "深度机智(机智赛博主体)公司与产品资料", + "url": "https://www.puhuacapital.com/mobile/index.php/news/info/301", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:人类第一视角数据与具身基座模型。资料记载成立年份2025。", + "limitation": "关联主体可能早于2025;本行明确北京机智赛博主体,避免混淆" + }, + { + "id": "E049", + "companyId": "AI049", + "title": "Amplibotics公司与产品资料", + "url": "https://amplibotics.ai/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:遥操作机器人数据采集与交付。资料记载成立年份2025。", + "limitation": "人工操作与质检成本需计入数据交付成本" + }, + { + "id": "E050", + "companyId": "AI050", + "title": "Ricursive Intelligence公司与产品资料", + "url": "https://www.ricursive.com/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:面向芯片设计与验证的自改进AI系统。资料记载成立年份2025。", + "limitation": "成立年来自Sequoia公司名录;融资与收入分开" + }, + { + "id": "E051", + "companyId": "AI051", + "title": "Gradium公司与产品资料", + "url": "https://gradium.ai/blog/gradium", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:实时生成、转录与对话的音频基础模型。资料记载成立年份2025。", + "limitation": "2025年成立据公司合作公告;研发能力不等同经营规模" + }, + { + "id": "E052", + "companyId": "AI052", + "title": "Wonderful公司与产品资料", + "url": "https://www.wonderful.ai/blog-articles/wonderful-raises-550m-series-c", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:企业客户服务Agent并扩展企业AI平台。资料记载成立年份2025。", + "limitation": "原客服分类保留;企业通用平台作辅助标签。收入估算单列" + }, + { + "id": "E053", + "companyId": "AI053", + "title": "Emergent公司与产品资料", + "url": "https://emergent.sh/about-us", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:自然语言生成、测试和部署应用。", + "limitation": "成立年尚未核验;2024年已获YC支持,不按二手页面2025成立说法纳入成立队列" + }, + { + "id": "E054", + "companyId": "AI054", + "title": "Rork公司与产品资料", + "url": "https://speedrun.a16z.com/companies/rork", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司或投资机构资料", + "summary": "业务:通过AI构建移动应用。资料记载成立年份2024。团队数7,见人数口径。", + "limitation": "2025发布/转型对照;不声称首次发布于2025" + }, + { + "id": "E101", + "companyId": "AI016", + "title": "Gojiberry ARR里程碑", + "url": "https://www.ycombinator.com/companies/gojiberry-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "页面称10个月250万美元ARR;早期发布称9个月140万美元", + "limitation": "未注明日历时点;不能当成2026-10-30实际ARR" + }, + { + "id": "E102", + "companyId": "AI015", + "title": "Eloquent ARR里程碑", + "url": "https://www.ycombinator.com/companies/eloquent-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "页面称四周50万美元ARR", + "limitation": "未注明统计日期及经常性定义" + }, + { + "id": "E103", + "companyId": "AI043", + "title": "Nexor经营资料", + "url": "https://speedrun.a16z.com/companies/nexor-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "投资方公司资料", + "summary": "五个月达到250万美元ARR和270家客户;8名员工", + "limitation": "页面未注明数字的统计日期,非独立审计" + }, + { + "id": "E104", + "companyId": null, + "title": "Floot创始人ARR披露", + "url": "https://www.linkedin.com/posts/yjyao_floot-just-hit-1m-arr-a-year-ago-floot-activity-7424496952190521344-CHBU", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "创始人公开帖子", + "summary": "创始人称达到100万美元ARR,推出约六个月", + "limitation": "页面只显示相对时间,日历日期暂未核验" + }, + { + "id": "E105", + "companyId": null, + "title": "Wonderful收入估算", + "url": "https://sacra.com/c/wonderful/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方估算", + "summary": "Sacra估算2026年8月年化收入7000万美元;上年约100万美元", + "limitation": "非经常性ARR核验;估算方法与毛利资料有限" + }, + { + "id": "E106", + "companyId": "AI053", + "title": "Emergent官方经营里程碑", + "url": "https://emergent.sh/about-us", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "官方页面称八个月达到1亿美元ARR", + "limitation": "同一公司支付伙伴称annual revenue run rate,口径不一致" + }, + { + "id": "E107", + "companyId": null, + "title": "Stripe的Emergent案例", + "url": "https://stripe.com/customers/emergent", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "业务伙伴案例", + "summary": "年化收入1亿美元,产品在2025年中准备发布", + "limitation": "伙伴案例不是收入审计;订阅与用量充值混合" + }, + { + "id": "E108", + "companyId": null, + "title": "AWS的Emergent案例", + "url": "https://aws.amazon.com/aws-startups/learn/from-yc-to-aws-how-emergent-hit-100m-usd-annualized-revenue-in-8-months/", + "publishedAt": "2026-06-26", + "accessedAt": "2026-10-30", + "kind": "业务伙伴案例", + "summary": "发布八个月年化收入1亿美元", + "limitation": "文章日期不等于里程碑发生日期" + }, + { + "id": "E109", + "companyId": null, + "title": "Rork发布公告", + "url": "https://rork.com/blog/announcing-rork", + "publishedAt": "2025-05-05", + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "已融资280万美元;目标当年达到八位数ARR", + "limitation": "未来目标不能当成已实现收入" + }, + { + "id": "E110", + "companyId": null, + "title": "Rork创始人关于客户收入的帖子", + "url": "https://www.linkedin.com/in/daniel-dhawan", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "创始人公开帖子", + "summary": "Rork users just crossed $2.1M in ARR", + "limitation": "收入归属为客户产品,不属于Rork" + }, + { + "id": "E111", + "companyId": null, + "title": "Rork聚合榜单", + "url": "https://www.arr.club/rork", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方聚合", + "summary": "榜单将2026-06-17的210万美元列为Rork ARR", + "limitation": "与创始人帖子归属不同;不作为公司收入" + }, + { + "id": "E112", + "companyId": null, + "title": "Emergent聚合榜单", + "url": "https://www.arr.club/emergent", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方聚合", + "summary": "榜单收入故事对应应用生成平台,但列成立2015及emergent.solutions", + "limitation": "疑似同名实体混淆;不采纳公司身份字段" + }, + { + "id": "E113", + "companyId": null, + "title": "Emergent聚合公司页", + "url": "https://sacra.com/c/emergent/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方估算", + "summary": "页面经营叙述对应emergent.sh,但显示成立1998和不同CEO", + "limitation": "身份字段与官方资料冲突,不复制到公司表" + }, + { + "id": "E114", + "companyId": null, + "title": "诺因工商日期线索", + "url": "https://www.taibo.cn/company/121711", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方公司名录", + "summary": "工商成立日为2025-06-23;官网介绍为2025年7月", + "limitation": "工商设立和团队启动可能是不同口径,待进一步核验" + }, + { + "id": "E115", + "companyId": "AI051", + "title": "Gradium正式发布", + "url": "https://gradium.ai/blog/gradium", + "publishedAt": "2025-12-02", + "accessedAt": "2026-10-30", + "kind": "公司官方披露", + "summary": "披露7000万美元种子融资与生产客户", + "limitation": "融资不是收入" + }, + { + "id": "E116", + "companyId": "AI052", + "title": "Wonderful融资公告", + "url": "https://www.wonderful.ai/blog-articles/wonderful-raises-550m-series-c", + "publishedAt": "2026-09-02", + "accessedAt": "2026-10-30", + "kind": "公司官方披露", + "summary": "披露5.5亿美元C轮和50亿美元估值", + "limitation": "金额为该轮融资,不是累计融资或收入" + }, + { + "id": "E117", + "companyId": "AI050", + "title": "Ricursive融资披露", + "url": "https://www.ricursive.com/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方披露", + "summary": "官网称获得3.35亿美元支持", + "limitation": "原文为累计支持资金,非ARR" + }, + { + "id": "E118", + "companyId": "AI009", + "title": "Pacific意向书", + "url": "https://www.ycombinator.com/companies/pacific", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "9500万美元托管算力意向书与2700万美元设备销售意向书", + "limitation": "LOI不是已实现收入或ARR" + }, + { + "id": "E119", + "companyId": "AI001", + "title": "Result用户收入", + "url": "https://www.ycombinator.com/companies/result", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "8个早期用户合计280万美元ARR", + "limitation": "属于客户而非Result收入" + }, + { + "id": "E120", + "companyId": "AI007", + "title": "Paloma履历收入", + "url": "https://www.ycombinator.com/companies/paloma", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "创始人在Deel业务做到5亿美元ARR", + "limitation": "属于上一家公司" + }, + { + "id": "E121", + "companyId": "AI013", + "title": "Clarm履历收入", + "url": "https://www.ycombinator.com/companies/clarm", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "创始人此前项目700万与1000万美元ARR", + "limitation": "两个数均不属于Clarm" + }, + { + "id": "E122", + "companyId": "AI021", + "title": "Roark履历收入", + "url": "https://www.ycombinator.com/companies/roark", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "创始人此前Akiflow项目150万美元ARR", + "limitation": "不属于Roark" + }, + { + "id": "E123", + "companyId": "AI034", + "title": "Raven履历收入", + "url": "https://www.ycombinator.com/companies/ravenphone", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述", + "summary": "创始人此前教育SaaS为110万美元ARR", + "limitation": "不属于Raven" + }, + { + "id": "E124", + "companyId": null, + "title": "humans&成立年份", + "url": "https://s32.getro.com/companies/humans-2-e0211813-0914-4645-81de-de078cc9d441", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "投资方公司资料", + "summary": "投资方名录列成立2025", + "limitation": "成立年与2026公开发布日区分" + }, + { + "id": "E125", + "companyId": null, + "title": "MOTION成立年月", + "url": "https://www.ssme.sh.gov.cn/images/contest_2026/award/2025/mszn.pdf", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公共机构托管企业材料", + "summary": "企业材料写明2025年1月成立", + "limitation": "材料由企业提供,不是独立技术评测" + }, + { + "id": "E126", + "companyId": null, + "title": "深度机智主体线索", + "url": "https://m.pedaily.cn/vc/company/882321.html", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方公司名录", + "summary": "北京机智赛博成立于2025-05-15", + "limitation": "关联实体存在不同设立年份,本行主体已限定" + }, + { + "id": "E127", + "companyId": null, + "title": "Ricursive成立年份", + "url": "https://sequoiacap.com/companies/ricursive-intelligence", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "投资方公司资料", + "summary": "Sequoia名录列Founded 2025", + "limitation": "官网研发目标不能证明已实现收入" + }, + { + "id": "E128", + "companyId": null, + "title": "Gradium成立年份", + "url": "https://gradium.ai/blog/yampa-gradium-partnership", + "publishedAt": "2026-10-26", + "accessedAt": "2026-10-30", + "kind": "公司官方披露", + "summary": "合作公告写明成立于2025年", + "limitation": "与2025-12-02发布日区分" + }, + { + "id": "E129", + "companyId": null, + "title": "AgentMail定价口径", + "url": "https://www.agentmail.to/pricing", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价或说明", + "summary": "套餐订阅加容量扩展。Developer为20美元/月,10个邮箱和每月1万封邮件;Startup为200美元/月。", + "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + }, + { + "id": "E130", + "companyId": null, + "title": "AgentMail定价口径", + "url": "https://www.agentmail.to/blog/pay-as-you-go", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价或说明", + "summary": "官方明确加购为固定月费容量,而非按每个邮件事件收费。每个容量单位2美元/月。", + "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + }, + { + "id": "E131", + "companyId": null, + "title": "Gojiberry AI定价口径", + "url": "https://gojiberry.ai/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价或说明", + "summary": "PRO页面标99美元/月,包含2个Agent及月度触达额度;附加用量另计。", + "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + }, + { + "id": "E132", + "companyId": null, + "title": "Gradium定价口径", + "url": "https://gradium.ai/pricing", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价或说明", + "summary": "月费套餐包含点数,额外点数及企业部署另计;XS页面为12美元/月。", + "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + }, + { + "id": "E133", + "companyId": "AI040", + "title": "Floot定价口径", + "url": "https://www.ycombinator.com/companies/floot", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价或说明", + "summary": "当前公司介绍强调平台收费,无单独AI点数加价;模型调用使用用户已有订阅。", + "limitation": "访问快照2026-10-30;不据标价推算收入或毛利" + } + ], + "reviews": [ + { + "id": "R1", + "type": "实体识别", + "company": "Emergent", + "summary": "聚合页出现1998/2015成立年、不同CEO或emergent.solutions域名", + "evidenceIds": [ + "E112", + "E113" + ], + "handling": "按emergent.sh官方页面及YC资料识别实体;不复制冲突身份字段" + }, + { + "id": "R2", + "type": "收入归属", + "company": "Rork", + "summary": "210万美元ARR原帖说的是用户产品,聚合榜单归到Rork", + "evidenceIds": [ + "E110", + "E111" + ], + "handling": "该金额排除公司收入统计;保留为数据质量问题,不推断公司造假" + }, + { + "id": "R3", + "type": "收入归属", + "company": "Result", + "summary": "280万美元ARR属于8名用户业务", + "evidenceIds": [ + "E119" + ], + "handling": "排除Result收入统计" + }, + { + "id": "R4", + "type": "履历污染", + "company": "Paloma / Clarm / Roark / Raven", + "summary": "网页包含创始人此前公司的ARR", + "evidenceIds": [ + "E120", + "E121", + "E122", + "E123" + ], + "handling": "保留原文与排除原因,禁止关键词自动抽取后直接合并" + }, + { + "id": "R5", + "type": "收入定义", + "company": "Emergent", + "summary": "官方称ARR,Stripe和AWS案例称年化收入", + "evidenceIds": [ + "E106", + "E107", + "E108" + ], + "handling": "不认定为已核验经常性ARR,保留两种原文标签" + }, + { + "id": "R6", + "type": "时点缺失", + "company": "Gojiberry / Eloquent / Nexor / Floot", + "summary": "大多只给推出后若干个月,缺少统一日历时点", + "evidenceIds": [ + "E101", + "E102", + "E103", + "E104" + ], + "handling": "可作历史经营信号,不能作2025或2026年末同行排名" + }, + { + "id": "R7", + "type": "成立日期", + "company": "诺因智能", + "summary": "官网团队成立月与第三方工商设立日不同", + "evidenceIds": [ + "E114" + ], + "handling": "保留2025年共同范围;精确日期待核,不据此指控财务问题" + }, + { + "id": "R8", + "type": "主体边界", + "company": "深度机智", + "summary": "相关品牌与工商主体可能有不同设立时间", + "evidenceIds": [ + "E126" + ], + "handling": "限定北京机智赛博主体,不合并关联主体收入" + }, + { + "id": "R9", + "type": "收入与融资", + "company": "Pacific / Gradium / Wonderful / Ricursive", + "summary": "LOI、募资与ARR易被关键词采集混淆", + "evidenceIds": [ + "E115", + "E116", + "E117", + "E118" + ], + "handling": "在经营指标中标明种类与归属" + }, + { + "id": "R10", + "type": "抽样偏差", + "company": "全样本", + "summary": "YC、融资可见公司和英文资料占比较高", + "evidenceIds": [ + "来源清单及公司表" + ], + "handling": "披露率仅描述本次定向样本,不外推全球;继续拓展来源" + }, + { + "id": "R11", + "type": "计费口径", + "company": "AgentMail", + "summary": "早期介绍称usage-based,现有官方说明明确为容量订阅加购", + "evidenceIds": [ + "E129", + "E130" + ], + "handling": "采用当前定价条款,不将容量订阅误记为逐事件收费" + } + ] +} diff --git a/package.json b/package.json index 4623585..8989bf2 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "lint": "pnpm --filter @endor/docs run lint", "typecheck": "pnpm --filter @endor/docs run typecheck", "figures": "uv run --locked --project tools/figures endor-figures", - "check": "pnpm run lint && pnpm run typecheck && pnpm run test:auth && pnpm --filter @endor/docs run images && pnpm --filter @endor/docs run test:images && pnpm run figures && pnpm run build", - "test:auth": "pnpm --filter @endor/docs run test:auth" + "check": "pnpm run lint && pnpm run typecheck && pnpm run test:auth && pnpm run test:research && pnpm --filter @endor/docs run images && pnpm --filter @endor/docs run test:images && pnpm run figures && pnpm run build", + "test:auth": "pnpm --filter @endor/docs run test:auth", + "test:research": "pnpm --filter @endor/docs run test:research" } } diff --git a/scripts/check-container.sh b/scripts/check-container.sh index 7ec2013..9597d96 100644 --- a/scripts/check-container.sh +++ b/scripts/check-container.sh @@ -6,6 +6,7 @@ uv sync --project tools/figures --locked pnpm run lint pnpm run typecheck pnpm --filter @endor/docs run test:auth +pnpm --filter @endor/docs run test:research pnpm --filter @endor/docs run images pnpm --filter @endor/docs run test:images cp -R apps/docs/public/figures /tmp/expected-figures -- 2.52.0