{{ inboxListTitle }}

{{ inboxLoadError }},正在显示上次成功加载的数据。
配置收件白名单,配置后可在收件箱中查看相关往来邮件
{{ appNameById[currentActiveMailbox.app_id] }} 全部邮件
当前还没有已绑定并启用的邮箱,请点击左侧菜单「设置」→「邮箱」进行配置。
{{ sentListPage }} / {{ Math.max(1, Math.ceil(sentListTotal / sentListPageSize)) }} · {{ sentListTotal }} 条记录
{{ sentListLoadError }}
加载列表中...
{{ inboxPage }} / {{ Math.max(1, Math.ceil(inboxTotal / inboxPageSize)) }} · {{ inboxTotal }} 个会话

加载邮件中...

收件箱刷新失败

{{ inboxLoadError }}

{{ sentListEmptyText }}

{{ inbox.length > 0 ? '暂无邮件' : '还没有来信' }}

请检查筛选条件

按右侧步骤开始。达人回复后会出现在这里。

先去发一封开发信,达人回复后会出现在这里。

第一次使用

{{ firstRunTitle }}

{{ firstRunLead }}

邮箱账户管理

{{ acc.email }}
暂无配置邮箱

邮件水印

{{ wm.name }}
已保存 {{ (watermarkConfig.watermarks || []).length }}/10 个水印
{{ settingsMessage }}

{{ editingWatermark.id ? '编辑水印' : '新增水印' }}

预览下一封自动跟进邮件

正在生成预览...

{{ followupPreviewError }}

系统水印已启用

{{ isReplyMode ? '回复确认' : '发送确认' }}

{{ draftSubject }}
{{ decodeHtmlEntities(draftBody) }}
{{ getSelectedWatermarkContent() }}
{{ file.name }}

当前账号无法处理邮件

采集达人、发开发信和回复邮件需要「运营」权限。请联系部门管理员把你的角色改成运营后再登录。

查看使用说明

表格

{{ dingtalkCurrentSheet.title }}

在钉钉打开
正在读取配置...

钉钉凭证未配置

请部门管理员在 设置 → 钉钉 完成凭证配置。

查看配置步骤

还没有表格地址

请部门管理员在 设置 → 钉钉 添加表格链接。

查看配置步骤
{{ dingtalkError }}
正在读取表格...
工作簿中没有可用工作表。
{{ header || `(空表头·${dingtalkColumnName(index)}列)` }}
{{ cell }}
暂无数据
设置

个人信息

用户名{{ currentUser }}
团队昵称{{ teamNickname || currentUser }}
角色{{ userRole }}
绑定邮箱{{ mailboxes.length }} 个

修改密码

{{ pwdMsg }}

退出登录

我的邮箱 {{ mailboxes.length }}/5

还没有邮箱,点上面按钮添加。
{{ mb.email }} {{ appNameById[mb.app_id] || '未绑定品牌' }} 默认
还需绑定品牌后,邮箱才生效

定时发送

按收件人所在国家的当地时间计算,并自动选择下一次可发送的时间。

正在读取定时发送设置...
{{ defaultScheduleMessage }}

邮件水印 每人最多 10 个

{{ wm.name }}
已保存 {{ (watermarkConfig.watermarks || []).length }}/10 个水印
请先选择要管理的部门。

建联过期天数

默认 15 天。状态保持「建联」超过该天数后,记录自动变成过期,其他负责人可以再次入库。范围 1–365 天,保存后立即生效。

{{ reclaimDaysMessage }}

推荐报价策略仅对所选部门生效。

请先选择要管理的部门。

国家集合仅对所选部门生效。

请先选择要管理的部门。

部门国家与 CPM 报价

项目内的国家下拉框和 Chrome 插件将使用此配置;移除国家不会修改历史记录。

正在读取国家设置...
{{ countrySettingsMessage }}

怎么配置钉钉表格

