nikou-cli 0.1.33 → 0.1.35

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.
Files changed (3) hide show
  1. package/README.md +33 -10
  2. package/dist/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -263,7 +263,7 @@ Kiro 的 `--model` / `--effort` 是「新建会话时」生效的初始值,当
263
263
  | 角色 | 运行内容 | 部署边界 |
264
264
  | --- | --- | --- |
265
265
  | 知识库宿主机主节点 | 飞书接入、任务路由、Worker 注册 | 与知识库 Worker 部署在同一台知识库宿主机,不按树莓派处理 |
266
- | 知识库宿主机 Worker | Claude Worker、知识库群聊任务 | 唯一的知识库 Claude Worker,关闭单聊路由 |
266
+ | 知识库宿主机 Worker | FastGPT knowledge Worker、知识库群聊任务 | 唯一的知识库 Worker,关闭单聊路由 |
267
267
  | 个人节点 | Kiro/Codex 等个人 Worker | 仅处理对应宿主的单聊和绑定任务 |
268
268
 
269
269
  当前知识库宿主机同时托管主节点和唯一的知识库 Worker,两个 systemd 服务均配置为开机自启。发布新版本后,在同一台知识库宿主机安装对应版本,并按顺序重启两个服务:
@@ -272,13 +272,13 @@ Kiro 的 `--model` / `--effort` 是「新建会话时」生效的初始值,当
272
272
  npm install -g nikou-cli@<version> --force --registry=https://registry.npmjs.org/
273
273
  nikou-cli --version
274
274
  systemctl restart com.vangelis.agent-block.hook.master.service
275
- systemctl restart ai-hook-claude.service
276
- systemctl is-enabled com.vangelis.agent-block.hook.master.service ai-hook-claude.service
277
- systemctl is-active com.vangelis.agent-block.hook.master.service ai-hook-claude.service
275
+ systemctl restart ai-hook-knowledge.service
276
+ systemctl is-enabled com.vangelis.agent-block.hook.master.service ai-hook-knowledge.service
277
+ systemctl is-active com.vangelis.agent-block.hook.master.service ai-hook-knowledge.service
278
278
  node -e 'const s=require("/root/.nikou-block/state/worker.json"); console.log({pid:s.pid,status:s.status,engine:s.engine,slaveConnectionStatus:s.slaveConnectionStatus})'
279
279
  ```
280
280
 
281
- 验收时应确认两个服务均为 `enabled/active`,主节点监听端口和状态文件正常,Worker 使用目标版本、`engine=claude`、`slaveConnectionStatus=online`,并在主节点日志中确认该 Worker 的 `p2p_enabled=false`。同时确认不存在旧的 `ai-hook-knowledge.service`,以及主节点上只有这一个知识库 Claude Worker。FastGPT/知识库平台容器按各自仓库与服务说明单独部署。
281
+ 验收时应确认两个服务均为 `enabled/active`,知识库 unit 的 `ExecStart` 精确为 `nikou-cli hook worker knowledge`,主节点监听端口和状态文件正常,Worker 使用目标版本、`engine=knowledge`、`slaveConnectionStatus=online`,并在主节点日志中确认该 Worker 的 `p2p_enabled=false`。同时确认主节点上只有这一个知识库 Worker,没有其他引擎的 Worker unit 或进程。FastGPT/知识库平台容器按各自仓库与服务说明单独部署。
282
282
 
283
283
  群聊发送 `@机器人 绑定: <目录>` 时,主节点会先检查当前用户是否已经绑定该目录;已有绑定会直接返回当前绑定状态卡片。当前用户已有其他目录时,会通过卡片确认“覆盖原绑定”或“新增绑定目录”;覆盖操作会在新目录校验成功后再撤销旧绑定。一个群可以保留多个用户、多个目录的 Agent 绑定,绑定指令不会广播给其他 Worker 抢占。
284
284
 
@@ -351,7 +351,7 @@ API Key 必须来自 `api_key_env` 指定的环境变量,不支持把真实 Ke
351
351
  nikou-cli hook init
352
352
  ```
353
353
 
354
- 初始化只需要以上一条命令,不需要预先创建 JSON。命令会提示部署方式、主节点地址和首次安装缺少的飞书信息;所有 Secret 输入均不会回显。本机一体模式会自动随机生成主从共享密钥,从节点模式则安全读取已有主节点的共享密钥。运行凭据写入 npm 包之外的本机私有目录,配置文件和备份权限固定为 `0600`,初始化摘要不会展示任何 Secret。没有远端主节点配置时默认选择本机一体,并使用 `127.0.0.1`;如果旧配置里已有非本机主节点地址,默认选择从节点并沿用该地址。
354
+ 初始化只需要以上一条命令,不需要预先创建 JSON。命令按从节点模式初始化,并提示主节点地址和首次安装缺少的飞书信息;所有 Secret 输入均不会回显。运行凭据写入 npm 包之外的本机私有目录,配置文件和备份权限固定为 `0600`,初始化摘要不会展示任何 Secret。默认主节点地址为 `127.0.0.1`;如果旧配置里已有非本机主节点地址,则沿用该地址。
355
355
 
