chuxin-agentdesk 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -49,9 +49,9 @@ agentdesk stop
49
49
 
50
50
  `init`、`chat`、`run`、`tasks`、`inspect`、`cancel`、`resume`、`approvals`、`approve`、`reject` 等命令在本地服务未运行时会自动在后台拉起服务并等待就绪后继续执行(交互终端下会看到一行启动提示),不需要每次手动先执行 `agentdesk start`;仍然可以显式用 `start`/`stop`/`restart`/`status` 管理服务生命周期,这四个命令的行为不受影响。
51
51
 
52
- 在真实交互终端下,不带任何子命令直接执行 `agentdesk` 会跳过帮助页:已配置模型时直接进入持久化交互式会话(等同于 `agentdesk chat`);未配置模型时先完成一次 `init` 配置向导,正常完成后无缝接续进入会话,不需要再手动敲一次 `chat`。脚本、CI 或管道等非交互环境下裸执行 `agentdesk` 行为不变,仍打印帮助;显式执行 `agentdesk help`/`--help`/`chat`/`init` 等命令的行为也不受影响。
52
+ 在真实交互终端下,不带任何子命令直接执行 `agentdesk` 会跳过帮助页:已配置模型时直接进入持久化交互式会话(等同于 `agentdesk chat`);未配置模型时先完成一次 `init` 配置向导,正常完成后进入同一会话。显式执行 `agentdesk init` 也一样:填完地址和密钥,或选择保留已有配置后,直接进入对话界面。脚本、CI 或管道等非交互环境下,裸执行仍打印帮助,`init` 只保存配置并提示下一步命令。
53
53
 
54
- `init` 在服务启动后交互配置模型地址、名称和 API Key,密钥输入不回显,并由现有 sidecar 密钥存储加密保存。CLI 独立运行使用本地密钥文件,和桌面端的系统钥匙串方式不同。`init` 保存配置但不自动调用模型;使用自己的有效模型完成聊天后才算连通验证。
54
+ `init` 在服务启动后交互配置模型地址、名称和 API Key,密钥输入不回显,并由现有 sidecar 密钥存储加密保存。CLI 独立运行使用本地密钥文件,和桌面端的系统钥匙串方式不同。`init` 保存配置但不自动调用模型;进入对话后使用自己的有效模型完成一轮聊天,才算连通验证。
55
55
 
56
56
  交互终端采用 Vite+ 官方 `@voidzero-dev/vite-plus-prompts` 组件,提供带连接线的配置向导、方向键协议选择、输入占位提示、就地校验及密钥掩码。选项确认后收起菜单,只保留结果。已有模型时,重新执行 `init` 可以选择保留或重新配置。
57
57
 
@@ -173,7 +173,7 @@ pnpm --filter ./apps/cli test:dist
173
173
  pnpm --filter ./apps/cli test:package
174
174
  ```
175
175
 
176
- 先检查 tarball 文件列表,在仓库外安装并验证 help、start、认证、重复启动、init、chat、status、logs、restart 与 stop,再配置正式版本和公开发布。当前不提供已发布的 npm 安装命令。
176
+ 先检查 tarball 文件列表,在仓库外安装并验证 help、start、认证、重复启动、init、chat、status、logs、restart 与 stop,再发布。已发布版本可用 `npm install -g chuxin-agentdesk` 安装。
177
177
 
178
178
  ## TypeScript 开发入口
179
179
 
package/dist/index.mjs CHANGED
@@ -3683,6 +3683,7 @@ import { createRequire } from "node:module";
3683
3683
  import { setTimeout as delay3 } from "node:timers/promises";
3684
3684
  async function initialize(home, workerPath2, values, { version: version2 = "" } = {}) {
3685
3685
  const ui = createUi();
3686
+ const openChat = Boolean(process.stdin.isTTY) && Boolean(process.stdout.isTTY) && Boolean(process.stderr.isTTY);
3686
3687
  await ui.welcome("\u8FDE\u63A5\u6A21\u578B\uFF0C\u5F00\u542F\u4F60\u7684 Agent \u4E4B\u65C5", version2);
3687
3688
  const state = await runningState(home, workerPath2);
3688
3689
  const providers = await (await apiRequest(state, "/providers")).json();
@@ -3693,9 +3694,10 @@ async function initialize(home, workerPath2, values, { version: version2 = "" }
3693
3694
  { label: "\u91CD\u65B0\u914D\u7F6E\u6A21\u578B", value: "configure", hint: "\u4FEE\u6539\u534F\u8BAE\u3001\u5730\u5740\u6216\u5BC6\u94A5" }
3694
3695
  ]) : "keep";
3695
3696
  if (action === "keep") {
3697
+ if (openChat) return true;
3696
3698
  ui.note(nextCommand('chat "\u4F60\u597D"', home));
3697
3699
  ui.outro("\u914D\u7F6E\u5DF2\u4FDD\u7559");
3698
- return;
3700
+ return false;
3699
3701
  }
3700
3702
  }
3701
3703
  ui.note(`\u6570\u636E\u76EE\u5F55 ${home}`);
@@ -3761,8 +3763,10 @@ async function initialize(home, workerPath2, values, { version: version2 = "" }
3761
3763
  ["\u534F\u8BAE", api],
3762
3764
  ["\u51ED\u636E", "\u5DF2\u52A0\u5BC6\u4FDD\u5B58\uFF1B\u5C1A\u672A\u8C03\u7528\u6A21\u578B\u9A8C\u8BC1\u8FDE\u63A5"]
3763
3765
  ]);
3766
+ if (openChat) return true;
3764
3767
  ui.note(`\u5F00\u59CB\u5BF9\u8BDD\uFF1A${nextCommand('chat "\u4F60\u597D"', home)}`);
3765
3768
  ui.outro("\u914D\u7F6E\u5B8C\u6210\uFF0C\u5F00\u59CB\u521B\u9020\u5427\u3002");
3769
+ return false;
3766
3770
  }
3767
3771
  async function chat(home, workerPath2, message, values) {
3768
3772
  const state = await runningState(home, workerPath2);
@@ -125106,7 +125110,7 @@ var HELP = `AgentDesk \u2014 \u672C\u5730 Agent \u5DE5\u4F5C\u53F0\u547D\u4EE4\u
125106
125110
  doctor [--json] \u68C0\u67E5 Node\u3001Git\u3001\u53D1\u884C\u6587\u4EF6\u548C\u6A21\u578B\u914D\u7F6E
