@shun-js/aibaiban-server 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shun-js/aibaiban-server",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "aibaiban.com server",
5
5
  "keywords": [
6
6
  "ai aibaiban"
@@ -44,5 +44,5 @@
44
44
  "access": "public",
45
45
  "registry": "https://registry.npmjs.org/"
46
46
  },
47
- "gitHead": "6882b0a600e3ad421b67cee58134371ec478ce93"
47
+ "gitHead": "5eb0853768a4ff327c1ddda1eaa414b8645144b1"
48
48
  }
@@ -7,7 +7,7 @@ const { chatFeishuMsg, errorFeishuMsg } = require('../util/feishu.js');
7
7
 
8
8
  /**
9
9
  * drawAgent - 流式 Agent 接口
10
- * 流程:router -> classify -> elaborate -> review -> generate
10
+ * 流程:router -> classify -> elaborate -> generate
11
11
  */
12
12
  exports.drawAgent = async (req, res) => {
13
13
  const methodName = 'drawAgent';
@@ -77,36 +77,7 @@ exports.drawAgent = async (req, res) => {
77
77
  chatFeishuMsg(req, `elaboration-${elaboration}`);
78
78
  res.streaming(`data: ${JSON.stringify({ step: 'elaborate', done: true, duration: elaborateTime })}\n\n`);
79
79
 
80
- // 4. review - 质量检查
81
- stepStart = Date.now();
82
- res.streaming(`data: ${JSON.stringify({ step: 'review', status: 'start' })}\n\n`);
83
- req.logger.info(methodName, 'step: review');
84
- const reviewResult = await callLLMForJSON(
85
- prompts.REVIEW_PROMPT.replace('{input}', input)
86
- .replace('{diagramType}', diagramType)
87
- .replace('{elaboration}', elaboration),
88
- res,
89
- 'review',
90
- );
91
- const reviewTime = Date.now() - stepStart;
92
- req.logger.info(methodName, 'reviewResult', reviewResult, `${reviewTime}ms`);
93
- chatFeishuMsg(req, `reviewResult-${reviewResult}`);
94
- res.streaming(`data: ${JSON.stringify({ step: 'review', result: reviewResult.result, duration: reviewTime })}\n\n`);
95
-
96
- // 信息不足,追问用户
97
- if (reviewResult.result === 'need_more_info') {
98
- res.streaming(
99
- `data: ${JSON.stringify({
100
- step: 'review',
101
- result: 'need_more_info',
102
- questions: reviewResult.questions,
103
- })}\n\n`,
104
- );
105
- res.streamingEnd();
106
- return;
107
- }
108
-
109
- // 5. generate - 生成 Mermaid
80
+ // 4. generate - 生成 Mermaid
110
81
  stepStart = Date.now();
111
82
  res.streaming(`data: ${JSON.stringify({ step: 'generate', status: 'start' })}\n\n`);
112
83
  req.logger.info(methodName, 'step: generate');
@@ -7,7 +7,7 @@ module.exports = {
7
7
  /**
8
8
  * 意图分类 - 判断是否与白板相关
9
9
  */
10
- ROUTER_PROMPT: `你是一个意图分类器。判断用户输入是否与"画图/白板/图表/流程图/甘特图/思维导图/时序图/类图/状态图/ER图/饼图/Git分支图/用户旅程图"相关。
10
+ ROUTER_PROMPT: `你是一个意图分类器。判断用户输入是否与"画图/白板/图表/流程图/时序图/类图/ER"相关。
11
11
 
12
12
  用户输入: {input}
13
13
 
@@ -19,16 +19,16 @@ module.exports = {
19
19
  CLASSIFY_PROMPT: `你是一个图表类型分析专家。根据用户需求,判断最适合的图表类型。
20
20
 
21
21
  可选类型:
22
- - flowchart: 流程图、步骤图、决策流程
23
- - sequence: 时序图、交互流程、调用链
24
- - classDiagram: 类图、对象关系、继承结构
25
- - stateDiagram: 状态图、状态机、状态流转
26
- - erDiagram: ER图、实体关系图、数据库设计
27
- - gantt: 甘特图、项目计划、时间线
28
- - pie: 饼图、占比图、比例分布
29
- - gitGraph: Git分支图、版本管理流程
30
- - journey: 用户旅程图、体验地图
31
- - mindmap: 思维导图、知识结构
22
+ - flowchart: 流程图、步骤图、决策流程、状态图、思维导图等通用图表
23
+ - sequence: 时序图、交互流程、调用链、消息传递
24
+ - classDiagram: 类图、对象关系、继承结构、接口设计
25
+ - erDiagram: ER图、实体关系图、数据库设计、数据模型
26
+
27
+ 注意:
28
+ - 只能从以上4种类型中选择
29
+ - 提到"ER图"、"实体关系"、"数据库"、"表结构"时必须选 erDiagram
30
+ - 提到"类"、"继承"、"接口"、"对象"时选 classDiagram
31
+ - 如果不确定,默认选 flowchart
32
32
 
33
33
  用户输入: {input}
34
34
 
@@ -47,32 +47,7 @@ module.exports = {
47
47
  - flowchart: {"nodes": [...], "edges": [...]}
48
48
  - sequence: {"participants": [...], "messages": [...]}
49
49
  - classDiagram: {"classes": [{"name": "", "attributes": [...], "methods": [...]}], "relations": [...]}
50
- - stateDiagram: {"states": [...], "transitions": [...]}
51
50
  - erDiagram: {"entities": [{"name": "", "attributes": [...]}], "relations": [...]}
52
- - gantt: {"tasks": [{"name": "", "start": "", "duration": ""}]}
53
- - pie: {"title": "", "slices": [{"label": "", "value": 0}]}
54
- - gitGraph: {"branches": [...], "commits": [...], "merges": [...]}
55
- - journey: {"title": "", "sections": [{"name": "", "tasks": [{"name": "", "score": 0}]}]}
56
- - mindmap: {"root": "", "children": [...]}
57
-
58
- 只回复 JSON。`,
59
-
60
- /**
61
- * 质量检查
62
- */
63
- REVIEW_PROMPT: `你是一个质量检查专家。检查以下图表描述是否信息充足,能否生成完整的图表。
64
-
65
- 用户原始输入: {input}
66
- 图表类型: {diagramType}
67
- 细化描述: {elaboration}
68
-
69
- 判断标准:
70
- 1. 节点/步骤是否足够(至少3个有意义的元素)
71
- 2. 关系/连接是否清晰
72
- 3. 是否有明显缺失的关键信息
73
-
74
- 如果信息充足,回复: {"result": "pass"}
75
- 如果信息不足,回复: {"result": "need_more_info", "questions": ["问题1", "问题2"]}
76
51
 
77
52
  只回复 JSON。`,
78
53
 
@@ -90,6 +65,12 @@ module.exports = {
90
65
  3. 节点文本和连接线文本中禁止使用括号()[]{},这些是 Mermaid 的形状语法符号,会导致解析错误
91
66
  4. 连接线标签示例: -->|是| 、-->|否| 、-->|提交|,不要写 -->|否(注册)| 或 -->|是(通过)|
92
67
  5. 如需补充说明,用斜杠/顿号/破折号代替括号,如"否-注册"、"否/注册"
68
+ 6. erDiagram 属性格式严格为: type name PK/FK "注释",每个属性只能有这4个部分
69
+ - 正确: string username PK "用户名"
70
+ - 正确: int age "年龄"
71
+ - 错误: VARCHAR(50) UNIQUE NOT NULL username "用户名"(不支持SQL语法)
72
+ - 错误: DATETIME DEFAULT CURRENT_TIMESTAMP created_at(不支持DEFAULT等修饰符)
73
+ - type只用简单类型: string, int, text, datetime, boolean, float
93
74
 
94
75
  要求:
95
76
  1. 生成合法的 Mermaid 语法
@@ -101,6 +82,5 @@ module.exports = {
101
82
  /**
102
83
  * 非白板请求的固定回复
103
84
  */
104
- FIXED_REPLY:
105
- '我是一个白板助手,专门帮你生成各种图表。支持:流程图、时序图、类图、状态图、ER图、甘特图、饼图、Git分支图、用户旅程图、思维导图。请告诉我你想画什么图吧!',
85
+ FIXED_REPLY: '我是一个白板助手,专门帮你生成各种图表。支持:流程图、时序图、类图、ER图。请告诉我你想画什么图吧!',
106
86
  };
package/views/index.html CHANGED
@@ -109,7 +109,7 @@
109
109
  <script
110
110
  type="module"
111
111
  crossorigin
112
- src="https://static-small.vincentqiao.com/aibaiban/static/index-CYIYkLbz.js"
112
+ src="https://static-small.vincentqiao.com/aibaiban/static/index-D3qgIOvl.js"
113
113
  ></script>
114
114
  <link
115
115
  rel="modulepreload"
@@ -134,7 +134,7 @@
134
134
  <link
135
135
  rel="modulepreload"
136
136
  crossorigin
137
- href="https://static-small.vincentqiao.com/aibaiban/static/chunks/excalidraw-WA-IihWf.js"
137
+ href="https://static-small.vincentqiao.com/aibaiban/static/chunks/excalidraw-BV1kaZIV.js"
138
138
  />
139
139
  <link
140
140
  rel="stylesheet"