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

292 lines
9.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AIwelink 讨论结果说明
这份文档把项目从最初想法到当前方案的变化讲清楚。
它帮助新成员理解每个决定是怎么来的。
当前状态:产品方向已经收敛到「自我认知 + 项目机会 + 真实合作 + 项目反馈」。
技术方案也已经确定第一阶段的主要工具。
代码目录、AI 助手和运营节奏还要继续安排。
## 1. 项目从哪里开始
最初的想法是做一个项目合作平台。
用户可以上传简历和资料、发布项目、发起组队,并寻找队友或协作者。
平台面向大学竞赛,也保留真实开发者项目的空间。
继续讨论后,团队发现单独提供资料、帖子和私聊,用户很难得到长期价值。
于是产品重点逐渐转向「帮助用户找到合适的任务和合作方式,并把项目做完」。
## 2. 第一阶段先服务大学生竞赛
第一阶段选择大学生竞赛和技术项目,原因有三点:
- 赛事有明确的报名和截止时间;
- 学校、社团和学生组织方便触达用户;
- 发布机会、申请组队和提交作品的过程容易观察。
初期重点关注 AI、软件、数据分析、创新创业等技术相关竞赛。
后续可以扩展到科研、开源、企业命题和创业项目。
## 3. 产品定位逐步明确
AIwelink 的核心场景是带着任务一起做事:
```text
明确的竞赛或项目
-> 找到需要的角色和能力
-> 发起申请并组队
-> 共同完成作品
-> 记录结果和合作反馈
```
平台沉淀的结果包括有效申请、成功组队、持续合作、作品完成、竞赛提交和项目复盘。
浏览、点赞和聊天只是辅助行为。
校园墙可以作为信息分发渠道。
校园墙负责本地触达,AIwelink 承接结构化报名、组队、工具使用和成果记录。
## 4. 商业方向怎样形成
团队把商业路径安排为:
```text
免费赛事与项目机会
-> 用户组队并开始真实项目
-> 用户出现 AI 工具和能力需求
-> 使用 API、工具包、课程或导师服务
-> 学校、赛事方和企业采购组织服务
```
当前重点方向包括:
1. 面向竞赛团队的模型 API 和场景工具包;
2. 赛事课程、训练营、作品评审和答辩辅导;
3. 学校、社团和赛事方的报名、组队与活动管理;
4. 企业命题赛、模型或算力赞助、品牌合作;
5. 基于真实项目经历的人才发现和项目推荐。
平台在用户进入项目、遇到具体困难或开始备赛后展示相关服务。
这样服务内容和用户当前任务直接相关。
## 5. 首页要呈现什么
首页围绕机会和下一步行动安排内容:
1. 适合用户的竞赛和项目;
2. 即将截止或正在招募的机会;
3. 用户正在参与的项目;
4. 自我认知和成长任务;
5. 已完成的作品和经验;
6. 与当前项目有关的 API、课程和导师服务。
登录可以分阶段要求:
- 未登录用户浏览部分公开机会;
- 用户收藏、报名、申请组队或开始个性化自我认知时登录;
- 微信作为主登录入口;
- 邮箱用于绑定、验证、通知和账号恢复。
## 6. 自我认知功能怎样形成
用户真正关心的是自己适合什么任务、角色和协作方式。
因此,个人画像需要随着行动持续更新:
```text
自我评估
-> 选择项目
-> 真实行动
-> 队友反馈
-> 项目复盘
-> 更新个人画像
```
AI 自我认知助手先给出阶段性建议。
真实项目行为、合作结果和队友反馈会成为后续更新的重要依据。
平台通过提问、项目记录和复盘帮助用户了解:
- 自己擅长什么;
- 适合承担什么角色;
- 适合怎样的工作环境;
- 哪些环节容易遇到困难;
- 下一步该学习或尝试什么。
## 7. 邀请、合作报告和积分
自我认知助手也可以作为推广入口:
```text
免费自我认知助手
-> 生成个人报告
-> 分享用户选择的安全摘要
-> 邀请朋友
-> 生成双方或团队的合作建议
-> 推荐适合一起参加的项目
```
双方取得明确许可后,合作报告可以包含:
- 互补优势;
- 分工建议;
- 可能发生摩擦的地方;
- 推荐的沟通方式;
- 适合一起参加的项目;
- 合作前需要约定的规则。
积分奖励绑定真实行为。
例如完成个人报告、完成共享许可、生成合作报告、参加项目和完成复盘。
积分可以兑换深度报告、API 额度、课程优惠、导师问答或挑战资格。
第一阶段先服务已经认识的朋友、同学和队友。
随着项目记录增加,再扩展到三至五人的团队合作建议。
## 8. 推荐系统的方向
推荐对象包括竞赛、项目、学科和学习内容。
也包括项目角色、合作对象、课程、导师和 AI 工具。
推荐会综合这些信息:
- 用户能力和目标;
- 可以投入的时间;
- 工作偏好;
- 完成或放弃过的项目;
- 项目中的真实行为;
- 队友反馈和复盘结果。
第一阶段先采用规则、标签、行为信号和必要的向量检索。
每条推荐带理由,让用户知道选择依据。
## 9. 技术方案怎样确定
### 9.1 后端语言
团队比较了 Go、TypeScript 和 Python。
第一阶段业务主要处理网络请求、数据库读写和第三方模型调用。
全栈 TypeScript 已经能够覆盖这些工作。
Go 留作未来独立高性能服务的选择。
Python 留作算法和数据分析任务的选择。
当前先保持一个主要语言,减少工程维护量。
### 9.2 Web 框架
React 负责 UI 组件,Next.js 负责完整 Web 应用。
平台需要公开机会页、分享页、搜索收录和登录后的工作台。
因此确定使用:
> Next.js + React + TypeScript
页面质量由设计系统、信息层级、动效、响应式布局和性能共同决定。
### 9.3 Web 和 REST API
Web 与业务 API 分开:
```text
https://aiwelink.com/ -> Next.js
https://aiwelink.com/api/v1/* -> 独立 REST API
```
同域名入口减少跨域和子域名配置工作,也保留未来独立扩展 API 的空间。
### 9.4 API 框架
后端采用 NestJS + Fastify Adapter。
NestJS 负责模块、依赖注入、权限 Guard、异常处理和 OpenAPI。
Fastify 负责 HTTP 服务。
### 9.5 数据访问
普通增删改查和事务使用 Drizzle ORM。
向量相似度、全文搜索、推荐排序和复杂报表通过 Repository 使用参数化原生 SQL。
### 9.6 数据和基础设施
- PostgreSQL 保存主要业务数据;
- `pgvector` 提供向量检索;
- Redis 负责缓存、限流和任务队列;
- 阿里云 OSS 保存简历、作品、报告和附件;
- Docker 运行 Web、API 和 Worker;
- 第一阶段部署在自有 ECS + Docker Compose;
- 后续根据规模迁移 Kubernetes;
- Uptime Kuma 负责基础可用性监控。
## 10. 单仓库和文档位置
项目使用单 Git 仓库(Monorepo),计划按以下目录组织:
- `apps/web`:Next.js Web;
- `apps/api`:NestJS REST API;
- `apps/worker`:异步任务;
- `apps/admin`:后续运营后台;
- `packages/contracts`:OpenAPI、DTO 和共享接口;
- `packages/db`:Drizzle Schema、迁移和种子数据;
- `infra`:Docker、ECS、备份和后续 Kubernetes 配置。
文档位置按内容分工:
| 文档内容 | 位置 |
| --- | --- |
| 总体架构、技术栈、工程规范 | 根目录 `docs/` |
| API 接口和模块实现 | `apps/api/docs/` |
| 数据库结构和迁移规范 | `packages/db/docs/` |
| 技术部署和备份 | `infra/docs/` |
| 临时需求和未确认讨论 | `docs-local/` |
| 商业、市场、运营和合作 | 飞书 |
## 11. 当前已经确定的事情
- 第一阶段服务大学生竞赛和技术项目;
- 产品由自我认知、机会推荐、真实合作和项目反馈组成;
- 首页围绕机会和下一步行动;
- 双方取得许可后生成合作建议;
- 推荐结果说明原因;
- 使用 Next.js + React + TypeScript;
- 使用独立 REST API,路径为 `/api/v1`;
- Web 和 API 共用一个域名;
- 使用 NestJS + Fastify Adapter;
- 使用 Drizzle 和参数化原生 SQL;
- API 内部建立 `Identity` 模块;
- 使用 PostgreSQL、`pgvector`、Redis 和阿里云 OSS;
- 第一阶段使用 ECS + Docker Compose;
- 商业和运营资料放在飞书。
## 12. 还要决定的事情
- AI 助手使用哪家模型和怎样路由模型;
- AI 助手使用哪种对话编排框架;
- 长报告和复杂任务使用哪种队列;
- 推荐系统是否拆成独立服务;
- 测试工具和日志、指标方案;
- 生产环境的 PostgreSQL 和 Redis 使用自建还是托管;
- 第一场重点竞赛、运营节奏和具体价格。
## 13. 给新成员的阅读顺序
1. 先读本文,了解产品方向的变化;
2. 再读 `docs/project-handoff.md`,了解工程规则;
3. 阅读 `docs/architecture/technology-stack.md`,掌握整体技术方案;
4. 阅读 `docs/architecture/technology-stack-details.md`,了解接口、数据和部署细节;
5. 开始实现对应模块前,再阅读模块文档和决定记录;
6. 遇到待决定的事项,先保持接口清楚,把选项和依据记录下来。
## 14. 讨论结论
项目方向从「项目合作平台」逐步明确为:
```text
项目合作平台
-> 大学生竞赛组队
-> 以任务为中心的协作
-> 以自我认知为长期能力
-> 推荐项目、学科和合作对象
-> 双方取得许可后生成合作建议
-> 通过真实项目积累成长和合作数据
-> 用 API、课程、导师和机构服务提供收入
```
技术安排遵循同一原则:先用清楚、稳定、可以持续修改的模块化架构验证用户价值。
等用户数量、项目数据和实际故障模式变得清楚后,再决定后续技术投入。
候选项包括 AI 助手编排、复杂推荐、Kubernetes 和专用基础设施。