nikou-cli 0.1.46 → 0.1.48
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 +25 -28
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -286,7 +286,7 @@ node -e 'const s=require("/root/.nikou-block/state/worker.json"); console.log({p
|
|
|
286
286
|
|
|
287
287
|
绑定成功后会返回绿色状态卡片,展示本次绑定、当前群的全部普通目录绑定、完整路径、对应 Agent,以及知识库固定绑定(如有)。卡片底部同时给出省略盘符路径、完整路径和无路径选择三种解绑方式,便于确认当前真实绑定状态。
|
|
288
288
|
|
|
289
|
-
群聊内任何成员都可以发送解绑指令。路径既支持完整路径,也支持省略盘符后的末两级路径;不带路径时会显示卡片供用户选择。Agent 选择卡片会展示省略盘符路径、在线状态:在线 Agent 带绿色状态标识且可选择,离线 Agent
|
|
289
|
+
群聊内任何成员都可以发送解绑指令。路径既支持完整路径,也支持省略盘符后的末两级路径;不带路径时会显示卡片供用户选择。Agent 选择卡片会展示省略盘符路径、在线状态:在线 Agent 带绿色状态标识且可选择,离线 Agent 会置灰禁用;同一个话题首次选择 Agent 后,后续消息会继续定向到该 Agent,不再重复弹出选择卡片;不同话题仍然独立选择。卡片会倒计时 10 秒,超时自动使用当前群最近一次成功选择且仍在线的 Agent;没有可用默认 Agent 时,才会发送置灰的超时状态卡片。卡片底部同时提示解绑方式。
|
|
290
290
|
|
|
291
291
|
```text
|
|
292
292
|
@妮蔻 解绑 D:\project\hst\report
|
|
@@ -312,35 +312,20 @@ nikou-cli hook binding remove \
|
|
|
312
312
|
|
|
313
313
|
群聊发送 `绑定知识库` 后,任务会定向到配置的知识库 Worker 和固定目录,并返回不暴露知识库目录、IP 或宿主的红色绑定状态卡片。卡片同时展示当前群其他 Agent 目录绑定和解绑指令。发送 `解绑知识库` 可移除当前群的知识库固定绑定。知识库绑定只作用于群聊;单聊仍按发送人的飞书 `user_id` 选择其归属 Worker,同一用户多台 Worker 在线时优先使用最近接入的一台。
|
|
314
314
|
|
|
315
|
-
|
|
315
|
+
`knowledge` 引擎默认关闭单聊,仍可承接群聊知识库固定路由,但不会成为宿主的单聊候选。启动通知由主节点根据 Worker 上下线状态发送,展示运行引擎、当前模型、服务范围和 `nikou-cli` 版本,并检查 npm 是否有更新;网络暂时不可用时只标记“无法检测更新”,不阻塞节点启动。
|
|
316
316
|
|
|
317
|
-
|
|
318
|
-
{
|
|
319
|
-
"hook": {
|
|
320
|
-
"p2p_enabled": false,
|
|
321
|
-
"worker_name": "公司知识库妮蔻"
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
关闭后,该 Worker 仍可承接群聊知识库固定路由,但不会成为宿主的单聊候选。启动通知使用交互卡片展示从节点名称、运行引擎、当前模型、服务范围和 `nikou-cli` 版本,并检查 npm 是否有更新;知识库固定 Worker 也使用同一张卡片。网络暂时不可用时只标记“无法检测更新”,不阻塞节点启动。未配置时 `p2p_enabled` 默认为 `true`,保持旧 Worker 行为。
|
|
327
|
-
|
|
328
|
-
Worker 启动时会用 `ops_user` 解析飞书宿主身份和职务。可在私有配置的 `hook.owner_email_domain`(或环境变量 `NIKOU_OWNER_EMAIL_DOMAIN`)配置邮箱域,例如 `example.com`;首次启动会以 `ops_user@example.com` 查询飞书并写入本地身份缓存。`~/ops/vops_user.json` 仅作为缓存加速,缺失时不会阻止身份解析。管理状态中的 `perspectiveStatus` 可区分 `identity_unresolved`(身份未补齐)和 `job_title_unmatched`(已获取职务但未命中视角)。
|
|
317
|
+
主节点会根据 Worker 上报的 `ops_user` 统一解析飞书宿主身份、职务和视角,并在连接握手中返回给 Worker。邮箱域统一配置在主节点的 `hook.owner_email_domain`(或主节点环境变量 `NIKOU_OWNER_EMAIL_DOMAIN`)。飞书 App ID 和 App Secret 只保存在主节点;Worker 获取用户、群聊、消息历史、图片和附件时,通过已认证的主从通道调用受限飞书网关,不保存或接收飞书凭证。管理状态中的 `perspectiveStatus` 可区分 `identity_unresolved`(身份未补齐)和 `job_title_unmatched`(已获取职务但未命中视角)。
|
|
329
318
|
|
|
330
319
|
知识库 Worker 可以使用 `knowledge` 引擎直接连接 FastGPT 应用。此模式不会启动 Claude,也不会在 Worker 内重复连接知识库或代码 MCP;FastGPT 应用负责完成知识检索、内部工具调用和回答生成,Worker 只负责会话、流式事件与飞书卡片适配:
|
|
331
320
|
|
|
332
321
|
```json
|
|
333
322
|
{
|
|
334
|
-
"
|
|
335
|
-
"
|
|
336
|
-
"
|
|
337
|
-
"
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
"api_key_env": "NIKOU_FASTGPT_APP_KEY",
|
|
341
|
-
"request_timeout_ms": 600000,
|
|
342
|
-
"retain_dataset_cite": true
|
|
343
|
-
}
|
|
323
|
+
"knowledge": {
|
|
324
|
+
"provider": "fastgpt",
|
|
325
|
+
"base_url": "http://127.0.0.1:3000/api",
|
|
326
|
+
"api_key_env": "NIKOU_FASTGPT_APP_KEY",
|
|
327
|
+
"request_timeout_ms": 600000,
|
|
328
|
+
"retain_dataset_cite": true
|
|
344
329
|
}
|
|
345
330
|
}
|
|
346
331
|
```
|
|
@@ -353,26 +338,38 @@ API Key 必须来自 `api_key_env` 指定的环境变量,不支持把真实 Ke
|
|
|
353
338
|
nikou-cli hook init
|
|
354
339
|
```
|
|
355
340
|
|
|
356
|
-
初始化只需要以上一条命令,不需要预先创建 JSON
|
|
341
|
+
初始化只需要以上一条命令,不需要预先创建 JSON。命令按从节点模式初始化,只提示主节点地址和主从接入密钥,不再要求飞书 App ID 或 App Secret;所有 Secret 输入均不会回显。运行凭据写入 npm 包之外的本机私有目录,配置文件和备份权限固定为 `0600`,初始化摘要不会展示任何 Secret。默认主节点地址为 `127.0.0.1`;如果旧配置里已有非本机主节点地址,则沿用该地址。
|
|
357
342
|
|
|
358
343
|
内部批量安装可使用参数完成非交互初始化。推荐由安装系统注入 Secret 环境变量,避免密钥出现在 Shell 历史和进程参数中:
|
|
359
344
|
|
|
360
345
|
```bash
|
|
361
|
-
FEISHU_APP_SECRET="$YOUR_FEISHU_APP_SECRET" \
|
|
362
346
|
NIKOU_HOOK_SHARED_SECRET="$YOUR_HOOK_SHARED_SECRET" \
|
|
363
347
|
nikou-cli hook init \
|
|
364
|
-
--app-id cli_xxx \
|
|
365
348
|
--master-ip 203.0.113.10 \
|
|
366
349
|
--deployment slave \
|
|
367
350
|
--yes
|
|
368
351
|
```
|
|
369
352
|
|
|
370
|
-
也兼容 `--
|
|
353
|
+
也兼容 `--shared-secret` 明文参数,但只建议在受控安装环境使用。主节点或本机一体模式仍可使用 `--app-id`、`--app-secret` 配置飞书凭证;从节点模式会忽略并移除本地飞书凭证。
|
|
371
354
|
|
|
372
355
|
单独从节点连接已有主节点时,不要求配置主节点专用的 `hook.bind_allowed_user_ids`。本机一体或单独启动主节点时,仍必须至少配置一个允许绑定的飞书 `user_id`。
|
|
373
356
|
从节点模式只写入 `~/.nikou-block/worker/config.json`,不再生成或覆盖主节点配置;
|
|
374
357
|
检测到历史 `~/.nikou-block/master/config.json` 时只告警,不会未经确认自动删除。
|
|
375
358
|
|
|
359
|
+
从节点生成的 Hook 配置保持最小化:
|
|
360
|
+
|
|
361
|
+
```json
|
|
362
|
+
{
|
|
363
|
+
"hook": {
|
|
364
|
+
"master_host": "203.0.113.10",
|
|
365
|
+
"master_port": 19732,
|
|
366
|
+
"shared_secret": "CHANGE_ME"
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
AI 引擎、模型、本地目录以及 FastGPT 等引擎专用密钥仍属于本机运行配置,不会从主节点下发。升级时应先部署主节点,再逐个升级 Worker;新主节点兼容仍持有本地飞书凭证的旧 Worker,新 Worker 连接不支持飞书网关的旧主节点时会明确提示先升级主节点。
|
|
372
|
+
|
|
376
373
|
`ai-hook` 裸命令仅为个人节点兼容旧习惯,仍默认等价于 `nikou-cli hook worker codex`;如需在个人节点启动 Claude Worker:
|
|
377
374
|
|
|
378
375
|
```bash
|