mm_os 4.3.7 → 5.0.0
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/README.md +101 -504
- package/index.js +26 -19
- package/lib/loader.js +787 -0
- package/lib/os.js +369 -0
- package/package.json +55 -84
- package/LICENSE +0 -21
- package/README_EN.md +0 -505
- package/adapter/adapter.js +0 -484
- package/adapter/custom_persistence.js +0 -661
- package/adapter/mqtt.js +0 -254
- package/adapter/socket.js +0 -244
- package/adapter/web.js +0 -92
- package/adapter/websocket.js +0 -43
- package/ai.js +0 -130
- package/com/api/README.md +0 -3
- package/com/api/com.json +0 -5
- package/com/api/config.tpl.json +0 -41
- package/com/api/drive.js +0 -732
- package/com/api/index.js +0 -201
- package/com/api/oauth.js +0 -200
- package/com/api/script.tpl.js +0 -32
- package/com/cmd/README.md +0 -11
- package/com/cmd/com.json +0 -5
- package/com/cmd/config.tpl.json +0 -48
- package/com/cmd/drive.js +0 -176
- package/com/cmd/index.js +0 -287
- package/com/cmd/job/config.json +0 -66
- package/com/cmd/job/index.js +0 -241
- package/com/cmd/job/test.js +0 -188
- package/com/cmd/msg.json +0 -48
- package/com/cmd/script.tpl.js +0 -12
- package/com/db/README.md +0 -3
- package/com/db/com.json +0 -5
- package/com/db/drive.js +0 -2206
- package/com/db/index.js +0 -241
- package/com/event/README.md +0 -4
- package/com/event/com.json +0 -5
- package/com/event/config.tpl.json +0 -20
- package/com/event/drive.js +0 -61
- package/com/event/index.js +0 -438
- package/com/event/script.tpl.js +0 -23
- package/com/mqtt/README.md +0 -47
- package/com/mqtt/com.json +0 -5
- package/com/mqtt/config.tpl.json +0 -42
- package/com/mqtt/drive.js +0 -704
- package/com/mqtt/index.js +0 -1052
- package/com/mqtt/index.test.js +0 -503
- package/com/mqtt/script.tpl.js +0 -719
- package/com/nav/README.md +0 -2
- package/com/nav/com.json +0 -5
- package/com/nav/config.tpl.json +0 -84
- package/com/nav/drive.js +0 -702
- package/com/nav/index.js +0 -228
- package/com/nav/tpl/admin_pc/page_channel.vue +0 -305
- package/com/nav/tpl/admin_pc/page_config.vue +0 -280
- package/com/nav/tpl/admin_pc/page_config_form.vue +0 -194
- package/com/nav/tpl/admin_pc/page_default.vue +0 -247
- package/com/nav/tpl/admin_pc/page_form.vue +0 -180
- package/com/nav/tpl/admin_pc/page_lang.vue +0 -264
- package/com/nav/tpl/admin_pc/page_nav.vue +0 -321
- package/com/nav/tpl/admin_pc/page_table.vue +0 -296
- package/com/nav/tpl/admin_pc/page_type.vue +0 -321
- package/com/nav/tpl/admin_pc/page_view.vue +0 -124
- package/com/nav/tpl/dev_pc/page_channel.vue +0 -253
- package/com/nav/tpl/dev_pc/page_config.vue +0 -253
- package/com/nav/tpl/dev_pc/page_default.vue +0 -247
- package/com/nav/tpl/dev_pc/page_form.vue +0 -162
- package/com/nav/tpl/dev_pc/page_nav.vue +0 -253
- package/com/nav/tpl/dev_pc/page_table.vue +0 -247
- package/com/nav/tpl/dev_pc/page_type.vue +0 -313
- package/com/nav/tpl/home_pc/page_channel.vue +0 -234
- package/com/nav/tpl/home_pc/page_default.vue +0 -234
- package/com/nav/tpl/home_pc/page_form.vue +0 -137
- package/com/nav/tpl/home_pc/page_list.vue +0 -234
- package/com/nav/tpl/home_pc/page_nav.vue +0 -221
- package/com/nav/tpl/home_pc/page_type.vue +0 -234
- package/com/nav/tpl/home_pc/page_view.vue +0 -125
- package/com/nav/tpl/home_phone/page_channel.vue +0 -234
- package/com/nav/tpl/home_phone/page_default.vue +0 -234
- package/com/nav/tpl/home_phone/page_form.vue +0 -137
- package/com/nav/tpl/home_phone/page_list.vue +0 -234
- package/com/nav/tpl/home_phone/page_nav.vue +0 -237
- package/com/nav/tpl/home_phone/page_type.vue +0 -234
- package/com/nav/tpl/home_phone/page_view.vue +0 -125
- package/com/nav/viewmodel.js +0 -446
- package/com/param/README.md +0 -2
- package/com/param/com.json +0 -5
- package/com/param/config.tpl.json +0 -136
- package/com/param/drive.js +0 -502
- package/com/param/index.js +0 -158
- package/com/param/script.tpl.js +0 -12
- package/com/pendant/README.md +0 -3
- package/com/pendant/com.json +0 -5
- package/com/pendant/config.tpl.json +0 -32
- package/com/pendant/drive.js +0 -204
- package/com/pendant/index.js +0 -467
- package/com/pendant/pendant.html +0 -16
- package/com/pendant/script.tpl.js +0 -18
- package/com/socket/README.md +0 -47
- package/com/socket/com.json +0 -5
- package/com/socket/config.tpl.json +0 -12
- package/com/socket/drive.js +0 -679
- package/com/socket/index.js +0 -402
- package/com/socket/script.tpl.js +0 -41
- package/com/sql/README.md +0 -3
- package/com/sql/com.json +0 -5
- package/com/sql/config.tpl.json +0 -74
- package/com/sql/drive.js +0 -1328
- package/com/sql/index.js +0 -152
- package/com/sql/script.tpl.js +0 -47
- package/com/static/README.md +0 -2
- package/com/static/com.json +0 -5
- package/com/static/config.tpl.json +0 -24
- package/com/static/drive.js +0 -194
- package/com/static/index.js +0 -237
- package/com/static/script.tpl.js +0 -28
- package/com/task/README.md +0 -3
- package/com/task/com.json +0 -5
- package/com/task/config.tpl.json +0 -24
- package/com/task/drive.js +0 -428
- package/com/task/index.js +0 -159
- package/com/task/script.tpl.js +0 -40
- package/com/template/com.json +0 -5
- package/com/template/config.tpl.json +0 -16
- package/com/template/drive.js +0 -81
- package/com/template/index.js +0 -141
- package/com.js +0 -237
- package/common/README.md +0 -2
- package/common/middleware/web_after/index.js +0 -26
- package/common/middleware/web_after/middleware.json +0 -9
- package/common/middleware/web_base/index.js +0 -113
- package/common/middleware/web_base/middleware.json +0 -19
- package/common/middleware/web_before/index.js +0 -33
- package/common/middleware/web_before/middleware.json +0 -9
- package/common/middleware/web_cors/index.js +0 -87
- package/common/middleware/web_cors/middleware.json +0 -24
- package/common/middleware/web_error/index.js +0 -131
- package/common/middleware/web_error/middleware.json +0 -19
- package/common/middleware/web_ip/index.js +0 -15
- package/common/middleware/web_ip/middleware.json +0 -14
- package/common/middleware/web_logger/index.js +0 -156
- package/common/middleware/web_logger/middleware.json +0 -14
- package/common/middleware/web_main/index.js +0 -26
- package/common/middleware/web_main/middleware.json +0 -9
- package/common/middleware/web_static/index.js +0 -73
- package/common/middleware/web_static/middleware.json +0 -54
- package/common/middleware/web_waf/index.js +0 -395
- package/common/middleware/web_waf/middleware.json +0 -13
- package/core/app/config.tpl.json +0 -67
- package/core/app/index.js +0 -711
- package/core/app/script.tpl.js +0 -52
- package/core/channel/index.js +0 -899
- package/core/channel/matcher.js +0 -585
- package/core/com/config.tpl.json +0 -16
- package/core/com/index.js +0 -77
- package/core/com/script.tpl.js +0 -5
- package/core/component/component.js +0 -42
- package/core/component/config.tpl.json +0 -63
- package/core/component/index.js +0 -273
- package/core/component/script.tpl.js +0 -19
- package/core/controller/config.tpl.json +0 -14
- package/core/controller/index.js +0 -371
- package/core/controller/script.tpl.js +0 -27
- package/core/factory/config.tpl.json +0 -14
- package/core/factory/entity.js +0 -275
- package/core/factory/index.js +0 -241
- package/core/factory/script.tpl.js +0 -16
- package/core/game/bat/index.js +0 -137
- package/core/game/bat/world.js +0 -622
- package/core/game/config.tpl.json +0 -16
- package/core/game/entity_admin.js +0 -230
- package/core/game/index.js +0 -186
- package/core/handler/config.tpl.json +0 -22
- package/core/handler/index.js +0 -181
- package/core/handler/script.tpl.js +0 -23
- package/core/logic/config.tpl.json +0 -14
- package/core/logic/index.js +0 -59
- package/core/logic/script.tpl.js +0 -19
- package/core/middleware/config.tpl.json +0 -16
- package/core/middleware/index.js +0 -117
- package/core/middleware/script.tpl.js +0 -37
- package/core/mod/config.tpl.json +0 -22
- package/core/mod/index.js +0 -136
- package/core/mod/script.tpl.js +0 -34
- package/core/model/config.tpl.json +0 -219
- package/core/model/index.js +0 -272
- package/core/model/model.js +0 -27
- package/core/model/script.tpl.js +0 -20
- package/core/notifier/config.tpl.json +0 -14
- package/core/notifier/index.js +0 -77
- package/core/notifier/script.tpl.js +0 -20
- package/core/plugin/config.tpl.json +0 -36
- package/core/plugin/index.js +0 -267
- package/core/plugin/script.tpl.js +0 -51
- package/core/pusher/config.tpl.json +0 -14
- package/core/pusher/index.js +0 -158
- package/core/pusher/script.tpl.js +0 -20
- package/core/room/bat/index.js +0 -170
- package/core/room/bat/room.js +0 -524
- package/core/room/config.tpl.json +0 -20
- package/core/room/index.js +0 -249
- package/core/room/room.js +0 -61
- package/core/scene/config.tpl.json +0 -14
- package/core/scene/index.js +0 -467
- package/core/scene/loop.js +0 -1306
- package/core/scene/map.js +0 -28
- package/core/scene/script.tpl.js +0 -22
- package/core/sender/config.tpl.json +0 -14
- package/core/sender/index.js +0 -79
- package/core/sender/script.tpl.js +0 -20
- package/core/service/config.tpl.json +0 -14
- package/core/service/index.js +0 -100
- package/core/service/script.tpl.js +0 -25
- package/core/store/config.tpl.json +0 -26
- package/core/store/index.js +0 -1794
- package/core/store/script.tpl.js +0 -22
- package/core/system/config.tpl.json +0 -18
- package/core/system/index.js +0 -312
- package/core/system/script.tpl.js +0 -77
- package/core/view/config.tpl.json +0 -14
- package/core/view/index.js +0 -91
- package/core/view/script.tpl.js +0 -20
- package/core/zone/bat/index.js +0 -744
- package/core/zone/config.tpl.json +0 -54
- package/core/zone/index.js +0 -655
- package/core/zone/script.tpl.js +0 -10
- package/core/zone/zone_bat.js +0 -136
- package/core//345/237/272/347/261/273/346/250/241/345/235/227/346/270/205/345/215/225.md +0 -24
- package/os.js +0 -53
- package/server.js +0 -602
- package/ulits/id_gen.js +0 -134
- package/ulits/word.js +0 -206
package/com/cmd/job/test.js
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 模拟"找工作"完整对话流程测试
|
|
3
|
-
*
|
|
4
|
-
* 测试 Drive 核心管线: 关键字匹配 → 槽位填充 → 会话恢复 → 结果返回
|
|
5
|
-
* 手动管理会话状态模拟多轮 NPC 式对话
|
|
6
|
-
*/
|
|
7
|
-
require('mm_expand');
|
|
8
|
-
require('mm_matchs');
|
|
9
|
-
|
|
10
|
-
var Drive = require('../drive');
|
|
11
|
-
var job_config = require('./config.json');
|
|
12
|
-
var job_script = require('./index');
|
|
13
|
-
|
|
14
|
-
// 创建模拟 mod: 绑定 Drive 原型方法 + job 配置 + job 脚本
|
|
15
|
-
var mod = {
|
|
16
|
-
name: 'job',
|
|
17
|
-
config: Object.assign({}, Drive.config, job_config),
|
|
18
|
-
call: function (name, msg, db) {
|
|
19
|
-
return job_script.main(msg, db);
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
mod.match = Drive.prototype.match.bind(mod);
|
|
24
|
-
mod.run = Drive.prototype.run.bind(mod);
|
|
25
|
-
mod._fillParams = Drive.prototype._fillParams.bind(mod);
|
|
26
|
-
mod._tryExtractParam = Drive.prototype._tryExtractParam.bind(mod);
|
|
27
|
-
mod._cleanVal = Drive.prototype._cleanVal.bind(mod);
|
|
28
|
-
mod.log = function () {};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 发送消息并获取回复
|
|
32
|
-
* @param {object} msg 消息对象(会被修改)
|
|
33
|
-
* @param {string} content 用户输入
|
|
34
|
-
* @param {boolean} is_session 是否为会话继续(跳过match)
|
|
35
|
-
* @returns {object|null} AI回复
|
|
36
|
-
*/
|
|
37
|
-
async function send(msg, content, is_session) {
|
|
38
|
-
if (!is_session) {
|
|
39
|
-
delete msg.cmd;
|
|
40
|
-
delete msg.form;
|
|
41
|
-
delete msg.stage;
|
|
42
|
-
}
|
|
43
|
-
delete msg.end;
|
|
44
|
-
msg.content = content;
|
|
45
|
-
return await mod.run(msg, {});
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* 打印分隔线
|
|
50
|
-
*/
|
|
51
|
-
function hr(title) {
|
|
52
|
-
console.log('\n' + '─'.repeat(55));
|
|
53
|
-
console.log(' ' + title);
|
|
54
|
-
console.log('─'.repeat(55));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* 打印对话
|
|
59
|
-
*/
|
|
60
|
-
function chat(role, text) {
|
|
61
|
-
if (role === '用户') {
|
|
62
|
-
console.log('\n 👤 用户: ' + text);
|
|
63
|
-
} else {
|
|
64
|
-
console.log(' 🤖 系统: ' + text);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* 打印内部状态
|
|
70
|
-
*/
|
|
71
|
-
function debug(msg) {
|
|
72
|
-
console.log('\n [调试]');
|
|
73
|
-
console.log(' msg.cmd : ' + (msg.cmd || '(无)'));
|
|
74
|
-
console.log(' msg.end : ' + (msg.end === 0 ? '0 (待续)' : msg.end || '(无)'));
|
|
75
|
-
console.log(' msg.form: ' + JSON.stringify(msg.form || {}));
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// ===== 执行完整对话测试 =====
|
|
79
|
-
async function main() {
|
|
80
|
-
var pass = 0;
|
|
81
|
-
var fail = 0;
|
|
82
|
-
|
|
83
|
-
function check(name, actual, expected) {
|
|
84
|
-
if (actual === expected) {
|
|
85
|
-
pass++;
|
|
86
|
-
} else {
|
|
87
|
-
fail++;
|
|
88
|
-
console.log(' ❌ ' + name + ' 期望: "' + expected + '", 实际: "' + actual + '"');
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
var msg = { from_user: 'user_001', to_user: 'bot', chatid: 'chat_001' };
|
|
93
|
-
|
|
94
|
-
// ===== Round 1: 触发指令 =====
|
|
95
|
-
hr('第1轮: 关键词触发');
|
|
96
|
-
chat('用户', '找工作');
|
|
97
|
-
|
|
98
|
-
var ret = await send(msg, '找工作');
|
|
99
|
-
chat('系统', ret.content);
|
|
100
|
-
debug(msg);
|
|
101
|
-
|
|
102
|
-
console.log('\n [验证]');
|
|
103
|
-
check('cmd匹配', msg.cmd, 'job');
|
|
104
|
-
check('end状态', msg.end, 0);
|
|
105
|
-
check('position被过滤', msg.form.position, undefined);
|
|
106
|
-
check('返回追问', ret.content.indexOf('什么岗位') > -1, true);
|
|
107
|
-
|
|
108
|
-
// ===== Round 2: 填写岗位 =====
|
|
109
|
-
hr('第2轮: 填写意向岗位');
|
|
110
|
-
chat('用户', '前端开发');
|
|
111
|
-
|
|
112
|
-
ret = await send(msg, '前端开发', true);
|
|
113
|
-
chat('系统', ret.content);
|
|
114
|
-
debug(msg);
|
|
115
|
-
|
|
116
|
-
console.log('\n [验证]');
|
|
117
|
-
check('position填充', msg.form.position, '前端开发');
|
|
118
|
-
check('end状态', msg.end, 0);
|
|
119
|
-
check('返回追问', ret.content.indexOf('还需要') > -1, true);
|
|
120
|
-
|
|
121
|
-
// ===== Round 3: 填写城市和薪资 =====
|
|
122
|
-
hr('第3轮: 补充城市和薪资');
|
|
123
|
-
chat('用户', '深圳 15k');
|
|
124
|
-
|
|
125
|
-
ret = await send(msg, '深圳 15k', true);
|
|
126
|
-
chat('系统', ret.content);
|
|
127
|
-
debug(msg);
|
|
128
|
-
|
|
129
|
-
console.log('\n [验证]');
|
|
130
|
-
check('location填充', msg.form.location, '深圳');
|
|
131
|
-
check('salary填充', msg.form.salary, '15');
|
|
132
|
-
check('end状态', msg.end, 0);
|
|
133
|
-
check('追问手机号', ret.content.indexOf('手机号') > -1, true);
|
|
134
|
-
|
|
135
|
-
// ===== Round 4: 填写手机号 =====
|
|
136
|
-
hr('第4轮: 填写手机号');
|
|
137
|
-
chat('用户', '13800138000');
|
|
138
|
-
|
|
139
|
-
ret = await send(msg, '13800138000', true);
|
|
140
|
-
chat('系统', ret.content);
|
|
141
|
-
debug(msg);
|
|
142
|
-
|
|
143
|
-
console.log('\n [验证]');
|
|
144
|
-
check('phone填充', msg.form.phone, '13800138000');
|
|
145
|
-
check('end状态', msg.end, undefined);
|
|
146
|
-
check('返回岗位结果', ret.content.indexOf('为你找到以下岗位') > -1, true);
|
|
147
|
-
|
|
148
|
-
// ===== Round 5: 搜索岗位(覆盖全部信息) =====
|
|
149
|
-
hr('第5轮: 搜索岗位(补充姓名后)');
|
|
150
|
-
msg.form.name = '张三';
|
|
151
|
-
chat('用户', '张三');
|
|
152
|
-
|
|
153
|
-
ret = await send(msg, '张三', true);
|
|
154
|
-
chat('系统', ret.content);
|
|
155
|
-
debug(msg);
|
|
156
|
-
|
|
157
|
-
console.log('\n [验证]');
|
|
158
|
-
check('name填充', msg.form.name, '张三');
|
|
159
|
-
check('end完成', msg.end, undefined);
|
|
160
|
-
check('返回岗位', ret.content.indexOf('为你找到以下岗位') > -1, true);
|
|
161
|
-
check('无追问', ret.content.indexOf('还需要') > -1, false);
|
|
162
|
-
|
|
163
|
-
// ===== Round 6: 新会话重新找工作 =====
|
|
164
|
-
hr('第6轮: 新会话触发(验证状态隔离)');
|
|
165
|
-
var msg2 = { from_user: 'user_002', to_user: 'bot', chatid: 'chat_002' };
|
|
166
|
-
chat('用户', '应聘');
|
|
167
|
-
ret = await send(msg2, '应聘');
|
|
168
|
-
chat('系统', ret.content);
|
|
169
|
-
debug(msg2);
|
|
170
|
-
|
|
171
|
-
console.log('\n [验证]');
|
|
172
|
-
check('新会话cmd', msg2.cmd, 'job');
|
|
173
|
-
check('form为空', JSON.stringify(msg2.form), '{}');
|
|
174
|
-
|
|
175
|
-
// ===== 打印结果汇总 =====
|
|
176
|
-
hr('测试结果汇总');
|
|
177
|
-
var total = pass + fail;
|
|
178
|
-
console.log('\n 总计: ' + total + ' 项');
|
|
179
|
-
console.log(' 通过: ' + pass + ' 项 ✅');
|
|
180
|
-
if (fail > 0) {
|
|
181
|
-
console.log(' 失败: ' + fail + ' 项 ❌');
|
|
182
|
-
}
|
|
183
|
-
console.log('\n ' + (fail === 0 ? '全部通过! 🎉' : '存在失败项, 请检查'));
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
main().catch(function (err) {
|
|
187
|
-
console.error('测试异常:', err);
|
|
188
|
-
});
|
package/com/cmd/msg.json
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// 消息ID
|
|
3
|
-
"message_id": 0,
|
|
4
|
-
// 结束状态 0-正常 1-结束
|
|
5
|
-
"end": 0,
|
|
6
|
-
// 阶段 1-9阶段
|
|
7
|
-
"stage": 1,
|
|
8
|
-
// 微信/公众号消息ID
|
|
9
|
-
"msgid": "",
|
|
10
|
-
// 更新时间
|
|
11
|
-
"update_time": "",
|
|
12
|
-
// 创建时间
|
|
13
|
-
"create_time": "",
|
|
14
|
-
// 群组
|
|
15
|
-
"group": "",
|
|
16
|
-
// 消息类型 text-文本 image-图片 voice-语音 video-视频 file-文件 location-位置 link-链接 event-事件 other-其他
|
|
17
|
-
"msg_type": "text",
|
|
18
|
-
// 媒体ID,图片、语音、视频、文件
|
|
19
|
-
"media_id": "",
|
|
20
|
-
// 发信人姓名
|
|
21
|
-
"name": "",
|
|
22
|
-
// 一般情况下,1永久会话/群、2临时会话/群
|
|
23
|
-
"type": 1,
|
|
24
|
-
// 指令
|
|
25
|
-
"cmd": "",
|
|
26
|
-
// 应用ID
|
|
27
|
-
"appid": "",
|
|
28
|
-
// 发信人
|
|
29
|
-
"from_user": "",
|
|
30
|
-
// 收信人
|
|
31
|
-
"to_user": "",
|
|
32
|
-
// 机器人
|
|
33
|
-
"robot": "",
|
|
34
|
-
// 会话ID,用于判断是否是同一个会话
|
|
35
|
-
"chatid": "",
|
|
36
|
-
// 发信人头像
|
|
37
|
-
"avatar": "",
|
|
38
|
-
// 除指令外,过滤、抽取后的词
|
|
39
|
-
"keyword": "",
|
|
40
|
-
// 表单,用于记录用户已填参数,json格式
|
|
41
|
-
"form": "",
|
|
42
|
-
// 聊天内容
|
|
43
|
-
"content": "",
|
|
44
|
-
// 消息传递数据,json格式
|
|
45
|
-
"data": "",
|
|
46
|
-
// 备注信息
|
|
47
|
-
"note": ""
|
|
48
|
-
}
|
package/com/cmd/script.tpl.js
DELETED
package/com/db/README.md
DELETED