EPA-013 Community Management
EAOS 的核心业务以咨询、线上学习和线下课转线上为主,社群不是附属聊天工具,而是训练营交付、咨询陪伴、线下课课后复访、学员支持、案例沉淀和复购转化的关键基础设施。
Positioning
每一个线上训练营、咨询项目或长期课程,都应拥有一个 LearningCommunity。社群负责把站内学习、论坛沉淀、企业微信服务、微信群交流和微信服务号触达连接起来。
Community Types
| Type | Scenario | Primary owner |
|---|---|---|
training-camp | 线上训练营、AI实战营、阶段性学习营 | 班主任、助教、主讲老师 |
consulting | 学校AI项目咨询、教师发展项目、区域培训项目 | 项目顾问、交付负责人 |
course | 长期课程学员社群、会员课程社群 | 课程运营 |
offline-class | 线下课课后答疑、成果复盘和复训转化 | 主讲老师、助教 |
alumni | 结营后校友社群、复训社群 | 用户运营 |
Channel Model
一个社群可以挂多个渠道。
| Channel | Role | What stays there | What must return to EAOS |
|---|---|---|---|
forum | 长期知识沉淀 | 高质量问题、案例、FAQ、作业优秀样例 | 全部沉淀为站内内容 |
wecom_group | 项目化服务 | 通知、催办、文件提醒、班主任服务 | 关键任务、交付记录、问题索引 |
wechat_group | 轻量陪伴 | 学员互动、临时提醒、情绪支持 | 有价值讨论、共性问题 |
wechat_service_account | 官方触达 | 报名确认、课程提醒、权益入口、续费提醒 | 用户授权、触达记录、权益跳转 |
微信和企业微信的生产接入必须在上线前核验官方文档、账号权限、回调配置、消息合规和用户授权。EAOS 当前只做领域模型和原型接口,不在前端暴露任何密钥。
具体服务端适配、同步任务和失败重试由 EPA-014 定义。EPA-013 只负责说明社群业务对象和渠道角色。
Core Workflow: Training Camp Community
- 运营创建训练营产品。
- 训练营产品关联一个
LearningCommunity。 - 运营创建课程资源,例如课件、模板、练习纸和直播回放;资源发布时生成社群公告和外部触达队列。
- 社群配置站内论坛分类,例如“训练营答疑”。
- 社群配置企业微信群或微信群占位信息。
- 社群配置微信服务号场景值,用于报名后触达。
- 学员兑换或购买课程后获得
Entitlement。 - 系统将学员加入社群成员表。
- 系统生成购买后触达队列,服务号、企微或微信群提醒学员去学习中心。
- 运营发布社群公告和训练营任务,学员打卡后获得积分。
- 群内共性问题回到论坛沉淀,优秀案例进入内容库。
线下课结束后也应进入同一套社群承接:学员在 /offline/ 提交的共性问题和优秀成果,经授权和匿名化后沉淀到论坛或社群;未授权成果不得公开展示。
购买和兑换都必须走同一个权益发放函数。区别只在来源:积分兑换记录 sourceType=redemption,现金购买记录 sourceType=purchase。只要商品带有 communityId,系统就要在发放权益后检查社群状态,并为用户创建 CommunityMembership。如果用户已经在该社群中,系统不重复创建成员,只保留新的订单和权益追踪。
Post-Purchase Community Path
社群交付必须回答四个学员问题:
| Question | EAOS object | Page |
|---|---|---|
| 收到什么提示? | CommunityTouchpoint, CommunityAnnouncement | /products/, 服务号、企微、微信群 |
| 去哪里能看到课? | Entitlement, LearningProduct.delivery, MyLearningAccess | /learn/ |
| 学到哪里了? | LearningProduct.delivery.modules, LearningProgress | /learn/, /admin/ |
| 资料和回放在哪? | LearningProduct.delivery.materials, LearningProduct.delivery.replays, LearningResource | /learn/ |
| 有问题找谁? | LearningCommunity, forumCategory, support | /learn/, /communities/, /forum/ |
如果某个环节没有工具承接,学员就会卡顿。生产上线前必须逐个训练营检查这四步。
Core Workflow: Consulting Community
咨询项目社群更强调交付闭环。
- 咨询项目创建后建立项目社群。
- 企业微信群用于日常沟通和任务催办。
- 论坛用于沉淀问题、方案版本、会议纪要和复盘。
- 服务号用于发送阶段报告入口和续约提醒。
- 后台查看社群状态、成员规模和渠道状态。
- 项目结束后社群归档,但论坛内容、权益和审计保留。
Admin Requirements
后台必须支持:
- 查看所有社群。
- 查看每个社群的渠道配置。
- 启用、归档社群。
- 查看社群成员和权益关联。
- 发布社群公告,例如开营提醒、资料更新、直播回放发布。
- 创建、发布、归档课程资源,例如课件、模板、练习纸、资料链接和直播回放。
- 创建训练营或咨询任务,允许成员打卡并获得积分。
- 查看社群打卡证据、触达队列和阻塞原因。
- 查看并更新渠道凭证状态,例如企业微信、微信群、微信服务号是否已配置。
- 查看社群对应论坛主题、举报和精选内容。
- 后续接入企业微信和服务号时查看同步状态、失败原因和重试记录。
Data Objects
| Object | Key fields |
|---|---|
LearningCommunity | title, type, status, owner, memberCount, forumCategory, serviceAccountScene |
CommunityChannel | communityId, type, label, externalRef, status, credentialStatus, lastCredentialCheckAt, purpose |
LearningProduct | title, type, pointsPrice, cashPriceCents, entitlementType, communityId, status |
LearningProduct.delivery | notice, accessLabel, courseUrl, modules, liveSessions, milestones, materials, replays, support |
LearningResource | productId, title, type, status, accessUrl, description, sortOrder, availableAt, targetChannels, announcementId, notifiedAt |
LearningProgress | userId, productId, moduleId, lessonId, status, completedAt |
OfflineClass | title, inviteCode, status, privacy, teacherName, startsAt, venue, htmlCoursewareUrl |
OfflineEnrollment | offlineClassId, userId, phoneHash, role, status, enrolledAt, lastSeenAt |
OfflineProgress | offlineClassId, userId, phoneHash, stepId, status, completedAt |
OfflineSubmission | offlineClassId, userId, phoneHash, activityId, response, evidenceUrl, pointsAwarded, status |
PurchaseOrder | userId, productId, cashAmountCents, paymentMethod, status, entitlementId, membershipId, referralCode, referrerId |
ReferralProfile | userId, code, commissionRateBps, status |
ReferralCommission | referrerId, buyerId, purchaseOrderId, productId, commissionCents, status |
RedemptionOrder | userId, productId, pointsAmount, status, entitlementId, membershipId |
CommunityMembership | communityId, userId, role, status, sourceType, sourceId, joinedAt |
CommunityAnnouncement | communityId, title, body, status, pinned, targetChannels |
CommunityTask | communityId, title, summary, pointsRuleCode, dueAt, targetChannels |
CommunityCheckin | taskId, communityId, userId, evidence, status, pointsRuleCode |
CommunityTouchpoint | communityId, userId, channelType, provider, eventType, sourceId, messageTitle, messageBody, actionUrl, status, lastError, attempts, retriedAt, sentAt |
CommunityChannelSyncJob | communityId, channelId, channelType, provider, operation, status, lastError |
Entitlement | userId, productId, type, status, sourceType, sourceId |
CommunityTopic | category, title, status, acceptedReplyId |
Governance
社群运营必须守住这些边界:
- 微信群和企业微信群不能成为学生隐私、校内敏感资料和未授权课件的长期存储地。
- 重要承诺、课程权益、退款和证书说明必须回到站内可追踪页面。
- 服务号触达必须尊重用户授权,不做骚扰式推送。
- 群内高价值问题必须回到论坛沉淀,否则社群价值会随着聊天记录流失。
- 群内违规内容处理要能回到后台审计。
Acceptance
当前原型完成标准:
/communities/页面展示训练营社群和咨询项目社群。- 社群展示站内论坛、企业微信、微信群、微信服务号渠道。
- API 提供
GET /api/communities。 - 后台提供
GET /api/admin/communities和社群状态更新。 - 商品可以通过
communityId关联训练营或咨询项目社群。 - 购买或兑换带社群的产品后,系统生成权益和社群成员关系。
- 后台可以查看购买订单、权益和社群成员。
/learn/页面展示购买后四步学习路径。- 后台可以为学习产品创建、发布和归档课程资源,学员端只展示已发布资源,资源发布后自动进入社群公告和触达队列。
/communities/页面展示社群公告、社群任务和打卡按钮。- 后台可以创建公告、任务,查看打卡和触达队列。
- 后台可以把渠道凭证标记为已配置、缺失或失效。
- 后台可以重试因凭证缺失或发送失败阻塞的触达记录。
- 后台可以触发渠道同步检查,并查看外部渠道阻塞原因。
prisma/schema.prisma有社群、渠道、成员、订单、商品权益关系模型。- 手册覆盖检查包含 EPA-013。
生产版完成标准:
- 学员购买或兑换后自动加入对应社群。
- 企业微信、微信群和服务号接入由服务端适配器处理。
- 微信回调、用户授权、消息模板和失败重试有独立日志。
- 论坛、社群、课程、积分、权益之间能按用户和项目追踪。