Files
NewPlatform/docs_old/discussion-summary.md
2026-08-23 00:16:15 +08:00

13 KiB
Raw Permalink Blame History

AIwelink 项目讨论过程总结

用途:记录 AIwelink 从最初想法到当前产品和技术共识的形成过程,帮助新开发者理解决策背景。

文档性质:这是讨论过程记录,不替代具体技术规范,也不替代飞书中的正式商业和运营文档。

当前阶段:方向已完成初步收敛,代码目录和 Agent 具体实现尚未定型。

1. 最初设想

项目最初的设想是建设一个项目合作平台:

  • 用户可以上传简历和个人资料。
  • 用户可以发布自己的项目。
  • 用户可以发布召集令,寻找队友或协作者。
  • 平台面向大学竞赛,也面向真实开发者项目。
  • 平台未来保留运营和商业化空间。

最开始看起来像是“项目合作 + 人才资料 + 组队”的平台,但讨论很快发现,如果只是简历、帖子、私聊和找队友,产品会接近校园墙或垂直交友平台,缺乏长期差异化。

2. 第一次收窄:先服务大学生竞赛

为了降低冷启动难度,第一阶段选择大学生竞赛作为主要市场,而不是同时服务大学生和成熟开发者。

选择原因:

  • 需求集中在明确的赛事周期内。
  • 学校、社团、校园墙和学生组织是可触达的渠道。
  • 组队需求明确,容易观察“发布、申请、成队”的闭环。
  • 技术类竞赛可以自然连接 AI API、课程和工具包。

第一阶段优先关注 AI、软件、数据分析、创新创业等技术关联竞赛,后续再扩展到更多竞赛、科研、开源、企业命题和创业项目。

3. 从“交友平台”转向“任务型协作平台”

讨论中确认:如果平台只是“上传简历、发布召集令、私聊”,就会像校园版交友平台。

因此产品目标从“让人认识更多人”调整为:

以明确的项目或竞赛任务为中心,帮助用户找到合适的能力、角色和协作者,并把项目真正做完。

平台的成果不应只是浏览、点赞或聊天,而应包括:

  • 有效申请。
  • 成功组队。
  • 持续协作。
  • 完成作品。
  • 提交竞赛。
  • 赛后复盘。

4. 与校园墙的区分

校园墙负责让信息被看见,AIwelink 负责让项目推进和结果沉淀。

区分重点:

校园墙 AIwelink
单校或本地信息 跨学校的机会和项目网络
非结构化临时帖子 绑定赛事、角色、时间和能力要求
发帖后转到微信 记录申请、授权、组队和项目过程
主要关注曝光 关注成队率、完赛率和作品数量
广告或推广为主 API、课程、导师、赛事和机构服务

校园墙不必完全视为敌人,也可以成为分发渠道:校园墙提供本地触达,AIwelink 承接标准化报名、组队、工具和成果记录。

5. 商业化方向的形成

讨论中明确,平台不应主要依靠向学生收取“找队友”会员费。更自然的商业闭环是:

免费赛事与项目机会
  -> 用户组队并开始真实项目
  -> 产生 AI 工具和能力需求
  -> 使用模型 API、工具包、课程或导师服务
  -> 后续对接学校、赛事方和企业

主要商业化方向:

  1. 面向竞赛团队的模型 API 和场景化工具包。
  2. 面向具体赛事的课程、训练营、作品评审和答辩辅导。
  3. 学校、社团和赛事方的报名、组队和运营服务。
  4. 企业命题赛、模型或算力赞助、品牌合作。
  5. 基于真实项目经历的人才发现和项目推荐。

商业表达不应聚焦“帮助用户访问国外 AI”,而应聚焦国内稳定可用、人民币结算、适合竞赛场景的 AI 能力。

API 和课程不应在用户刚进入平台时硬推,而应在用户进入项目、遇到具体困难或进入备赛阶段后出现。

6. 首页心智的讨论结果

首页不以产品介绍、API 或课程商城为中心,也不以简历瀑布流或泛校园信息流为中心。

首页应该围绕“机会”和“下一步行动”:

找到适合你的下一次挑战,并知道现在应该做什么。

首页的优先内容:

  1. 适合用户的竞赛和项目。
  2. 即将截止或正在招募的机会。
  3. 用户正在参与的项目。
  4. 自我认知和成长任务。
  5. 真实项目成果和经验。
  6. 与当前项目有关的 API、课程和导师服务。