打开完整使用说明
  1. 在 钉钉开放平台 创建企业内部应用,开通文档/表格 OpenAPI 读写权限并发布。记下 AppKey、AppSecret。
  2. 在 钉钉管理后台 → 通讯录里复制操作人的 unionId(不是手机号,也不是 userid)。形态类似 1ariSEzSzqSUyuKoJWoLxiPwiEiE。
  3. 打开本部门钉钉在线电子表格,分享给该操作人,权限选可编辑。复制浏览器完整链接,必须是 alidocs.dingtalk.com/spreadsheetv2/ 或 /i/nodes/,并尽量带 docKey=。第一行必须是表头。
  4. 在下方填 AppKey、AppSecret、unionId,先点测试连接,成功后再点保存。第一次 Secret 必填;以后改别的字段可留空。
  5. 同一页点添加表格,填名称和链接并保存。刷新后左侧出现「表格」且能看到数据,即绑定成功。运营可在达人库用「导入到钉钉」(单次最多 500 人)。

全局管理员请先在本页顶部选择部门。测试失败时优先检查:应用未发布、Key/Secret 有空格、unionId 填成了 userid、表格未分享给操作人或只有只读权限。

凭证和表格均归属于所选部门。

请先选择要管理的部门。

部门凭证

已保存 Secret
{{ dingtalkSettingsMessage }}

部门表格

暂无表格
{{ sheet.title }} {{ sheet.department_name }}
{{ sheet.url }}

服务器日志

{{ logsContent }}
点击"刷新"加载日志

系统管理

{{ roleMessage }}
正在加载用户列表...
暂无用户数据
用户名 当前角色 邮箱监控 案例审批 创建时间 操作
{{ item.username }} {{ item.role }} {{ item.email_monitor_enabled !== false && item.email_monitor_enabled !== 0 ? '开启' : '关闭' }} 更新中... {{ item.can_review_bad_cases ? '开启' : '关闭' }} 更新中... {{ item.created_at || '-' }}
更新中...
当前登录用户

回流审批

当前品牌:{{ bcBrandKey }}
{{ bcMessage }}
-
显示 {{ bcFilteredCandidates.length }} / {{ bcCandidates.length }} 条候选
正在加载候选...
暂无候选
{{ item.recipient || '(unknown)' }}· {{ item.username || ('#'+item.user_id) }}· {{ (item.intents||[]).join(', ') || 'no-intent' }}· {{ item.language || '?' }}· diff {{ Math.round((item.diff_score||0)*100) }}%· {{ item.sent_at || '' }}
原始邮件: {{ item.original_email_text || item.original_email }}
中文译文: {{ item.original_email_zh }}
中文译文生成中...
AI 草稿(bad)
中文译文: {{ item.ai_draft_zh }}
中文译文生成中...
最终发送(good)
中文译文: {{ item.final_draft_zh }}
中文译文生成中...
{{ bcStats.pending }}
待审批
{{ bcStats.approved }}
已通过
{{ bcStats.rejected }}
已拒绝
按意图
意图通过拒绝
{{ r.intent }}{{ r.approved }}{{ r.rejected }}
无数据
按语言
语言通过拒绝
{{ r.language }}{{ r.approved }}{{ r.rejected }}
无数据
按用户
用户通过拒绝
{{ r.username || ('#'+r.user_id) }}{{ r.approved }}{{ r.rejected }}
无数据
暂无统计数据
加载中...
暂无历史
{{ item.review_status === 'approved' ? '已通过' : '已拒绝' }} {{ item.recipient || '(unknown)' }}· {{ (item.intents||[]).join(', ') || 'no-intent' }}· {{ item.language || '?' }}· diff {{ Math.round((item.diff_score||0)*100) }}%· {{ item.username || '' }}· {{ item.created_at || '' }}
AI 草稿
最终发送
Issues: {{ item.issues.join('; ') }}
Issues(中文): {{ item.issues_zh.filter(Boolean).join('; ') }}
Why Good: {{ item.why_good.join('; ') }}
Why Good(中文): {{ item.why_good_zh.filter(Boolean).join('; ') }}
共 {{ bcPool.length }} 条教学样例
教学池为空
{{ Array.isArray(c.intent) ? c.intent.join(', ') : c.intent }}· {{ c.language || '?' }}· {{ (c.context || {}).sender || '' }}· {{ c.source || 'seed' }} · {{ c.approved_at }}
bad {{ (c.bad_response || {}).draft_body }} ⚠ {{ ((c.bad_response||{}).issues||[]).join('; ') }} ({{ ((c.bad_response||{}).issues_zh||[]).filter(Boolean).join('; ') }})
good {{ (c.good_response || {}).draft_body }} ✓ {{ ((c.good_response||{}).why_good||[]).join('; ') }} ({{ ((c.good_response||{}).why_good_zh||[]).filter(Boolean).join('; ') }})
avg_diff 下降 = AI 在变好(用户改稿幅度变小)
暂无趋势数据
{{ t.period }}
{{ Math.round(t.avg_diff*100) }}% · n={{ t.count }}

