@sumeai/sumeclaw 1.0.1 → 1.0.2
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/dist/src/channel.d.ts.map +1 -1
- package/dist/src/channel.js +38 -3
- package/dist/src/channel.js.map +1 -1
- package/openclaw.plugin.json +25 -19
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA4CD,eAAO,MAAM,cAAc,KAmEzB,CAAC"}
|
package/dist/src/channel.js
CHANGED
|
@@ -5,22 +5,57 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { createChatChannelPlugin, createChannelPluginBase, } from "openclaw/plugin-sdk/channel-core";
|
|
7
7
|
import { getWebSocket } from "./gateway.js";
|
|
8
|
+
/**
|
|
9
|
+
* 安装/配置向导 — 交互式提示用户输入 registrationToken
|
|
10
|
+
*/
|
|
11
|
+
const channelKey = "sumeclaw";
|
|
12
|
+
const setupWizard = {
|
|
13
|
+
channel: channelKey,
|
|
14
|
+
/** 根据当前配置显示连接状态 */
|
|
15
|
+
status: {
|
|
16
|
+
configuredLabel: "已连接友虾名片",
|
|
17
|
+
unconfiguredLabel: "尚未配置",
|
|
18
|
+
resolveConfigured: ({ cfg }) => {
|
|
19
|
+
const accounts = cfg.channels?.[channelKey]?.accounts ?? {};
|
|
20
|
+
return Object.values(accounts).some((acct) => acct?.registrationToken);
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
/** 交互式凭据收集 — 引导用户输入 registrationToken */
|
|
24
|
+
credentials: [
|
|
25
|
+
{
|
|
26
|
+
inputKey: "registrationToken",
|
|
27
|
+
credentialLabel: "友虾名片注册令牌",
|
|
28
|
+
preferredEnvVar: "SUMECLAW_REGISTRATION_TOKEN",
|
|
29
|
+
envPrompt: "是否使用环境变量 SUMECLAW_REGISTRATION_TOKEN?",
|
|
30
|
+
keepPrompt: "保留当前 registrationToken?",
|
|
31
|
+
inputPrompt: "请输入从友虾小程序获取的 registrationToken:",
|
|
32
|
+
inspect: ({ cfg, accountId }) => {
|
|
33
|
+
const token = cfg.channels?.[channelKey]?.accounts?.[accountId ?? "default"]?.registrationToken;
|
|
34
|
+
return {
|
|
35
|
+
accountConfigured: Boolean(token),
|
|
36
|
+
hasConfiguredValue: Boolean(token),
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
};
|
|
8
42
|
export const sumeclawPlugin = createChatChannelPlugin({
|
|
9
43
|
base: createChannelPluginBase({
|
|
10
|
-
id:
|
|
44
|
+
id: channelKey,
|
|
45
|
+
setupWizard,
|
|
11
46
|
setup: {
|
|
12
47
|
/**
|
|
13
48
|
* 从用户配置中解析账户信息
|
|
14
49
|
*/
|
|
15
50
|
resolveAccount(cfg, accountId) {
|
|
16
|
-
const accounts = cfg.channels?.
|
|
51
|
+
const accounts = cfg.channels?.[channelKey]?.accounts ?? {};
|
|
17
52
|
return (accounts[accountId ?? "default"] ?? {});
|
|
18
53
|
},
|
|
19
54
|
/**
|
|
20
55
|
* 检查账户配置状态
|
|
21
56
|
*/
|
|
22
57
|
inspectAccount(cfg, accountId) {
|
|
23
|
-
const account = cfg.channels?.
|
|
58
|
+
const account = cfg.channels?.[channelKey]?.accounts?.[accountId ?? "default"];
|
|
24
59
|
return {
|
|
25
60
|
enabled: !!account?.registrationToken,
|
|
26
61
|
configured: !!account?.registrationToken,
|
package/dist/src/channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "https://docs.openclaw.ai/schemas/openclaw.plugin.schema.json",
|
|
2
3
|
"id": "sumeclaw",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
"kind": "channel",
|
|
5
|
+
"channels": ["sumeclaw"],
|
|
6
|
+
"label": "友虾名片",
|
|
7
|
+
"blurb": "将 OpenClaw 连接到友虾名片平台,通过 AI 名片为客户提供服务。",
|
|
8
|
+
"channelConfigs": {
|
|
9
|
+
"sumeclaw": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"additionalProperties": false,
|
|
12
|
+
"properties": {
|
|
13
|
+
"registrationToken": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "从友虾小程序获取的注册令牌"
|
|
16
|
+
},
|
|
17
|
+
"platformUrl": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "友虾名片平台 WebSocket 地址,默认为 wss://api.gixin.cc"
|
|
20
|
+
},
|
|
21
|
+
"enabled": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "是否启用此通道",
|
|
24
|
+
"default": true
|
|
25
|
+
}
|
|
15
26
|
},
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
"description": "友虾名片平台 WebSocket 地址",
|
|
19
|
-
"default": "wss://api.gixin.cc"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"required": []
|
|
27
|
+
"required": ["registrationToken"]
|
|
28
|
+
}
|
|
23
29
|
}
|
|
24
30
|
}
|