登录策略初步确定为:未登录用户可浏览部分公开机会;收藏、报名、申请组队或开始个性化自我认知时再要求登录。微信作为主登录入口,邮箱作为绑定、验证和恢复方式。

7. 自我认知方向的形成

讨论进一步从“竞赛组队”转向“帮助用户了解自己”。用户真正想知道的不是简单人格标签,而是:

  • 自己擅长什么。
  • 适合做什么类型的任务。
  • 适合承担什么项目角色。
  • 更适合什么工作环境和协作方式。
  • 容易在哪些环节遇到困难。
  • 下一步应该学习或尝试什么。

因此,心理测评不能只是一次性结果。平台应形成:

自我评估
  -> 选择项目
  -> 真实行动
  -> 队友反馈
  -> 项目复盘
  -> 更新自我认知

测评结果是当前阶段的假设,真实项目行为和合作反馈是更有价值的证据。

平台不做心理疾病诊断,不用单次测评淘汰用户,也不把用户固定成某种人格类型。

8. 自我认知 Agent 与推广机制

随后提出将自我认知 Agent 作为推广阶段的独立产品入口:

免费自我认知 Agent
  -> 生成个人报告
  -> 分享安全摘要
  -> 邀请朋友
  -> 解锁双人或团队分析
  -> 推荐项目和竞赛

积分可以作为增长工具,但奖励不应只绑定链接点击或注册,而应绑定有效行为:

  • 完成个人报告。
  • 被邀请者完成授权。
  • 双人报告生成。
  • 参与项目或挑战。
  • 完成项目复盘。

积分可以兑换深度报告、API 额度、课程优惠、导师问答或挑战资格。

9. 双人画像与社交属性

讨论确认,社交属性可以存在,而且可能是产品传播力的一部分,但应该围绕“共同做事”展开。

用户邀请朋友并获得双方授权后,可以生成:

  • 彼此互补的优势。
  • 适合的分工方式。
  • 可能发生冲突的地方。
  • 推荐的沟通方式。
  • 适合一起参加的项目。
  • 合作前应该约定的规则。

社交产品结构可以逐步演进为:

个人画像
  -> 双人协作画像
  -> 三到五人的团队画像
  -> 项目复盘
  -> 长期成长和合作关系

共享必须是双向、明确、可撤销的授权。默认私密,用户可以选择共享优势、偏好、协作建议或成长方向,不应默认共享原始回答和敏感结论。

第一阶段优先面向已经认识的朋友、同学和队友,暂不把陌生人交友或恋爱社交作为主场景。

10. 个性化推荐方向

推荐系统被定义为平台的长期核心能力,推荐对象包括:

  • 竞赛。
  • 项目。
  • 学科。
  • 学习内容。
  • 项目角色。
  • 合作对象。
  • 课程、导师和 AI 工具。

推荐依据不只包括兴趣,还包括:

  • 用户能力和目标。
  • 可投入时间。
  • 工作偏好。
  • 已完成或放弃过的项目。
  • 项目中的真实行为。
  • 队友反馈和复盘结果。

第一阶段采用可解释的规则、标签、行为信号和必要的向量召回,不直接引入复杂黑箱模型。

11. 技术选型过程

11.1 后端语言

讨论过 Go、TypeScript 和 Python 的适用性。

结论是:全栈 TypeScript 足以支撑第一阶段,因为业务主要是网络 I/O、数据库读写和第三方模型调用。Go 可以作为未来独立高性能服务的选择,Python 更适合未来算法和数据科学任务,但当前不需要为了 AI 提前拆成多语言微服务。

11.2 React 与 Next.js

确认 React 是 UI 库,Next.js 是基于 React 的应用框架。由于平台同时需要公开机会页、分享页、搜索收录和登录后的个性化工作台,最终选择:

Next.js + React + TypeScript

Next.js 负责 Web 应用,视觉质量由设计系统、信息层级、动效、响应式布局和性能实现决定,而不是由框架本身决定。

11.3 Web 与 REST API

确认采用 Next.js 与独立 REST API,而不是把核心业务全部放入 Next.js Route Handler。

第一阶段使用同域名反向代理:

https://aiwelink.com/            -> Next.js
https://aiwelink.com/api/v1/*   -> 独立 REST API

这样可以保留独立 API 边界,同时避免第一阶段的跨域和子域名复杂度。

11.4 API 框架

确认使用:

NestJS + Fastify Adapter

NestJS 负责模块、依赖注入、权限 Guard、异常处理和 OpenAPI;Fastify 作为底层 HTTP 适配器。

