| 存储类型 | 具体技术 | 用途 |
|---|---|---|
| 关系型数据库 | MySQL 8.0 | 存储用户、任务、方案等结构化数据 |
| 向量数据库 | Milvus | 存储知识库向量,支持高效相似度匹配 |
| 缓存 | Redis | 存储实时会话、任务状态、高频访问数据 |
| 文档存储 | MongoDB | 存储聊天记录、舆情文本等非结构化数据 |
接收用户问题,通过知识库匹配度和场景复杂度初筛,决定处理路径。
对复杂问题评估风险等级和客户属性,拆解为子任务。
为子任务匹配参与人员,通过AI化身收集、优化方案。
通过匿名打分和投票,确定最终方案。
按企业规则审核方案,生成多形式输出(文字、图片、数字人视频)。
收集用户反馈和舆情,迭代系统与企业问题。
满足大型企业信息安全与合规要求。
支持500+人企业的复杂组织结构和权限体系。
为不同角色提供实时数据洞察。
无缝对接企业现有系统。
(仅列关键表,字段简化)
| 表名 | 核心字段 | 用途 |
|---|---|---|
| enterprises | id, name, industry, knowledge_base_id, risk_thresholds(JSON) | 存储企业信息及规则 |
| users | id, enterprise_id, role(user/vip/staff/manager), consume_amount, satisfaction | 用户基本信息 |
| questions | id, user_id, enterprise_id, content, status, risk_level, create_time | 记录用户问题及状态 |
| tasks | id, question_id, parent_task_id(子任务关联), name, goal, output_type | 任务/子任务信息 |
| schemes | id, task_id, content, creator_avatar_id(匿名化身), score, vote_count | 方案内容及评分 |
| decision_group | id, enterprise_id, user_ids(JSON) | 决策群成员列表 |
| feedbacks | id, question_id, user_id, content, sentiment(positive/negative) | 用户反馈 |
| audit_logs | id, user_id, action, resource_type, resource_id, ip_address, user_agent, request_data, response_data, created_at | 审计日志记录 |
| export_records | id, user_id, data_type, record_count, file_hash, export_reason, approver_id, status, created_at | 数据导出记录 |
| organizations | id, enterprise_id, parent_id, name, type, level, path, manager_id, created_at | 组织架构信息 |
| roles | id, enterprise_id, name, permissions, data_scope, is_builtin, created_at | 角色定义信息 |
| user_roles | id, user_id, role_id, org_id, valid_from, valid_until | 用户角色关联信息 |
| permission_logs | id, operator_id, target_user_id, action, old_roles, new_roles, reason, created_at | 权限变更记录 |
| metric_snapshots | id, enterprise_id, metric_type, dimension, dimension_value, metric_value, snapshot_date, created_at | 数据指标快照 |
| report_schedules | id, enterprise_id, report_type, recipients, schedule_cron, last_run_at, next_run_at, status, created_at | 报表定时导出任务 |
| integration_configs | id, enterprise_id, system_type, config, status, last_sync_at, created_at | 系统集成配置 |
| user_mappings | id, user_id, system_type, external_user_id, external_user_name, created_at | 用户映射关系 |
| webhook_subscriptions | id, enterprise_id, event_types, callback_url, secret, status, created_at | Webhook订阅信息 |
// knowledge.service.ts
async matchKnowledge(question: string, enterpriseId: string): Promise<{ match: boolean; content: string }> {
// 1. 问题转向量
const questionVector = await this.embeddingService.generate(question);
// 2. 查Milvus向量库(企业知识库)
const result = await this.milvusService.search({
collectionName: `kb_${enterpriseId}`,
vector: questionVector,
limit: 1,
threshold: 0.85 // 85%匹配度
});
if (result.length > 0) {
return { match: true, content: result[0].text };
}
return { match: false, content: '' };
}
// task-agent.service.ts
async splitTask(question: string, industry: string): Promise<Task[]> {
const prompt = `
请将问题拆解为子任务,行业:${industry},问题:${question}。
要求:每个子任务含名称、目标、交付形式,必须包含"企业自身原因挖掘"项。
输出格式:JSON数组。
`;
const response = await this.llmService.call(prompt); // 调用GPT-4o
const tasks = JSON.parse(response) as Task[];
// 校验子任务完整性
return this.validationAgent.validate(tasks);
}
// voting.service.ts
async calculateResult(taskId: string): Promise<Scheme> {
const [schemeA, schemeB] = await this.schemeRepository.find({ where: { taskId }, take: 2 });
const votesA = await this.voteRepository.count({ where: { schemeId: schemeA.id } });
const votesB = await this.voteRepository.count({ where: { schemeId: schemeB.id } });
if (votesA > votesB) return schemeA;
if (votesB > votesA) return schemeB;
// 平票时参考打分
return schemeA.score > schemeB.score ? schemeA : schemeB;
}
// analytics.service.ts
async getExecutiveDashboard(enterpriseId: string, timeRange: string) {
const [
satisfaction,
sentiment,
solveRate,
responseTime
] = await Promise.all([
this.calculateSatisfaction(enterpriseId, timeRange),
this.calculateSentimentIndex(enterpriseId, timeRange),
this.calculateSolveRate(enterpriseId, timeRange),
this.calculateResponseTime(enterpriseId, timeRange)
]);
return {
kpis: { satisfaction, sentiment, solveRate, responseTime },
trends: await this.getTrends(enterpriseId, timeRange),
warnings: await this.getRiskWarnings(enterpriseId),
departmentMatrix: await this.getDepartmentMatrix(enterpriseId, timeRange)
};
}
// integration.service.ts
class DingTalkAdapter {
async syncOrganization(enterpriseId: string) {
// 1. 调用钉钉API获取组织架构
const deptList = await this.dingTalkClient.getDepartments();
// 2. 转换为内部数据格式
const organizations = this.transformToInternal(deptList);
// 3. 存储到本地数据库
await this.organizationRepository.bulkUpsert(organizations);
}
async sendNotification(userId: string, message: string) {
const dingUserId = await this.getUserMapping(userId);
await this.dingTalkClient.sendMessage(dingUserId, message);
}
}
// integration.service.ts
class WebhookService {
async publishEvent(event: Event) {
const subscribers = await this.getSubscribers(event.type);
for (const subscriber of subscribers) {
await this.httpClient.post(subscriber.url, {
event_type: event.type,
data: event.data,
timestamp: Date.now(),
signature: this.generateSignature(event, subscriber.secret)
});
}
}
}
以下内容作为系统参考,在系统中添加模块,并不实际开发实现。
| 维度 | 当前方案 | 30万+产品应有 | 差距 |
|---|---|---|---|
| 安全合规 | ❌ 未提及 | 等保三级、ISO27001 | 致命 |
| 权限管理 | ❌ 未提及 | 多层级、多租户 | 致命 |
| 私有化部署 | ❌ 只有云部署 | 支持私有云/混合云 | 严重 |
| SLA保障 | ❌ 未提及 | 99.9%可用性承诺 | 严重 |
| 数据分析 | ⚠️ 仅简单报告 | 高级BI、实时看板 | 严重 |
| 系统集成 | ❌ 孤岛系统 | 深度集成钉钉/企微/ERP | 严重 |
新增模块:安全与合规中心,详细内容见模块7:安全与合规管理。
-- 审计日志表
CREATE TABLE audit_logs (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
action VARCHAR(50), -- 'view', 'export', 'modify', 'delete'
resource_type VARCHAR(50), -- 'question', 'scheme', 'user'
resource_id INT,
ip_address VARCHAR(45),
user_agent TEXT,
request_data JSON,
response_data JSON,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user_time (user_id, created_at),
INDEX idx_action (action, created_at)
);
-- 数据导出记录表
CREATE TABLE export_records (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
data_type VARCHAR(50), -- 'questions', 'feedbacks', 'schemes'
record_count INT,
file_hash VARCHAR(64), -- 文件指纹,防篡改
export_reason TEXT,
approver_id INT,
status ENUM('pending', 'approved', 'rejected'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
新增模块:组织架构与权限管理,详细内容见模块8:企业组织架构管理。
-- 组织架构表
CREATE TABLE organizations (
id INT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
parent_id INT, -- 上级组织ID
name VARCHAR(100),
type ENUM('headquarters', 'region', 'department', 'team'),
level INT, -- 层级深度
path VARCHAR(255), -- 路径,如 '1/3/5',便于查询
manager_id INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_enterprise_path (enterprise_id, path)
);
-- 角色定义表
CREATE TABLE roles (
id INT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
name VARCHAR(50),
permissions JSON, -- {"modules": ["task", "report"], "actions": ["view", "edit"]}
data_scope ENUM('all', 'department', 'self'), -- 数据权限范围
is_builtin BOOLEAN DEFAULT FALSE, -- 是否系统预置
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 用户角色关联表
CREATE TABLE user_roles (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
role_id INT NOT NULL,
org_id INT, -- 在哪个组织下有这个角色
valid_from DATE,
valid_until DATE,
UNIQUE KEY uk_user_role_org (user_id, role_id, org_id)
);
-- 权限日志表(记录权限变更)
CREATE TABLE permission_logs (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
operator_id INT NOT NULL, -- 操作人
target_user_id INT NOT NULL, -- 被操作人
action VARCHAR(50), -- 'grant', 'revoke', 'modify'
old_roles JSON,
new_roles JSON,
reason TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
当前方案:仅支持公有云部署(Docker + 轻量服务器)
必须支持:
技术调整:
当前方案问题: 模块6只有:
问题:
新增模块:智能数据分析中心,详细内容见模块9:企业智能驾驶舱。
采用BI工具集成 技术选型:
-- 数据指标快照表(定时生成,加速查询)
CREATE TABLE metric_snapshots (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
metric_type VARCHAR(50), -- 'satisfaction', 'solve_rate', 'response_time'
dimension VARCHAR(50), -- 'overall', 'department', 'user'
dimension_value VARCHAR(100), -- 部门ID或用户ID
metric_value DECIMAL(10, 4),
snapshot_date DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uk_enterprise_metric (enterprise_id, metric_type, dimension, dimension_value, snapshot_date)
);
-- 数据导出任务表(支持定时导出)
CREATE TABLE report_schedules (
id INT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
report_type VARCHAR(50), -- 'daily_summary', 'weekly_analysis', 'monthly_report'
recipients JSON, -- 接收人邮箱列表
schedule_cron VARCHAR(50), -- '0 8 * * *'(每天8点)
last_run_at TIMESTAMP,
next_run_at TIMESTAMP,
status ENUM('active', 'paused'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
当前方案问题:完全是孤岛系统,无法与企业现有IT架构融合
新增模块:企业系统集成中心,详细内容见模块10:开放API与系统集成。
// 集成架构
采用标准化接口 + 适配器模式
// integration.service.ts
class DingTalkAdapter {
async syncOrganization(enterpriseId: string) {
// 1. 调用钉钉API获取组织架构
const deptList = await this.dingTalkClient.getDepartments();
// 2. 转换为内部数据格式
const organizations = this.transformToInternal(deptList);
// 3. 存储到本地数据库
await this.organizationRepository.bulkUpsert(organizations);
}
async sendNotification(userId: string, message: string) {
const dingUserId = await this.getUserMapping(userId);
await this.dingTalkClient.sendMessage(dingUserId, message);
}
}
// Webhook事件推送
class WebhookService {
async publishEvent(event: Event) {
const subscribers = await this.getSubscribers(event.type);
for (const subscriber of subscribers) {
await this.httpClient.post(subscriber.url, {
event_type: event.type,
data: event.data,
timestamp: Date.now(),
signature: this.generateSignature(event, subscriber.secret)
});
}
}
}
-- 系统集成配置表
CREATE TABLE integration_configs (
id INT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
system_type VARCHAR(50), -- 'dingtalk', 'wechat', 'crm', 'erp'
config JSON, -- {"app_key": "xxx", "app_secret": "xxx", "webhook_url": "xxx"}
status ENUM('active', 'inactive'),
last_sync_at TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uk_enterprise_system (enterprise_id, system_type)
);
-- 用户映射表(本系统用户ID ↔ 外部系统用户ID)
CREATE TABLE user_mappings (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
system_type VARCHAR(50),
external_user_id VARCHAR(100),
external_user_name VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uk_user_system (user_id, system_type)
);
-- Webhook订阅表
CREATE TABLE webhook_subscriptions (
id INT PRIMARY KEY AUTO_INCREMENT,
enterprise_id INT NOT NULL,
event_types JSON, -- ["question.created", "scheme.approved"]
callback_url VARCHAR(255),
secret VARCHAR(64), -- 用于签名验证
status ENUM('active', 'paused'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
| 角色 | 原工作量 | 新增工作量 | 总工作量 | 日薪 | 小计 |
|---|---|---|---|---|---|
| 设计师 | 20天 | +10天(权限/BI页面) | 30天 | ¥500 | ¥15,000 |
| 前端工程师 | 20天 | +25天(安全/权限/BI) | 45天 | ¥600 | ¥27,000 |
| 算法工程师 | 24天 | +5天(智能推荐) | 29天 | ¥700 | ¥20,300 |
| 后端工程师 | 24天 | +40天(安全/权限/集成) | 64天 | ¥700 | ¥44,800 |
| 新增:安全工程师 | 0 | 15天 | 15天 | ¥800 | ¥12,000 |
| 新增:运维工程师 | 0 | 20天 | 20天 | ¥700 | ¥14,000 |
| 新增:数据分析师 | 0 | 15天 | 15天 | ¥600 | ¥9,000 |
| 软件测试工程师 | 10天 | +10天(企业级测试) | 20天 | ¥500 | ¥10,000 |
| 项目经理 | 24天 | +20天(协调复杂度) | 44天 | ¥800 | ¥35,200 |
| 开发成本合计 | - | - | - | - | ¥187,300 |
| 项目 | 配置/说明 | 月成本 | 年成本 |
|---|---|---|---|
| 应用服务器 | 4核16G × 3台(云服务器) | ¥2,500 | ¥30,000 |
| 数据库服务器 | 8核32G + 1TB SSD | ¥3,500 | ¥42,000 |
| Redis/MongoDB | 托管服务 | ¥800 | ¥9,600 |
| 向量数据库(Milvus) | 自建或云服务 | ¥1,500 | ¥18,000 |
| 容灾备份服务器 | 异地备份 | ¥2,000 | ¥24,000 |
| CDN/对象存储 | 文件/视频存储 | ¥500 | ¥6,000 |
| 带宽费用 | 100Mbps | ¥1,000 | ¥12,000 |
| 基础设施合计 | - | ¥11,800 | ¥141,600 |
| 项目 | 预估用量(月) | 单价 | 月成本 | 年成本 |
|---|---|---|---|---|
| Claude Sonnet 4.5 | 20万次调用 | ¥0.02/次 | ¥4,000 | ¥48,000 |
| HeyGen视频生成 | 1000次 | ¥1/次 | ¥1,000 | ¥12,000 |
| 语音转文字 | 2000分钟 | ¥0.1/分钟 | ¥200 | ¥2,400 |
| 舆情抓取API | 1万次 | ¥0.05/次 | ¥500 | ¥6,000 |
| AI服务合计 | - | - | ¥5,700 | ¥68,400 |
| 项目 | 预估用量(月) | 单价 | 月成本 | 年成本 |
|---|---|---|---|---|
| 短信通知 | 1万条 | ¥0.05/条 | ¥500 | ¥6,000 |
| 小程序模板消息 | 2万条 | ¥0.01/条 | ¥200 | ¥2,400 |
| 通信成本合计 | - | - | ¥700 | ¥8,400 |
| 项目 | 说明 | 费用 |
|---|---|---|
| 等保三级测评 | 一次性 | ¥40,000 |
| ISO 27001认证 | 一次性 | ¥60,000 |
| 年度合规审计 | 每年 | ¥20,000 |
| 合规认证合计 | - | ¥120,000(首年) |
| 项目 | 人员/配置 | 年成本 |
|---|---|---|
| 7×24技术支持 | 3人班倒 | ¥150,000 |
| 客户成功经理 | 1人(负责5-8客户) | ¥150,000 |
| 现场实施费用 | 按需(10次/年) | ¥50,000 |
| 服务保障合计 | - | ¥350,000 |
| 类别 | 首年成本 | 年度成本(第2年起) |
|---|---|---|
| 开发成本 | ¥187,300 | - |
| 基础设施 | ¥141,600 | ¥141,600 |
| AI服务 | ¥68,400 | ¥68,400 |
| 通信成本 | ¥8,400 | ¥8,400 |
| 合规认证 | ¥120,000 | ¥20,000 |
| 服务保障 | ¥350,000 | ¥350,000 |
| 总计 | ¥875,700 | ¥588,400 |
首年成本:¥875,700 首年收入(1个客户):¥300,000 + ¥100,000 = ¥400,000
首年亏损:¥475,700
需要客户数:
结论:定价偏低,难以覆盖企业级产品成本
这是一个战略上极其聪明、执行路径清晰的顶级方案。你们已经找到了一个巨大的市场痛点,并设计了一个兼具创新性与务实性的解决方案。
| 版本 | 适用人数 | 初次定制费用 | 年费 | 部署方式 | 权限/安全 | 技术支持 | 其他 |
|---|---|---|---|---|---|---|---|
| 基础版 | 500-1000人 | 30万元 | 10万元 | 公有云部署 | 基础权限/安全 | 5×8技术支持 | 标准BI看板 |
| 专业版 | 1000-3000人 | 80万元 | 25万元 | 公有云及私有云混合部署 | 全权限、等保三级认证 | 7×12技术支持 | 季度ROI报告 |
| 企业版 | 3000人以上/集团型 | 120-500万元 | 20-200万元 | 私有化部署 | 等保三级 + ISO认证 | 7×12技术支持 | 年度合规审计、定制化BI |