Token 使用统计

{{ tokenMessage }}
全局默认:阈值 {{ tokenDefaultWarn.toLocaleString() }}, 上限 {{ tokenDefaultLimit.toLocaleString() }}
加载中...
当月暂无消耗数据
用户名 角色 已用 Tokens 调用次数 用量进度 阈值 上限 状态 操作
{{ row.username }} {{ row.role }} {{ (row.total_tokens || 0).toLocaleString() }} {{ row.call_count || 0 }}
{{ tokenProgressPercent(row) }}%
{{ (row.warn_threshold || 0).toLocaleString() }} {{ (row.hard_limit || 0).toLocaleString() }} {{ row.status === 'exceeded' ? '已停用' : (row.status === 'warned' ? '告警' : '正常') }}

{{ tokenDetail ? tokenDetail.username : '' }} · {{ tokenDetail ? tokenDetail.year_month : '' }}

当月总计
{{ (tokenDetail.monthly_total || 0).toLocaleString() }}
阈值
{{ (tokenDetail.warn_threshold || 0).toLocaleString() }}
上限
{{ (tokenDetail.hard_limit || 0).toLocaleString() }}
按模型拆分
无数据
{{ m.model }} {{ (m.total_tokens || 0).toLocaleString() }}
prompt {{ (m.prompt_tokens || 0).toLocaleString() }} · completion {{ (m.completion_tokens || 0).toLocaleString() }} {{ m.call_count }} 次
最近 6 个月趋势
无数据
{{ t.year_month }}
{{ (t.total_tokens || 0).toLocaleString() }}

调整用户配额:{{ tokenEditUsername }}

留空表示使用全局默认({{ (tokenDefaultWarn || 0).toLocaleString() }} / {{ (tokenDefaultLimit || 0).toLocaleString() }})

{{ mbxToast }}
① 邮箱+测试 → ② 选品牌 → ③ 就位

目前只支持这两种。Outlook、QQ、163、iCloud 暂不支持。

需使用 Google 应用专用密码(非 Gmail 登录密码),并需先开启两步验证。获取方式:Google 账号 → 安全性 → 两步验证 → 应用专用密码。 打开应用专用密码页面
阿里云企业邮箱不能用网页登录密码。管理员先开通三方客户端和 IMAP/SMTP;再登录 qiye.aliyun.com → 设置 → 账户与安全 → 生成 16 位「客户端专用密码」,不是网页登录密码。

国内访问 Gmail 需要代理。已按公司默认值预填,可改。

{{ mailboxUnsupportedMessage }}
{{ mailboxWizard.testMsg }}
{{ p.name }}
{{ p.product_intro || '' }}
邮箱 {{ mailboxWizard.email }} · 连接 ✅ 已验证 · 品牌 {{ appNameById[mailboxWizard.app_id] }}

安装 Email Agent 采集插件

  1. 1. 登录后点击下方按钮,下载 Email Agent 采集插件 ZIP(Chrome 里显示为 ador kol)。
  2. 2. 解压后打开 chrome://extensions ,开启右上角「开发者模式」。
  3. 3. 点击「加载已解压的扩展程序」,选择该文件夹。
  4. 4. 在 Instagram / TikTok 先登录自己的账号,再打开侧边栏,用公司账号登录。
  5. 5. 审核资料后推送到线上,再去开发信试发一封。
  6. 6. 每天最多采集 200 个主页;额度按本机日期计算,任务一旦建立即占用,取消不返还。
  7. 7. 达到检查点后需要在插件里人手点「继续」,网页上看不到采集进度。
