登记Product Hunt候选并补充Kilo公司个案
This commit is contained in:
@@ -98,10 +98,11 @@ AUTH_CONFIG_FILE=/private/tmp/tabularium-auth/config.json AUTH_COOKIE_SECURE=fal
|
||||
同一版本内容变化会拒绝导入,避免静默读取旧数据。回退代码时继续读取对应旧版本。
|
||||
所有修改都经过工作分支和 PR,部署仍等待人工合并主线。
|
||||
|
||||
当前资料包含 1,015 条公司/产品记录、10 类业务及待分类组、1,091 条证据记录和 183 条经营与技术观测。
|
||||
其中保留 86 家个案资料、913 条目录基础资料,并新增 16 个平台产品/业务样本;目录项不等于完成财务和技术核验。
|
||||
当前资料包含 1,016 条公司/产品记录、10 类业务及待分类组、1,101 条证据记录和 187 条经营与技术观测。
|
||||
其中保留 87 家个案资料、913 条目录基础资料,并新增 16 个平台产品/业务样本;目录项不等于完成财务和技术核验。
|
||||
Product Hunt首批19张发布/推广卡片以`candidateBatches`保存;公司成立年待核者不自动新增公司。候选元数据与其他研究记录同库持久化,覆盖报告逐条展示状态、缺项和公司关联。Kilo Code与KiloClaw两项映射一个已被收购的2025公司个案,采用规模、token吞吐及同名健康公司的收入不作为其ARR。
|
||||
补充ThinkWheel与中国NaiveAI;MiroMind成立年未核,公开研发年份单列。保留灵初智能成立年排除、深度原理日期待核和Naive近名实体复核记录。
|
||||
新增7条Speedrun个案,保留标题/正文冲突、七位数数量级、币种不明、合同管线与履历归属排除记录;相对日期不充当同期收入时点。核查页优先按人工确认的公司ID关联明细,旧版本保留按证据归属回退;54条核查中43条指向具体公司、3条属于全局方法、8条是未纳入候选。明细反向列出关联核查;币种不明的声明保留原值,不绘制美元收入长度条。
|
||||
新增7条Speedrun个案,保留标题/正文冲突、七位数数量级、币种不明、合同管线与履历归属排除记录;相对日期不充当同期收入时点。核查页优先按人工确认的公司ID关联明细,旧版本保留按证据归属回退;57条核查中46条指向具体公司、3条属于全局方法、8条是未纳入候选。明细反向列出关联核查;币种不明的声明保留原值,不绘制美元收入长度条。
|
||||
Bud保留为2025成立且YC标记已收购的案例;Rocket.new按前身2021成立、2025产品上线的转型对照记录,历史ARR不混入新成立公司同期统计。
|
||||
验收按2026-10-30确认的公开来源清单边界逐条核对并标明缺项;YC候选池有完整读取台账,其他来源目前为定向补充,不能把来源出现次数当作覆盖完成。收入披露不足且统计时点不统一,不代表全部 AI 公司。
|
||||
界面将公司自述、第三方估算、融资、客户收入和履历收入分开,未知收入不记为零。
|
||||
@@ -144,7 +145,7 @@ MRR×12仅作为显示单位转换,不改写为公司ARR;公司ARR、估算
|
||||
仍有3条因简介不足保留待分类。人工复核分类不代表独立验证技术水平、客户效果或财务数据。
|
||||
AI 关键词可能出现在业务背景中,收入、买家和交付状态仍须逐家深查,不能把目录项的未知收入当作未披露。
|
||||
技术专项评审用独立字段记录层级、日期、摘要与证据:未评审、已读技术自述、公开代码/模型材料可访问、有第三方独立评测记录。
|
||||
当前7条完成该字段的专项记录,其中3条确认材料可访问、1条记录第三方已发表评测(Gradium TTS Sep 2026);本轮未自行运行模型测试。缺字段不表示无技术能力,代码或模型卡可读不证明性能。
|
||||
当前8条完成该字段的专项记录,其中4条确认材料可访问、1条记录第三方已发表评测(Gradium TTS Sep 2026);本轮未自行运行模型测试。缺字段不表示无技术能力,代码或模型卡可读不证明性能。
|
||||
界面支持按资料深度、记录团队规模和技术验证证据筛选;证据列表每页 30 条,避免一次渲染全部来源。
|
||||
|
||||
`pnpm test:research` 在远程 Runner 上验证同库持久化、重复读取、版本导入与回退、
|
||||
|
||||
@@ -185,10 +185,10 @@ async function main() {
|
||||
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, 1015);
|
||||
assert.equal(research.companies.length, 1016);
|
||||
assert.equal(research.categories.length, 11);
|
||||
assert.equal(research.evidence.length, 1091);
|
||||
assert.equal(research.observations.length, 183);
|
||||
assert.equal(research.evidence.length, 1101);
|
||||
assert.equal(research.observations.length, 187);
|
||||
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);
|
||||
|
||||
@@ -43,11 +43,20 @@ export type ResearchCoverage = {
|
||||
otherOrMissingYear: number; unclearAI: number; dateConflicts: number; failedProfiles: number;
|
||||
discoverySha256: string;
|
||||
};
|
||||
export type ResearchCandidateBatch = {
|
||||
id: string; sourceId: string; url: string; accessedAt: string; scope: string; complete: boolean;
|
||||
records: {
|
||||
id: string; name: string; url: string | null; categoryId: string;
|
||||
kind: "product" | "promotion"; profileStatus: "readable" | "unavailable" | "archive-only";
|
||||
status: "pending-year" | "linked" | "existing-outside-cohort" | "promotion";
|
||||
companyId?: string; note: string;
|
||||
}[];
|
||||
};
|
||||
export type ResearchSnapshot = {
|
||||
version: string; asOf: string; scope: string; limitations: string[];
|
||||
categories: ResearchCategory[]; companies: ResearchCompany[];
|
||||
observations: ResearchObservation[]; evidence: ResearchEvidence[];
|
||||
reviews: ResearchReview[]; coverage?: ResearchCoverage;
|
||||
reviews: ResearchReview[]; coverage?: ResearchCoverage; candidateBatches?: ResearchCandidateBatch[];
|
||||
};
|
||||
|
||||
export function evidenceUrl(value: string): string | undefined {
|
||||
@@ -98,6 +107,28 @@ export function validateResearch(snapshot: ResearchSnapshot) {
|
||||
!Number.isFinite(o.value))
|
||||
throw new Error(`Invalid research observation: ${o.id}`);
|
||||
}
|
||||
unique((snapshot.candidateBatches ?? []).map((b) => b.id), "candidate batches");
|
||||
unique((snapshot.candidateBatches ?? []).flatMap((b) => b.records.map((r) => r.id)), "candidates");
|
||||
for (const batch of snapshot.candidateBatches ?? []) {
|
||||
if (!/^S\d{2}$/.test(batch.sourceId) || !evidenceUrl(batch.url) || !batch.scope.trim() ||
|
||||
typeof batch.complete !== "boolean" || !/^\d{4}-\d{2}-\d{2}$/.test(batch.accessedAt) ||
|
||||
Number.isNaN(Date.parse(batch.accessedAt)) ||
|
||||
new Date(batch.accessedAt).toISOString().slice(0, 10) !== batch.accessedAt ||
|
||||
batch.accessedAt > snapshot.asOf)
|
||||
throw new Error(`Invalid research candidate batch: ${batch.id}`);
|
||||
for (const row of batch.records) {
|
||||
const linked = ["linked", "existing-outside-cohort"].includes(row.status);
|
||||
if (!row.name.trim() || !row.note.trim() || !categories.has(row.categoryId) ||
|
||||
!["product", "promotion"].includes(row.kind) ||
|
||||
!["readable", "unavailable", "archive-only"].includes(row.profileStatus) ||
|
||||
!["pending-year", "linked", "existing-outside-cohort", "promotion"].includes(row.status) ||
|
||||
(row.kind === "product" && (!row.url || !evidenceUrl(row.url))) ||
|
||||
(row.url !== null && !evidenceUrl(row.url)) ||
|
||||
linked !== !!row.companyId || (row.companyId && !companies.has(row.companyId)) ||
|
||||
(row.kind === "promotion") !== (row.status === "promotion"))
|
||||
throw new Error(`Invalid research candidate: ${row.id}`);
|
||||
}
|
||||
}
|
||||
const coverage = snapshot.coverage;
|
||||
if (coverage && (coverage.profilesRead + coverage.failedProfiles !== coverage.candidateRecords ||
|
||||
coverage.matchingProfiles !== coverage.existingProfiles + coverage.newProfiles ||
|
||||
|
||||
@@ -23,9 +23,10 @@ test("research revisions share the authentication database and preserve replay l
|
||||
for (let i = 0; i < 20; i++) consumeCode(config, "invalid");
|
||||
assert.equal(consumeCode(config, "invalid"), "limited");
|
||||
const initial = readResearchSnapshot();
|
||||
assert.equal(initial.companies.length, 1015);
|
||||
assert.equal(initial.evidence.length, 1091);
|
||||
assert.equal(initial.observations.length, 183);
|
||||
assert.equal(initial.companies.length, 1016);
|
||||
assert.equal(initial.evidence.length, 1101);
|
||||
assert.equal(initial.observations.length, 187);
|
||||
assert.deepEqual(initial.candidateBatches, seed.candidateBatches, "candidate gaps persist in the same database metadata");
|
||||
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 }[];
|
||||
@@ -62,7 +63,7 @@ test("research validation rejects broken evidence and unsafe source links", () =
|
||||
|
||||
test("reviews link explicit companies without turning global or excluded cases into companies", () => {
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 43);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 46);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 3);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 8);
|
||||
const review = snapshot.reviews.find((r) => r.id === "R4")!;
|
||||
@@ -83,11 +84,11 @@ test("reviews link explicit companies without turning global or excluded cases i
|
||||
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), 1015);
|
||||
assert.equal(summary.reduce((n, c) => n + c.count, 0), 1016);
|
||||
assert.equal(summary.reduce((n, c) => n + c.self, 0), 26);
|
||||
assert.equal(summary.reduce((n, c) => n + c.estimate, 0), 1);
|
||||
assert.equal(summary.reduce((n, c) => n + c.platform, 0), 16);
|
||||
assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 972);
|
||||
assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 973);
|
||||
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 === "公司整体"));
|
||||
@@ -95,8 +96,8 @@ test("disclosure counts exclude client income, biographies, targets and duplicat
|
||||
|
||||
test("technical reviews keep accessible materials separate from tested capabilities", () => {
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 7);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 3);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 8);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 4);
|
||||
assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "independent-test").length, 1);
|
||||
assert.equal(snapshot.companies.find((c) => c.id === "AI051")?.revenueStatus, "unknown");
|
||||
assert.match(snapshot.companies.find((c) => c.id === "AI051")!.technicalReview!.testScope!, /Sep 2026/);
|
||||
@@ -255,3 +256,18 @@ test("distribution statistics match independently calculated snapshot references
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
test("product launch candidates preserve unresolved years and many launches per company", () => {
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
const batch = snapshot.candidateBatches![0];
|
||||
assert.equal(batch.complete, false);
|
||||
assert.equal(batch.records.length, 19);
|
||||
const kilo = batch.records.filter((r) => r.companyId === "AI072");
|
||||
assert.equal(kilo.length, 2, "IDE and hosted products resolve to one company");
|
||||
assert.equal(snapshot.companies.filter((c) => c.id === "AI072").length, 1);
|
||||
assert.ok(batch.records.some((r) => r.status === "pending-year" && !r.companyId));
|
||||
assert.ok(batch.records.some((r) => r.status === "existing-outside-cohort" && r.companyId === "AI054"));
|
||||
kilo[0].companyId = "missing-company";
|
||||
assert.throws(() => validateResearch(snapshot), /research candidate/);
|
||||
});
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
| 小企业综合Agent | Runable(AI059) | 公司披露历史ARR里程碑;[官方公告](https://runable.com/blogs/runable-grow) | 限定一个任务,测完整成功率、收费与执行成本 | 当前付费客户、续费、推理成本、人工接管 |
|
||||
| 行业专业Agent与服务 | LunaBill、Plena Health、Bizmark | 有合同ARR、数量级或ARR自述,日历截止日和交付拆分不完整 | 采购周期、上线工时、失败处理与验收标准 | 合同、经常性与实施费拆分、使用深度 |
|
||||
| AI辅助工程与研究服务 | Marengo、Harbor | 有首月收入、待交付或多年服务合同;不直接当ARR | 已验收项目毛利、专业人员工时、返工和责任成本 | 合同收入确认、软件/服务拆分、应收账款和交付集中度 |
|
||||
| 开源编程工具与企业治理 | [Kilo Code](/docs/other-research/ai-company-research/overview?company=AI072#research-company-detail) | 官方定价区分席位、推理、充值处理费和云算力;已被收购,收入未知 | 企业付费转换、平台净收入、推理转付与补贴、支持成本 | 付费客户、留存、收入确认及并表边界;不能从token吞吐推ARR |
|
||||
| 模型、算力与机器人 | Wafer、Induction Labs、Congruent | 可确定产品方向;团队小或融资多不证明单位经济 | 客户真实负载、性能成本、交付与售后成本 | 同口径收入、资本开支、独立性能测试 |
|
||||
|
||||
**对我们商业试验的推论:** 先选择能接触真实买家、结果可验收、成本可计量的工作流,比较软件订阅与服务交付的实际毛利,再评估是否扩成综合Agent。当前证据不足以断定某类必然更赚钱;平台数据更适合帮助选择访谈与试验对象。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
截至 2026-10-30,7日窗口内有 14 个产品的美元平台MRR可纳入分组描述。创意软件订阅组的样本均值较高、CV也较大;营销软件组与消费者个人应用组的CV接近。各组只有1至5个产品,尚不足以估计行业总体或造假概率。
|
||||
|
||||
这是已采集资料的固定快照。[动态工作台](/docs/other-research/ai-company-research/overview)提供筛选与原始证据。窗口按最后同步日计算,不保证所有点同日,也不是1,015条公司/产品记录的收入普查。
|
||||
这是已采集资料的固定快照。[动态工作台](/docs/other-research/ai-company-research/overview)提供筛选与原始证据。窗口按最后同步日计算,不保证所有点同日,也不是1,016条公司/产品记录的收入普查。
|
||||
|
||||
## 7日窗口的分组结果
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# AI 公司资料覆盖与缺项
|
||||
|
||||
截至 2026-10-30,研究表含1,015条公司或产品记录。YC候选池有逐条读取审计;其他来源为定向补充。清单尚不能作为全球AI公司普查,也不能将收入未知解释为零。
|
||||
截至 2026-10-30,研究表含1,016条公司或产品记录。YC候选池有逐条读取审计;其他来源为定向补充。清单尚不能作为全球AI公司普查,也不能将收入未知解释为零。
|
||||
|
||||
验收范围已于2026-10-30确认为:以确认的公开来源清单为边界,逐条核对并标明缺项。下方区分已逐条审计的候选池与定向补充来源;已使用某来源不代表该来源已被完整覆盖。
|
||||
|
||||
@@ -19,23 +19,23 @@
|
||||
| AI业务待确认 | 192 | 不强行把背景关键词当主营 |
|
||||
| 成立年与批次冲突 | 6 | 另保留核查记录 |
|
||||
|
||||
全表由913条目录基础项和102条个案或平台记录组成。候选池已匹配项之外另有53条记录,包含其他来源及发布/转型对照;其中已有15条原目录记录深化为个案,仍保留目录来源。两种统计边界不同。候选池数字只是该镜像快照的覆盖,Bud等后续定向补充不回填为原候选池已覆盖。
|
||||
全表由913条目录基础项和103条个案或平台记录组成。候选池已匹配项之外另有54条记录,包含其他来源及发布/转型对照;其中已有15条原目录记录深化为个案,仍保留目录来源。两种统计边界不同。候选池数字只是该镜像快照的覆盖,Bud等后续定向补充不回填为原候选池已覆盖。
|
||||
|
||||
## 成立年与证据深度
|
||||
|
||||
| 维度 | 当前记录 | 解读 |
|
||||
| --- | --- | --- |
|
||||
| 记录为2025年成立 | 619 | 成立来源和精度见公司明细 |
|
||||
| 记录为2025年成立 | 620 | 成立来源和精度见公司明细 |
|
||||
| 记录为2026年成立 | 391 | 不将产品发布日期代替成立日 |
|
||||
| 成立年未知或范围外 | 5 | 发布/转型对照单列,不进入两年成立分组 |
|
||||
| 目录业务分类人工复核 | 160 | 仅复核主营分类,不代表技术或财务审计 |
|
||||
| 其他目录基础项 | 753 | 规则初分或资料不足,继续待复核 |
|
||||
| 有团队数字 | 945 | 多为自报Team Size或Employees,时点与口径不统一 |
|
||||
| 专项技术证据记录 | 7 | 其中3条自述、3条公开材料、1条第三方评测 |
|
||||
| 专项技术证据记录 | 8 | 其中3条自述、4条公开材料、1条第三方评测 |
|
||||
| 公司披露收入线索 | 26 | 含历史、下界、币种不明及产品业务声明,不等于可比ARR |
|
||||
| 仅平台收入线索 | 16 | 同时有公司披露者计入上一行,不重复计数 |
|
||||
| 仅第三方估算 | 1 | 不与直接披露混合 |
|
||||
| 暂无可用收入数字 | 972 | 包含尚未逐家搜索的目录项,不代表没有收入 |
|
||||
| 暂无可用收入数字 | 973 | 包含尚未逐家搜索的目录项,不代表没有收入 |
|
||||
|
||||
## 业务分类与数据入口
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
| [基础模型](/docs/other-research/ai-company-research/overview?category=C01) | 29 |
|
||||
| [算力与模型基础设施](/docs/other-research/ai-company-research/overview?category=C02) | 102 |
|
||||
| [Agent 开发与运行设施](/docs/other-research/ai-company-research/overview?category=C03) | 51 |
|
||||
| [软件开发](/docs/other-research/ai-company-research/overview?category=C04) | 109 |
|
||||
| [软件开发](/docs/other-research/ai-company-research/overview?category=C04) | 110 |
|
||||
| [企业通用工作](/docs/other-research/ai-company-research/overview?category=C05) | 176 |
|
||||
| [客户与收入运营](/docs/other-research/ai-company-research/overview?category=C06) | 52 |
|
||||
| [行业专业应用](/docs/other-research/ai-company-research/overview?category=C07) | 321 |
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
## 已使用来源的分布
|
||||
|
||||
1,091条证据记录对应1,077个不同URL。不同URL不自动构成独立验证;同一声明可能由公司、投资方和媒体重复转述。
|
||||
1,101条证据记录对应1,087个不同URL。不同URL不自动构成独立验证;同一声明可能由公司、投资方和媒体重复转述。
|
||||
|
||||
| 来源 | 证据记录 | 不同URL | 用途及限制 |
|
||||
| --- | --- | --- | --- |
|
||||
@@ -64,7 +64,7 @@
|
||||
| a16z Speedrun | 11 | 10 | 投资机构中的公司介绍及收入声明;存在利益关系 |
|
||||
| TechCrunch | 3 | 3 | 原始采访或报道;转述公司数字不等于查账 |
|
||||
| Sacra | 3 | 3 | 第三方估算;与直接披露分开 |
|
||||
| 其他官网、评测及公开资料 | 72 | 68 | 按每条来源限制理解,不能统一当作独立证据 |
|
||||
| 其他官网、评测及公开资料 | 82 | 78 | 按每条来源限制理解,不能统一当作独立证据 |
|
||||
|
||||
## 来源清单与验收边界
|
||||
|
||||
@@ -77,7 +77,7 @@ S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》
|
||||
| S01 [Y Combinator](https://www.ycombinator.com/companies) | 候选池逐条已读 | 984 / 969 / 82 | 已读取八个2025—2026批次镜像候选池1428条,再核YC官方页面;不声称覆盖全部YC历年或未公开公司。 | 继续复核规则初分和缺项;候选明细见逐条台账。 |
|
||||
| S02 [TechCrunch AI](https://techcrunch.com/category/artificial-intelligence/) | 定向使用,未穷尽 | 3 / 2 / 1 | 已使用公司相关新闻;尚未逐条清点2025—2026栏目档案。 | 建立两年公司报道候选表,排除老公司新产品及重复转述。 |
|
||||
| S03 [Dealroom](https://dealroom.co/) | 候选台账待建 | 0 / 0 / 0 | 仅核对官网入口与产品介绍,尚无两年筛选结果集;首页示例不是候选全集。 | 确认公开可取得的成立年筛选清单;受权限限制时明确记缺,不填完成。 |
|
||||
| S04 [Product Hunt](https://www.producthunt.com/) | 候选台账待建 | 0 / 0 / 0 | 仅确认首页及发布档案入口可读,尚无两年AI产品候选池;发布不等于公司成立。 | 按发布档案建立候选并回查官网成立信息、区分产品和法人。 |
|
||||
| S04 [Product Hunt](https://www.producthunt.com/) | 定向使用,未穷尽 | 2 / 1 / 0 | 已登记2026年度榜单首次响应19张卡片:17个产品页可读、1超时、1推广卡;只核当前可见批次,未穷尽两年发布档案。 | 补2025档案、2026其余分页/日期及公司成立证据;多产品映射同一公司,未核年份保持候选。 |
|
||||
| S05 [Sacra](https://sacra.com/) | 定向使用,未穷尽 | 3 / 1 / 3 | 已用于定向估算及日期口径交叉核查;无全站公司名录读取台账。 | 保留估算与公司披露差异,核实历史截至日。 |
|
||||
| S06 [Bessemer](https://www.bvp.com/atlas/the-state-of-ai-2025) | 背景研究 | 0 / 0 / 0 | 用于行业分类和增长研究背景;不是新成立公司普查。 | 核报告样本、方法与年份,不能将组合公司清单当总体。 |
|
||||
| S07 [Menlo Ventures](https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/) | 背景研究 | 0 / 0 / 0 | 用于企业采购背景;不把调研比例转换为公司ARR。 | 保留调研方法、采购样本及与新公司样本的差异。 |
|
||||
@@ -85,15 +85,46 @@ S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》
|
||||
| S09 [SaaS Capital](https://www.saas-capital.com/research/) | 背景研究 | 0 / 0 / 0 | B2B订阅软件基准,不能直接代表新AI公司、硬件或服务企业。 | 按报告样本及营收规模使用,不强套为行业ARR分布。 |
|
||||
| S10 [机器之心](https://www.jiqizhixin.com/) | 候选台账待建 | 0 / 0 / 0 | 首页及文章库入口可读,部分内容需会员;当前研究表尚无该站公司级证据,未穷尽两年档案。 | 建立中文公司候选台账,会员正文不可读时标明。 |
|
||||
| S11 [36氪](https://www.36kr.com/) | 访问受限 | 0 / 0 / 0 | 2026-10-30仍返回安全检测页面,未把首页作为已读文章。 | 使用可公开读取的具体文章或其他原始来源;不绕过访问保护。 |
|
||||
| S12 公司官网与官方博客 | 随公司逐条核对 | 28 / 14 / 11 | 公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。 | 核定价、主体、交付与收入定义,自述与独立验证分开。 |
|
||||
| S12 公司官网与官方博客 | 随公司逐条核对 | 35 / 15 / 15 | 公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。 | 核定价、主体、交付与收入定义,自述与独立验证分开。 |
|
||||
| S13 [TrustMRR](https://trustmrr.com/) | 定向使用,未穷尽 | 18 / 17 / 51 | 已采集产品与支付快照;公开者自选,不是全部商户或独立财务审计。 | 核同步日、连接失效、支付平台公式及产品/法人归属。 |
|
||||
| S14 [a16z Speedrun](https://speedrun.a16z.com/) | 定向使用,未穷尽 | 11 / 10 / 19 | 投资机构公司介绍定向样本,收入数字仍多来自公司。 | 核币种、相对时间及管线/履历;未读取的页面保持缺项。 |
|
||||
| S15 [Artificial Analysis](https://artificialanalysis.ai/) | 定向使用,未穷尽 | 2 / 1 / 3 | 第三方已发表技术评测,仅覆盖所列模型版本和任务。 | 核榜单版本、测评方法及置信区间,不将排名变成企业整体能力。 |
|
||||
| S16 其他公开补充资料 | 定向使用,未穷尽 | 41 / 21 / 13 | 未归入上述来源的公开材料按原始证据链接逐条保留;不视为新增已批准的完整候选池。 | 逐项核来源归属、可靠性及可读正文,不能将搜索摘要当全文。 |
|
||||
| S16 其他公开补充资料 | 定向使用,未穷尽 | 42 / 22 / 13 | 未归入上述来源的公开材料按原始证据链接逐条保留;不视为新增已批准的完整候选池。 | 逐项核来源归属、可靠性及可读正文,不能将搜索摘要当全文。 |
|
||||
|
||||
Dealroom、Product Hunt、机器之心与36氪入口于2026-10-30重新访问。官网首页可读不证明已取得完整筛选结果;安全检测页面不作为文章内容。候选池之外的来源边界尚需建立可回查条目,完成前不宣布来源清单已全部覆盖。
|
||||
|
||||
|
||||
## S04 产品发布候选核对
|
||||
|
||||
[发现页面](https://www.producthunt.com/leaderboard/yearly/2026),读取于2026-10-30。年度榜单首次公开响应中可见的19张产品或推广卡片;不含分页或后续动态加载,不是2026全年、更不是2025—2026全量。
|
||||
|
||||
本批19条:2条关联公司、1条关联范围外对照、15条成立年待核、1条推广活动。完整来源覆盖标记:未完成。产品任务的初分类不计入主公司表数量,只有已关联的公司记录进入对应公司明细。候选与缺项随研究版本保存在文档站同一SQLite的研究元数据中。
|
||||
|
||||
| 发布卡片 | 产品任务初分 | 核对状态 | 关联公司 | 限制 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Fundraisly](https://www.producthunt.com/products/fundraisly) | 行业专业应用 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Rork Max](https://www.producthunt.com/products/rork-app-for-ios) | 软件开发 | 已有关联,年份范围外 | [Rork](/docs/other-research/ai-company-research/overview?company=AI054#research-company-detail) | 映射现有Rork对照记录;2024成立,不因Rork Max发布重新算2026新公司。 |
|
||||
| [Brila](https://www.producthunt.com/products/brila-2) | 软件开发 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [happycapy](https://www.producthunt.com/products/happycapy) | 消费者个人应用 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Cowork](https://www.producthunt.com/products/claude) | 企业通用工作 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Upstream](https://www.producthunt.com/products/upstream-3) | 企业通用工作 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Goldfish](https://www.producthunt.com/products/goldfish-early-access) | 消费者个人应用 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Framer 3.0](https://www.producthunt.com/products/framer) | 软件开发 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [OpenSEO](https://www.producthunt.com/products/openseo) | 客户与收入运营 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Clarify](https://www.producthunt.com/products/clarify-6) | 客户与收入运营 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Lightfield](https://www.producthunt.com/products/lightfield) | 客户与收入运营 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Pazi](https://www.producthunt.com/products/pazi) | 企业通用工作 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [SuperX](https://www.producthunt.com/products/superx) | 客户与收入运营 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [Kilo Code for VS Code](https://www.producthunt.com/products/kilocode) | 软件开发 | 已关联公司 | [Kilo Code(已被Anaconda收购)](/docs/other-research/ai-company-research/overview?company=AI072#research-company-detail) | 映射同一Kilo Code个案,不因插件与托管产品分别发布重复新增公司。 |
|
||||
| [Brew](https://www.producthunt.com/products/brew-5) | 客户与收入运营 | 成立年待核 | — | 产品页读取超时,保留榜单发现;主体、成立年和收入待核。 |
|
||||
| Render startup credits | 算力与模型基础设施 | 推广活动,非公司新增 | — | 推广创业额度活动,链接回榜单,不把额度当公司收入或新成立公司。 |
|
||||
| [DataFast](https://www.producthunt.com/products/datafast) | 企业通用工作 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
| [KiloClaw](https://www.producthunt.com/products/kiloclaw) | Agent 开发与运行设施 | 已关联公司 | [Kilo Code(已被Anaconda收购)](/docs/other-research/ai-company-research/overview?company=AI072#research-company-detail) | 映射同一Kilo Code个案,不因插件与托管产品分别发布重复新增公司。 |
|
||||
| [Stitch 2.0 by Google](https://www.producthunt.com/products/stitch-2-0-by-google-2) | 内容与创意 | 成立年待核 | — | 候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。 |
|
||||
|
||||
产品页可读只表示有可访问的资料;本批未将所有产品页完成公司、技术或财务深查。HTTP直接采集返回403,因此不声称取得底层全量列表;后续公开档案与未读页面继续保留缺项。
|
||||
|
||||
|
||||
## 尚未满足的研究条件
|
||||
|
||||
行业ARR比较仍缺统一业务截止日、币种、经常性定义和业务边界。现有平台MRR可描述已采集产品,不足以代表全部新公司。技术评测只覆盖所列版本与任务,不宜跨领域汇总为统一强弱分数。
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-depth-4",
|
||||
"version": "2026-10-30-ph-1",
|
||||
"asOf": "2026-10-30",
|
||||
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
|
||||
"limitations": [
|
||||
@@ -28596,6 +28596,47 @@
|
||||
],
|
||||
"revenueStatus": "self",
|
||||
"classificationBasis": "按当前或最后公开主营归类,历史产品和业务边界另记。"
|
||||
},
|
||||
{
|
||||
"id": "AI072",
|
||||
"name": "Kilo Code(已被Anaconda收购)",
|
||||
"url": "https://kilo.ai/",
|
||||
"cat": "C04",
|
||||
"year": 2025,
|
||||
"team": null,
|
||||
"location": "美国旧金山 / 荷兰阿姆斯特丹;远程团队",
|
||||
"business": "提供开源编程Agent、IDE/CLI/云端工作流、模型路由及企业治理。",
|
||||
"buyer": "软件开发者与企业工程团队",
|
||||
"delivery": "官方代码和商业套餐可访问;未独立运行验证,2026年7月收购后仍提供产品。",
|
||||
"notes": "2025成立依据收购方官方案例与创立说明,非工商核验。KiloClaw与IDE插件归同一案例;不同于kilo.co健康业务。采用数和token吞吐不是ARR。",
|
||||
"cohort": "2025年成立(官方案例及创立说明)",
|
||||
"teamBasis": "官方案例列11—50人及15名工程师,截止日未列;不转换为精确员工数",
|
||||
"price": "个人平台免费;Teams每用户每月15,Kilo Pass每月19起(原文$);5%充值处理费与云算力另计,企业定制",
|
||||
"pricingEvidence": "KILO-PRICE",
|
||||
"stage": "已被Anaconda收购;有公开软件与商业套餐,收入待核",
|
||||
"sourceType": "公司与收购方官方材料,Product Hunt发现",
|
||||
"evidenceIds": [
|
||||
"KILO-PH",
|
||||
"KILO-ABOUT",
|
||||
"KILO-HOME",
|
||||
"KILO-PRICE",
|
||||
"KILO-CODE",
|
||||
"KILO-START",
|
||||
"KILO-ACQ",
|
||||
"KILO-SIZE"
|
||||
],
|
||||
"revenueStatus": "unknown",
|
||||
"businessModel": "开源获客、团队平台席位与企业合同、可选额度订阅、充值处理费及云算力;模型供应商成本与平台净收入需分开",
|
||||
"entityBasis": "2025创立的Kilo Code品牌/公司;2026-07-15起按已被收购业务观察,法律并表细节未核",
|
||||
"classificationBasis": "按主要买家与软件开发工作流归C04;模型网关和托管产品不另计一家公司。",
|
||||
"technicalReview": {
|
||||
"level": "public-artifact",
|
||||
"reviewedAt": "2026-10-30",
|
||||
"summary": "官方仓库与源码、MIT许可证可访问;未运行产品、复测厂商基准或确认独立技术排名。",
|
||||
"evidenceIds": [
|
||||
"KILO-CODE"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
@@ -31572,6 +31613,66 @@
|
||||
"reason": "奖金不是经常性ARR;需核获奖名单、时期和收款主体,不与个人履历奖金相加",
|
||||
"bound": "=",
|
||||
"comparisonGroup": null
|
||||
},
|
||||
{
|
||||
"id": "KILO-O-developers",
|
||||
"company": "AI072",
|
||||
"name": "Kilo Code",
|
||||
"kind": "官网自述采用规模",
|
||||
"value": 5000000,
|
||||
"unit": "名开发者,未核独立付费客户",
|
||||
"timing": "官网未给业务截止日;2026-10-30读取",
|
||||
"evidence": "KILO-HOME",
|
||||
"scope": "Kilo产品采用或吞吐",
|
||||
"selection": "adoption",
|
||||
"reason": "采用和token吞吐不等于收入;日期与定义未对齐时不合并、不反推ARR。",
|
||||
"bound": ">",
|
||||
"comparisonGroup": null
|
||||
},
|
||||
{
|
||||
"id": "KILO-O-tokens-home",
|
||||
"company": "AI072",
|
||||
"name": "Kilo Code",
|
||||
"kind": "首页月token吞吐",
|
||||
"value": 10000000000000,
|
||||
"unit": "tokens/月",
|
||||
"timing": "官网未给业务截止月;2026-10-30读取",
|
||||
"evidence": "KILO-HOME",
|
||||
"scope": "Kilo产品采用或吞吐",
|
||||
"selection": "adoption",
|
||||
"reason": "采用和token吞吐不等于收入;日期与定义未对齐时不合并、不反推ARR。",
|
||||
"bound": ">",
|
||||
"comparisonGroup": null
|
||||
},
|
||||
{
|
||||
"id": "KILO-O-tokens-about",
|
||||
"company": "AI072",
|
||||
"name": "Kilo Code",
|
||||
"kind": "关于页月token吞吐",
|
||||
"value": 6000000000000,
|
||||
"unit": "tokens/月",
|
||||
"timing": "关于页未给业务截止月;2026-10-30读取",
|
||||
"evidence": "KILO-ABOUT",
|
||||
"scope": "Kilo产品采用或吞吐",
|
||||
"selection": "adoption",
|
||||
"reason": "采用和token吞吐不等于收入;日期与定义未对齐时不合并、不反推ARR。",
|
||||
"bound": "=",
|
||||
"comparisonGroup": null
|
||||
},
|
||||
{
|
||||
"id": "KILO-O-developers-acq",
|
||||
"company": "AI072",
|
||||
"name": "Kilo Code",
|
||||
"kind": "收购公告采用规模",
|
||||
"value": 3000000,
|
||||
"unit": "名开发者,未核独立付费客户",
|
||||
"timing": "2026-07-15收购公告;2026-10-30读取",
|
||||
"evidence": "KILO-ACQ",
|
||||
"scope": "Kilo产品采用或吞吐",
|
||||
"selection": "adoption",
|
||||
"reason": "采用和token吞吐不等于收入;日期与定义未对齐时不合并、不反推ARR。",
|
||||
"bound": ">",
|
||||
"comparisonGroup": null
|
||||
}
|
||||
],
|
||||
"evidence": [
|
||||
@@ -43575,6 +43676,116 @@
|
||||
"kind": "公司官方材料",
|
||||
"summary": "公开仓库可访问,包含Rust源码、测试、脚本和MIT许可证说明。",
|
||||
"limitation": "仅确认公开材料可访问;未编译、运行或验证安全和性能。星数是动态采用信号,不是付费客户。"
|
||||
},
|
||||
{
|
||||
"id": "PH-2026-PAGE",
|
||||
"companyId": null,
|
||||
"title": "Product Hunt 2026年度榜单可读响应",
|
||||
"url": "https://www.producthunt.com/leaderboard/yearly/2026",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "产品发布平台",
|
||||
"summary": "登记首次响应19张产品/推广卡片;已解析17个产品页,Brew超时,Render为推广卡。",
|
||||
"limitation": "未获取全量分页;2025档案及2026其他记录未穷尽;发布时间不是公司成立年。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-PH",
|
||||
"companyId": "AI072",
|
||||
"title": "Kilo Code产品发布资料",
|
||||
"url": "https://www.producthunt.com/products/kilocode",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "产品发布平台",
|
||||
"summary": "页面标记2025发布并列多次产品发布,跳转kilo.ai及官方仓库。",
|
||||
"limitation": "发布年份不单独当公司成立年;平台排名和关注数不当财务或技术测试。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-ABOUT",
|
||||
"companyId": "AI072",
|
||||
"title": "Kilo官方关于页",
|
||||
"url": "https://kilo.ai/about",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "公司称构想始于2025年3月,提供开源编程Agent编排,页面称月处理6万亿tokens。",
|
||||
"limitation": "构想日不等于注册日;与首页10万亿以上吞吐的截止日及定义未对齐,均不转为收入。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-HOME",
|
||||
"companyId": "AI072",
|
||||
"title": "Kilo官方产品页",
|
||||
"url": "https://kilo.ai/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "提供IDE、CLI和云端编程Agent、模型路由与BYOK;自述500多万Kilo Coders、月处理10万亿以上tokens。",
|
||||
"limitation": "自述采用数非付费客户;吞吐非收入或利润,不将匿名使用量折算ARR。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-PRICE",
|
||||
"companyId": "AI072",
|
||||
"title": "Kilo官方定价",
|
||||
"url": "https://kilo.ai/pricing",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "个人平台免费,Teams每用户每月15(原文$),企业定制;推理按供应商价格,充值处理费5%,可选Kilo Pass每月19起,云算力另计。",
|
||||
"limitation": "仅2026-10-30公开标价,未验证实际账单、补贴成本、总额/净额确认或付费采用;无推理加价不等于无收费。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-CODE",
|
||||
"companyId": "AI072",
|
||||
"title": "Kilo公开代码仓库",
|
||||
"url": "https://github.com/kilo-org/kilocode?ref=producthunt",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "产品发布平台",
|
||||
"summary": "公开仓库可读,包含源码与MIT许可证;CLI说明其源于OpenCode分叉。",
|
||||
"limitation": "仅确认材料可访问;未编译、运行或独立测试性能、安全与生产交付。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-START",
|
||||
"companyId": "AI072",
|
||||
"title": "Anaconda关于Kilo的创立与产品说明",
|
||||
"url": "https://www.anaconda.com/blog/kilo-code-joins-anaconda-what-builders-should-know",
|
||||
"publishedAt": "2026-07-15",
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "官方称Kilo Code始于2025年早期,并介绍创始团队及KiloClaw属于其产品体系。",
|
||||
"limitation": "收购方官方材料,非工商核验;KiloClaw不作为另一个新公司重复计数。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-ACQ",
|
||||
"companyId": "AI072",
|
||||
"title": "Anaconda收购Kilo Code公告",
|
||||
"url": "https://www.anaconda.com/press/anaconda-acquires-kilo-code",
|
||||
"publishedAt": "2026-07-15",
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "2026年7月15日宣布已收购Kilo Code,公告称当时有超过300万开发者采用。",
|
||||
"limitation": "收购金额和Kilo收入未披露;不能将母公司经营规模当Kilo收入。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-SIZE",
|
||||
"companyId": "AI072",
|
||||
"title": "Anaconda Kilo案例资料",
|
||||
"url": "https://www.anaconda.com/resources/case-study/building-kilo-at-the-speed-of-thought",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "资料列成立2025年、公司规模11—50人,并描述15名工程师的工作方式。",
|
||||
"limitation": "人数范围不转为精确团队总数,工程师数也不等于全公司人数;采用及流程效果仍为官方案例。"
|
||||
},
|
||||
{
|
||||
"id": "KILO-OTHER",
|
||||
"companyId": null,
|
||||
"title": "健康业务Kilo官方介绍",
|
||||
"url": "https://kilo.co/newsroom/kilo-ceo-interview-growth-strategy/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "该站介绍健康、长寿和消费品牌业务及CEO Žygimantas Surintas,与kilo.ai编程工具的创始团队、产品及域名不同。",
|
||||
"limitation": "只用于近名实体排除,不把该公司的收入、融资或目标归Kilo Code。"
|
||||
}
|
||||
],
|
||||
"reviews": [
|
||||
@@ -44378,6 +44589,53 @@
|
||||
"companyIds": [
|
||||
"YC32138"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "KILO-R-MODEL",
|
||||
"type": "收费与收入边界",
|
||||
"company": "Kilo Code",
|
||||
"summary": "零推理加价与平台席位、额度订阅、充值费及云算力收费并存;没有可用公司收入。",
|
||||
"evidenceIds": [
|
||||
"KILO-HOME",
|
||||
"KILO-ABOUT",
|
||||
"KILO-PRICE"
|
||||
],
|
||||
"handling": "分别核平台净收入、供应商转付、补贴和成本;不从开发者或token吞吐推ARR。",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"AI072"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "KILO-R-ENTITY",
|
||||
"type": "近名与重复产品",
|
||||
"company": "Kilo Code",
|
||||
"summary": "Kilo Code与kilo.co健康业务不同;KiloClaw和IDE插件属于同一产品体系。",
|
||||
"evidenceIds": [
|
||||
"KILO-START",
|
||||
"KILO-OTHER",
|
||||
"KILO-PH"
|
||||
],
|
||||
"handling": "不转移重名公司的财务数字;两个PH发布只映射一个公司个案。",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"AI072"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "KILO-R-ACQ",
|
||||
"type": "并购与规模",
|
||||
"company": "Kilo Code",
|
||||
"summary": "2025创立,2026-07-15被Anaconda收购;11—50人数范围和15名工程师不等于精确员工数。",
|
||||
"evidenceIds": [
|
||||
"KILO-ACQ",
|
||||
"KILO-SIZE"
|
||||
],
|
||||
"handling": "保留成立年和已收购状态,区分母公司、业务和法律并表范围。",
|
||||
"scope": "companies",
|
||||
"companyIds": [
|
||||
"AI072"
|
||||
]
|
||||
}
|
||||
],
|
||||
"coverage": {
|
||||
@@ -44393,5 +44651,210 @@
|
||||
"dateConflicts": 6,
|
||||
"failedProfiles": 0,
|
||||
"discoverySha256": "e89300524efc0f31ffcdae02aa3e04635fcb21d8b04e9a72e4fce8e12ff51b85"
|
||||
}
|
||||
},
|
||||
"candidateBatches": [
|
||||
{
|
||||
"sourceId": "S04",
|
||||
"url": "https://www.producthunt.com/leaderboard/yearly/2026",
|
||||
"accessedAt": "2026-10-30",
|
||||
"scope": "年度榜单首次公开响应中可见的19张产品或推广卡片;不含分页或后续动态加载,不是2026全年、更不是2025—2026全量。",
|
||||
"complete": false,
|
||||
"records": [
|
||||
{
|
||||
"id": "PH26-01",
|
||||
"name": "Fundraisly",
|
||||
"url": "https://www.producthunt.com/products/fundraisly",
|
||||
"categoryId": "C07",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-02",
|
||||
"name": "Rork Max",
|
||||
"url": "https://www.producthunt.com/products/rork-app-for-ios",
|
||||
"categoryId": "C04",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "existing-outside-cohort",
|
||||
"note": "映射现有Rork对照记录;2024成立,不因Rork Max发布重新算2026新公司。",
|
||||
"companyId": "AI054"
|
||||
},
|
||||
{
|
||||
"id": "PH26-03",
|
||||
"name": "Brila",
|
||||
"url": "https://www.producthunt.com/products/brila-2",
|
||||
"categoryId": "C04",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-04",
|
||||
"name": "happycapy",
|
||||
"url": "https://www.producthunt.com/products/happycapy",
|
||||
"categoryId": "C09",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-05",
|
||||
"name": "Cowork",
|
||||
"url": "https://www.producthunt.com/products/claude",
|
||||
"categoryId": "C05",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-06",
|
||||
"name": "Upstream",
|
||||
"url": "https://www.producthunt.com/products/upstream-3",
|
||||
"categoryId": "C05",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-07",
|
||||
"name": "Goldfish",
|
||||
"url": "https://www.producthunt.com/products/goldfish-early-access",
|
||||
"categoryId": "C09",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-08",
|
||||
"name": "Framer 3.0",
|
||||
"url": "https://www.producthunt.com/products/framer",
|
||||
"categoryId": "C04",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-09",
|
||||
"name": "OpenSEO",
|
||||
"url": "https://www.producthunt.com/products/openseo",
|
||||
"categoryId": "C06",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-10",
|
||||
"name": "Clarify",
|
||||
"url": "https://www.producthunt.com/products/clarify-6",
|
||||
"categoryId": "C06",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-11",
|
||||
"name": "Lightfield",
|
||||
"url": "https://www.producthunt.com/products/lightfield",
|
||||
"categoryId": "C06",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-12",
|
||||
"name": "Pazi",
|
||||
"url": "https://www.producthunt.com/products/pazi",
|
||||
"categoryId": "C05",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-13",
|
||||
"name": "SuperX",
|
||||
"url": "https://www.producthunt.com/products/superx",
|
||||
"categoryId": "C06",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-14",
|
||||
"name": "Kilo Code for VS Code",
|
||||
"url": "https://www.producthunt.com/products/kilocode",
|
||||
"categoryId": "C04",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "linked",
|
||||
"note": "映射同一Kilo Code个案,不因插件与托管产品分别发布重复新增公司。",
|
||||
"companyId": "AI072"
|
||||
},
|
||||
{
|
||||
"id": "PH26-15",
|
||||
"name": "Brew",
|
||||
"url": "https://www.producthunt.com/products/brew-5",
|
||||
"categoryId": "C06",
|
||||
"kind": "product",
|
||||
"profileStatus": "unavailable",
|
||||
"status": "pending-year",
|
||||
"note": "产品页读取超时,保留榜单发现;主体、成立年和收入待核。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-16",
|
||||
"name": "Render startup credits",
|
||||
"url": null,
|
||||
"categoryId": "C02",
|
||||
"kind": "promotion",
|
||||
"profileStatus": "archive-only",
|
||||
"status": "promotion",
|
||||
"note": "推广创业额度活动,链接回榜单,不把额度当公司收入或新成立公司。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-17",
|
||||
"name": "DataFast",
|
||||
"url": "https://www.producthunt.com/products/datafast",
|
||||
"categoryId": "C05",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
},
|
||||
{
|
||||
"id": "PH26-18",
|
||||
"name": "KiloClaw",
|
||||
"url": "https://www.producthunt.com/products/kiloclaw",
|
||||
"categoryId": "C03",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "linked",
|
||||
"note": "映射同一Kilo Code个案,不因插件与托管产品分别发布重复新增公司。",
|
||||
"companyId": "AI072"
|
||||
},
|
||||
{
|
||||
"id": "PH26-19",
|
||||
"name": "Stitch 2.0 by Google",
|
||||
"url": "https://www.producthunt.com/products/stitch-2-0-by-google-2",
|
||||
"categoryId": "C08",
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。"
|
||||
}
|
||||
],
|
||||
"id": "PH-2026-visible-1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-1",
|
||||
"version": "2026-10-30-2",
|
||||
"scopeConfirmedAt": "2026-10-30",
|
||||
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
|
||||
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
|
||||
@@ -53,14 +53,14 @@
|
||||
"name": "Product Hunt",
|
||||
"url": "https://www.producthunt.com/",
|
||||
"role": "discovery",
|
||||
"status": "pending",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"www.producthunt.com",
|
||||
"producthunt.com"
|
||||
],
|
||||
"initialAccess": "官网可读取",
|
||||
"boundary": "仅确认首页及发布档案入口可读,尚无两年AI产品候选池;发布不等于公司成立。",
|
||||
"nextCheck": "按发布档案建立候选并回查官网成立信息、区分产品和法人。",
|
||||
"boundary": "已登记2026年度榜单首次响应19张卡片:17个产品页可读、1超时、1推广卡;只核当前可见批次,未穷尽两年发布档案。",
|
||||
"nextCheck": "补2025档案、2026其余分页/日期及公司成立证据;多产品映射同一公司,未核年份保持候选。",
|
||||
"limitation": "上线时间不等于成立时间",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"sourceVersion": "2026-10-30-depth-4",
|
||||
"sourceVersion": "2026-10-30-ph-1",
|
||||
"asOf": "2026-10-30",
|
||||
"metric": "platform-mrr-usd",
|
||||
"sampleUnit": "product-or-business",
|
||||
|
||||
@@ -52,6 +52,43 @@ def source_register():
|
||||
return lines
|
||||
|
||||
|
||||
|
||||
def candidate_register():
|
||||
batches = DATA.get('candidateBatches', [])
|
||||
companies = {c['id']: c for c in DATA['companies']}
|
||||
categories = {c['id']: c['name'] for c in DATA['categories']}
|
||||
known_sources = {s['id'] for s in SOURCES['sources']}
|
||||
assert len({b['id'] for b in batches}) == len(batches)
|
||||
all_ids = [r['id'] for b in batches for r in b['records']]
|
||||
assert len(set(all_ids)) == len(all_ids)
|
||||
lines = []
|
||||
statuses = {'pending-year': '成立年待核', 'linked': '已关联公司',
|
||||
'existing-outside-cohort': '已有关联,年份范围外', 'promotion': '推广活动,非公司新增'}
|
||||
for batch in batches:
|
||||
assert batch['sourceId'] in known_sources
|
||||
assert batch['accessedAt'] <= DATA['asOf']
|
||||
assert any(e['url'] == batch['url'] for e in DATA['evidence'])
|
||||
rows = batch['records']
|
||||
counts = Counter(r['status'] for r in rows)
|
||||
assert sum(counts.values()) == len(rows)
|
||||
lines += ['', f"## {batch['sourceId']} 产品发布候选核对", '',
|
||||
f"[发现页面]({batch['url']}),读取于{batch['accessedAt']}。{batch['scope']}", '',
|
||||
f"本批{len(rows)}条:{counts['linked']}条关联公司、{counts['existing-outside-cohort']}条关联范围外对照、{counts['pending-year']}条成立年待核、{counts['promotion']}条推广活动。完整来源覆盖标记:{'已完成' if batch['complete'] else '未完成'}。产品任务的初分类不计入主公司表数量,只有已关联的公司记录进入对应公司明细。候选与缺项随研究版本保存在文档站同一SQLite的研究元数据中。", '',
|
||||
'| 发布卡片 | 产品任务初分 | 核对状态 | 关联公司 | 限制 |', '| --- | --- | --- | --- | --- |']
|
||||
for row in rows:
|
||||
assert row['categoryId'] in categories
|
||||
assert row['status'] in statuses
|
||||
name = f"[{row['name']}]({row['url']})" if row['url'] else row['name']
|
||||
company = '—'
|
||||
if row.get('companyId'):
|
||||
assert row['companyId'] in companies
|
||||
c = companies[row['companyId']]
|
||||
company = f"[{c['name']}]({BASE}?company={c['id']}#research-company-detail)"
|
||||
lines.append(f"| {name} | {categories[row['categoryId']]} | {statuses[row['status']]} | {company} | {row['note']} |")
|
||||
lines += ['', '产品页可读只表示有可访问的资料;本批未将所有产品页完成公司、技术或财务深查。HTTP直接采集返回403,因此不声称取得底层全量列表;后续公开档案与未读页面继续保留缺项。', '']
|
||||
return lines
|
||||
|
||||
|
||||
def render():
|
||||
cov = DATA['coverage']
|
||||
companies = DATA['companies']
|
||||
@@ -125,6 +162,7 @@ def render():
|
||||
others = [e for e in DATA['evidence'] if urlsplit(e['url']).netloc not in included]
|
||||
lines.append(f"| 其他官网、评测及公开资料 | {len(others)} | {len({e['url'] for e in others})} | 按每条来源限制理解,不能统一当作独立证据 |")
|
||||
lines += source_register()
|
||||
lines += candidate_register()
|
||||
lines += ['', '## 尚未满足的研究条件', '',
|
||||
'行业ARR比较仍缺统一业务截止日、币种、经常性定义和业务边界。现有平台MRR可描述已采集产品,不足以代表全部新公司。技术评测只覆盖所列版本与任务,不宜跨领域汇总为统一强弱分数。', '',
|
||||
'下一轮优先补收入线索的日期及合同定义、非YC和非英文来源、规则初分的人工复核,以及停止服务或被收购案例。这样能减少“只见赢家”和“只见融资公司”的偏差。公开来源池之外的未披露公司仍无法证明已被穷尽。', '',
|
||||
|
||||
Reference in New Issue
Block a user