@honor-claw/yoyo 1.6.1-beta.5 → 1.6.1-beta.7
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/modules/configs/config-manager.mjs +52 -53
- package/dist/modules/configs/index.mjs +1 -1
- package/dist/modules/configs/state-flags.mjs +3 -66
- package/dist/utils/home-dir.mjs +6 -6
- package/dist/utils/version.mjs +7 -7
- package/package.json +1 -1
- package/skills/yoyo-control/SKILL.md +0 -52
- package/skills/yoyo-control/configs/sub-skills.json +1 -67
|
@@ -3,14 +3,13 @@ import { getEnvFromProcessEnv as t } from "../../utils/env.mjs";
|
|
|
3
3
|
import { wrapError as n } from "../../utils/error.mjs";
|
|
4
4
|
import { useClawLogger as r } from "../../utils/logger.mjs";
|
|
5
5
|
import { detectProvidersToRename as i, updateProviderReferences as a } from "./provider.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { isBetaVersion as u } from "../../utils/version.mjs";
|
|
6
|
+
import { getYoyoRuntime as o } from "../../runtime.mjs";
|
|
7
|
+
import { isBetaVersion as s } from "../../utils/version.mjs";
|
|
9
8
|
//#region src/modules/configs/config-manager.ts
|
|
10
|
-
var
|
|
9
|
+
var c = "yoyo", l = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,alarm.enable,alarm.query,alarm.update,app.close,app.open,call.phone,call.search,capture-screenshot,contact.search,file-upload,hotspot,local-search,message.search,message.send,mobile-data,no-disturb,quiet-mode,ringing-mode,schedule.create,schedule.delete,schedule.search,schedule.update,screen-record,vibration-mode,volume.operate,wlan,bluetooth,location-service,nfc,usb-shared-network,eyecomfort,status-bar-show,brightness,autoscreen-onnotice,dark-mode,device-operation,camera,app.uninstall,audio-record,battery,gui.create,gui.pause,gui.terminate,mcp.tool.call,task_result_query".split(","), u = class {
|
|
11
10
|
loadConfig() {
|
|
12
11
|
try {
|
|
13
|
-
let e =
|
|
12
|
+
let e = o().config, t = e.current;
|
|
14
13
|
return typeof t == "function" ? structuredClone(t()) : structuredClone(e.loadConfig());
|
|
15
14
|
} catch (e) {
|
|
16
15
|
throw n(e, "Failed to load config");
|
|
@@ -18,7 +17,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
18
17
|
}
|
|
19
18
|
async saveConfig(e) {
|
|
20
19
|
try {
|
|
21
|
-
let t =
|
|
20
|
+
let t = o().config, n = t.replaceConfigFile;
|
|
22
21
|
if (typeof n == "function") {
|
|
23
22
|
await n({
|
|
24
23
|
nextConfig: e,
|
|
@@ -54,7 +53,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
54
53
|
}
|
|
55
54
|
getUserConfig() {
|
|
56
55
|
try {
|
|
57
|
-
return this.loadConfig().plugins?.entries?.[
|
|
56
|
+
return this.loadConfig().plugins?.entries?.[c]?.config?.user;
|
|
58
57
|
} catch (e) {
|
|
59
58
|
console.error(`[claw-configs] Failed to read user config: ${e}`);
|
|
60
59
|
return;
|
|
@@ -62,7 +61,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
62
61
|
}
|
|
63
62
|
getEnvInfo() {
|
|
64
63
|
try {
|
|
65
|
-
let e = this.loadConfig().plugins?.entries?.[
|
|
64
|
+
let e = this.loadConfig().plugins?.entries?.[c]?.config, n = e?.envInfo;
|
|
66
65
|
if (n?.env) return n;
|
|
67
66
|
let r = e?.env;
|
|
68
67
|
if (r) return {
|
|
@@ -86,7 +85,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
86
85
|
}
|
|
87
86
|
getGrayTag() {
|
|
88
87
|
try {
|
|
89
|
-
return this.loadConfig().plugins?.entries?.[
|
|
88
|
+
return this.loadConfig().plugins?.entries?.[c]?.config?.gray;
|
|
90
89
|
} catch (e) {
|
|
91
90
|
console.error(`[claw-configs] Failed to read gray tag config: ${e}`);
|
|
92
91
|
return;
|
|
@@ -94,7 +93,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
94
93
|
}
|
|
95
94
|
getDeviceConfig() {
|
|
96
95
|
try {
|
|
97
|
-
return this.loadConfig().plugins?.entries?.[
|
|
96
|
+
return this.loadConfig().plugins?.entries?.[c]?.config?.device;
|
|
98
97
|
} catch (e) {
|
|
99
98
|
console.error(`[claw-configs] Failed to read device config: ${e}`);
|
|
100
99
|
return;
|
|
@@ -102,17 +101,17 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
102
101
|
}
|
|
103
102
|
async updateDeviceConfig(e) {
|
|
104
103
|
try {
|
|
105
|
-
let t = this.loadConfig(), n = t.plugins?.entries?.[
|
|
104
|
+
let t = this.loadConfig(), n = t.plugins?.entries?.[c]?.config?.device || {}, r = {
|
|
106
105
|
...t,
|
|
107
106
|
plugins: {
|
|
108
107
|
...t.plugins,
|
|
109
108
|
entries: {
|
|
110
109
|
...t.plugins?.entries,
|
|
111
|
-
[
|
|
112
|
-
...t.plugins?.entries?.[
|
|
110
|
+
[c]: {
|
|
111
|
+
...t.plugins?.entries?.[c],
|
|
113
112
|
enabled: !0,
|
|
114
113
|
config: {
|
|
115
|
-
...t.plugins?.entries?.[
|
|
114
|
+
...t.plugins?.entries?.[c]?.config,
|
|
116
115
|
device: {
|
|
117
116
|
...n,
|
|
118
117
|
...e
|
|
@@ -135,11 +134,11 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
135
134
|
...t.plugins,
|
|
136
135
|
entries: {
|
|
137
136
|
...t.plugins?.entries,
|
|
138
|
-
[
|
|
139
|
-
...t.plugins?.entries?.[
|
|
137
|
+
[c]: {
|
|
138
|
+
...t.plugins?.entries?.[c],
|
|
140
139
|
enabled: !0,
|
|
141
140
|
config: {
|
|
142
|
-
...t.plugins?.entries?.[
|
|
141
|
+
...t.plugins?.entries?.[c]?.config,
|
|
143
142
|
envInfo: {
|
|
144
143
|
env: e,
|
|
145
144
|
source: "manual"
|
|
@@ -157,7 +156,7 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
157
156
|
}
|
|
158
157
|
async resetEnv() {
|
|
159
158
|
try {
|
|
160
|
-
let e = this.loadConfig(), t = e.plugins?.entries?.[
|
|
159
|
+
let e = this.loadConfig(), t = e.plugins?.entries?.[c]?.config?.envInfo;
|
|
161
160
|
if (!t?.env) return;
|
|
162
161
|
let n = {
|
|
163
162
|
...e,
|
|
@@ -165,11 +164,11 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
165
164
|
...e.plugins,
|
|
166
165
|
entries: {
|
|
167
166
|
...e.plugins?.entries,
|
|
168
|
-
[
|
|
169
|
-
...e.plugins?.entries?.[
|
|
167
|
+
[c]: {
|
|
168
|
+
...e.plugins?.entries?.[c],
|
|
170
169
|
enabled: !0,
|
|
171
170
|
config: {
|
|
172
|
-
...e.plugins?.entries?.[
|
|
171
|
+
...e.plugins?.entries?.[c]?.config,
|
|
173
172
|
envInfo: {
|
|
174
173
|
env: t.env,
|
|
175
174
|
source: "env"
|
|
@@ -192,11 +191,11 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
192
191
|
...t.plugins,
|
|
193
192
|
entries: {
|
|
194
193
|
...t.plugins?.entries,
|
|
195
|
-
[
|
|
196
|
-
...t.plugins?.entries?.[
|
|
194
|
+
[c]: {
|
|
195
|
+
...t.plugins?.entries?.[c],
|
|
197
196
|
enabled: !0,
|
|
198
197
|
config: {
|
|
199
|
-
...t.plugins?.entries?.[
|
|
198
|
+
...t.plugins?.entries?.[c]?.config,
|
|
200
199
|
...e && { gray: e }
|
|
201
200
|
}
|
|
202
201
|
}
|
|
@@ -216,11 +215,11 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
216
215
|
...t.plugins,
|
|
217
216
|
entries: {
|
|
218
217
|
...t.plugins?.entries,
|
|
219
|
-
[
|
|
220
|
-
...t.plugins?.entries?.[
|
|
218
|
+
[c]: {
|
|
219
|
+
...t.plugins?.entries?.[c],
|
|
221
220
|
enabled: !0,
|
|
222
221
|
config: {
|
|
223
|
-
...t.plugins?.entries?.[
|
|
222
|
+
...t.plugins?.entries?.[c]?.config,
|
|
224
223
|
user: e
|
|
225
224
|
}
|
|
226
225
|
}
|
|
@@ -240,10 +239,10 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
240
239
|
...e.plugins,
|
|
241
240
|
entries: {
|
|
242
241
|
...e.plugins?.entries,
|
|
243
|
-
[
|
|
244
|
-
...e.plugins?.entries?.[
|
|
242
|
+
[c]: {
|
|
243
|
+
...e.plugins?.entries?.[c],
|
|
245
244
|
config: {
|
|
246
|
-
...e.plugins?.entries?.[
|
|
245
|
+
...e.plugins?.entries?.[c]?.config,
|
|
247
246
|
user: void 0
|
|
248
247
|
}
|
|
249
248
|
}
|
|
@@ -255,28 +254,28 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
255
254
|
throw n(e, "Failed to clear user config");
|
|
256
255
|
}
|
|
257
256
|
}
|
|
258
|
-
async initializePluginConfig(
|
|
257
|
+
async initializePluginConfig(o) {
|
|
259
258
|
try {
|
|
260
|
-
let n = this.loadConfig(),
|
|
261
|
-
env:
|
|
259
|
+
let n = this.loadConfig(), c = n.skills || {}, u = c.load || {}, d = u.watch === !1, f = n.plugins?.allow || [], p = !f.includes(o), m = f.includes(o) ? f : [...f, o], h = n.gateway?.nodes?.allowCommands || [], g = Array.from(new Set([...h, ...l])), _ = !e(h, g), v = !d, y = n.plugins?.entries?.[o]?.config?.envInfo, b = n.plugins?.entries?.[o]?.config?.env, x = !!(y?.env || b), S = t(), C = !!y?.env && y.source === "env", w = !y?.env && !!b || C && S && y.env !== S, T = !x || w, E = {
|
|
260
|
+
env: S || b || (s() ? "test" : "production"),
|
|
262
261
|
source: "env"
|
|
263
|
-
},
|
|
264
|
-
...
|
|
265
|
-
envInfo:
|
|
262
|
+
}, D = n.plugins?.entries?.[o]?.config || {}, O = T ? {
|
|
263
|
+
...D,
|
|
264
|
+
envInfo: E,
|
|
266
265
|
env: void 0
|
|
267
|
-
} :
|
|
268
|
-
if (
|
|
269
|
-
let
|
|
266
|
+
} : D, k = n.plugins?.entries?.[o]?.enabled !== !0, A = i(n), j = Object.keys(A).length > 0;
|
|
267
|
+
if (j && r().info(`[claw-configs] Found ${Object.keys(A).length} providers to rename: ${Object.entries(A).map(([e, t]) => `${e} -> ${t}`).join(", ")}`), !p && !_ && !v && !T && !k && !j) return;
|
|
268
|
+
let M = {
|
|
270
269
|
...n,
|
|
271
270
|
plugins: {
|
|
272
271
|
...n.plugins,
|
|
273
|
-
allow:
|
|
272
|
+
allow: m,
|
|
274
273
|
entries: {
|
|
275
274
|
...n.plugins?.entries,
|
|
276
|
-
[
|
|
277
|
-
...n.plugins?.entries?.[
|
|
275
|
+
[o]: {
|
|
276
|
+
...n.plugins?.entries?.[o],
|
|
278
277
|
enabled: !0,
|
|
279
|
-
config:
|
|
278
|
+
config: O
|
|
280
279
|
}
|
|
281
280
|
}
|
|
282
281
|
},
|
|
@@ -284,27 +283,27 @@ var d = "yoyo", f = /* @__PURE__ */ "alarm.create,alarm.delete,alarm.disable,ala
|
|
|
284
283
|
...n.gateway,
|
|
285
284
|
nodes: {
|
|
286
285
|
...n.gateway?.nodes,
|
|
287
|
-
allowCommands:
|
|
286
|
+
allowCommands: g
|
|
288
287
|
}
|
|
289
288
|
}
|
|
290
289
|
};
|
|
291
|
-
|
|
292
|
-
...
|
|
290
|
+
v && (M = {
|
|
291
|
+
...M,
|
|
293
292
|
skills: {
|
|
294
|
-
...
|
|
293
|
+
...c,
|
|
295
294
|
load: {
|
|
296
|
-
...
|
|
295
|
+
...u,
|
|
297
296
|
watch: !1
|
|
298
297
|
}
|
|
299
298
|
}
|
|
300
|
-
}, r().info("[claw-configs] Disabled skills.load.watch for yoyo
|
|
299
|
+
}, r().info("[claw-configs] Disabled skills.load.watch for yoyo")), j && (M = a(M, A), r().info("[claw-configs] Provider renaming completed")), await this.saveConfig(M);
|
|
301
300
|
} catch (e) {
|
|
302
301
|
throw n(e, "failed to initialize plugin config");
|
|
303
302
|
}
|
|
304
303
|
}
|
|
305
|
-
},
|
|
306
|
-
function
|
|
307
|
-
return
|
|
304
|
+
}, d = null;
|
|
305
|
+
function f() {
|
|
306
|
+
return d ||= new u(), d;
|
|
308
307
|
}
|
|
309
308
|
//#endregion
|
|
310
|
-
export {
|
|
309
|
+
export { u as ConfigManager, f as getConfigManager };
|
|
@@ -1,66 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import a from "node:path";
|
|
5
|
-
//#region src/modules/configs/state-flags.ts
|
|
6
|
-
var o = { DISABLE_SKILLS_LOAD_WATCH_MIGRATION_DONE: "disableSkillsLoadWatchMigrationDone" }, s = ".openclaw", c = "yoyo", l = "state.json", u = 64 * 1024;
|
|
7
|
-
function d() {
|
|
8
|
-
return a.join(s, c, l);
|
|
9
|
-
}
|
|
10
|
-
async function f(r) {
|
|
11
|
-
try {
|
|
12
|
-
let e = await n({
|
|
13
|
-
rootDir: r,
|
|
14
|
-
relativePath: d(),
|
|
15
|
-
maxBytes: u
|
|
16
|
-
});
|
|
17
|
-
return v(JSON.parse(e.buffer.toString("utf8")));
|
|
18
|
-
} catch (n) {
|
|
19
|
-
return n instanceof t && n.code === "not-found" || e().warn(`[yoyo-state] failed to read state: ${String(n)}`), null;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
async function p() {
|
|
23
|
-
let t = i();
|
|
24
|
-
return t ? f(t) : (e().warn("[yoyo-state] failed to find home dir"), null);
|
|
25
|
-
}
|
|
26
|
-
async function m(t) {
|
|
27
|
-
let n = i();
|
|
28
|
-
if (!n) return e().warn("[yoyo-state] failed to find home dir"), null;
|
|
29
|
-
let a = {
|
|
30
|
-
...await f(n) ?? _(),
|
|
31
|
-
version: 1
|
|
32
|
-
};
|
|
33
|
-
return t.flags && (a.flags = {
|
|
34
|
-
...a.flags,
|
|
35
|
-
...y(t.flags)
|
|
36
|
-
}), await r({
|
|
37
|
-
rootDir: n,
|
|
38
|
-
relativePath: d(),
|
|
39
|
-
data: JSON.stringify(a, null, 2),
|
|
40
|
-
encoding: "utf8",
|
|
41
|
-
mkdir: !0
|
|
42
|
-
}), a;
|
|
43
|
-
}
|
|
44
|
-
async function h(e) {
|
|
45
|
-
return (await p())?.flags?.[e] === !0;
|
|
46
|
-
}
|
|
47
|
-
async function g(e) {
|
|
48
|
-
return m({ flags: { [e]: !0 } });
|
|
49
|
-
}
|
|
50
|
-
function _() {
|
|
51
|
-
return { version: 1 };
|
|
52
|
-
}
|
|
53
|
-
function v(e) {
|
|
54
|
-
return !e || typeof e != "object" || Array.isArray(e) ? _() : {
|
|
55
|
-
..._(),
|
|
56
|
-
flags: y(e.flags)
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
function y(e) {
|
|
60
|
-
if (!e || typeof e != "object" || Array.isArray(e)) return;
|
|
61
|
-
let t = {};
|
|
62
|
-
for (let [n, r] of Object.entries(e)) typeof r == "boolean" && (t[n] = r);
|
|
63
|
-
return Object.keys(t).length > 0 ? t : void 0;
|
|
64
|
-
}
|
|
65
|
-
//#endregion
|
|
66
|
-
export { o as STATE_FLAG, p as getPersistedPluginState, h as hasPersistedStateFlag, g as markPersistedStateFlag, m as updatePersistedPluginState };
|
|
1
|
+
import "../../utils/fs-safe.mjs";
|
|
2
|
+
import "../../utils/home-dir.mjs";
|
|
3
|
+
import "node:path";
|
package/dist/utils/home-dir.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { findPackageRoot as e } from "./package-json.mjs";
|
|
2
2
|
import t from "node:path";
|
|
3
|
-
import n from "node:
|
|
4
|
-
import
|
|
3
|
+
import { fileURLToPath as n } from "node:url";
|
|
4
|
+
import r from "node:os";
|
|
5
5
|
//#region src/utils/home-dir.ts
|
|
6
6
|
function i(e) {
|
|
7
7
|
return e?.trim() || void 0;
|
|
8
8
|
}
|
|
9
|
-
function a(
|
|
10
|
-
return e(
|
|
9
|
+
function a(r = import.meta.url) {
|
|
10
|
+
return e(r) ?? t.parse(n(r)).root;
|
|
11
11
|
}
|
|
12
|
-
function o(e = process.env,
|
|
13
|
-
let i = s(e,
|
|
12
|
+
function o(e = process.env, n = r.homedir) {
|
|
13
|
+
let i = s(e, n);
|
|
14
14
|
return i ? t.resolve(i) : void 0;
|
|
15
15
|
}
|
|
16
16
|
function s(e, t) {
|
package/dist/utils/version.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getYoyoRuntime as e } from "../runtime.mjs";
|
|
2
|
+
import { findPackageRoot as t, readPackageJson as n } from "./package-json.mjs";
|
|
3
3
|
//#region src/utils/version.ts
|
|
4
4
|
var r = "@honor-claw/yoyo", i = 3;
|
|
5
5
|
function a() {
|
|
6
6
|
try {
|
|
7
|
-
let
|
|
8
|
-
return o(
|
|
7
|
+
let t = e().version;
|
|
8
|
+
return o(t);
|
|
9
9
|
} catch {
|
|
10
10
|
return i;
|
|
11
11
|
}
|
|
@@ -48,9 +48,9 @@ function d() {
|
|
|
48
48
|
}
|
|
49
49
|
function f() {
|
|
50
50
|
try {
|
|
51
|
-
let
|
|
52
|
-
if (!
|
|
53
|
-
let i =
|
|
51
|
+
let e = t(import.meta.url, r);
|
|
52
|
+
if (!e) return "0.0.0";
|
|
53
|
+
let i = n(e)?.version;
|
|
54
54
|
if (typeof i == "string") return i;
|
|
55
55
|
} catch {}
|
|
56
56
|
return "0.0.0";
|
package/package.json
CHANGED
|
@@ -90,59 +90,7 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
|
|
|
90
90
|
|
|
91
91
|
| 所需 Caps | 参考文件 | 工具说明 |
|
|
92
92
|
| --------------------- | ---------------------------------------- | ------------------------------------ |
|
|
93
|
-
| `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理 |
|
|
94
|
-
| `hotspot` | `references/hotspot.md` | 个人热点开启与关闭 |
|
|
95
|
-
| `volume` | `references/volume-operate.md` | 音量调节与管理(媒体、通话、通知等) |
|
|
96
|
-
| `no-disturb` | `references/no-disturb.md` | 免打扰模式管理 |
|
|
97
|
-
| `screen-record` | `references/screen-record.md` | 屏幕录制管理与控制 |
|
|
98
|
-
| `quiet-mode` | `references/quiet-mode.md` | 静音模式管理 |
|
|
99
|
-
| `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理 |
|
|
100
|
-
| `vibration-mode` | `references/vibration-mode.md` | 震动反馈管理 |
|
|
101
|
-
| `capture-screenshot` | `references/capture-screenshot.md` | 截屏(普通/滚动) |
|
|
102
|
-
| `app` | `references/app-open.md` | 打开应用 |
|
|
103
|
-
| `app` | `references/app-close.md` | 关闭应用 |
|
|
104
|
-
| `app` | `references/app-uninstall.md` | 卸载应用 |
|
|
105
|
-
| `contact` | `references/contact-search.md` | 联系人查找(姓名、号码、模糊匹配) |
|
|
106
|
-
| `call` | `references/call-phone.md` | 拨打电话(姓名/号码/重拨/回拨) |
|
|
107
|
-
| `call` | `references/call-search.md` | 通话记录查询 |
|
|
108
|
-
| `message` | `references/message-send.md` | 发送短信 |
|
|
109
|
-
| `message` | `references/message-search.md` | 短信查询 |
|
|
110
|
-
| `local-search` | `references/local-search.md` | 本地搜索(文档、笔记、日程、图库等) |
|
|
111
|
-
| `task-result-query` | `references/task-result-query.md` | 任务结果查询(轮询获取异步任务结果) |
|
|
112
93
|
| `file-upload` | `references/file-upload.md` | 文件上传 |
|
|
113
|
-
| `alarm` | `references/alarm-create.md` | 创建闹钟 |
|
|
114
|
-
| `alarm` | `references/alarm-query.md` | 查询闹钟 |
|
|
115
|
-
| `alarm` | `references/alarm-delete.md` | 删除闹钟 |
|
|
116
|
-
| `alarm` | `references/alarm-disable.md` | 关闭闹钟 |
|
|
117
|
-
| `alarm` | `references/alarm-enable.md` | 打开闹钟 |
|
|
118
|
-
| `schedule` | `references/schedule-create.md` | 创建日程 |
|
|
119
|
-
| `schedule` | `references/schedule-search.md` | 查询日程 |
|
|
120
|
-
| `schedule` | `references/schedule-delete.md` | 删除日程 |
|
|
121
|
-
| `schedule` | `references/schedule-update.md` | 修改日程 |
|
|
122
|
-
| `wlan` | `references/wlan.md` | WLAN/WiFi 管理 |
|
|
123
|
-
| `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理 |
|
|
124
|
-
| `location-service` | `references/location-service.md` | 定位服务管理 |
|
|
125
|
-
| `nfc` | `references/nfc.md` | NFC 管理 |
|
|
126
|
-
| `usb-shared-network` | `references/usb-shared-network.md` | USB 共享网络管理 |
|
|
127
|
-
| `eyecomfort` | `references/eye-comfort.md` | 护眼模式管理 |
|
|
128
|
-
| `brightness` | `references/brightness.md` | 屏幕亮度管理 |
|
|
129
|
-
| `dark-mode` | `references/dark-mode.md` | 深色模式管理 |
|
|
130
|
-
| `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制 |
|
|
131
|
-
| `status-bar-show` | `references/status-bar-show.md` | 状态栏显示管理 |
|
|
132
|
-
| `autoscreen-onnotice` | `references/autoscreen-onnotice.md` | 通知自动亮屏管理 |
|
|
133
|
-
| `battery` | `references/battery.md` | 电量与省电模式管理 |
|
|
134
|
-
| `audio-record` | `references/audio-record.md` | 录音管理 |
|
|
135
|
-
| `camera` | `references/camera.md` | 相机控制(拍照/录像),不支持手电筒相关的操作。 |
|
|
136
|
-
| `gui` | `references/gui-task-create.md` | 启动 GUI 操作任务(UI Agent),只有当用户明确要求在指定 App 内执行指定动作时才使用。如果用户没有提供应用名,严禁使用本工具。|
|
|
137
|
-
| `gui` | `references/gui-task-terminate.md` | 取消 GUI 任务 |
|
|
138
|
-
| `gui` | `references/gui-task-pause.md` | 暂停 GUI 任务 |
|
|
139
|
-
| `scan-code` | `references/scan-code.md` | 扫码(二维码/条形码) |
|
|
140
|
-
| `flashlight` | `references/flashlight.md` | 手电筒控制 |
|
|
141
|
-
| `airplane-mode` | `references/airplane-mode.md` | 飞行模式管理 |
|
|
142
|
-
| `clean-dirty` | `references/clean-dirty.md` | 扬声器清理 |
|
|
143
|
-
| `express` | `references/express-logistics-search.md` | 快递查询 |
|
|
144
|
-
| `countdown-timer` | `references/countdown-timer.md` | 倒计时计时器管理 |
|
|
145
|
-
| `desktop` | `references/desktop.md` | 手机桌面管理,支持查询桌面布局、打开桌面设置页,并对风格、应用角标、桌面图标、快捷方式、搜索入口、应用名称、通透模式与布局等进行配置。 |
|
|
146
94
|
|
|
147
95
|
### 2.3 MCP 工具查找流程
|
|
148
96
|
|
|
@@ -1,69 +1,3 @@
|
|
|
1
1
|
[
|
|
2
|
-
"
|
|
3
|
-
"hotspot",
|
|
4
|
-
"volume",
|
|
5
|
-
"no_disturb",
|
|
6
|
-
"screen_recorder",
|
|
7
|
-
"quiet_mode",
|
|
8
|
-
"ringing_mode",
|
|
9
|
-
"vibration_mode",
|
|
10
|
-
"capture_screenshot",
|
|
11
|
-
"open_app",
|
|
12
|
-
"close_app",
|
|
13
|
-
"uninstall_app",
|
|
14
|
-
"contact_search",
|
|
15
|
-
"call",
|
|
16
|
-
"call_search",
|
|
17
|
-
"send_message",
|
|
18
|
-
"search_message",
|
|
19
|
-
"local_search",
|
|
20
|
-
"file_upload",
|
|
21
|
-
"create_alarm",
|
|
22
|
-
"query_alarm",
|
|
23
|
-
"delete_alarm",
|
|
24
|
-
"disable_alarm",
|
|
25
|
-
"enable_alarm",
|
|
26
|
-
"create_schedule",
|
|
27
|
-
"search_schedule",
|
|
28
|
-
"delete_schedule",
|
|
29
|
-
"update_schedule",
|
|
30
|
-
"wlan",
|
|
31
|
-
"bluetooth",
|
|
32
|
-
"location_service",
|
|
33
|
-
"nfc",
|
|
34
|
-
"usb_shared_network",
|
|
35
|
-
"eye_comfort",
|
|
36
|
-
"brightness",
|
|
37
|
-
"dark_mode",
|
|
38
|
-
"device_operation",
|
|
39
|
-
"status_bar_show",
|
|
40
|
-
"autoscreen_onnotice",
|
|
41
|
-
"battery",
|
|
42
|
-
"record",
|
|
43
|
-
"camera",
|
|
44
|
-
"gui_task_create",
|
|
45
|
-
"gui_task_terminate",
|
|
46
|
-
"gui_task_pause",
|
|
47
|
-
"scan_code",
|
|
48
|
-
"flashlight",
|
|
49
|
-
"airplane_mode",
|
|
50
|
-
"clean_dirty",
|
|
51
|
-
"express_logistics_search",
|
|
52
|
-
"desktop",
|
|
53
|
-
"createTimer",
|
|
54
|
-
"queryTimer",
|
|
55
|
-
"pauseTimer",
|
|
56
|
-
"resumeTimer",
|
|
57
|
-
"restartTimer",
|
|
58
|
-
"cancelTimer",
|
|
59
|
-
"task_result_query",
|
|
60
|
-
"cancel_countdown_timer",
|
|
61
|
-
"check_countdown_timer",
|
|
62
|
-
"close_countdown_timer",
|
|
63
|
-
"create_countdown_timer",
|
|
64
|
-
"express_logistics_query",
|
|
65
|
-
"open_countdown_timer",
|
|
66
|
-
"pause_countdown_timer",
|
|
67
|
-
"restart_countdown_timer",
|
|
68
|
-
"resume_countdown_timer"
|
|
2
|
+
"file_upload"
|
|
69
3
|
]
|