feat: 初始化考培练系统项目

- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
111
2026-01-24 19:33:28 +08:00
commit 998211c483
1197 changed files with 228429 additions and 0 deletions

View File

@@ -0,0 +1,380 @@
app:
description: 智能工牌能力分析与课程推荐
icon: 🤖
icon_background: '#FFEAD5'
mode: workflow
name: 恩喜-05-智能工牌能力分析与课程推荐-考陪练
use_icon_as_answer_icon: false
dependencies:
- current_identifier: null
type: marketplace
value:
marketplace_plugin_unique_identifier: langgenius/openrouter:0.0.22@99ef4cf4e08292c28806abaf24f295ed66e04e4b9e74385b487fd0767c7f56df
version: null
kind: app
version: 0.5.0
workflow:
conversation_variables: []
environment_variables: []
features:
file_upload:
allowed_file_extensions:
- .JPG
- .JPEG
- .PNG
- .GIF
- .WEBP
- .SVG
allowed_file_types:
- image
allowed_file_upload_methods:
- local_file
- remote_url
enabled: false
fileUploadConfig:
audio_file_size_limit: 50
batch_count_limit: 5
file_size_limit: 15
image_file_batch_limit: 10
image_file_size_limit: 10
single_chunk_attachment_limit: 10
video_file_size_limit: 100
workflow_file_upload_limit: 10
image:
enabled: false
number_limits: 3
transfer_methods:
- local_file
- remote_url
number_limits: 3
opening_statement: ''
retriever_resource:
enabled: true
sensitive_word_avoidance:
enabled: false
speech_to_text:
enabled: false
suggested_questions: []
suggested_questions_after_answer:
enabled: false
text_to_speech:
enabled: false
language: ''
voice: ''
graph:
edges:
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: end
id: 1759345165645-source-1759259743998-target
source: '1759345165645'
sourceHandle: source
target: '1759259743998'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: start
targetType: tool
id: 1759259735113-source-1766637417515-target
source: '1759259735113'
sourceHandle: source
target: '1766637417515'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: tool
id: 1766637417515-source-1766637451330-target
source: '1766637417515'
sourceHandle: source
target: '1766637451330'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: llm
id: 1766637451330-source-1759345165645-target
source: '1766637451330'
sourceHandle: source
target: '1759345165645'
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
selected: false
title: 开始
type: start
variables:
- default: ''
hint: ''
label: dialogue_history
max_length: 90000
options: []
placeholder: ''
required: true
type: paragraph
variable: dialogue_history
- default: ''
hint: ''
label: user_id
max_length: 48
options: []
placeholder: ''
required: true
type: text-input
variable: user_id
height: 135
id: '1759259735113'
position:
x: 80
y: 282
positionAbsolute:
x: 80
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
outputs:
- value_selector:
- '1759345165645'
- text
value_type: string
variable: result
selected: false
title: 结束
type: end
height: 88
id: '1759259743998'
position:
x: 1813.2223142363105
y: 283.53180246801287
positionAbsolute:
x: 1813.2223142363105
y: 283.53180246801287
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
context:
enabled: false
variable_selector: []
model:
completion_params:
temperature: 0.7
mode: chat
name: google/gemini-2.5-flash
provider: langgenius/openrouter/openrouter
prompt_template:
- id: c5d3c09c-d33c-430a-a8f3-663627411364
role: system
text: "你是话术分析专家,用户是一家轻医美连锁品牌的员工,用户提交的是用户自己与顾客的对话记录,你做分析与评分。并严格按照以下格式输出。并根据课程列表,为该用户提供选课建议。\n\
\n输出标准\n{\n \"analysis\": {\n \"total_score\": 82,\n \"ability_dimensions\"\
: [\n {\n \"name\": \"专业知识\",\n \"score\": 88,\n \
\ \"feedback\": \"产品知识扎实,能准确回答客户问题。建议:继续深化对新产品的了解。\"\n },\n\
\ {\n \"name\": \"沟通技巧\",\n \"score\": 92,\n \
\ \"feedback\": \"语言表达清晰流畅,善于倾听客户需求。建议:可以多使用开放式问题引导。\"\n },\n \
\ {\n \"name\": \"操作技能\",\n \"score\": 85,\n \"\
feedback\": \"基本操作熟练,流程规范。建议:提升复杂场景的应对速度。\"\n },\n {\n \
\ \"name\": \"客户服务\",\n \"score\": 90,\n \"feedback\"\
: \"服务态度优秀,客户体验良好。建议:进一步提升个性化服务能力。\"\n },\n {\n \"name\"\
: \"安全意识\",\n \"score\": 79,\n \"feedback\": \"基本安全规范掌握,但在细节提醒上还可加强。\"\
\n },\n {\n \"name\": \"应变能力\",\n \"score\": 76,\n\
\ \"feedback\": \"面对突发情况反应较快,但处理方式可以更灵活多样。\"\n }\n ],\n\
\ \"course_recommendations\": [\n {\n \"course_id\": 5,\n\
\ \"course_name\": \"应变能力提升训练营\",\n \"recommendation_reason\"\
: \"该课程专注于提升应变能力包含大量实战案例分析和模拟演练针对您当前的薄弱环节应变能力76分设计。通过学习可提升15分左右。\"\
,\n \"priority\": \"high\",\n \"match_score\": 95\n \
\ },\n {\n \"course_id\": 3,\n \"course_name\": \"\
安全规范与操作标准\",\n \"recommendation_reason\": \"系统讲解安全规范和操作标准通过案例教学帮助建立安全意识。当前您的安全意识得分为79分通过本课程学习预计可提升12分。\"\
,\n \"priority\": \"high\",\n \"match_score\": 88\n \
\ },\n {\n \"course_id\": 7,\n \"course_name\": \"\
高级销售技巧\",\n \"recommendation_reason\": \"进阶课程帮助您将已有的沟通优势92分转化为更高级的销售技能进一步巩固客户服务能力90分。\"\
,\n \"priority\": \"medium\",\n \"match_score\": 82\n \
\ }\n ]\n }\n}"
- id: 2da57109-d891-46a6-8094-6f6ff63f8e5b
role: user
text: '对话记录:{{#1759259735113.dialogue_history#}}
---
用户的信息和岗位:{{#1766637451330.text#}}
---
所有可选课程:{{#1766637451330.text#}}'
selected: false
title: LLM
type: llm
vision:
enabled: false
height: 88
id: '1759345165645'
position:
x: 1363.5028016995486
y: 288.04877731559196
positionAbsolute:
x: 1363.5028016995486
y: 288.04877731559196
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
is_team_authorization: true
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: SQL 语句
ja_JP: SQL 语句
pt_BR: SQL 语句
zh_Hans: SQL 语句
llm_description: ''
max: null
min: null
name: sql
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
params:
sql: ''
plugin_id: null
plugin_unique_identifier: null
provider_icon:
background: '#FFEAD5'
content: 🤖
provider_id: 2e7e915c-606c-4230-b4bd-ff95efb72f39
provider_name: 恩喜-00-SQL 执行器-考陪练专用
provider_type: workflow
selected: true
title: 恩喜-00-获取用户信息
tool_configurations: {}
tool_description: 考陪练系统专用的 sql 执行器
tool_label: 恩喜-00-SQL 执行器-考陪练专用
tool_name: SQL_executor_enxi
tool_node_version: '2'
tool_parameters:
sql:
type: mixed
value: SELECT p.id as position_id, p.name as position_name, p.code, p.description,
p.skills, p.level, p.status FROM positions p INNER JOIN position_members
pm ON p.id = pm.position_id WHERE pm.user_id = {{#1759259735113.user_id#}}
AND pm.is_deleted = 0 AND p.is_deleted = 0
type: tool
height: 52
id: '1766637417515'
position:
x: 587
y: 448
positionAbsolute:
x: 587
y: 448
selected: true
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
is_team_authorization: true
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: SQL 语句
ja_JP: SQL 语句
pt_BR: SQL 语句
zh_Hans: SQL 语句
llm_description: ''
max: null
min: null
name: sql
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
params:
sql: ''
plugin_id: null
plugin_unique_identifier: null
provider_icon:
background: '#FFEAD5'
content: 🤖
provider_id: 2e7e915c-606c-4230-b4bd-ff95efb72f39
provider_name: 恩喜-00-SQL 执行器-考陪练专用
provider_type: workflow
selected: false
title: 恩喜-00-获取所有课程
tool_configurations: {}
tool_description: 考陪练系统专用的 sql 执行器
tool_label: 恩喜-00-SQL 执行器-考陪练专用
tool_name: SQL_executor_enxi
tool_node_version: '2'
tool_parameters:
sql:
type: mixed
value: SELECT id, name, description, category, tags, difficulty_level,
duration_hours FROM courses WHERE status = 'published' AND is_deleted
= FALSE ORDER BY sort_order
type: tool
height: 52
id: '1766637451330'
position:
x: 889
y: 448
positionAbsolute:
x: 889
y: 448
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
viewport:
x: -85.25185611291681
y: 136.04491275815266
zoom: 0.488825051752638
rag_pipeline_variables: []