我的邮箱 {{ mailboxes.length }}/5
还没有邮箱,点下面按钮添加。
{{ mb.email }} {{ appNameById[mb.app_id] || '未绑定品牌' }} 默认
还需绑定品牌后,邮箱才生效
确定删除这个邮箱?
{{ deleteTarget.email }} · 产品 {{ appNameById[deleteTarget.app_id] || '-' }}
⚠️ 删除后,该邮箱的历史往来邮件、草稿、发送记录等数据将被一并清空,且无法恢复。

全局默认配额

训练数据

阶段一收集分类样本,阶段二收集回复模型样本;SFT 和偏好数据分开审核与导出。

Base 观测
{{ trainingSummary.total || 0 }}
生产链路原始样本
SFT 微调
{{ trainingSummaryKindCount('sft') }}
输入到标准输出
偏好对齐
{{ trainingSummaryKindCount('preference') }}
chosen / rejected
Chat 可用化
{{ trainingSummaryReviewedCount() }}
已审核可导出
{{ trainingMessage }}
正在加载训练数据...
当前筛选下暂无训练数据
ID 来源 输入摘要 目标/偏好 标签 状态 操作
{{ item.id }}
{{ item.source_type }}
{{ item.source_id }}
{{ item.username || '-' }}
{{ trainingInputPreview(item) }}
{{ trainingPhaseLabel(item.phase) }} {{ trainingKindLabel(item.data_kind) }}
{{ trainingTargetPreview(item) }}
语言: {{ item.language || '-' }}
阶段: {{ item.human_stage || item.ai_stage || '-' }}
意图: {{ trainingIntentPreview(item) }}
{{ trainingStatusLabel(item.status) }}
{{ item.updated_at || item.created_at }}
共 {{ trainingTotal }} 条,第 {{ trainingPage }} / {{ trainingTotalPages }} 页

训练样本 #{{ trainingEditItem ? trainingEditItem.id : '' }}

{{ trainingEditItem ? trainingEditItem.source_type + ' / ' + trainingEditItem.source_id : '' }}

数据统计

{{ formatStatsDate(statsStartDate) }}
{{ formatStatsDate(statsEndDate) }}
加载中...
联系的达人
{{ statistics.contacted_count }}
开发信首次发送成功的去重达人数
回复达人
{{ statistics.replied_count }}
发送开发信后有真实回复的达人数
回复率
{{ statistics.reply_rate }}
回复达人 / 联系达人
沟通中
{{ statistics.communicating_count }}
处于沟通状态的达人数
确认合作
{{ statistics.confirmed_count }}
处于脚本/打款/完成状态的达人数
待打款
{{ statistics.pending_payment_count }}
处于打款状态的达人数
合作完成
{{ statistics.paid_count }}
选定时间/地区内合作完成的达人数

首次回复时效分布

3天内回复
{{ statistics.reply_time_distribution.within_3_days.count }}
占比 {{ statistics.reply_time_distribution.within_3_days.rate }}
3-7天回复
{{ statistics.reply_time_distribution.within_7_days.count }}
占比 {{ statistics.reply_time_distribution.within_7_days.rate }}
超过7天回复
{{ statistics.reply_time_distribution.over_7_days.count }}
占比 {{ statistics.reply_time_distribution.over_7_days.rate }}

跑单统计

跑单数量
{{ statistics.paodan_count }}
状态为跑单的达人数
跑单率
{{ statistics.paodan_rate }}
跑单数量 / 回复达人

按跑单原因分布

跑单原因 数量 占回复达人比例
{{ item.reason }} {{ item.count }} {{ item.rate }}
点击"查询"或"重置"加载统计数据

{{ editingSentRecord ? '编辑记录' : '新增记录' }}