-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpinokio.js
More file actions
74 lines (70 loc) · 1.88 KB
/
Copy pathpinokio.js
File metadata and controls
74 lines (70 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const path = require('path')
module.exports = {
version: "1.0.1",
title: "OpenClaw",
description: "OpenClaw (formerly ClawdBot) - Personal AI Assistant",
icon: "icon.png",
menu: async (kernel, info) => {
let installing = info.running("install.js")
let running = info.running("start.js")
let updating = info.running("update.js")
// Better detection for globally installed npm package
let installed = false
try {
installed = await kernel.shell.run({
message: "openclaw --version",
silent: true
}).then(() => true).catch(() => false)
} catch (e) {}
if (installing) {
return [{
default: true,
icon: "fa-solid fa-plug",
text: "Installing OpenClaw...",
href: "install.js",
}]
}
else if (running) {
let local = kernel.memory.local[path.resolve(__dirname, "start.js")]
return [{
default: true,
popout: true,
icon: "fa-solid fa-rocket",
text: "Open OpenClaw Dashboard",
href: local?.url || "#",
}, {
icon: "fa-solid fa-terminal",
text: "Terminal",
href: "start.js",
}, {
icon: "fa-solid fa-arrows-rotate",
text: "Update",
href: "update.js",
}]
}
else if (installed) {
return [{
default: true,
icon: "fa-solid fa-power-off",
text: "Start OpenClaw",
href: "start.js",
}, {
icon: "fa-solid fa-arrows-rotate",
text: "Update OpenClaw",
href: "update.js",
}, {
icon: "fa-solid fa-plug",
text: "Reinstall",
href: "install.js",
}]
}
else {
return [{
default: true,
icon: "fa-solid fa-plug",
text: "Install OpenClaw",
href: "install.js",
}]
}
}
}