356
356
  内部批量安装可使用参数完成非交互初始化。推荐由安装系统注入 Secret 环境变量,避免密钥出现在 Shell 历史和进程参数中:
357
357
 
@@ -371,7 +371,7 @@ nikou-cli hook init \
371
371
  从节点模式只写入 `~/.nikou-block/worker/config.json`,不再生成或覆盖主节点配置;
372
372
  检测到历史 `~/.nikou-block/master/config.json` 时只告警,不会未经确认自动删除。
373
373
 
374
- `ai-hook` 裸命令为兼容旧习惯,仍默认等价于 `nikou-cli hook worker codex`;如需只启动 Claude Worker:
374
+ `ai-hook` 裸命令仅为个人节点兼容旧习惯,仍默认等价于 `nikou-cli hook worker codex`;如需在个人节点启动 Claude Worker:
375
375
 
376
376
  ```bash
377
377
  ai-hook claude --model claude-opus-4-8
@@ -515,11 +515,35 @@ nikou-cli hook admin-key --show # 打印完整密钥,注意不要外发
515
515
  | GET | `/admin/log?page=1&pageSize=200&keyword=` | 主节点日志分页,`page=1` 为最新一页 |
516
516
  | GET | `/admin/stats?days=7` | 按天任务统计,读本机 `usage-events.sqlite` |
517
517
  | POST | `/admin/restart` | 主节点自行退出,由 systemd `Restart=always` 拉起 |
518
+ | POST | `/admin/workers/:workerId/remote-support` | 指定 Worker 执行一次远程 AI 支持会话 |
519
+ | GET | `/admin/remote-support/:requestId` | 查询远程支持会话及实时事件 |
520
+ | POST/DELETE | `/admin/remote-support/:requestId/cancel` | 取消远程支持会话 |
518
521
 
519
522
  安全边界:密钥只做常量时间比较,鉴权失败按来源 IP 限流(5 分钟内 8 次后返回
520
523
  429),日志不打印密钥;返回体只含运行态与脱敏 Worker 摘要,不含飞书凭据、
521
524
  `shared_secret` 或统计库账号。重启依赖 systemd 托管,未托管时接口直接拒绝。
522
525
 
526
+ #### 远程 Worker 支持会话
527
+
528
+ 远程支持会话用于管理员从 CC Switch 直接联通、排查或复测指定从节点,不经过飞书
529
+ 任务路由,也不会发送飞书消息或渲染飞书卡片。请求体示例:
530
+
531
+ ```json
532
+ {
533
+ "prompt": "test",
534
+ "dirPath": "/workspace/your-project",
535
+ "mode": "full_agent",
536
+ "timeoutMs": 120000
537
+ }
538
+ ```
539
+
540
+ `full_agent` 会复用目标 Worker 当前启动的引擎、模型、思考深度、执行目录权限及
541
+ MCP/工具配置;从节点会实时回传状态、思考摘要、工具调用及结果、标准输出、错误
542
+ 和使用量,管理员页面可直接查看这些事件。`raw_probe` 只用于基础联通探测,不启动
543
+ 完整 Agent。执行目录必须是目标从节点本机存在且可访问的目录,路径不会在主节点上
544
+ 执行。新协议通过 Worker 启动握手中的可选能力字段协商,旧 Worker 不支持时会被
545
+ 主节点明确拒绝,不影响原有飞书任务。
546
+
523
547
  ### 启动从节点
524
548
 
525
549
  Codex:
@@ -569,8 +593,6 @@ nikou-cli hook worker api --api kiro
569
593
  FastGPT 知识库客户端:
570
594
 
571
595
  ```bash
572
- ai-hook knowledge
573
- # 完整入口
574
596
  nikou-cli hook worker knowledge
575
597
  ```
576
598
 
@@ -604,9 +626,10 @@ ai-hook claude --model claude-sonnet-4-6
604
626
  ai-hook gemini
605
627
  ai-hook kiro
606
628
  ai-hook api --api kiro
607
- ai-hook knowledge
608
629
  ```
609
630
 
631
+ 知识库宿主机不使用 `ai-hook` 兼容入口,必须使用唯一的 `nikou-cli hook worker knowledge` 启动方式。
632
+
610
633
  从节点连接主节点成功后,会向宿主发送启动卡片。卡片包含当前运行引擎、实际启动模型和单聊/群聊可用范围;通过飞书菜单切换模型并重启后,新卡片同时作为切换成功确认。
611
634
 
612
635
  ### 飞书机器人菜单事件