yo-moss-ai 0.0.29 → 0.0.30
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/bin/bootstrap-deps.mjs +22 -15
- package/bin/runtime-manifest.json +1 -1
- package/bin/silence-debug.mjs +11 -0
- package/bin/yo-moss-ai.mjs +4 -1
- package/dist/assets/{esp-flasher-H7Inql4d.js → esp-flasher-CLKzE7JE.js} +3 -3
- package/dist/assets/{index-BLg-2juE.js → index-C1bPuFAs.js} +50 -50
- package/dist/index.html +7 -20
- package/dist/models/mediapipe/blaze_face_full_range.tflite +0 -0
- package/dist/models/mediapipe/blaze_face_short_range.tflite +0 -0
- package/dist/models/mediapipe/wasm/vision_wasm_internal.js +8841 -0
- package/dist/models/mediapipe/wasm/vision_wasm_internal.wasm +0 -0
- package/dist/models/mediapipe/wasm/vision_wasm_nosimd_internal.js +8832 -0
- package/dist/models/mediapipe/wasm/vision_wasm_nosimd_internal.wasm +0 -0
- package/dist/stl/moss.stl +0 -0
- package/dist/stl/planetary_engine.stl +0 -0
- package/dist/textures/earth-lights.png +0 -0
- package/dist/textures/earth-night.jpg +0 -0
- package/dist/textures/earth_clouds.jpg +0 -0
- package/dist/textures/moon-base.jpg +0 -0
- package/dist/textures/moon-bump.jpg +0 -0
- package/dist/textures/wandering.png +0 -0
- package/dist-server/board-presets.mjs +1 -1
- package/dist-server/camera.mjs +1 -1
- package/dist-server/dev-ui.mjs +1 -1
- package/dist-server/device-chat-sync.mjs +1 -1
- package/dist-server/device-config-view.mjs +1 -1
- package/dist-server/device-focus.mjs +1 -1
- package/dist-server/device-http.mjs +1 -1
- package/dist-server/device-identity.mjs +1 -1
- package/dist-server/device-presence.mjs +1 -1
- package/dist-server/device-probe.mjs +1 -1
- package/dist-server/device-registry.mjs +1 -1
- package/dist-server/device-routes.mjs +1 -1
- package/dist-server/device-runtime.mjs +1 -1
- package/dist-server/device-session.mjs +1 -1
- package/dist-server/ffmpeg.mjs +1 -1
- package/dist-server/gimbal-control.mjs +1 -1
- package/dist-server/home-path.mjs +1 -1
- package/dist-server/index.mjs +1 -1
- package/dist-server/ir-import-validate.mjs +1 -1
- package/dist-server/known-scan-device.mjs +1 -1
- package/dist-server/lan-discover.mjs +1 -1
- package/dist-server/listen-port.mjs +1 -1
- package/dist-server/mcp/backoff.mjs +1 -1
- package/dist-server/mcp/bridge-manager.mjs +1 -1
- package/dist-server/mcp/builtin-tools.mjs +1 -1
- package/dist-server/mcp/dedupe-servers.mjs +1 -1
- package/dist-server/mcp/doctor.mjs +1 -1
- package/dist-server/mcp/fixtures/echo-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/hotkey-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/mihome-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/onvif-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/shell-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/yunxiangji-mcp.mjs +1 -1
- package/dist-server/mcp/hotkey-agent-docs.mjs +1 -1
- package/dist-server/mcp/hotkey-driver.mjs +1 -1
- package/dist-server/mcp/hotkey-handlers.mjs +1 -1
- package/dist-server/mcp/hotkey-import-validate.mjs +1 -1
- package/dist-server/mcp/hotkey-store.mjs +1 -1
- package/dist-server/mcp/http-client.mjs +1 -1
- package/dist-server/mcp/http-pipe.mjs +1 -1
- package/dist-server/mcp/local-probe.mjs +1 -1
- package/dist-server/mcp/marketplace.mjs +1 -1
- package/dist-server/mcp/onvif-handlers.mjs +1 -1
- package/dist-server/mcp/parse-server-json.mjs +1 -1
- package/dist-server/mcp/paths.mjs +1 -1
- package/dist-server/mcp/routes.mjs +1 -1
- package/dist-server/mcp/schema.mjs +1 -1
- package/dist-server/mcp/settings.mjs +1 -1
- package/dist-server/mcp/shell-approval.mjs +1 -1
- package/dist-server/mcp/shell-policy.mjs +1 -1
- package/dist-server/mcp/shell-trash.mjs +1 -1
- package/dist-server/mcp/stdio-pipe.mjs +1 -1
- package/dist-server/mcp/store.mjs +1 -1
- package/dist-server/mcp/task-notify.mjs +1 -1
- package/dist-server/mcp/ws-connect.mjs +1 -1
- package/dist-server/mcp/yunxiangji.mjs +1 -1
- package/dist-server/media-cache.mjs +1 -1
- package/dist-server/mihome/cloud.mjs +1 -1
- package/dist-server/mihome/devices.mjs +1 -1
- package/dist-server/mihome/local.mjs +1 -1
- package/dist-server/mihome/mcp-desc.mjs +1 -1
- package/dist-server/mihome/queue.mjs +1 -1
- package/dist-server/mihome/rc4.mjs +1 -1
- package/dist-server/mihome/routes.mjs +1 -1
- package/dist-server/mihome/service.mjs +1 -1
- package/dist-server/mihome/sign.mjs +1 -1
- package/dist-server/mihome/spec.mjs +1 -1
- package/dist-server/mihome/store.mjs +1 -1
- package/dist-server/onboard-preview.mjs +1 -1
- package/dist-server/spa-fallback.mjs +1 -0
- package/dist-server/tab-focus.mjs +1 -1
- package/dist-server/voice-wake.mjs +1 -1
- package/package.json +2 -4
package/bin/bootstrap-deps.mjs
CHANGED
|
@@ -299,24 +299,26 @@ export async function bootstrapRuntimeDeps(opts) {
|
|
|
299
299
|
depsRoot = runtimeDepsRoot(),
|
|
300
300
|
installMediaBundle = installMediaBundleFromNpm,
|
|
301
301
|
installNpmDeps = (npmDeps, onProgress) => ensureRuntimeNpmDeps(npmDeps, depsRoot, { onProgress }),
|
|
302
|
+
deferNpm = false,
|
|
302
303
|
} = opts
|
|
303
304
|
|
|
304
305
|
const distDir = path.join(root, 'dist')
|
|
305
|
-
if (process.env.MOSS_SKIP_BOOTSTRAP === '1'
|
|
306
|
+
if (process.env.MOSS_SKIP_BOOTSTRAP === '1') {
|
|
306
307
|
return { skipped: true }
|
|
307
308
|
}
|
|
308
309
|
|
|
310
|
+
const bundled = hasBundledMedia(distDir)
|
|
309
311
|
const manifest = loadManifest(root)
|
|
310
|
-
if (!manifest) {
|
|
312
|
+
if (!manifest && !bundled) {
|
|
311
313
|
console.warn('缺少 bin/runtime-manifest.json,跳过资源预下载')
|
|
312
314
|
return { skipped: true }
|
|
313
315
|
}
|
|
314
316
|
|
|
315
|
-
const mediaVersion = manifest
|
|
316
|
-
const mediaFiles = manifest
|
|
317
|
-
const npmDeps = manifest
|
|
317
|
+
const mediaVersion = manifest?.mediaVersion || version
|
|
318
|
+
const mediaFiles = manifest?.mediaFiles || []
|
|
319
|
+
const npmDeps = manifest?.npmDeps || []
|
|
318
320
|
const totalBytes = mediaFiles.reduce((sum, file) => sum + (file.size || 0), 0)
|
|
319
|
-
const needMedia = !mediaCacheReady(mediaFiles, cacheDir)
|
|
321
|
+
const needMedia = !bundled && mediaFiles.length > 0 && !mediaCacheReady(mediaFiles, cacheDir)
|
|
320
322
|
const needNpm = !runtimeDepsReady(npmDeps, depsRoot)
|
|
321
323
|
|
|
322
324
|
if (!needMedia && !needNpm) {
|
|
@@ -329,8 +331,10 @@ export async function bootstrapRuntimeDeps(opts) {
|
|
|
329
331
|
if (needMedia) {
|
|
330
332
|
const mb = (totalBytes / 1024 / 1024).toFixed(0)
|
|
331
333
|
console.log(`首次运行:正在下载 UI 资源(约 ${mb} MB),完成后自动启动…`)
|
|
332
|
-
} else if (needNpm) {
|
|
334
|
+
} else if (needNpm && !deferNpm) {
|
|
333
335
|
console.log('首次运行:正在安装扩展组件,完成后自动启动…')
|
|
336
|
+
} else if (needNpm && deferNpm) {
|
|
337
|
+
console.log('正在打开界面;快捷键组件在后台安装,不影响使用。')
|
|
334
338
|
}
|
|
335
339
|
|
|
336
340
|
if (needMedia) {
|
|
@@ -351,14 +355,17 @@ export async function bootstrapRuntimeDeps(opts) {
|
|
|
351
355
|
if (needNpm) {
|
|
352
356
|
const reportNpm = createProgressReporter('安装扩展依赖')
|
|
353
357
|
reportNpm(0.02)
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
358
|
+
const work = Promise.resolve()
|
|
359
|
+
.then(() => installNpmDeps(npmDeps, reportNpm))
|
|
360
|
+
.then(() => {
|
|
361
|
+
if (process.stdout.isTTY) process.stdout.write('\n')
|
|
362
|
+
else console.log(formatProgressBar('安装扩展依赖', 1))
|
|
363
|
+
})
|
|
364
|
+
.catch((err) => {
|
|
365
|
+
if (process.stdout.isTTY) process.stdout.write('\n')
|
|
366
|
+
console.warn('扩展组件安装失败,快捷键/媒体键可能不可用:', err.message)
|
|
367
|
+
})
|
|
368
|
+
if (!deferNpm) await work
|
|
362
369
|
}
|
|
363
370
|
|
|
364
371
|
process.env.MOSS_MEDIA_ROOT = cacheDir
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** 关掉 DEBUG=express* 这类环境变量,避免 Windows 控制台把启动拖死、页面一直停在加载中 */
|
|
2
|
+
export function silenceDebugLogs(env = process.env) {
|
|
3
|
+
delete env.DEBUG
|
|
4
|
+
delete env.NODE_DEBUG
|
|
5
|
+
delete env.DEBUG_COLORS
|
|
6
|
+
delete env.DEBUG_HIDE_DATE
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function debugLogsSilenced(env = process.env) {
|
|
10
|
+
return !env.DEBUG && !env.NODE_DEBUG
|
|
11
|
+
}
|
package/bin/yo-moss-ai.mjs
CHANGED
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
import fs from 'node:fs'
|
|
3
3
|
import path from 'node:path'
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
5
|
+
import { silenceDebugLogs } from './silence-debug.mjs'
|
|
5
6
|
import { bootstrapRuntimeDeps } from './bootstrap-deps.mjs'
|
|
6
7
|
|
|
8
|
+
silenceDebugLogs()
|
|
9
|
+
|
|
7
10
|
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..')
|
|
8
11
|
let pkgVersion = ''
|
|
9
12
|
try {
|
|
@@ -31,7 +34,7 @@ console.log(`yo-moss-ai${pkgVersion ? ` v${pkgVersion}` : ''}`)
|
|
|
31
34
|
if (typeof process.stdout.write === 'function') process.stdout.write('')
|
|
32
35
|
|
|
33
36
|
try {
|
|
34
|
-
await bootstrapRuntimeDeps({ root, version: pkg.version })
|
|
37
|
+
await bootstrapRuntimeDeps({ root, version: pkg.version, deferNpm: true })
|
|
35
38
|
} catch (err) {
|
|
36
39
|
console.error('\n启动准备失败:', err?.message || err)
|
|
37
40
|
console.error('请检查网络连接后重新运行:npx yo-moss-ai')
|