临期催办与应用消息依赖以下配置;不显示 Secret。
立即跑一次 daily 09:00 的催办链路:按 partner 聚合发应用消息,再向群机器人发当日汇总。超期升级会向运营群推送超期清单,并向任务所属项目总群成员发催办卡片。
{(!status?.robotConfigured || !status?.appConfigured) && (
未配置项可在 .dev.vars 或部署环境变量里补齐后重启服务。
群主型合作方由任务负责人自动生成(负责任务群分发);外部KOC由领取流程自动生成,绑定外部联系人后接收催办
{partner.wecom_userid || "—"} : partner.wecom_name || "—"}
{partner.owner || "—"}
{isGroupOwner ? (
—
) : editing ? (
setDraftId(event.target.value)}
disabled={busy}
/>
) : (
{partner.wecom_external_user_id || "未绑定"}
)}
{isGroupOwner ? (
任务负责人身份,用于任务群分发
) : editing ? (
<>
合作方 · 群主
可从企业微信通讯录选择,或手动填写 userid(在企业微信管理后台「通讯录」成员详情中查看)。 群主合作方是内部员工,用于在任务中心的项目分组中把任务群映射到负责人。
从企业微信外部联系人列表中挑选一个,绑定后会自动写入 ID 与企业微信名。
{pickerError}
)}{contact.externalUserId}
{pickerBindingId === contact.externalUserId ? (
绑定中…
) : pickerPartner.wecom_external_user_id === contact.externalUserId ? (
当前
) : null}
企业微信 · 企业群发
已创建 {result.results.length} 个群发任务(覆盖 {result.groupCount} 个群) {result.failCount > 0 ? `,${result.failCount} 个群发送失败` : ""}。 群主需在企微客户端「群发助手」点击发送后,消息才会送达客户群;每个群每月最多接收当月天数条群发。
发送记录
{project.note}
} {tasks.length === 0 ? (项目下还没有任务,展开详情点击「新建任务」即可挂入该项目。
) : (
已建群 {detail.mainChat.chatId},推送任务直接群发进群。
{userid}{mainChatMissingHint(detail.mainChat.members.length)}
)}项目下还没有任务,点击右上「新建任务」创建。
) : (| 任务 | 负责人 | 群状态 | 领取进度 | |
|---|---|---|---|---|
| {task.name} |
{task.owner_userid ? (
{task.owner_userid}
) : (
未分配
)}
|
{task.task_chat_id ? {task.task_chat_id} : "未建群"} |
{task.claimed_quantity} / {task.quantity} |
|
任务中心 · 项目分组
删除项目
删除后项目下的 {target.taskCount} 个任务会解除项目关联(任务本身保留), 任务群关联记录会被移除。此操作不可撤销。
项目分发
{outcome.mainChatMode === "group" ? "项目总群:已群发进群。" : outcome.mainChatMode === "per_member" ? `项目总群:逐人私信,成功 ${outcome.appSent} 人、失败 ${outcome.appFailedCount} 人。` : "项目总群:未发送。"} 任务群:{outcome.taskChat.sent ? `已发送到 ${outcome.taskChat.chatId}` : `未发送(${outcome.taskChat.reason ?? "原因未知"})`}。 {outcome.skippedReasons.length > 0 ? `(${outcome.skippedReasons.join(";")})` : ""} {outcome.hint ? ` ${outcome.hint}。` : ""}
{outcome.appResults.some((item) => !item.ok) && (共 {filtered.length} 个任务 · 领取 {totals.claimed} · 发布 {totals.published} · 完成 {totals.completed} · 曝光 {formatNumber(totals.exposure || null)} · 阅读{" "} {formatNumber(totals.views || null)}
| 任务 | 项目 | 关联批次 | 截止日 | 状态 | 计划 | 领取 | 发布 | 完成 | 完成率 | 截图提交 | 曝光 | 阅读 | 最新点赞 | 最新评论 | 最新收藏 | 最新转发 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{row.task_type === "screenshot_collect" ? "搜" : "文"}
{row.name}
{row.brand || "未填品牌"} · {row.platform}
|
{row.project_name || —} | {(row.related_task_name || row.reverse_related_task_name) ? ( 🔗 {row.related_task_name || row.reverse_related_task_name} ) : ( — )} | {formatDate(row.due_at)} | {row.status === "active" ? "进行中" : "已完结"} | {row.quantity} | {row.claimed_count} | {row.published_count} | {row.completed_count} | {row.claimed_count ? `${Math.round((row.completed_count / row.claimed_count) * 100)}%` : "—"} | {row.task_type === "screenshot_collect" ? `${row.submitted_count}/${row.claimed_count}` : —} | {formatNumber(row.exposure_total)} | {formatNumber(row.views_total)} | {formatNumber(row.latest_likes)} | {formatNumber(row.latest_comments)} | {formatNumber(row.latest_collects)} | {formatNumber(row.latest_shares)} |
从项目到任务再到每一条领取,逐层看完成情况
{card.label}
每篇内容只沿着一条记录向前走
今天最需要推进
按任务选择采集日期,系统在当天09:00更新点赞、收藏、评论、转发和总互动。
按截止时间排序
领取、发布账号与回收状态一眼看清
任务中心 · 群主领取链接
通用领取链接(不带群主归属):
两种固定任务类型 · 项目化分发
内容发布走飞书笔记链路;截图回收只下发关键词和要求,不进入发布数据采集。
{isManager ? "新建项目后,把任务挂到项目下,即可一次推送到项目总群与各任务群。" : "您名下还没有负责的项目;可切换「全部任务」查看您负责的任务,或联系管理员把您设为项目负责人。"}
{isManager &&{ungroupedTasks.length} 个任务未挂项目
所有任务都已挂在项目下
) : ({tasks.length} 个任务
{label}
{isScreenshotTask ? "每份任务与结果截图一一对应" : "实际发布账号在链接回填后自动补齐"}
释放领取
释放后,这篇笔记会从当前领取记录中移除并回到可领取池,其他 KOC 可以重新领取。此操作不能撤销。
| 内容 | 领取合作方 | 实际发布账号 | 发布时间 | 数据状态 | {showCompanion &&收录验证 | }状态 | {onRelease &&操作 | }
|---|---|---|---|---|---|---|---|
|
{item.content_id.split("-").at(-1)?.toUpperCase()}
{item.content_title}{item.task_name} · {item.task_brand}
|
{item.partner_name} |
{item.account_nickname ? (
{item.account_nickname.slice(0, 1)}
{item.account_nickname}
|
{formatDate(item.publish_time, true)} | {item.d7_likes !== null ? ( D7 已回收 ) : item.d2_likes !== null ? ( 采集中 ) : ( {item.publish_url ? "等待D2" : "尚未发布"} )} | {showCompanion && (
{(() => {
const match = companionByContent.get(item.content_id);
if (!match) return —;
if (match.result_submitted_at) {
return (
<>
已提交
{formatDate(match.result_submitted_at, true)}
>
);
}
return 未提交;
})()}
|
)}
{statusLabel(item.status)} | {onRelease && (
{!item.publish_url && !item.result_submitted_at ? (
|
)}
| 搜索关键词 | 对应笔记 | 领取合作方 | 领取时间 | 提交时间 | 结果截图 | 状态 |
|---|---|---|---|---|---|---|
|
搜
{item.content_title}{item.task_name}
|
{item.related_content_title ? (
文
) : (
—
)}
{item.related_content_title}
|
{item.partner_name} | {formatDate(item.claimed_at, true)} | {formatDate(item.result_submitted_at, true)} |
{parseResultScreenshotKeys(item.result_screenshot_key).length > 0 ? (
{parseResultScreenshotKeys(item.result_screenshot_key).map((_, index, screenshotKeys) => {
return (
) : (
待KOC上传
)}
|
{item.result_submitted_at ? "已提交" : "待提交"} |
发布链接会自动建档,已有KOC资源也可以使用标准模板批量导入。
统一管理合作沉淀与历史导入账号
{hasBio ? rawBio : "暂无简介"}
批量更新
将逐个爬取全部账号主页(小红书 + 抖音),只写入选中的字段; 爬取为空的字段自动跳过,不会清空已有数据。账号较多时需要几分钟。
{editAccount.nickname || "账号"}
{importMode === "single" ? "单条新增" : "批量导入"}
账号链接必填,其余资料选填
2系统只补全空缺的公开资料
3确认后写入资源库
这里只预览 8 行,异常数据会优先展示;确认导入时会处理全部有效数据。
)} {importPreview.summary.error > 0 && ({importPreview.summary.error} 条异常数据将自动跳过,不会导入;其余 {importPreview.summary.create + importPreview.summary.update} 个有效账号可正常导入。
)} {Boolean(importPreview.deferredEnrichment) && (其中 {importPreview.deferredEnrichment} 个账号缺少公开资料;确认后会先导入资源库,再在后台逐步补全。
)}账号主页链接必填,平台自动识别
2其余资料选填,空缺字段系统会补全
3已存在的账号会更新资料
按任务回收
进入任务后设置自动采集日期,统一查看每篇笔记的最新互动数据。
直接查看每份任务的结果截图;不回收发布链接和互动数据。
{taskDistributions.length} 篇已发布作品 · 展示最近一次采集结果
| 内容 / 发布账号 | 采集状态 | 创作者截图 | {companionTask &&收录验证 | }操作 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
{Array.from(item.content_title)[0] || "笔"}
{noteUrl ? (
{item.content_title}
) : (
{item.content_title}
)}
{item.account_nickname || "待识别账号"}
{item.account_platform &&
|
{formatDate(item.publish_time, true)}
|
{formatNumber(metrics.likes)} |
{formatNumber(metrics.collects)} |
{selectedTask.platform === "抖音" && (
{formatNumber(metrics.shares)} |
)}
{formatNumber(metrics.comments)} |
{formatNumber(metrics.total)}
{selectedTask.platform === "抖音" ? "赞 + 藏 + 转 + 评" : "赞 + 藏 + 评"}
|
{formatDate(item.collection_updated_at || (hasMetrics ? item.updated_at : null), true)}
{item.last_collection_day && 第{item.last_collection_day}天采集}
|
{collectionStatusLabel(collectionStatus, hasMetrics)}
{item.collection_status_description ||
(hasMetrics ? "成功" : "等待采集计划")}
|
{item.screenshot_key ? (
|
{companionTask && (
{(() => {
const match = companionByContent.get(item.content_id);
if (!match) return —;
if (match.result_submitted_at) {
return (
<>
已提交
{formatDate(match.result_submitted_at, true)}
>
);
}
return 未提交;
})()}
|
)}
{item.screenshot_key && !hasCreatorMetrics(item) ? (
|
配对的截图回收任务,每一项对应上方一篇笔记,用于验证收录。
自动采集计划
当前计划更新于 {formatDate(task.collection_schedule_updated_at, true)}
)}