xiaozhi-client 1.9.4-beta.3 → 1.9.4-beta.4

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xiaozhi-client",
3
- "version": "1.9.4-beta.3",
3
+ "version": "1.9.4-beta.4",
4
4
  "description": "小智 AI 客户端 命令行工具",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  "ai"
16
16
  ],
17
17
  "type": "module",
18
- "main": "dist/backend/cli.js",
18
+ "main": "dist/cli/index.js",
19
19
  "files": [
20
20
  "dist",
21
21
  "templates",
@@ -34,16 +34,16 @@
34
34
  "build": "nx reset && pnpm run clean:dist && nx run-many -t build --exclude=docs --parallel=false",
35
35
  "test": "nx run-many -t test",
36
36
  "test:coverage": "nx run-many -t test:coverage --parallel=false",
37
- "lint": "nx run-many -t lint",
38
- "lint:fix": "nx run-many -t lint:fix",
37
+ "lint": "nx run-many -t lint --output-style=stream",
38
+ "lint:fix": "nx run-many -t lint:fix --output-style=stream",
39
39
  "type-check": "nx run-many -t type-check",
40
- "format": "biome format --write --config-path=config/biome.json .",
41
- "check:all": "pnpm run lint && pnpm run type-check && pnpm run spell:check && pnpm run duplicate:check",
42
- "spell:check": "cspell --config config/cspell.json .",
40
+ "format": "biome format --write .",
41
+ "check:all": "pnpm run lint && pnpm run type-check && pnpm run check:spell && pnpm run duplicate:check",
42
+ "check:spell": "cspell .",
43
43
  "duplicate:check": "jscpd apps/backend/",
44
44
  "docker:update-version": "node docker/scripts/update-version.js",
45
- "release": "npx release-it --config config/release-it.json",
46
- "release:dry": "npx release-it --config config/release-it.json --dry-run",
45
+ "release": "npx release-it",
46
+ "release:dry": "npx release-it --dry-run",
47
47
  "dev": "nx run-many -t build --exclude=docs --parallel=false && concurrently \"nx run backend:dev\" \"nx run cli:dev\" \"nx run frontend:dev\" --prefix \"[{name}]\" --names \"BACKEND,CLI,FRONTEND\"",
48
48
  "dev:cli": "nx run cli:dev",
49
49
  "dev:docs": "nx run docs:dev",
@@ -57,21 +57,18 @@
57
57
  "@coze/api": "^1.3.9",
58
58
  "@hono/node-server": "^1.17.1",
59
59
  "@modelcontextprotocol/sdk": "^1.24.0",
60
- "@types/express": "^5.0.3",
61
60
  "ajv": "^8.17.1",
62
61
  "chalk": "^5.6.0",
63
62
  "cli-table3": "^0.6.5",
64
- "commander": "^14.0.0",
65
63
  "comment-json": "^4.2.5",
64
+ "commander": "^14.0.0",
65
+ "consola": "^3.4.2",
66
66
  "dayjs": "^1.11.13",
67
67
  "dotenv": "^17.2.1",
68
68
  "eventsource": "^4.0.0",
69
69
  "express": "^5.1.0",
70
70
  "hono": "^4.10.3",
71
- "json5": "^2.2.3",
72
- "jsonc-parser": "^3.3.1",
73
71
  "node-cache": "^5.1.2",
74
- "node-fetch": "2",
75
72
  "ora": "^8.2.0",
76
73
  "pino": "^8.0.0",
77
74
  "pino-pretty": "^13.1.1",
@@ -85,11 +82,7 @@
85
82
  "@nx/vitest": "^22.3.3",
86
83
  "@nx/workspace": "^22.3.3",
87
84
  "@release-it/conventional-changelog": "^10.0.1",
88
- "@types/node": "^24.3.0",
89
- "@types/node-fetch": "^2.6.12",
90
85
  "@types/semver": "^7.7.1",
91
- "@types/supertest": "^6.0.3",
92
- "@types/ws": "^8.18.1",
93
86
  "@vitest/coverage-v8": "^3.2.4",
94
87
  "concurrently": "^9.2.1",
95
88
  "conventional-changelog-cli": "^5.0.0",
@@ -99,13 +92,11 @@
99
92
  "esbuild": "^0.25.9",
100
93
  "execa": "^9.6.0",
101
94
  "glob": "^11.0.3",
102
- "happy-dom": "^20.0.2",
103
95
  "jscpd": "^4.0.5",
104
96
  "nx": "^22.3.3",
105
97
  "release-it": "^19.0.4",
106
98
  "rimraf": "^6.1.2",
107
99
  "semver": "^7.7.2",
108
- "supertest": "^7.1.4",
109
100
  "ts-node": "^10.9.2",
110
101
  "tsup": "^8.5.0",
111
102
  "tsx": "^4.20.5",
package/dist/cli/index.js CHANGED
@@ -1446,6 +1446,7 @@ __export(DaemonManager_exports, {
1446
1446
  });
1447
1447
  import { spawn } from "child_process";
1448
1448
  import fs3 from "fs";
1449
+ import consola from "consola";
1449
1450
  var DaemonManagerImpl;
1450
1451
  var init_DaemonManager = __esm({
1451
1452
  "src/services/DaemonManager.ts"() {
@@ -1453,9 +1454,8 @@ var init_DaemonManager = __esm({
1453
1454
  init_PathUtils();
1454
1455
  init_PlatformUtils();
1455
1456
  DaemonManagerImpl = class {
1456
- constructor(processManager, logger3) {
1457
+ constructor(processManager) {
1457
1458
  this.processManager = processManager;
1458
- this.logger = logger3;
1459
1459
  }
1460
1460
  static {
1461
1461
  __name(this, "DaemonManagerImpl");
@@ -1476,7 +1476,7 @@ var init_DaemonManager = __esm({
1476
1476
  await this.setupLogging(child, options.logFileName || "xiaozhi.log");
1477
1477
  this.setupEventHandlers(child);
1478
1478
  child.unref();
1479
- this.logger.info(`\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u542F\u52A8 (PID: ${child.pid})`);
1479
+ consola.info(`\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u542F\u52A8 (PID: ${child.pid})`);
1480
1480
  } catch (error) {
1481
1481
  throw new ServiceError(
1482
1482
  `\u542F\u52A8\u5B88\u62A4\u8FDB\u7A0B\u5931\u8D25: ${error instanceof Error ? error.message : String(error)}`
@@ -1495,7 +1495,7 @@ var init_DaemonManager = __esm({
1495
1495
  await this.processManager.gracefulKillProcess(status.pid);
1496
1496
  this.processManager.cleanupPidFile();
1497
1497
  this.currentDaemon = null;
1498
- this.logger.info("\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u505C\u6B62");
1498
+ consola.info("\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u505C\u6B62");
1499
1499
  } catch (error) {
1500
1500
  throw new ServiceError(
1501
1501
  `\u505C\u6B62\u5B88\u62A4\u8FDB\u7A0B\u5931\u8D25: ${error instanceof Error ? error.message : String(error)}`
@@ -1598,7 +1598,7 @@ var init_DaemonManager = __esm({
1598
1598
  [${timestamp}] \u5B88\u62A4\u8FDB\u7A0B\u542F\u52A8 (PID: ${child.pid})
1599
1599
  `);
1600
1600
  } catch (error) {
1601
- this.logger.warn(
1601
+ consola.warn(
1602
1602
  `\u8BBE\u7F6E\u65E5\u5FD7\u91CD\u5B9A\u5411\u5931\u8D25: ${error instanceof Error ? error.message : String(error)}`
1603
1603
  );
1604
1604
  }
@@ -1609,20 +1609,20 @@ var init_DaemonManager = __esm({
1609
1609
  setupEventHandlers(child) {
1610
1610
  child.on("exit", (code, signal) => {
1611
1611
  if (code !== 0 && code !== null) {
1612
- this.logger.error(`\u5B88\u62A4\u8FDB\u7A0B\u5F02\u5E38\u9000\u51FA (\u4EE3\u7801: ${code}, \u4FE1\u53F7: ${signal})`);
1612
+ consola.error(`\u5B88\u62A4\u8FDB\u7A0B\u5F02\u5E38\u9000\u51FA (\u4EE3\u7801: ${code}, \u4FE1\u53F7: ${signal})`);
1613
1613
  } else {
1614
- this.logger.info("\u5B88\u62A4\u8FDB\u7A0B\u6B63\u5E38\u9000\u51FA");
1614
+ consola.info("\u5B88\u62A4\u8FDB\u7A0B\u6B63\u5E38\u9000\u51FA");
1615
1615
  }
1616
1616
  this.processManager.cleanupPidFile();
1617
1617
  this.currentDaemon = null;
1618
1618
  });
1619
1619
  child.on("error", (error) => {
1620
- this.logger.error(`\u5B88\u62A4\u8FDB\u7A0B\u9519\u8BEF: ${error.message}`);
1620
+ consola.error(`\u5B88\u62A4\u8FDB\u7A0B\u9519\u8BEF: ${error.message}`);
1621
1621
  this.processManager.cleanupPidFile();
1622
1622
  this.currentDaemon = null;
1623
1623
  });
1624
1624
  child.on("disconnect", () => {
1625
- this.logger.info("\u5B88\u62A4\u8FDB\u7A0B\u65AD\u5F00\u8FDE\u63A5");
1625
+ consola.info("\u5B88\u62A4\u8FDB\u7A0B\u65AD\u5F00\u8FDE\u63A5");
1626
1626
  });
1627
1627
  }
1628
1628
  /**
@@ -1654,7 +1654,7 @@ var init_DaemonManager = __esm({
1654
1654
  try {
1655
1655
  this.currentDaemon.kill("SIGTERM");
1656
1656
  } catch (error) {
1657
- this.logger.warn(
1657
+ consola.warn(
1658
1658
  `\u6E05\u7406\u5B88\u62A4\u8FDB\u7A0B\u5931\u8D25: ${error instanceof Error ? error.message : String(error)}`
1659
1659
  );
1660
1660
  }
@@ -2229,7 +2229,7 @@ var ServiceCommandHandler_exports = {};
2229
2229
  __export(ServiceCommandHandler_exports, {
2230
2230
  ServiceCommandHandler: () => ServiceCommandHandler
2231
2231
  });
2232
- import { setGlobalLogLevel } from "../backend/Logger.js";
2232
+ import consola2 from "consola";
2233
2233
  var ServiceCommandHandler;
2234
2234
  var init_ServiceCommandHandler = __esm({
2235
2235
  "src/commands/ServiceCommandHandler.ts"() {
@@ -2301,7 +2301,7 @@ var init_ServiceCommandHandler = __esm({
2301
2301
  async handleStart(options) {
2302
2302
  try {
2303
2303
  if (options.debug) {
2304
- setGlobalLogLevel("debug");
2304
+ consola2.level = "debug";
2305
2305
  }
2306
2306
  const serviceManager = this.getService("serviceManager");
2307
2307
  if (options.stdio) {
@@ -2869,9 +2869,9 @@ __export(McpCommandHandler_exports, {
2869
2869
  McpCommandHandler: () => McpCommandHandler
2870
2870
  });
2871
2871
  import { configManager as configManager2 } from "../backend/lib/config/manager.js";
2872
- import { logger as logger2 } from "../backend/Logger.js";
2873
2872
  import chalk4 from "chalk";
2874
2873
  import Table from "cli-table3";
2874
+ import consola3 from "consola";
2875
2875
  import ora3 from "ora";
2876
2876
  var McpCommandHandler;
2877
2877
  var init_McpCommandHandler = __esm({
@@ -2883,12 +2883,10 @@ var init_McpCommandHandler = __esm({
2883
2883
  static {
2884
2884
  __name(this, "McpCommandHandler");
2885
2885
  }
2886
- logger;
2887
2886
  processManager;
2888
2887
  baseUrl;
2889
2888
  constructor(...args) {
2890
2889
  super(...args);
2891
- this.logger = logger2;
2892
2890
  this.processManager = new ProcessManagerImpl();
2893
2891
  try {
2894
2892
  const webPort = configManager2.getWebUIPort() ?? 9999;
@@ -3148,7 +3146,7 @@ var init_McpCommandHandler = __esm({
3148
3146
  }
3149
3147
  return responseData.data;
3150
3148
  } catch (error) {
3151
- this.logger.error(
3149
+ consola3.error(
3152
3150
  `\u5DE5\u5177\u8C03\u7528\u5931\u8D25: ${serviceName}/${toolName}`,
3153
3151
  error instanceof Error ? error.message : String(error)
3154
3152
  );
@@ -3628,7 +3626,6 @@ import { Command } from "commander";
3628
3626
 
3629
3627
  // src/Container.ts
3630
3628
  import { configManager } from "../backend/lib/config/manager.js";
3631
- import { logger } from "../backend/Logger.js";
3632
3629
 
3633
3630
  // src/errors/ErrorHandlers.ts
3634
3631
  import chalk from "chalk";
@@ -4061,9 +4058,6 @@ var DIContainer = class _DIContainer {
4061
4058
  container.registerSingleton("configManager", () => {
4062
4059
  return configManager;
4063
4060
  });
4064
- container.registerSingleton("logger", () => {
4065
- return logger;
4066
- });
4067
4061
  container.registerSingleton("errorHandler", () => {
4068
4062
  return ErrorHandler;
4069
4063
  });
@@ -4074,18 +4068,15 @@ var DIContainer = class _DIContainer {
4074
4068
  container.registerSingleton("daemonManager", () => {
4075
4069
  const DaemonManagerModule = (init_DaemonManager(), __toCommonJS(DaemonManager_exports));
4076
4070
  const processManager = container.get("processManager");
4077
- const logger3 = container.get("logger");
4078
- return new DaemonManagerModule.DaemonManagerImpl(processManager, logger3);
4071
+ return new DaemonManagerModule.DaemonManagerImpl(processManager);
4079
4072
  });
4080
4073
  container.registerSingleton("serviceManager", () => {
4081
4074
  const ServiceManagerModule = (init_ServiceManager(), __toCommonJS(ServiceManager_exports));
4082
4075
  const processManager = container.get("processManager");
4083
4076
  const configManager3 = container.get("configManager");
4084
- const logger3 = container.get("logger");
4085
4077
  return new ServiceManagerModule.ServiceManagerImpl(
4086
4078
  processManager,
4087
- configManager3,
4088
- logger3
4079
+ configManager3
4089
4080
  );
4090
4081
  });
4091
4082
  container.registerSingleton("templateManager", () => {