经营预警 点击可跳转到对应模块处理
近{{ dash.rank_days }}天零拜访成员 {{ alerts.inactive_members.length }}
30天未跟进客户 {{ dash.uncontacted_count }}
续期逾期保单 {{ dash.renewal_overdue }}
职级维持预警 {{ dash.sustain_danger + dash.sustain_warn }}
晋升考核达标 {{ dash.promo_ready }}
本月承保保费({{ dash.month }})
{{ fmtWan(dash.month_premium) }}
承保 {{ dash.month_cases }} 件
本月 FYC(首年佣金)
{{ fmtWan(dash.month_fyc) }}
{{ dash.goal_rate === null ? '未设月度目标' : '目标达成 ' + dash.goal_rate + '%(目标 ' + fmtWan(dash.goal_fyc) + ')' }}
续期达成率
{{ dash.renewal_rate === null ? '—' : dash.renewal_rate + '%' }}
{{ dash.renewal_rate === null ? '本月无应缴保单' : '应缴 ' + dash.renewal_due + ' 件 · 逾期 ' + dash.renewal_overdue + ' 件' }}
各团队业绩 {{ dash.month }} · 直辖团队与下级团队 · 含下属全部成员
暂无团队业绩数据
| 团队 | 负责人 | 人力 | 实动 | 承保保费 | FYC | 件数 | 目标达成 | 活动量 |
|---|---|---|---|---|---|---|---|---|
| {{ o.name }} | {{ o.manager || '—' }} | {{ o.member_count }} | {{ o.active_count }} | {{ fmtWan(o.month_premium) }} | {{ fmtWan(o.month_fyc) }} | {{ o.month_cases }} | 未设目标{{ o.goal_rate }}% | {{ o.month_visits }} |
本月业绩排行 {{ dash.month }} · 承保保费口径 · 前10名
本月暂无承保业绩
承保战报 {{ dash.month }} · 最新 6 单
本月暂无承保
{{ t.date.slice(5) }}
{{ t.product }}
{{ fmtWan(t.premium) }}
{{ t.owner_name }}
今日行程 全团队 {{ dash.today_schedules.length }} 项
今日暂无行程安排
{{ s.done ? '✓' : '○' }}
{{ s.type }}
{{ s.title }}
{{ s.owner_name }}
本月活动量(拜访)
{{ dash.month_visits }}
人均 {{ dash.visit_per_capita }} 次
近30天新增客户
{{ dash.new_customers }}
当前数据范围内
30天未跟进客户
{{ dash.uncontacted_count }}
需要立即预警
客户阶段漏斗 共 {{ funnel.total }} 人 · 当前数据范围
暂无客户数据
拜访量成员排行 近{{ dash.rank_days }}天 · 前10名 · 按当前数据范围
暂无拜访数据
顺为成交漏斗 黄金四面 · 当前数据范围
暂无漏斗数据
| 姓名 | 一面 | 二面 | 邀约 | 到场 | 签单 |
|---|---|---|---|---|---|
| {{ m.name }} | {{ m.mian1 }} | {{ m.mian2 }} | {{ m.invited }} | {{ m.attended }} | {{ m.signed }} |
口径:一面/二面按面见记录去重客户;三面/到场/签单按产说会嘉宾。标准转化率为顺为体系参考值。
保险提醒 生日{{ insAlerts.birthday_days }}天内 · 缴费{{ insAlerts.payment_days }}天内
客户生日
近期无客户生日
| {{ b.name }} | {{ b.birthday.slice(5) || b.birthday }} | {{ b.days === 0 ? '今天' : b.days + ' 天后' }} | {{ b.owner_name }} |
续期缴费
近期无续期缴费
| {{ p.customer_name }} | {{ p.product_name }} | {{ p.next_payment_date }} | {{ p.days === 0 ? '今天' : p.days + ' 天后' }} |
在册人力
{{ dash.team_size }}
当前数据范围
本月实动人力
{{ dash.active_count }}
实动率 {{ dash.team_size ? Math.round(dash.active_count / dash.team_size * 100) : 0 }}%
本月新入司
{{ dash.new_recruits }}
签约日期在本月
团队组织架构 按层级展开 · 含人力与本月业绩
暂无组织架构数据
| 组织 / 负责人 | 人力 | 实动 | 本月承保保费 |
|---|---|---|---|
| {{ n.depth === 0 ? '' : '└ ' }}{{ n.name }} {{ n.manager }} | {{ n.member_count }} | {{ n.active_count }} | {{ fmtWan(n.month_premium) }} |
职级分布 在册 {{ dash.team_size }} 人 · 基本法职级序列
暂无成员
晋升考核达标
{{ dash.promo_ready }}
已满足晋升条件,可办理
职级维持预警
{{ dash.sustain_warn }}
接近维持考核底线
职级维持危险
{{ dash.sustain_danger }}
可能降级,需立即辅导
晋升路径明细 按基本法考核 · 达标优先排序 · 共 {{ dash.promo_paths.length }} 人
暂无成员考核数据
| 姓名 | 所属 | 现职级 | 晋升目标 | 考核项达标情况 | 状态 |
|---|---|---|---|---|---|
| {{ p.name }} | {{ p.org_name }} | {{ p.rank_name }} | {{ p.next_rank_name || '已是最高职级' }} | {{ it.label }} {{ it.ok === null ? '○' : it.ok ? '✓' : '✗' }} — | 可晋升 维持危险 维持预警 进行中 |
客户跟踪情况表 共 {{ tracking.list.length }} 个客户 · 逾期/预警排在前面 · 建档→约访→一面→邀约→到场→成交,每月复盘
暂无客户
{{ c.name }}
{{ c.status }}
约定 {{ c.next_visit_date }} 跟进,已过期
已 {{ c.days_since_visit }} 天未跟进
从未跟进
归属:{{ c.owner_name }} · {{ c.stage }} · {{ c.golden_stage }}
| 编号 | 姓名 | 性别 | 详细地址 | 出生年月日 | 所购险种 | 客户信息汇总 | 第一次 | 第二次 | 第三次 | 第四次 | 第五次 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ c.customer_no }} | {{ c.name }} | {{ c.gender || '—' }} | {{ c.address || '—' }} | {{ c.birthday || '—' }} |
暂无已确认保单
{{ p }}
|
{{ t }}
{{ c.note || '' }}
|
{{ c.visits5[i-1].date }} {{ c.visits5[i-1].channel }}
{{ c.visits5[i-1].text }}
|
来源:{{ c.source || '—' }} · 星级:{{ c.star_level > 0 ? c.star_level + ' 星' : '未评级' }} · 累计跟进 {{ c.visit_count }} 次(近30天 {{ c.visit_30d }} 次) · 约定下次跟进 {{ c.next_visit_date }}
30天未跟进客户预警 共 {{ alerts.uncontacted_customers.length }} 个
暂无未跟进预警
| 客户 | 归属 | 最近拜访 | 未跟进 |
|---|---|---|---|
| {{ c.name }} {{ t }} | {{ c.owner_name }} | {{ c.last_visit_date || '从未拜访' }} | {{ c.days_uncontacted }} 天 |
客户列表 共 {{ customers.length }} 人 · 随数据范围自动变化
| 姓名 | 电话 | 阶段 | 标签 | 归属 | 操作 | |
|---|---|---|---|---|---|---|
| {{ c.name }} | {{ c.phone }} | {{ c.stage || '线索' }} | {{ t }} | {{ c.owner_name }} |
暂无客户数据
保单台账 按客户聚合 · 共 {{ ledger.total }} 户 · 点击行查看家庭保单全景
暂无台账数据(仅统计已确认且挂客户的保单)
| 客户 | 归属人 | 保单数 | 年缴保费合计(元) | 保额合计(元) | 险种 | 最近缴费日 |
|---|---|---|---|---|---|---|
| {{ r.name }} | {{ r.owner_name }} | {{ r.policy_count }} | {{ r.total_premium }} | {{ r.total_coverage }} | {{ t }} | {{ r.nearest_payment || '—' }} |
应续保单
{{ renewals.summary.due_count }}
{{ renewals.month }}
已缴费
{{ renewals.summary.paid_count }}
当月
续期达成率
{{ renewals.summary.rate }}%
已缴 / 应续
失效预警
{{ renewals.summary.overdue_60d }}
超60天未缴
本月跟进
{{ renewals.summary.follow_count }}
催收跟进条数
应续清单 共 {{ renewals.total }} 件 · 缴费日落在 {{ renewals.month }} · 红色为宽限期待催缴
该月暂无应续保单
| 客户 | 保单号 | 产品 | 年缴保费(元) | 缴费日 | 状态 | 归属人 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ r.customer_name || '—' }} | {{ r.policy_no || '—' }} | {{ r.product_name }} | {{ r.annual_premium }} | {{ r.next_payment_date }} 宽限期 {{ -r.days_left }} 天 | {{ r.status }}
最近跟进 {{ r.last_follow.date }} · {{ r.last_follow.result }}
|
{{ r.owner_name }} |
转介绍 共 {{ referrals.total }} 条 · 状态随成交推进
暂无转介绍记录
| 介绍人客户 | 被介绍客户 | 日期 | 状态 | 归属人 | 备注 | 操作 |
|---|---|---|---|---|---|---|
| {{ r.referrer_name }} | {{ r.customer_name }} | {{ r.date }} | {{ r.status }} | {{ r.owner_name }} | {{ r.note || '—' }} |
活动列表
暂无活动,点击「新建活动」开始
{{ ev.name }}
{{ ev.event_date }}
{{ ev.location }}
邀约 {{ ev.invited }}
到场 {{ ev.attended }}
签单 {{ ev.signed }}
{{ ev.note }}
嘉宾管理 {{ events.current.name }} · {{ events.current.event_date }}
请先选择左侧活动
{{ c.name }} {{ c.phone }}
+ 邀约
暂无嘉宾,搜索客户添加邀约
| 客户姓名 | 归属成员 | 状态 | 备注 | 操作 |
|---|---|---|---|---|
| {{ g.customer_name }} | {{ g.owner_name }} |
保单体检 独立模式 · 不关联客户,适合还没建客户档案的场景
仅支持电子版 Word/PDF;AI 抽取结果需人工确认
| 状态 | 保单号 | 公司 | 产品 | 险种 | 保额(元) | 年保费(元) | 缴费期 | 保障期 | 被保险人 | 受益人 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{p.confirmed ? '已确认' : '待确认'}}已承保 | {{p.policy_no || '—'}} | {{p.company}} | {{p.product_name}} | {{p.insurance_type}} | {{p.coverage_amount ?? '—'}} | {{p.annual_premium ?? '—'}} | {{p.payment_period}} | {{p.coverage_period}} | {{p.insured}} | {{p.beneficiary || '—'}} |
暂无保单,点击「上传保单」开始
体检报告(完备度 {{detail.report.score}} 分 / 保单 {{detail.report.policy_count}} 份 / {{detail.report.generated_at}})
| 险种 | 份数 | 总保额(元) | 年缴保费(元) |
|---|---|---|---|
| {{s.type}} | {{s.count}} | {{s.total_coverage}} | {{s.total_premium}} |
家庭成员保障明细
{{m.insured}}{{m.score}} 分
{{ m.summary.map(s => s.type + ' ' + s.count + '份').join('、') || '—' }}
缺口:{{ m.gaps.map(g => g.category + (g.gap_amount ? '(缺' + fmtWan(g.gap_amount) + ')' : '')).join('、') }}
核心险种配置齐全
保障缺口
| 类别 | 现状 | 缺口金额 | 通用标准 | 建议 | |
|---|---|---|---|---|---|
| {{g.category}} | {{g.current}} | {{ g.gap_amount ? fmtWan(g.gap_amount) : '—' }} | {{g.standard}} | {{g.advice}} |
核心险种配置齐全,无明显缺口
缴费压力:年缴保费合计 {{ detail.report.premium_burden.annual_premium }} 元,
占年收入 {{ (detail.report.premium_burden.ratio*100).toFixed(1) }}%({{ detail.report.premium_burden.level }})
{{ detail.report.premium_burden.note }}
风险提醒
- {{r.detail}}
暂无风险提醒
方案PK 独立模式 · 不关联客户,适合方案初步筛选
勾选 2–5 份已确认的同险种方案
| 状态 | 公司 | 产品 | 险种 | 关键信息 | 操作 | |
|---|---|---|---|---|---|---|
| {{p.confirmed ? '已确认' : '待确认'}} | {{p.company}} | {{p.product_name}} | {{p.insurance_type}} | {{Object.entries(p.fields).slice(0,3).map(([k,v]) => v).join(' / ')}} |
暂无方案,点击「上传方案」开始
方案对比({{detail.pk.insurance_type}})
| 对比维度 | {{c.company}} {{c.product_name}} |
|---|---|
| {{d.label}} | {{c.cells[d.key].text || '—'}} |
成员列表 共 {{ members.length }} 人
| 姓名 | 角色 | 职级 | 所属组织 | 客户数 | 30天拜访 | 操作 |
|---|---|---|---|---|---|---|
| {{ m.name }} | {{ m.role_name }} | {{ m.rank_name || '—' }} | {{ m.org_name }} | {{ m.customer_count }} | {{ m.visit_count_30d }} |
成员业绩 已承保单据 · 共 {{ perf.total_count }} 件 / 年缴保费 {{ perf.total_premium }} 元
暂无出单记录,在保单列表点「承保」登记出单
| 排名 | 成员 | 承保件数 | 年缴保费(元) |
|---|---|---|---|
| {{ (perfPage - 1) * 15 + i + 1 }} | {{ r.name }} | {{ r.count }} | {{ r.premium }} |
近7天零拜访成员 需主管关注
全员均有拜访,暂无预警
| 姓名 | 所属组织 |
|---|---|
| 零拜访 {{ m.name }} | {{ m.org_name }} |
晋升考核看板 国寿收展基本法B版口径 · M值={{ perfBoard.m_value }}元 · FYC≈年缴保费×{{ perfBoard.fyc_rate }}(演示口径)
暂无数据
| 成员 | 职级 | 当月FYC / 件数 | 责任额达成 | 晋升差距(近3月) | 维持考核 | 操作 |
|---|---|---|---|---|---|---|
| {{ r.name }} {{ r.org_name }} · 签约{{ r.tenure_months }}个月 |
{{ r.rank_name }} {{ r.series }}系列 |
{{ r.m_fyc_m }}M({{ r.m_fyc }}元) {{ r.m_cases }} 件 |
责任额 {{ r.quota_m }}M
{{ r.quota_rate }}%
|
→ {{ r.promo.next_rank_name }}
达标可申报
({{ r.promo.note }})
{{ it.ok===null ? '○' : (it.ok ? '✓' : '✗') }} {{ it.label }}:{{ it.curr }} / {{ it.need }}
{{ r.promo.note || '—' }}
|
{{ r.sustain.level==='ok' ? '维持达标' : (r.sustain.level==='warn' ? '接近降级线' : '降级预警') }}
{{ r.sustain.summary }}
|
委托报酬估算 基本法第六章公式 · 演示口径(FYC≈年缴保费×{{ comm.fyc_rate }},续期佣金×2%估算),非真实发佣依据
团队合计:{{ comm.team_total }} 元
{{ s.label }} {{ s.amount }}
暂无数据
| 成员 | 职级 | 当月FYC | 达成率 | 报酬明细 | 合计(元) |
|---|---|---|---|---|---|
| {{ r.name }} | {{ r.rank_name }} | {{ r.m_fyc_m }}M {{ r.m_fyc }}元 |
{{ r.quota_rate }}% |
{{ it.label }} {{ it.amount }} 元
({{ it.note }})
本月无适用报酬项目
|
{{ r.total }} |
目标管理 月度目标 vs 实际承保 · 冲刺/奖励门槛/保级提醒 · M值={{ goalBoard.m_value }}元(演示口径)
本月还剩 {{ goalBoard.days_left }} 天
提醒 {{ goalBoard.remind_count }} 人
暂无数据
| 成员 | 职级 | 目标 FYC / 件数 | 实际达成 | 提醒 | 操作 |
|---|---|---|---|---|---|
| {{ r.name }} {{ r.org_name }} |
{{ r.rank_name }} | {{ r.goal_fyc }} 元 / {{ r.goal_cases }} 件 未设定 |
{{ r.actual_fyc }} 元({{ r.actual_fyc_m }}M)· {{ r.actual_cases }} 件
{{ r.rate }}%
|
{{ t.level==='danger' ? '🔴' : (t.level==='warn' ? '🟡' : (t.level==='ok' ? '🟢' : '⚪')) }} {{ t.text }}
|
活动量看板 {{ actBoard.week_start }} ~ {{ actBoard.week_end }} · 本周电话/面谈/陪访
{{ actBoard.week_start }}
暂无数据
| 成员 | 组织 | 电话 达成/目标 | 面谈 达成/目标 | 陪访 达成/目标 | 操作 |
|---|---|---|---|---|---|
| {{ r.name }} | {{ r.org_name }} | {{ r.calls }} / {{ r.calls_target }} {{ r.calls_rate }}% | {{ r.meetings }} / {{ r.meetings_target }} {{ r.meetings_rate }}% | {{ r.accompany }} / {{ r.accompany_target }} {{ r.accompany_rate }}% |
早会培训 {{ trainings.month }} · 共 {{ trainings.total }} 场
该月暂无场次
| 日期 | 主题 | 类型 | 讲师/组织者 | 应到 | 实到 | 参会率 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ t.date }} | {{ t.title }} | {{ t.type }} | {{ t.organizer }} | {{ t.expected }} | {{ t.checked }} | {{ t.rate }}% |
行事历
{{ calMode==='month' ? cal.month : calMode==='week' ? calWeekLabel : cal.selected }}
筛选:{{ cal.filter_label }}
{{ t }}
{{ w }}
{{ c.day }}
{{ (it.time ? it.time + ' ' : '') + it.title }}
+{{ c.items.length - 2 }} 条
{{ +ds.slice(8) }}日 周{{ '一二三四五六日'[(new Date(ds + 'T00:00:00').getDay() + 6) % 7] }}
全天
{{ it.title }}
{{ String(h).padStart(2, '0') }}:00
{{ it.time }} {{ it.title }}
{{ cal.month }}
{{ w }}
{{ c.day }}
{{ cal.selected || '选择日期' }} 当日 {{ calDayItems.length }} 条
当日无安排
{{ it.type }}{{ it.time }}{{ it.title }}
(已完成)
(已过期未完成)
{{ it.sub }}
{{ it.note }}
{{ it.grace_left > 0 ? '已过缴费日,宽限期剩 ' + it.grace_left + ' 天' + (it.grace_left <= 15 ? ',立即催缴!' : '') : '宽限期已满,保单可能失效!' }}
本月汇总 {{ cal.month }} · 共 {{ cal.items.length }} 条
{{ t }} {{ calTypeCount(t) }}
计划完成 {{ calDoneCount }}/{{ calTypeCount('计划') }}
本月未完成拜访计划 {{ calPending.length }} 条 · 点击定位到当日
本月计划全部完成,或还没有安排计划
{{ it.date }} · {{ it.title }}
{{ it.sub }}
知识库 邀约/面见/促成话术与方法论 · 全员可读
暂无知识条目
| 标题 | 分类 | 标签 | 创建人 | 时间 | 操作 |
|---|---|---|---|---|---|
| {{ k.title }} | {{ k.category }} | {{ t }} | {{ k.created_by_name }} | {{ fmtTime(k.created_at) }} |
承保件数
{{ rpt.totals.cases }}
{{ rpt.from }} ~ {{ rpt.to }}
年缴保费合计
{{ rpt.totals.premium }}
元 · 已承保单据
FYC 合计
{{ rpt.totals.fyc }}
元 · 演示口径
多维业绩报表 时间桶 × 分组 · 数据范围跟随角色
至
该区间暂无承保数据
| 分组 | 件数 | 年缴保费(元) | FYC(元) | 时间桶明细 |
|---|---|---|---|---|
| {{ r.label }} | {{ r.cases }} | {{ r.premium }} | {{ r.fyc }} | {{ k }}:{{ b.cases }}件 / FYC {{ b.fyc }} |
质检报告
{{ qcSummary.total_checked }}
命中敏感词的抽检记录
违规数
{{ qcSummary.violations }}
需整改
级别分布(按命中词最高级)
高 {{ qcSummary.by_level['高'] }} / 中 {{ qcSummary.by_level['中'] }} / 低 {{ qcSummary.by_level['低'] }}
违规报告分级
近7天新增
{{ qcSummary.recent7d }}
质检报告
质检报告 拜访记录 / AI对话敏感词抽检 · 命中即记违规
暂无质检报告,点击「发起抽检」开始
| 时间 | 来源 | 被检人 | 质检人 | 结果 | 命中词 | 内容摘录 |
|---|---|---|---|---|---|---|
| {{ fmtTime(r.created_at) }} | {{ r.source_type === 'visit' ? '拜访记录' : 'AI对话' }} | {{ r.target_user_name }} | {{ r.inspector_name }} | {{ r.result }} | {{ h.word }} | {{ r.content }} |
敏感词库 租户级词表 · 抽检时做子串匹配
| 敏感词 | 级别 | 创建时间 | 操作 |
|---|---|---|---|
| {{ w.word }} | {{ w.level }} | {{ fmtTime(w.created_at) }} |
佣金对账批次 保司佣金单 × 系统保单按保单号+归属人核对
暂无批次,点击「导入佣金单」上传保司 xlsx
| 批次 | 期间 | 文件名 | 明细数 | 已匹配 | 异常 | 上传人 | 时间 | 操作 |
|---|---|---|---|---|---|---|---|---|
| #{{ b.id }} | {{ b.period }} | {{ b.filename }} | {{ b.total }} | {{ b.matched }} | {{ b.mismatched }} | {{ b.uploader_name }} | {{ fmtTime(b.created_at) }} |
批次明细 #{{ crItems.batch ? crItems.batch.id : '' }} · {{ crItems.batch ? crItems.batch.filename : '' }}
暂无明细
| 保单号 | 业务员 | 产品 | 金额(元) | 核对状态 |
|---|---|---|---|---|
| {{ it.policy_no }} | {{ it.agent_name }} | {{ it.product_name || '—' }} | {{ it.amount }} | {{ it.status }} |
API 接入(AI agent / 第三方系统) Key 权限 = 你本人的数据范围与功能权限 · 完整凭证只在创建时显示一次
请立即复制保存(两项凑齐才能换 token,关闭后不再显示):
AppKey
{{ apiKeys.created.key }}
AppSecret
{{ apiKeys.created.secret }}
| 用途 | Key 前缀 | 作用域 | 创建时间 | 最近使用 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ k.name }} | {{ k.prefix }}… |
{{ scopeText(k.scopes) }} | {{ k.created_at }} | {{ k.last_used_at || '从未使用' }} | {{ k.revoked ? '已吊销' : '有效' }} | |
| {{ apiKeys.list.length ? '没有有效的 Key(勾选上方"显示已吊销"查看历史)' : '还没有 API Key,生成一个即可让外部 AI 调用本系统' }} | ||||||
全团队 Key 管理员可吊销任意一把 · 共 {{ allKeys.list.length }} 把
| 归属人 | 用途 | Key 前缀 | 作用域 | 创建时间 | 最近使用 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ k.user_name }} | {{ k.name }} | {{ k.prefix }}… |
{{ scopeText(k.scopes) }} | {{ k.created_at }} | {{ k.last_used_at || '从未使用' }} | {{ k.revoked ? '已吊销' : '有效' }} | |
| 全团队还没有 API Key | |||||||
agent 调用记录 {{ (me.user && (me.user.role==='owner' || me.user.role==='manager')) ? '全团队' : '我的 Key' }} · 共 {{ agentCalls.total }} 条
| 时间 | Key | 身份 | 代调 | 方法 | 接口 | 结果 |
|---|---|---|---|---|---|---|
| {{ c.created_at }} | {{ c.key_name }} | {{ c.user_name }} | 代 {{ c.act_as_name }}— | {{ c.method }} | {{ c.path }} |
{{ c.status_code === 200 || c.status_code === 0 ? '成功' : c.status_code }} |
| 还没有调用记录 | ||||||
第 {{ agentCalls.page }} / {{ Math.max(1, Math.ceil(agentCalls.total / agentCalls.size)) }} 页
调用方式一:AppKey + AppSecret 换 token(飞书式,推荐对外提供)
拿到
调用方式二:X-API-Key 直连(简单场景)
中台代调:平台级 Key 加请求头
调用方式三:远程 MCP(Kimi Code / Claude 等)
MCP 地址
curl -X POST http://服务器地址:8300/api/open/token -H "Content-Type: application/json" -d '{"app_key":"你的AppKey","app_secret":"你的AppSecret"}'拿到
access_token(2 小时有效)后:curl -H "Authorization: Bearer access_token" http://服务器地址:8300/api/team/dashboard,
过期后重新换即可。Secret 泄露可点「重置Secret」立即作废旧值。调用方式二:X-API-Key 直连(简单场景)
curl -H "X-API-Key: 你的Key" http://服务器地址:8300/api/team/dashboard;
系统内所有 /api/* 接口两种凭证都支持,权限与网页版一致;只读凭证写操作会被拒绝(403)。中台代调:平台级 Key 加请求头
X-Act-As: 成员手机号 即可以该成员身份调用,审计同时记录 Key 主体与代调目标。调用方式三:远程 MCP(Kimi Code / Claude 等)
MCP 地址
http://服务器地址:8300/mcp,请求头带 X-API-Key 或 Authorization: Bearer access_token;
也可本地 stdio:python -X utf8 mcp_server.py。
共 8 个工具:whoami / get_cockpit / list_customers / get_customer_detail / list_team_members / list_today_schedules / list_renewal_alerts / add_visit(写工具需 write 作用域)。详见 docs/AGENT_ACCESS.md。
AI 大模型设置 全团队所有 AI 功能共用 · 更换立即生效
当前生效:{{ aiModel.current }}
模型列表来自你的 API Key 实际可用模型。不同模型单价不同:轻量模型更省钱,适合识图/字段抽取等简单任务;旗舰模型效果更好,适合 AI助理对话、报告生成。
更换后 AI助理、保单体检、方案PK、AI识图等全部 AI 功能统一使用新模型。
语音识别(ASR)设置 语音速记转写 · 未配置时使用演示 Mock
识别引擎
服务地址
模型
API Key
当前状态:{{ asrCfg.configured ? '已配置(真实转写)' : '未配置(演示 Mock)' }}
使用阿里百炼通义千问 Qwen3-ASR-Flash(识别快、支持中英文):到百炼控制台 bailian.console.aliyun.com 开通并创建 API-KEY 填在这里即可,保存后立即生效。
单段录音最长 5 分钟(编码后 ≤10MB),超长请分段录制。服务地址/模型留空时自动用千问默认值。
清空 API Key 并保存可回退到演示 Mock。留空 API Key 输入框表示不修改已保存的 Key。
默认使用硅基流动 SenseVoiceSmall(中文效果好、有免费额度):到 siliconflow.cn 注册拿 API Key 填在这里即可,保存后立即生效。
接口为 OpenAI 兼容的 /audio/transcriptions,OpenAI Whisper、Groq 等服务商只需改服务地址和模型名。
清空 API Key 并保存可回退到演示 Mock。留空 API Key 输入框表示不修改已保存的 Key。
AI 用量统计 按 token 记账 · 共 {{ aiUsage.total }} 条
今日:{{ aiUsage.today_tokens }} tokens
本月:{{ aiUsage.month_tokens }} tokens
按人(本月):{{ u.name }} {{ u.tokens }}—
按功能(本月):{{ aiKindLabel(k.kind) }} {{ k.tokens }}—
暂无用量记录
| 时间 | 用户 | 功能 | 内容 | 模型 | 输入 | 输出 | 合计 |
|---|---|---|---|---|---|---|---|
| {{ fmtTime(r.created_at) }} | {{ r.user_name }} | {{ aiKindLabel(r.kind) }} | {{ r.ref || '—' }} | {{ r.model }} | {{ r.prompt_tokens }} | {{ r.completion_tokens }} | {{ r.total_tokens }} |
第 {{ aiUsage.page }} / {{ Math.ceil(aiUsage.total / aiUsage.size) }} 页 · 共 {{ aiUsage.total }} 条
账号管理 团队登录账号 · 停用后无法登录
| 姓名 | 手机号 | 角色 | 部门 | 名下客户 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ a.name }} | {{ a.phone }} | {{ a.role_name }} | {{ a.org_name }} | {{ a.customer_count }} | {{ a.status==='active' ? '正常' : '已停用' }} | {{ fmtTime(a.created_at) }} | 编辑 重置密码 {{ a.status==='active' ? '停用' : '启用' }} — |
权限管理 角色 × 功能点矩阵 · 保存后立即生效 · 每次变更记入操作日志
数据范围不受本矩阵影响,始终按角色控制:负责人全团队 / 主管本组及下级 / 业务员仅本人。
团队负责人恒为全量权限(不可改,防止把自己锁死);勾选只控制「功能能不能用」。
当前为只读视图,仅团队负责人可修改。
| 分组 | 功能点 | 团队负责人 | 主管 | 业务员 |
|---|---|---|---|---|
| {{ g.name }} | {{ item.label }} {{ item.key }} |
操作日志 最近 {{ auditLogs.length }} 条 · 按数据范围过滤
暂无操作记录
| 时间 | 操作人 | 动作 | 对象 | 详情 |
|---|---|---|---|---|
| {{ fmtTime(a.created_at) }} | {{ a.user_name }} | {{ actionLabel(a.action) }} | {{ entityLabel(a.entity) }}#{{ a.entity_id }} | {{ fmtDetail(a.detail) }} |
系统更新 从 Gitee 拉取最新代码并自动重启 · 更新前自动备份数据库(滚动保留 10 份)
{{ upd.result.text }}{{ upd.result.ts }}
✕
⚠ 当前分支为「{{ upd.info.branch }}」,不是 master!一键更新仅在 master 分支上使用,否则可能拉错代码。
请先在服务器上执行:
请先在服务器上执行:
git checkout master && git pull --ff-only
当前版本:v{{ sysVer.version || '—' }}
当前 commit:{{ upd.info.current_commit || '—' }}
当前分支:{{ upd.info.branch || '—' }}
发现新版本:落后 {{ upd.info.behind }} 个提交 最新:{{ upd.info.latest_commit }}({{ fmtTime(upd.info.latest_time) }})
已是最新版本
检查失败:{{ upd.checkErr }}
提示:{{ upd.checkHint }}
提示:{{ upd.checkHint }}
正在重启服务,请勿关闭页面…(最长等待 4 分钟)
更新日志(update_web.log 末尾):
{{ upd.log }}