125107
125111
 
125108
125112
  \u6A21\u578B\u4E0E\u5BF9\u8BDD
125109
- init \u521D\u59CB\u5316\u6A21\u578B\uFF08\u5148\u542F\u52A8\u670D\u52A1\uFF0C\u5BC6\u94A5\u9690\u85CF\u8F93\u5165\uFF09
125113
+ init \u521D\u59CB\u5316\u6A21\u578B\uFF08\u4EA4\u4E92\u7EC8\u7AEF\u5B8C\u6210\u540E\u8FDB\u5165\u5BF9\u8BDD\uFF1B\u5BC6\u94A5\u9690\u85CF\u8F93\u5165\uFF09
125110
125114
  chat \u6253\u5F00\u6301\u4E45\u5316\u4EA4\u4E92\u5F0F\u4F1A\u8BDD\uFF08\u9700\u4EA4\u4E92\u7EC8\u7AEF\uFF0C--agent code\uFF0C--conversation ID \u7EED\u63A5\u5386\u53F2\uFF09
125111
125115
  chat "\u6D88\u606F" \u4E00\u6B21\u6027\u6D41\u5F0F\u5BF9\u8BDD\u5E76\u9000\u51FA\uFF08--agent code\uFF0C--conversation ID\uFF0C--json\uFF09
125112
125116
 
@@ -125234,8 +125238,13 @@ async function main() {
125234
125238
  } else if (command === "logs") await logs(home, values);
125235
125239
  else if (command === "doctor") {
125236
125240
  if (!await doctor(home, workerPath, values.json)) process.exitCode = 1;
125237
- } else if (command === "init") await initialize(home, workerPath, values, { version: VERSION });
125238
- else if (command === "chat") {
125241
+ } else if (command === "init") {
125242
+ const openChat = await initialize(home, workerPath, values, { version: VERSION });
125243
+ if (openChat) {
125244
+ const { runInteractiveChat: runInteractiveChat2 } = await init_session().then(() => session_exports);
125245
+ await runInteractiveChat2(home, workerPath, values, VERSION);
125246
+ }
125247
+ } else if (command === "chat") {
125239
125248
  const message = positionals.join(" ").trim();
125240
125249
  const interactive = !message && !values.json && process.stdin.isTTY && process.stderr.isTTY && process.stdout.isTTY;
125241
125250
  if (interactive) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chuxin-agentdesk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "AgentDesk CLI: local agent runtime, service management and terminal chat",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -37,8 +37,8 @@
37
37
  "ink-testing-library": "^4.0.0",
38
38
  "tsx": "4.20.6",
39
39
  "typescript": "^5.9.3",
40
- "@agentdesk/sidecar": "0.1.0",
41
- "@agentdesk/shared": "0.1.0"
40
+ "@agentdesk/shared": "0.1.0",
41
+ "@agentdesk/sidecar": "0.1.0"
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",