11.5 数据访问

对比 Prisma、Drizzle 和原生 SQL 后,确认:

Drizzle ORM 作为默认数据访问工具,原生 SQL 作为复杂查询补充。

普通 CRUD 和事务使用 Drizzle;pgvector、全文搜索、推荐排序和复杂报表通过 Repository 使用参数化原生 SQL。

11.6 身份系统

确认在 API 内部建立 Identity 模块,统一管理微信登录、邮箱绑定、会话、验证和登录审计。第一阶段不把身份体系绑定在 Next.js 上。

11.7 数据与基础设施

确认使用:

  • PostgreSQL 作为业务主数据库。
  • pgvector 作为 PostgreSQL 扩展。
  • Redis 用于缓存、限流和队列基础设施。
  • 阿里云 OSS 存储简历、作品、报告和附件。
  • Docker 容器化 Web、API 和 Worker。
  • 自有 ECS + Docker Compose 作为第一阶段部署方式。
  • 后续业务规模增长后再迁移 Kubernetes。
  • Uptime Kuma 作为第一阶段基础可用性监控。

数据按身份、资料、原始测评、推测画像、行为证据、公开画像和授权审计分层存储。提前按业务边界分表,但不提前做跨库分片。

12. Monorepo 与文档管理决定

确认使用单 Git 仓库和 Monorepo,代码按以下概念划分:

  • apps/web:Next.js Web。
  • apps/api:NestJS REST API。
  • apps/worker:异步任务,Agent 方案暂不定型。
  • apps/admin:后续运营后台。
  • packages/contracts:OpenAPI、DTO 和共享接口。
  • packages/db:Drizzle Schema、迁移和种子。
  • infra:Docker、ECS 和未来 Kubernetes。

文档边界确定为:

文档内容 位置
总体架构、技术栈、工程规范 根目录 docs/,进入 Git
API 具体接口和模块实现 apps/api/docs/,进入 Git
数据库规范 packages/db/docs/,进入 Git
技术部署和备份 infra/docs/,进入 Git
临时需求和未确认讨论 docs-local/,Git 忽略
商业、市场、运营和合作 飞书,不进入 Git

13. 当前已确认与未确认

已确认

  • 第一阶段面向大学生竞赛和技术项目。
  • 平台核心是自我认知、项目机会、真实协作和成长反馈。
  • 社交围绕双人或团队协作画像展开。
  • 推荐系统要可解释并帮助用户理解自己。
  • 使用 Next.js + React + TypeScript。
  • 使用独立 REST API,路径为 /api/v1,与 Web 同域名反向代理。
  • 使用 NestJS + Fastify Adapter。
  • 使用 Drizzle + 原生 SQL。
  • 使用 API 内部 Identity 模块。
  • 使用 PostgreSQL、pgvector、Redis 和阿里云 OSS。
  • 使用 ECS + Docker Compose,后续迁移 Kubernetes。
  • 商业和运营文档使用飞书。

暂未定型

  • Agent 使用的具体模型供应商和模型路由。
  • Agent 的对话编排框架。
  • 长报告和复杂任务的具体队列实现。
  • 推荐系统是否拆为独立服务。
  • 测试工具和完整可观测性方案。
  • 生产数据库和 Redis 的最终托管或自建形态。
  • 具体的第一场竞赛、运营节奏和商业价格。

14. 新开发者阅读顺序

建议按以下顺序了解项目:

  1. 阅读本文,理解产品为什么不是校园墙或普通交友平台。
  2. 阅读 docs/project-handoff.md,了解当前工程共识和接手规则。
  3. 阅读 docs/architecture/technology-stack.md,了解技术基线。
  4. 阅读 docs/architecture/technology-stack-details.md,了解 API、数据和部署细节。
  5. 阅读对应模块下的文档和决策记录。
  6. 对未定型事项先保持接口边界,不要擅自提前固化实现。

15. 总结

本次讨论的核心收敛过程是:

项目合作平台
  -> 大学生竞赛组队
  -> 区别于校园墙的任务型协作
  -> 以自我认知为长期核心
  -> 个性化推荐项目、学科和合作对象
  -> 双方授权后生成协作画像
  -> 通过真实项目形成成长和关系数据
  -> 用 API、课程、导师和机构服务商业化

技术选择遵循同一个原则:先用清晰、稳定、可迭代的模块化架构验证真实用户价值;在规模和业务证据出现后,再增加 Agent 编排、复杂推荐、Kubernetes 或专用基础设施。