jishushell 0.5.15 → 0.5.22
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/Dockerfile.hermes-slim +2 -5
- package/apps/filebrowser-container.yaml +1 -0
- package/apps/ollama-binary.yaml +44 -0
- package/apps/ollama-with-hollama-binary.yaml +45 -1
- package/dist/cli/doctor.js +144 -16
- package/dist/cli/doctor.js.map +1 -1
- package/dist/install.js +1 -1
- package/dist/install.js.map +1 -1
- package/dist/routes/instances.js +42 -5
- package/dist/routes/instances.js.map +1 -1
- package/dist/routes/llm.js +29 -0
- package/dist/routes/llm.js.map +1 -1
- package/dist/server.js +18 -4
- package/dist/server.js.map +1 -1
- package/dist/services/agent-apps/catalog.d.ts +3 -0
- package/dist/services/agent-apps/catalog.js +40 -13
- package/dist/services/agent-apps/catalog.js.map +1 -1
- package/dist/services/agent-apps/installers/shell-script.d.ts +1 -1
- package/dist/services/agent-apps/installers/shell-script.js +19 -2
- package/dist/services/agent-apps/installers/shell-script.js.map +1 -1
- package/dist/services/agent-apps/types.d.ts +3 -0
- package/dist/services/app/app-manager.d.ts +8 -0
- package/dist/services/app/app-manager.js +77 -3
- package/dist/services/app/app-manager.js.map +1 -1
- package/dist/services/app/openclaw-manager.js +17 -2
- package/dist/services/app/openclaw-manager.js.map +1 -1
- package/dist/services/backup-manager.js +43 -4
- package/dist/services/backup-manager.js.map +1 -1
- package/dist/services/capability-endpoint-validator.js +26 -7
- package/dist/services/capability-endpoint-validator.js.map +1 -1
- package/dist/services/instance-manager.js +89 -9
- package/dist/services/instance-manager.js.map +1 -1
- package/dist/services/llm-proxy/index.d.ts +28 -0
- package/dist/services/llm-proxy/index.js +76 -3
- package/dist/services/llm-proxy/index.js.map +1 -1
- package/dist/services/llm-proxy/validate-key.d.ts +41 -0
- package/dist/services/llm-proxy/validate-key.js +672 -0
- package/dist/services/llm-proxy/validate-key.js.map +1 -0
- package/dist/services/macos-launchd.d.ts +89 -0
- package/dist/services/macos-launchd.js +273 -0
- package/dist/services/macos-launchd.js.map +1 -0
- package/dist/services/nomad-manager.d.ts +7 -0
- package/dist/services/nomad-manager.js +290 -79
- package/dist/services/nomad-manager.js.map +1 -1
- package/dist/services/panel-manager.js +20 -10
- package/dist/services/panel-manager.js.map +1 -1
- package/dist/services/runtime/adapters/custom.js +56 -0
- package/dist/services/runtime/adapters/custom.js.map +1 -1
- package/dist/services/runtime/adapters/hermes.d.ts +4 -3
- package/dist/services/runtime/adapters/hermes.js +165 -63
- package/dist/services/runtime/adapters/hermes.js.map +1 -1
- package/dist/services/runtime/adapters/openclaw.d.ts +28 -0
- package/dist/services/runtime/adapters/openclaw.js +502 -4
- package/dist/services/runtime/adapters/openclaw.js.map +1 -1
- package/dist/services/setup-manager.js +97 -50
- package/dist/services/setup-manager.js.map +1 -1
- package/dist/services/update-manager.js +32 -14
- package/dist/services/update-manager.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/install/jishu-install.sh +247 -35
- package/install/jishu-uninstall.sh +45 -5
- package/package.json +5 -2
- package/public/assets/ApiKeyField-CvyAOcJS.js +1 -0
- package/public/assets/Dashboard-AuJESBlJ.js +1 -0
- package/public/assets/{HermesChatPanel-B_2HlVBQ.js → HermesChatPanel-CByPREwb.js} +1 -1
- package/public/assets/HermesConfigForm-DRda8FKX.js +4 -0
- package/public/assets/InitPassword-ka4wNpM5.js +1 -0
- package/public/assets/InstanceDetail-Cg1nS8HX.js +92 -0
- package/public/assets/Login-aPajuQzf.js +1 -0
- package/public/assets/NewInstance-Dd1ebNIx.js +1 -0
- package/public/assets/ProviderRecommendations-DFmADQ7V.js +1 -0
- package/public/assets/Settings-BYQnbLYL.js +1 -0
- package/public/assets/Setup-D05lwDOV.js +1 -0
- package/public/assets/WeixinLoginPanel-D89kdhP4.js +9 -0
- package/public/assets/index-HSXCsceK.css +1 -0
- package/public/assets/{index-BZc5zH7u.js → index-bnBu0nlQ.js} +7 -7
- package/public/assets/registry-C_qeFTkZ.js +2 -0
- package/public/assets/usePolling-Bn93fe7M.js +1 -0
- package/public/assets/{vendor-i18n-y9V7Sfuu.js → vendor-i18n-flxcMVeP.js} +2 -2
- package/public/assets/{vendor-react-BWrEVJVb.js → vendor-react-ZC5T_huj.js} +1 -1
- package/public/index.html +4 -4
- package/scripts/check-colima-launchd.mjs +230 -0
- package/public/assets/Dashboard-BdWPtroF.js +0 -1
- package/public/assets/HermesConfigForm-DVlhg3WV.js +0 -4
- package/public/assets/InitPassword-D7glTExX.js +0 -1
- package/public/assets/InstanceDetail-CxSy2cpe.js +0 -92
- package/public/assets/Login-Cfr5c2sv.js +0 -1
- package/public/assets/NewInstance-BIYDmJis.js +0 -1
- package/public/assets/ProviderRecommendations-BuRnvRcI.js +0 -1
- package/public/assets/Settings-Cc-tYBil.js +0 -1
- package/public/assets/Setup-lGZEk5jq.js +0 -1
- package/public/assets/WeixinLoginPanel-CoGqzxeV.js +0 -9
- package/public/assets/index-87IJXG-w.css +0 -1
- package/public/assets/input-paste-CrNVAyOy.js +0 -1
- package/public/assets/providers-DtNXh9JD.js +0 -1
- package/public/assets/registry-BWnkJgZ1.js +0 -2
- package/public/assets/usePolling-CwwT9KrC.js +0 -1
|
@@ -17,12 +17,37 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
17
17
|
const CLI_PATH = join(dirname(__filename), "../cli.js");
|
|
18
18
|
const UPDATE_STATE_FILE = join(JISHUSHELL_HOME, "update-state.json");
|
|
19
19
|
const UPDATE_RESTART_TIMEOUT_MS = 5 * 60_000;
|
|
20
|
+
const DEFAULT_PROCESS_PATH_ENTRIES = [
|
|
21
|
+
"/opt/homebrew/bin",
|
|
22
|
+
"/opt/homebrew/sbin",
|
|
23
|
+
"/usr/local/bin",
|
|
24
|
+
"/usr/local/sbin",
|
|
25
|
+
"/usr/bin",
|
|
26
|
+
"/bin",
|
|
27
|
+
"/usr/sbin",
|
|
28
|
+
"/sbin",
|
|
29
|
+
];
|
|
20
30
|
// ── Internal helpers ───────────────────────────────────────────────────────
|
|
21
31
|
let _updateCache = null;
|
|
22
32
|
const UPDATE_CACHE_TTL = 30_000;
|
|
23
33
|
function getNpmBinPath() {
|
|
24
34
|
return join(dirname(process.execPath), "npm");
|
|
25
35
|
}
|
|
36
|
+
function buildNodeProcessPath(basePath) {
|
|
37
|
+
return [dirname(process.execPath), basePath ?? "", ...DEFAULT_PROCESS_PATH_ENTRIES]
|
|
38
|
+
.flatMap((entry) => entry.split(":"))
|
|
39
|
+
.map((entry) => entry.trim())
|
|
40
|
+
.filter(Boolean)
|
|
41
|
+
.filter((entry, index, entries) => entries.indexOf(entry) === index)
|
|
42
|
+
.join(":");
|
|
43
|
+
}
|
|
44
|
+
function buildNodeProcessEnv(extraEnv = {}) {
|
|
45
|
+
return {
|
|
46
|
+
...process.env,
|
|
47
|
+
...extraEnv,
|
|
48
|
+
PATH: buildNodeProcessPath(process.env.PATH),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
26
51
|
function getCurrentPackageVersion() {
|
|
27
52
|
try {
|
|
28
53
|
const pkgPath = join(dirname(fileURLToPath(import.meta.url)), "../../package.json");
|
|
@@ -70,6 +95,7 @@ export function getInstalledGlobalVersion() {
|
|
|
70
95
|
encoding: "utf-8",
|
|
71
96
|
timeout: 5000,
|
|
72
97
|
stdio: ["ignore", "pipe", "ignore"],
|
|
98
|
+
env: buildNodeProcessEnv(),
|
|
73
99
|
}).trim();
|
|
74
100
|
if (!npmRoot)
|
|
75
101
|
return getCurrentPackageVersion();
|
|
@@ -121,10 +147,8 @@ export function startBackgroundUpgrade(info) {
|
|
|
121
147
|
updatedAt: Date.now(),
|
|
122
148
|
message: `Updating JishuShell to ${info.latestVersion}`,
|
|
123
149
|
});
|
|
124
|
-
const nodeBinDir = dirname(process.execPath);
|
|
125
150
|
const childEnv = {
|
|
126
|
-
...
|
|
127
|
-
PATH: `${nodeBinDir}${process.env.PATH ? `:${process.env.PATH}` : ""}`,
|
|
151
|
+
...buildNodeProcessEnv(),
|
|
128
152
|
JISHUSHELL_WEB_UPDATE: "1",
|
|
129
153
|
JISHUSHELL_UPDATE_CURRENT_VERSION: info.currentVersion,
|
|
130
154
|
JISHUSHELL_UPDATE_TARGET_VERSION: info.latestVersion,
|
|
@@ -208,7 +232,9 @@ function getNpmRegistryUrl() {
|
|
|
208
232
|
return panelReg.trim().replace(/\/+$/, "");
|
|
209
233
|
try {
|
|
210
234
|
const reg = execFileSync(getNpmBinPath(), ["config", "get", "registry"], {
|
|
211
|
-
encoding: "utf-8",
|
|
235
|
+
encoding: "utf-8",
|
|
236
|
+
timeout: 5000,
|
|
237
|
+
env: buildNodeProcessEnv(),
|
|
212
238
|
}).trim();
|
|
213
239
|
if (reg && reg !== "undefined")
|
|
214
240
|
return reg.replace(/\/+$/, "");
|
|
@@ -263,12 +289,8 @@ export async function checkUpdate() {
|
|
|
263
289
|
* Throws on failure; returns trimmed npm stdout on success.
|
|
264
290
|
*/
|
|
265
291
|
export async function upgradePackage() {
|
|
266
|
-
const nodeBinDir = dirname(process.execPath);
|
|
267
292
|
const npmBin = getNpmBinPath();
|
|
268
|
-
const childEnv =
|
|
269
|
-
...process.env,
|
|
270
|
-
PATH: `${nodeBinDir}${process.env.PATH ? `:${process.env.PATH}` : ""}`,
|
|
271
|
-
};
|
|
293
|
+
const childEnv = buildNodeProcessEnv();
|
|
272
294
|
// JISHU_RUNNING_IN_INSTALLER=1 tells post-install.sh it is managed by a
|
|
273
295
|
// parent installer and should skip the interactive sudo / TTY checks,
|
|
274
296
|
// do only the minimal wrapper+service update, then exit 0. This works
|
|
@@ -293,11 +315,7 @@ export async function upgradePackage() {
|
|
|
293
315
|
* The spawned child outlives the current process (useful after upgrade).
|
|
294
316
|
*/
|
|
295
317
|
export function scheduleRestart(delayMs = 2000) {
|
|
296
|
-
const
|
|
297
|
-
const childEnv = {
|
|
298
|
-
...process.env,
|
|
299
|
-
PATH: `${nodeBinDir}${process.env.PATH ? `:${process.env.PATH}` : ""}`,
|
|
300
|
-
};
|
|
318
|
+
const childEnv = buildNodeProcessEnv();
|
|
301
319
|
const delaySecs = Math.max(1, Math.round(delayMs / 1000));
|
|
302
320
|
const child = spawn("sh", ["-c", `sleep ${delaySecs} && exec ${JSON.stringify(process.execPath)} ${JSON.stringify(CLI_PATH)} restart`], { detached: true, stdio: "ignore", env: childEnv });
|
|
303
321
|
child.unref();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-manager.js","sourceRoot":"","sources":["../../src/services/update-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update-manager.js","sourceRoot":"","sources":["../../src/services/update-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/install/jishu-install.sh
CHANGED
|
@@ -239,6 +239,9 @@ AUTO_YES="${AUTO_YES:-0}"
|
|
|
239
239
|
DOCKER_CMD_PREFIX="" # Set to "sg docker -c" when group activated via sg
|
|
240
240
|
DOCKER_GROUP_JUST_ADDED=0 # 1 if usermod was called this run
|
|
241
241
|
DOCKER_USE_SUDO=0 # 1 if sudo docker should be used as fallback
|
|
242
|
+
ENABLE_AUTOLOGIN="${ENABLE_AUTOLOGIN:-0}" # opt-in: writes /etc/kcpassword
|
|
243
|
+
NO_AUTOLOGIN=0 # explicit --no-autologin override
|
|
244
|
+
AUTOLOGIN_PASSWORD="${AUTOLOGIN_PASSWORD:-}" # env-overridable; or --autologin-password
|
|
242
245
|
|
|
243
246
|
PKG_UPDATED=0
|
|
244
247
|
|
|
@@ -1088,7 +1091,7 @@ install_docker() {
|
|
|
1088
1091
|
local need_brew=0
|
|
1089
1092
|
local need_profile=0
|
|
1090
1093
|
|
|
1091
|
-
if
|
|
1094
|
+
if [[ "$DOCKER_BIN_FOUND" != "1" || "$COLIMA_BIN_FOUND" != "1" ]]; then
|
|
1092
1095
|
need_brew=1
|
|
1093
1096
|
need_profile=1
|
|
1094
1097
|
elif ! _colima list 2>/dev/null | grep -q "${_COLIMA_PROFILE}"; then
|
|
@@ -1104,8 +1107,8 @@ install_docker() {
|
|
|
1104
1107
|
ui_info "Starting Colima VM (profile: ${_COLIMA_PROFILE})..."
|
|
1105
1108
|
mkdir -p "${_COLIMA_HOME}"
|
|
1106
1109
|
_colima start "${_COLIMA_PROFILE}" \
|
|
1107
|
-
--vm-type
|
|
1108
|
-
--network-host-addresses --arch
|
|
1110
|
+
--vm-type "${COLIMA_VM_TYPE}" --mount-type virtiofs \
|
|
1111
|
+
--network-host-addresses --arch "${COLIMA_ARCH}" \
|
|
1109
1112
|
--activate=false --cpu 2 --memory 4 --disk 60 >/dev/null \
|
|
1110
1113
|
|| { ui_warn "colima start failed — run 'COLIMA_HOME=${_COLIMA_HOME} colima start ${_COLIMA_PROFILE}' manually"; return 1; }
|
|
1111
1114
|
export DOCKER_HOST="unix://${_COLIMA_SOCKET}"
|
|
@@ -1179,7 +1182,11 @@ install_docker() {
|
|
|
1179
1182
|
|
|
1180
1183
|
_do_install_docker() {
|
|
1181
1184
|
if [[ "$DRY_RUN" == "1" ]]; then
|
|
1182
|
-
|
|
1185
|
+
if [[ "$OS" == "macos" ]]; then
|
|
1186
|
+
ui_info "[dry-run] Would install docker and colima via Homebrew"
|
|
1187
|
+
else
|
|
1188
|
+
ui_info "[dry-run] Would install Docker via get.docker.com"
|
|
1189
|
+
fi
|
|
1183
1190
|
return 0
|
|
1184
1191
|
fi
|
|
1185
1192
|
|
|
@@ -1194,8 +1201,8 @@ _do_install_docker() {
|
|
|
1194
1201
|
mkdir -p "${_COLIMA_HOME}"
|
|
1195
1202
|
ui_info "Starting Colima VM (profile: ${_COLIMA_PROFILE})..."
|
|
1196
1203
|
_colima start "${_COLIMA_PROFILE}" \
|
|
1197
|
-
--vm-type
|
|
1198
|
-
--network-host-addresses --arch
|
|
1204
|
+
--vm-type "${COLIMA_VM_TYPE}" --mount-type virtiofs \
|
|
1205
|
+
--network-host-addresses --arch "${COLIMA_ARCH}" \
|
|
1199
1206
|
--activate=false --cpu 2 --memory 4 --disk 60 >/dev/null \
|
|
1200
1207
|
|| { ui_warn "colima start failed — run 'COLIMA_HOME=${_COLIMA_HOME} colima start ${_COLIMA_PROFILE}' manually"; return 1; }
|
|
1201
1208
|
ui_success "Colima is running"
|
|
@@ -1357,12 +1364,12 @@ _ensure_docker_running() {
|
|
|
1357
1364
|
|
|
1358
1365
|
if [[ "$OS" == "macos" ]]; then
|
|
1359
1366
|
export DOCKER_HOST="unix://${_COLIMA_SOCKET}"
|
|
1360
|
-
if !
|
|
1367
|
+
if ! _docker info &>/dev/null 2>&1; then
|
|
1361
1368
|
ui_info "Starting Colima VM..."
|
|
1362
1369
|
mkdir -p "${_COLIMA_HOME}"
|
|
1363
1370
|
if ! _colima start "${_COLIMA_PROFILE}" \
|
|
1364
|
-
--vm-type
|
|
1365
|
-
--network-host-addresses --arch
|
|
1371
|
+
--vm-type "${COLIMA_VM_TYPE}" --mount-type virtiofs \
|
|
1372
|
+
--network-host-addresses --arch "${COLIMA_ARCH}" \
|
|
1366
1373
|
--activate=false --cpu 2 --memory 4 --disk 60 >/dev/null; then
|
|
1367
1374
|
ui_warn "colima start failed"
|
|
1368
1375
|
ui_info "Run manually: COLIMA_HOME=${_COLIMA_HOME} colima start ${_COLIMA_PROFILE}"
|
|
@@ -1371,7 +1378,7 @@ _ensure_docker_running() {
|
|
|
1371
1378
|
fi
|
|
1372
1379
|
local waited=0
|
|
1373
1380
|
local timeout=120
|
|
1374
|
-
while !
|
|
1381
|
+
while ! _docker info &>/dev/null 2>&1; do
|
|
1375
1382
|
if [[ $waited -ge $timeout ]]; then
|
|
1376
1383
|
ui_warn "Docker daemon did not become ready within ${timeout} seconds"
|
|
1377
1384
|
ui_info "Run: COLIMA_HOME=${_COLIMA_HOME} colima status ${_COLIMA_PROFILE}"
|
|
@@ -1526,9 +1533,47 @@ docker_exec() {
|
|
|
1526
1533
|
_COLIMA_HOME="${JISHUSHELL_HOME}/colima"
|
|
1527
1534
|
_COLIMA_PROFILE="jishushell"
|
|
1528
1535
|
_COLIMA_SOCKET="${_COLIMA_HOME}/${_COLIMA_PROFILE}/docker.sock"
|
|
1536
|
+
# jishushell on macOS supports Apple Silicon (arm64) ONLY. Fail fast on
|
|
1537
|
+
# Intel/other so third-party users get a clear message instead of an
|
|
1538
|
+
# obscure colima failure. NOTE: $OS is not set yet at script-load time
|
|
1539
|
+
# (detect_os runs later), so gate on `uname -s` directly, not $OS.
|
|
1540
|
+
if [[ "$(uname -s)" == "Darwin" ]]; then
|
|
1541
|
+
case "$(uname -m)" in
|
|
1542
|
+
arm64|aarch64) : ;;
|
|
1543
|
+
*)
|
|
1544
|
+
ui_error "jishushell on macOS supports Apple Silicon (arm64) only — detected $(uname -m). Installation aborted."
|
|
1545
|
+
exit 1
|
|
1546
|
+
;;
|
|
1547
|
+
esac
|
|
1548
|
+
fi
|
|
1549
|
+
COLIMA_ARCH="aarch64"
|
|
1550
|
+
COLIMA_VM_TYPE="vz"
|
|
1551
|
+
# colima binary: prefer PATH, fall back to both Homebrew prefixes.
|
|
1552
|
+
COLIMA_BIN="$(command -v colima 2>/dev/null || true)"
|
|
1553
|
+
[[ -z "$COLIMA_BIN" && -x /opt/homebrew/bin/colima ]] && COLIMA_BIN="/opt/homebrew/bin/colima"
|
|
1554
|
+
[[ -z "$COLIMA_BIN" && -x /usr/local/bin/colima ]] && COLIMA_BIN="/usr/local/bin/colima"
|
|
1555
|
+
COLIMA_BIN_FOUND=1
|
|
1556
|
+
[[ -z "$COLIMA_BIN" ]] && COLIMA_BIN_FOUND=0 && COLIMA_BIN="colima"
|
|
1557
|
+
DOCKER_BIN="$(PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin${PATH:+:${PATH}}" command -v docker 2>/dev/null || true)"
|
|
1558
|
+
[[ -z "$DOCKER_BIN" && -x /opt/homebrew/bin/docker ]] && DOCKER_BIN="/opt/homebrew/bin/docker"
|
|
1559
|
+
[[ -z "$DOCKER_BIN" && -x /usr/local/bin/docker ]] && DOCKER_BIN="/usr/local/bin/docker"
|
|
1560
|
+
DOCKER_BIN_FOUND=1
|
|
1561
|
+
[[ -z "$DOCKER_BIN" ]] && DOCKER_BIN_FOUND=0 && DOCKER_BIN="docker"
|
|
1562
|
+
COLIMA_STD_PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"
|
|
1529
1563
|
|
|
1530
1564
|
_colima() {
|
|
1531
|
-
|
|
1565
|
+
# Use the resolved COLIMA_BIN path — non-interactive shells (launchd
|
|
1566
|
+
# wrappers, sshd) routinely lack /opt/homebrew/bin in PATH, so a bare
|
|
1567
|
+
# `command colima` falls back to "not found" even when colima is fully
|
|
1568
|
+
# installed at /opt/homebrew/bin/colima.
|
|
1569
|
+
PATH="${COLIMA_STD_PATH}${PATH:+:${PATH}}" \
|
|
1570
|
+
COLIMA_HOME="${_COLIMA_HOME}" \
|
|
1571
|
+
"${COLIMA_BIN:-colima}" "$@"
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
_docker() {
|
|
1575
|
+
PATH="${COLIMA_STD_PATH}${PATH:+:${PATH}}" \
|
|
1576
|
+
"${DOCKER_BIN:-docker}" "$@"
|
|
1532
1577
|
}
|
|
1533
1578
|
|
|
1534
1579
|
# ─── 3. Nomad ────────────────────────────────────────────────────────────────
|
|
@@ -2073,6 +2118,9 @@ ${external_host_network_block}
|
|
|
2073
2118
|
plugin "docker" {
|
|
2074
2119
|
config {
|
|
2075
2120
|
disable_log_collection = true
|
|
2121
|
+
gc {
|
|
2122
|
+
image = false
|
|
2123
|
+
}
|
|
2076
2124
|
volumes {
|
|
2077
2125
|
enabled = true
|
|
2078
2126
|
}
|
|
@@ -2260,12 +2308,86 @@ WantedBy=multi-user.target"
|
|
|
2260
2308
|
# Without this, after every Mac reboot the user has to run `colima start
|
|
2261
2309
|
# jishushell` manually, and Nomad (started earlier by launchd) caches
|
|
2262
2310
|
# docker.Healthy=False because docker is not yet reachable.
|
|
2311
|
+
# Wrapper invoked by the colima launchd plist. Serializes concurrent
|
|
2312
|
+
# starts, waits for the network, clears unclean-shutdown residue WITHOUT
|
|
2313
|
+
# deleting the VM, then retries `colima start` until the managed docker
|
|
2314
|
+
# socket answers. Mirrors _install_nomad_wait_docker_wrapper's style.
|
|
2315
|
+
_install_colima_wait_start_wrapper() {
|
|
2316
|
+
local wrapper="${JISHUSHELL_BIN_DIR}/colima-launchd-wrapper.sh"
|
|
2317
|
+
mkdir -p "${JISHUSHELL_BIN_DIR}"
|
|
2318
|
+
cat > "$wrapper" << WRAPPER
|
|
2319
|
+
#!/bin/bash
|
|
2320
|
+
# Auto-generated by jishu-install.sh — do not edit by hand.
|
|
2321
|
+
set -u
|
|
2322
|
+
export COLIMA_HOME="${_COLIMA_HOME}"
|
|
2323
|
+
export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
|
2324
|
+
COLIMA_BIN="${COLIMA_BIN}"
|
|
2325
|
+
PROFILE="${_COLIMA_PROFILE}"
|
|
2326
|
+
SOCK="${_COLIMA_SOCKET}"
|
|
2327
|
+
LOCKDIR="${_COLIMA_HOME}/.colima-launchd.lock.d"
|
|
2328
|
+
|
|
2329
|
+
# Ensure the colima home exists (launchd runs us at boot, independently).
|
|
2330
|
+
mkdir -p "\$COLIMA_HOME"
|
|
2331
|
+
|
|
2332
|
+
# Reclaim a stale lock orphaned by SIGKILL/power-cut (mkdir-lock has no
|
|
2333
|
+
# owner; rmdir only removes it if still empty — safe).
|
|
2334
|
+
[ -d "\$LOCKDIR" ] && find "\$LOCKDIR" -maxdepth 0 -type d -mmin +10 -exec rmdir {} \\; 2>/dev/null || true
|
|
2335
|
+
|
|
2336
|
+
# Single-flight via atomic mkdir (POSIX-atomic, dependency-free, stock macOS
|
|
2337
|
+
# compatible). If the lock dir already exists, another start is in progress —
|
|
2338
|
+
# exit 0.
|
|
2339
|
+
if ! mkdir "\$LOCKDIR" 2>/dev/null; then
|
|
2340
|
+
echo "[colima-wrapper] another start in progress; exiting" >&2
|
|
2341
|
+
exit 0
|
|
2342
|
+
fi
|
|
2343
|
+
trap 'rmdir "\$LOCKDIR" 2>/dev/null || true' EXIT
|
|
2344
|
+
|
|
2345
|
+
docker_ok() { DOCKER_HOST="unix://\$SOCK" /usr/bin/env docker info >/dev/null 2>&1; }
|
|
2346
|
+
|
|
2347
|
+
# Already up → idempotent no-op.
|
|
2348
|
+
if docker_ok; then echo "[colima-wrapper] docker already reachable" >&2; exit 0; fi
|
|
2349
|
+
|
|
2350
|
+
# Wait up to 60s for the network (--network-host-addresses needs en0 up).
|
|
2351
|
+
net_deadline=\$(( \$(date +%s) + 60 ))
|
|
2352
|
+
while ! /sbin/ifconfig en0 2>/dev/null | grep -q "inet "; do
|
|
2353
|
+
[ \$(date +%s) -ge \$net_deadline ] && break
|
|
2354
|
+
sleep 2
|
|
2355
|
+
done
|
|
2356
|
+
|
|
2357
|
+
# Unclean-shutdown residue: stop a half-broken VM, but NEVER delete it
|
|
2358
|
+
# (delete destroys the openclaw image and all VM data).
|
|
2359
|
+
status="\$("\$COLIMA_BIN" status "\$PROFILE" 2>&1 || true)"
|
|
2360
|
+
if echo "\$status" | grep -qiE 'broken|cannot|error'; then
|
|
2361
|
+
echo "[colima-wrapper] stale state detected; stopping (never deleting)" >&2
|
|
2362
|
+
"\$COLIMA_BIN" stop "\$PROFILE" >/dev/null 2>&1 || true
|
|
2363
|
+
fi
|
|
2364
|
+
|
|
2365
|
+
# Retry start with backoff until docker answers (~5 attempts).
|
|
2366
|
+
attempt=0
|
|
2367
|
+
while [ \$attempt -lt 5 ]; do
|
|
2368
|
+
# Refresh our own lock mtime each attempt so a long (>budget) legit
|
|
2369
|
+
# start is never reclaimed as stale by a concurrent launchd fire.
|
|
2370
|
+
touch "\$LOCKDIR" 2>/dev/null || true
|
|
2371
|
+
attempt=\$(( attempt + 1 ))
|
|
2372
|
+
echo "[colima-wrapper] colima start attempt \$attempt" >&2
|
|
2373
|
+
"\$COLIMA_BIN" start "\$PROFILE" \\
|
|
2374
|
+
--vm-type ${COLIMA_VM_TYPE} --mount-type virtiofs \\
|
|
2375
|
+
--network-host-addresses --arch ${COLIMA_ARCH} --activate=false \\
|
|
2376
|
+
--cpu 2 --memory 4 --disk 60 >/dev/null 2>&1 || true
|
|
2377
|
+
docker_ok && { echo "[colima-wrapper] docker reachable" >&2; exit 0; }
|
|
2378
|
+
sleep \$(( attempt * 10 ))
|
|
2379
|
+
done
|
|
2380
|
+
echo "[colima-wrapper] exhausted retries; docker still unreachable" >&2
|
|
2381
|
+
exit 1
|
|
2382
|
+
WRAPPER
|
|
2383
|
+
chmod 755 "$wrapper"
|
|
2384
|
+
echo "$wrapper"
|
|
2385
|
+
}
|
|
2386
|
+
|
|
2263
2387
|
_install_colima_launchd() {
|
|
2264
2388
|
local plist_label="com.jishushell.colima"
|
|
2265
2389
|
local plist_path="${HOME}/Library/LaunchAgents/${plist_label}.plist"
|
|
2266
2390
|
local log_path="${JISHUSHELL_HOME}/colima/colima-launchd.log"
|
|
2267
|
-
local colima_bin
|
|
2268
|
-
colima_bin="$(command -v colima 2>/dev/null || echo /opt/homebrew/bin/colima)"
|
|
2269
2391
|
|
|
2270
2392
|
if [[ "$DRY_RUN" == "1" ]]; then
|
|
2271
2393
|
ui_info "[dry-run] Would install launchd agent: ${plist_path}"
|
|
@@ -2274,12 +2396,9 @@ _install_colima_launchd() {
|
|
|
2274
2396
|
|
|
2275
2397
|
mkdir -p "${HOME}/Library/LaunchAgents" "${JISHUSHELL_HOME}/colima"
|
|
2276
2398
|
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
# (network-host-addresses + arch aarch64), so a relaunched VM gets the
|
|
2281
|
-
# same network config; --activate=false keeps the user's docker context
|
|
2282
|
-
# selection in ~/.docker/config.json untouched.
|
|
2399
|
+
local colima_wrapper
|
|
2400
|
+
colima_wrapper="$(_install_colima_wait_start_wrapper)"
|
|
2401
|
+
|
|
2283
2402
|
cat > "$plist_path" << PLIST
|
|
2284
2403
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2285
2404
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
@@ -2289,17 +2408,7 @@ _install_colima_launchd() {
|
|
|
2289
2408
|
<string>${plist_label}</string>
|
|
2290
2409
|
<key>ProgramArguments</key>
|
|
2291
2410
|
<array>
|
|
2292
|
-
<string>${
|
|
2293
|
-
<string>start</string>
|
|
2294
|
-
<string>${_COLIMA_PROFILE}</string>
|
|
2295
|
-
<string>--vm-type</string><string>vz</string>
|
|
2296
|
-
<string>--mount-type</string><string>virtiofs</string>
|
|
2297
|
-
<string>--network-host-addresses</string>
|
|
2298
|
-
<string>--arch</string><string>aarch64</string>
|
|
2299
|
-
<string>--activate=false</string>
|
|
2300
|
-
<string>--cpu</string><string>2</string>
|
|
2301
|
-
<string>--memory</string><string>4</string>
|
|
2302
|
-
<string>--disk</string><string>60</string>
|
|
2411
|
+
<string>${colima_wrapper}</string>
|
|
2303
2412
|
</array>
|
|
2304
2413
|
<key>EnvironmentVariables</key>
|
|
2305
2414
|
<dict>
|
|
@@ -2311,7 +2420,12 @@ _install_colima_launchd() {
|
|
|
2311
2420
|
<key>RunAtLoad</key>
|
|
2312
2421
|
<true/>
|
|
2313
2422
|
<key>KeepAlive</key>
|
|
2314
|
-
<
|
|
2423
|
+
<dict>
|
|
2424
|
+
<key>SuccessfulExit</key>
|
|
2425
|
+
<false/>
|
|
2426
|
+
</dict>
|
|
2427
|
+
<key>ThrottleInterval</key>
|
|
2428
|
+
<integer>30</integer>
|
|
2315
2429
|
<key>StandardOutPath</key>
|
|
2316
2430
|
<string>${log_path}</string>
|
|
2317
2431
|
<key>StandardErrorPath</key>
|
|
@@ -2322,7 +2436,7 @@ PLIST
|
|
|
2322
2436
|
|
|
2323
2437
|
launchctl unload "$plist_path" 2>/dev/null || true
|
|
2324
2438
|
if launchctl load -w "$plist_path" 2>/dev/null; then
|
|
2325
|
-
ui_success "Colima launchd agent installed (auto-start at login)"
|
|
2439
|
+
ui_success "Colima launchd agent installed (self-retrying, auto-start at login)"
|
|
2326
2440
|
else
|
|
2327
2441
|
ui_warn "Could not load colima launchd agent"
|
|
2328
2442
|
fi
|
|
@@ -3065,6 +3179,26 @@ install_jishushell_service() {
|
|
|
3065
3179
|
local plist_label="com.jishushell.panel"
|
|
3066
3180
|
local plist_path="${HOME}/Library/LaunchAgents/${plist_label}.plist"
|
|
3067
3181
|
|
|
3182
|
+
local panel_gate="${JISHUSHELL_BIN_DIR}/panel-launchd-wrapper.sh"
|
|
3183
|
+
mkdir -p "${JISHUSHELL_BIN_DIR}"
|
|
3184
|
+
cat > "$panel_gate" << PANELGATE
|
|
3185
|
+
#!/bin/bash
|
|
3186
|
+
set -u
|
|
3187
|
+
# Auto-generated by jishu-install.sh — do not edit by hand.
|
|
3188
|
+
# Lightweight 60s docker-readiness gate so the first post-reboot page
|
|
3189
|
+
# load doesn't flash "image missing". Panel self-heals afterward, so on
|
|
3190
|
+
# timeout we start anyway (the UI must be observable).
|
|
3191
|
+
PANEL_DOCKER_WAIT_DEADLINE=60
|
|
3192
|
+
export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
|
3193
|
+
deadline=\$(( \$(date +%s) + \$PANEL_DOCKER_WAIT_DEADLINE ))
|
|
3194
|
+
while ! DOCKER_HOST="unix://${_COLIMA_SOCKET}" /usr/bin/env docker info >/dev/null 2>&1; do
|
|
3195
|
+
[ \$(date +%s) -ge \$deadline ] && { echo "[panel-gate] docker not ready after 60s; starting anyway" >&2; break; }
|
|
3196
|
+
sleep 2
|
|
3197
|
+
done
|
|
3198
|
+
exec "${wrapper}" serve
|
|
3199
|
+
PANELGATE
|
|
3200
|
+
chmod 755 "$panel_gate"
|
|
3201
|
+
|
|
3068
3202
|
mkdir -p "${HOME}/Library/LaunchAgents"
|
|
3069
3203
|
cat > "$plist_path" << PLIST
|
|
3070
3204
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
@@ -3075,8 +3209,7 @@ install_jishushell_service() {
|
|
|
3075
3209
|
<string>${plist_label}</string>
|
|
3076
3210
|
<key>ProgramArguments</key>
|
|
3077
3211
|
<array>
|
|
3078
|
-
<string>${
|
|
3079
|
-
<string>serve</string>
|
|
3212
|
+
<string>${panel_gate}</string>
|
|
3080
3213
|
</array>
|
|
3081
3214
|
<key>RunAtLoad</key>
|
|
3082
3215
|
<true/>
|
|
@@ -3096,6 +3229,7 @@ PLIST
|
|
|
3096
3229
|
else
|
|
3097
3230
|
ui_warn "Could not load jishushell launchd agent"
|
|
3098
3231
|
fi
|
|
3232
|
+
_enable_autologin
|
|
3099
3233
|
return 0
|
|
3100
3234
|
fi
|
|
3101
3235
|
|
|
@@ -3120,7 +3254,11 @@ Environment=HOME=${REAL_HOME}
|
|
|
3120
3254
|
Environment=JISHUSHELL_HOME=${JISHUSHELL_HOME}
|
|
3121
3255
|
ProtectSystem=strict
|
|
3122
3256
|
PrivateTmp=true
|
|
3123
|
-
|
|
3257
|
+
# /usr/local is whitelisted so app lifecycle scripts (e.g. ollama install.sh,
|
|
3258
|
+
# which writes /usr/local/bin/ollama and /usr/local/lib/ollama/) can succeed
|
|
3259
|
+
# even when the panel runs under ProtectSystem=strict. The rest of /usr stays
|
|
3260
|
+
# read-only.
|
|
3261
|
+
ReadWritePaths=${JISHUSHELL_HOME} /etc/jishushell /usr/local
|
|
3124
3262
|
|
|
3125
3263
|
[Install]
|
|
3126
3264
|
WantedBy=multi-user.target"
|
|
@@ -3296,6 +3434,69 @@ run_install_components() {
|
|
|
3296
3434
|
return $has_error
|
|
3297
3435
|
}
|
|
3298
3436
|
|
|
3437
|
+
# Opt-in macOS auto-login so headless boxes get a GUI (Aqua) session that
|
|
3438
|
+
# fires the colima/nomad/panel LaunchAgents after a reboot. Writes the
|
|
3439
|
+
# user's login password (kcpassword-obfuscated) to /etc/kcpassword — a
|
|
3440
|
+
# security-sensitive, explicitly-gated action. Skipped if FileVault is on
|
|
3441
|
+
# (mutually exclusive) and never run without consent.
|
|
3442
|
+
_enable_autologin() {
|
|
3443
|
+
[[ "$OS" != "macos" ]] && return 0
|
|
3444
|
+
if [[ "$NO_AUTOLOGIN" == "1" ]]; then
|
|
3445
|
+
ui_info "Auto-login skipped (--no-autologin)"
|
|
3446
|
+
return 0
|
|
3447
|
+
fi
|
|
3448
|
+
if [[ "$ENABLE_AUTOLOGIN" != "1" ]]; then
|
|
3449
|
+
ui_warn "Auto-login NOT enabled. On a headless Mac the LaunchAgents only"
|
|
3450
|
+
ui_warn "fire after a GUI login. Enable later with:"
|
|
3451
|
+
ui_warn " bash jishu-install.sh --run 6 --enable-autologin"
|
|
3452
|
+
return 0
|
|
3453
|
+
fi
|
|
3454
|
+
if fdesetup status 2>/dev/null | grep -q "FileVault is On"; then
|
|
3455
|
+
ui_warn "FileVault is ON — auto-login is incompatible and will be skipped."
|
|
3456
|
+
ui_warn "Disable FileVault or log in at the GUI after each reboot."
|
|
3457
|
+
return 0
|
|
3458
|
+
fi
|
|
3459
|
+
|
|
3460
|
+
local pw="$AUTOLOGIN_PASSWORD"
|
|
3461
|
+
if [[ -z "$pw" ]]; then
|
|
3462
|
+
if [[ "$AUTO_YES" == "1" ]]; then
|
|
3463
|
+
ui_warn "Auto-login requested but no password (use --autologin-password); skipping"
|
|
3464
|
+
return 0
|
|
3465
|
+
fi
|
|
3466
|
+
read -r -s -p "Login password for ${REAL_USER} (for auto-login, not stored in logs): " pw
|
|
3467
|
+
echo ""
|
|
3468
|
+
fi
|
|
3469
|
+
[[ -z "$pw" ]] && { ui_warn "Empty password; auto-login skipped"; return 0; }
|
|
3470
|
+
|
|
3471
|
+
if [[ "$DRY_RUN" == "1" ]]; then
|
|
3472
|
+
ui_info "[dry-run] Would set autoLoginUser=${REAL_USER} and write /etc/kcpassword"
|
|
3473
|
+
return 0
|
|
3474
|
+
fi
|
|
3475
|
+
|
|
3476
|
+
${SUDO} defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "${REAL_USER}"
|
|
3477
|
+
|
|
3478
|
+
# kcpassword cipher (classic 11-byte key, repeated). Password is XOR'd
|
|
3479
|
+
# byte-wise; the buffer is padded with cipher bytes to a multiple of 12,
|
|
3480
|
+
# adding a full 12-byte block when the length is already a multiple.
|
|
3481
|
+
local cipher=(0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F)
|
|
3482
|
+
local out="" i ch ck
|
|
3483
|
+
local len=${#pw}
|
|
3484
|
+
local total=$(( (len / 12 + 1) * 12 ))
|
|
3485
|
+
for (( i=0; i<total; i++ )); do
|
|
3486
|
+
ck=$(( cipher[i % 11] ))
|
|
3487
|
+
if (( i < len )); then
|
|
3488
|
+
printf -v ch '%d' "'${pw:i:1}"
|
|
3489
|
+
else
|
|
3490
|
+
ch=0
|
|
3491
|
+
fi
|
|
3492
|
+
out+=$(printf '\\x%02x' $(( ch ^ ck )))
|
|
3493
|
+
done
|
|
3494
|
+
( umask 077; printf "%b" "$out" | ${SUDO} tee /etc/kcpassword >/dev/null )
|
|
3495
|
+
${SUDO} chmod 600 /etc/kcpassword
|
|
3496
|
+
unset pw
|
|
3497
|
+
ui_success "Auto-login enabled for ${REAL_USER} (headless reboot will fire LaunchAgents)"
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3299
3500
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
3300
3501
|
# Installer entry point — argument parsing, banner, main
|
|
3301
3502
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
@@ -3366,6 +3567,12 @@ parse_args() {
|
|
|
3366
3567
|
exit 1
|
|
3367
3568
|
fi
|
|
3368
3569
|
;;
|
|
3570
|
+
--enable-autologin) ENABLE_AUTOLOGIN=1 ;;
|
|
3571
|
+
--no-autologin) NO_AUTOLOGIN=1 ;;
|
|
3572
|
+
--autologin-password)
|
|
3573
|
+
shift
|
|
3574
|
+
AUTOLOGIN_PASSWORD="${1:?--autologin-password requires a value}"
|
|
3575
|
+
;;
|
|
3369
3576
|
--yes|-y) AUTO_YES=1 ;;
|
|
3370
3577
|
--help|-h) usage; exit 0 ;;
|
|
3371
3578
|
*) ui_warn "Unknown argument: $1" ;;
|
|
@@ -3399,6 +3606,11 @@ Options:
|
|
|
3399
3606
|
(e.g. --jishushell-version 0.4.9)
|
|
3400
3607
|
--registry <url> Use a custom npm registry for all installs
|
|
3401
3608
|
(e.g. --registry http://127.0.0.1:4873/)
|
|
3609
|
+
--enable-autologin Enable macOS auto-login (headless reboot support;
|
|
3610
|
+
writes /etc/kcpassword — security-sensitive, opt-in)
|
|
3611
|
+
--no-autologin Never configure auto-login (overrides --enable-autologin)
|
|
3612
|
+
--autologin-password <pw> Password for non-interactive auto-login setup
|
|
3613
|
+
(visible in 'ps'; prefer AUTOLOGIN_PASSWORD env var)
|
|
3402
3614
|
--yes, -y Skip all confirmation prompts
|
|
3403
3615
|
--help, -h Show this help message
|
|
3404
3616
|
|