koishi-plugin-rolecard 1.1.0 → 1.1.1
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/lib/index.d.ts +3 -3
- package/lib/index.js +7 -7
- package/package.json +2 -2
- /package/{rolecards → assets}/belikov/image.png +0 -0
- /package/{rolecards → assets}/belikov/rolecard.json +0 -0
- /package/{rolecards → assets}/belikov/trigger-words.json +0 -0
- /package/{rolecards → assets}/belikov/words.json +0 -0
package/lib/index.d.ts
CHANGED
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
*
|
|
6
6
|
* - `types.ts` 共享类型契约(角色卡内容 + 运行时配置接口)
|
|
7
7
|
* - `config.ts` 配置 Schema 声明(默认值、校验、UI 描述)
|
|
8
|
-
* - `loader.ts` 角色卡加载器(扫描并解析
|
|
8
|
+
* - `loader.ts` 角色卡加载器(扫描并解析 assets/ 目录)
|
|
9
9
|
* - `core.ts` 核心引擎(通用台词引擎,与具体角色解耦)
|
|
10
10
|
* - `index.ts` 本文件,组装以上模块并对接 Koishi 生命周期
|
|
11
11
|
*
|
|
12
|
-
* 角色卡是纯数据资源,存放在 `
|
|
12
|
+
* 角色卡是纯数据资源,存放在 `assets/<id>/` 下。用户通过 Config.rolecard
|
|
13
13
|
* 选择要激活的角色卡。新增角色卡只需添加数据目录,无需改动任何源码。
|
|
14
14
|
*/
|
|
15
15
|
import type { Context } from 'koishi';
|
|
16
16
|
import { Config } from './config';
|
|
17
17
|
import type { Config as ConfigType } from './types';
|
|
18
18
|
export declare const name = "rolecard";
|
|
19
|
-
export declare const usage = "\n<div style=\"border-radius: 10px; border: 1px solid #ddd; padding: 16px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1);\">\n <h2 style=\"margin-top: 0; color: #4a6ee0;\">\uD83C\uDFAD \u89D2\u8272\u5361\u63D2\u4EF6 \u00B7 Rolecard</h2>\n <p>\u6570\u636E\u9A71\u52A8\u7684\u89D2\u8272\u53F0\u8BCD\u5F15\u64CE\u3002\u6838\u5FC3\u903B\u8F91\u4E0E\u89D2\u8272\u5361\u5185\u5BB9\u5B8C\u5168\u89E3\u8026\u2014\u2014\u89D2\u8272\u5361\u662F\u7EAF\u6570\u636E\u8D44\u6E90\uFF08\u53F0\u8BCD\u5E93 + \u89E6\u53D1\u8BCD + \u63D2\u56FE\uFF09\uFF0C\u5F15\u64CE\u6839\u636E\u6570\u636E\u81EA\u52A8\u9A71\u52A8\u5BF9\u8BDD\u3002</p>\n <ul>\n <li>\u5728 <code>
|
|
19
|
+
export declare const usage = "\n<div style=\"border-radius: 10px; border: 1px solid #ddd; padding: 16px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1);\">\n <h2 style=\"margin-top: 0; color: #4a6ee0;\">\uD83C\uDFAD \u89D2\u8272\u5361\u63D2\u4EF6 \u00B7 Rolecard</h2>\n <p>\u6570\u636E\u9A71\u52A8\u7684\u89D2\u8272\u53F0\u8BCD\u5F15\u64CE\u3002\u6838\u5FC3\u903B\u8F91\u4E0E\u89D2\u8272\u5361\u5185\u5BB9\u5B8C\u5168\u89E3\u8026\u2014\u2014\u89D2\u8272\u5361\u662F\u7EAF\u6570\u636E\u8D44\u6E90\uFF08\u53F0\u8BCD\u5E93 + \u89E6\u53D1\u8BCD + \u63D2\u56FE\uFF09\uFF0C\u5F15\u64CE\u6839\u636E\u6570\u636E\u81EA\u52A8\u9A71\u52A8\u5BF9\u8BDD\u3002</p>\n <ul>\n <li>\u5728 <code>assets/</code> \u76EE\u5F55\u4E0B\u653E\u7F6E\u89D2\u8272\u5361\uFF0C\u6BCF\u4E2A\u89D2\u8272\u5361\u4E00\u4E2A\u5B50\u76EE\u5F55</li>\n <li>\u901A\u8FC7\u914D\u7F6E\u9879 <code>rolecard</code> \u9009\u62E9\u8981\u52A0\u8F7D\u7684\u89D2\u8272\u5361 ID</li>\n <li>\u652F\u6301\u5173\u952E\u8BCD\u89E6\u53D1\uFF08\u6309\u4F18\u5148\u7EA7\uFF09\u4E0E\u6982\u7387\u968F\u673A\u89E6\u53D1</li>\n <li>\u51B7\u5374\u9632\u5237\u5C4F\u3001\u63D2\u56FE\u53D1\u9001\u3001\u54CD\u5E94\u8303\u56F4\u5747\u53EF\u914D\u7F6E</li>\n </ul>\n</div>\n\n<div style=\"border-radius: 10px; border: 1px solid #ddd; padding: 16px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1);\">\n <h2 style=\"margin-top: 0; color: #4a6ee0;\">\uD83D\uDCAC \u4EA4\u6D41\u4E0E\u53CD\u9988</h2>\n <p>\uD83C\uDF1F \u559C\u6B22\u8FD9\u4E2A\u63D2\u4EF6\uFF1F\u6B22\u8FCE\u52A0\u5165 QQ \u7FA4 <a href=\"https://qm.qq.com/q/WngX4RQoca\" style=\"color:#4a6ee0;text-decoration:none;\"><strong>1071284605</strong></a>\u3010\u6653\u57FA\u5730\u63D2\u4EF6\u5DE5\u574A\u3011\u8FDB\u884C\u4EA4\u6D41</p>\n <p>\uD83D\uDC1B \u9047\u5230\u95EE\u9898\uFF1F\u6B22\u8FCE\u5728\u7FA4\u5185\u53CD\u9988\uFF0C\u6216\u70B9\u51FB <a href=\"https://qm.qq.com/q/WngX4RQoca\" style=\"color:#4a6ee0;text-decoration:none;\">\u6B64\u94FE\u63A5</a> \u52A0\u5165\u7FA4\u804A</p>\n</div>\n";
|
|
20
20
|
export { Config };
|
|
21
21
|
export declare function apply(ctx: Context, config: ConfigType): void;
|
package/lib/index.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* - `types.ts` 共享类型契约(角色卡内容 + 运行时配置接口)
|
|
8
8
|
* - `config.ts` 配置 Schema 声明(默认值、校验、UI 描述)
|
|
9
|
-
* - `loader.ts` 角色卡加载器(扫描并解析
|
|
9
|
+
* - `loader.ts` 角色卡加载器(扫描并解析 assets/ 目录)
|
|
10
10
|
* - `core.ts` 核心引擎(通用台词引擎,与具体角色解耦)
|
|
11
11
|
* - `index.ts` 本文件,组装以上模块并对接 Koishi 生命周期
|
|
12
12
|
*
|
|
13
|
-
* 角色卡是纯数据资源,存放在 `
|
|
13
|
+
* 角色卡是纯数据资源,存放在 `assets/<id>/` 下。用户通过 Config.rolecard
|
|
14
14
|
* 选择要激活的角色卡。新增角色卡只需添加数据目录,无需改动任何源码。
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -27,7 +27,7 @@ exports.usage = `
|
|
|
27
27
|
<h2 style="margin-top: 0; color: #4a6ee0;">🎭 角色卡插件 · Rolecard</h2>
|
|
28
28
|
<p>数据驱动的角色台词引擎。核心逻辑与角色卡内容完全解耦——角色卡是纯数据资源(台词库 + 触发词 + 插图),引擎根据数据自动驱动对话。</p>
|
|
29
29
|
<ul>
|
|
30
|
-
<li>在 <code>
|
|
30
|
+
<li>在 <code>assets/</code> 目录下放置角色卡,每个角色卡一个子目录</li>
|
|
31
31
|
<li>通过配置项 <code>rolecard</code> 选择要加载的角色卡 ID</li>
|
|
32
32
|
<li>支持关键词触发(按优先级)与概率随机触发</li>
|
|
33
33
|
<li>冷却防刷屏、插图发送、响应范围均可配置</li>
|
|
@@ -42,11 +42,11 @@ exports.usage = `
|
|
|
42
42
|
`;
|
|
43
43
|
function apply(ctx, config) {
|
|
44
44
|
const logger = ctx.logger('rolecard');
|
|
45
|
-
// 角色卡目录位于插件包根目录下的
|
|
46
|
-
const
|
|
47
|
-
const rolecards = (0, loader_1.loadRolecards)(
|
|
45
|
+
// 角色卡目录位于插件包根目录下的 assets/
|
|
46
|
+
const assetsDir = (0, node_path_1.resolve)(__dirname, '..', 'assets');
|
|
47
|
+
const rolecards = (0, loader_1.loadRolecards)(assetsDir);
|
|
48
48
|
if (rolecards.length === 0) {
|
|
49
|
-
logger.warn('未找到任何角色卡,请检查
|
|
49
|
+
logger.warn('未找到任何角色卡,请检查 assets 目录');
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
52
|
const availableIds = rolecards.map((r) => r.manifest.id).join(', ');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-rolecard",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"contributors": [
|
|
5
5
|
"Oppenheymu <oppenheymu@gmail.com>"
|
|
6
6
|
],
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"lib",
|
|
19
|
-
"
|
|
19
|
+
"assets"
|
|
20
20
|
],
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"publishConfig": {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|