luckytri 1.0.0 → 1.0.2
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/.github/SECURITY.md +4 -4
- package/README.en.md +252 -250
- package/README.md +252 -250
- package/bin/luckytri.js +5 -1
- package/docs/en/CHANGELOG.md +8 -0
- package/docs/en/connect.md +18 -18
- package/docs/en/guide.md +202 -216
- package/docs/en/npm-release.md +25 -25
- package/docs/zh/CHANGELOG.md +8 -0
- package/docs/zh/connect.md +17 -17
- package/docs/zh/guide.md +202 -216
- package/docs/zh/npm-release.md +33 -33
- package/package.json +110 -108
- package/plugins/sdk/index.d.ts +155 -155
- package/plugins/sdk/testing.js +58 -58
- package/plugins/weather/index.js +82 -82
- package/plugins/weather/luckytri-plugin.json +29 -29
- package/public/app/assets/ChatsPage-BhlJHseG.js +3 -0
- package/public/app/assets/Empty-DP6WMGHi.js +2 -0
- package/public/app/assets/Field-CtbdqaiB.js +1 -0
- package/public/app/assets/HeartPage-32BeTPn2.js +1 -0
- package/public/app/assets/LifePage-CxSm0XKI.js +1 -0
- package/public/app/assets/MemoryPage-BeKBcPCY.js +1 -0
- package/public/app/assets/NaturePage-NEPYl2HS.js +3 -0
- package/public/app/assets/PeoplePage-DxtpekwM.js +1 -0
- package/public/app/assets/PluginsPage-CVVQwEBI.css +1 -0
- package/public/app/assets/PluginsPage-DksEZbUU.js +2 -0
- package/public/app/assets/{SystemPage-CAMPoYqM.css → SystemPage-BkRu0Rvx.css} +1 -1
- package/public/app/assets/SystemPage-BvzJlHuY.js +1 -0
- package/public/app/assets/TimePage-7-awH5XL.js +3 -0
- package/public/app/assets/index-4rItIkD-.js +4 -0
- package/public/app/assets/{index-YDz1ree1.css → index-DY4e15Kh.css} +1 -1
- package/public/app/assets/{knowledge-DG0e0uKw.js → knowledge-C6_HvoyB.js} +1 -1
- package/public/app/assets/media-SMfTT-yc.js +1 -0
- package/public/app/index.html +3 -3
- package/public/guide.en.html +72 -99
- package/public/guide.html +44 -86
- package/public/tutorial.en.md +25 -39
- package/public/tutorial.md +25 -39
- package/scripts/backup.js +311 -311
- package/scripts/browser.js +41 -41
- package/scripts/import-data.js +128 -0
- package/scripts/launch.js +101 -94
- package/scripts/plugin.js +150 -150
- package/scripts/reset-password.js +22 -0
- package/scripts/runtime.js +25 -25
- package/scripts/service.js +56 -47
- package/scripts/setup.js +50 -50
- package/scripts/start-server.js +41 -41
- package/scripts/stop.js +36 -36
- package/server/app.js +112 -96
- package/server/auth.js +217 -0
- package/server/channels/contract.js +57 -57
- package/server/channels/hub.js +165 -165
- package/server/channels/index.js +28 -25
- package/server/channels/onebot/index.js +335 -336
- package/server/channels/onebot/token.js +22 -3
- package/server/core/capabilities.js +208 -208
- package/server/core/events.js +64 -60
- package/server/core/image-preprocessor.js +208 -208
- package/server/core/model-manager.js +1213 -1213
- package/server/core/net-guard.js +49 -49
- package/server/core/orchestrator.js +569 -569
- package/server/core/perceivers.js +91 -91
- package/server/core/persona-manager.js +243 -243
- package/server/core/repository.js +293 -293
- package/server/core/response-validator.js +508 -508
- package/server/core/turn-processor.js +630 -630
- package/server/core/turn.js +236 -236
- package/server/core/vision-manager.js +633 -633
- package/server/i18n/errors.js +548 -497
- package/server/i18n/labels.js +649 -653
- package/server/index.js +151 -102
- package/server/knowledge/manager.js +386 -386
- package/server/knowledge/schema.js +12 -8
- package/server/local-access.js +32 -0
- package/server/mind/anticipations.js +507 -507
- package/server/mind/api.js +703 -703
- package/server/mind/budget.js +152 -152
- package/server/mind/context-selection.js +61 -61
- package/server/mind/day-planner.js +324 -324
- package/server/mind/evidence.js +148 -148
- package/server/mind/index.js +445 -445
- package/server/mind/life/diary.js +786 -786
- package/server/mind/life/index.js +1049 -1049
- package/server/mind/observations.js +84 -84
- package/server/mind/own-day.js +324 -324
- package/server/mind/own-voice.js +318 -318
- package/server/mind/senses.js +53 -53
- package/server/mind/time/activity-clock.js +196 -196
- package/server/mind/time/availability.js +69 -69
- package/server/mind/time/commitment-review.js +198 -198
- package/server/mind/time/executor.js +512 -512
- package/server/mind/time/experiences.js +128 -128
- package/server/mind/time/games.js +562 -562
- package/server/mind/time/index.js +739 -739
- package/server/mind/time/intent.js +166 -166
- package/server/mind/time/kinds.js +171 -171
- package/server/mind/time/plugin-activity.js +207 -207
- package/server/mind/time/tasks.js +587 -587
- package/server/mind/util.js +110 -110
- package/server/mind/view.js +273 -273
- package/server/paths.js +102 -102
- package/server/plugins/api.js +204 -204
- package/server/plugins/host.js +967 -967
- package/server/plugins/install.js +295 -295
- package/server/plugins/manifest.js +201 -201
- package/server/plugins/permissions.js +42 -42
- package/server/plugins/runner/guard.mjs +36 -36
- package/server/plugins/runner/worker.mjs +250 -250
- package/server/plugins/schema.js +91 -91
- package/server/plugins/zip.js +112 -112
- package/server/startup-lock.js +118 -118
- package/server/storage/archive.js +242 -241
- package/server/storage/backup-cleanup-worker.js +8 -8
- package/server/storage/backup-cleanup.js +415 -414
- package/server/storage/backup-lock.js +76 -76
- package/server/storage/backup-scheduler.js +131 -131
- package/server/storage/data-package.js +298 -0
- package/server/storage/data-transfer-api.js +50 -0
- package/server/storage/data-transfer-worker.js +18 -0
- package/server/storage/data-transfer.js +415 -0
- package/server/storage/store.js +202 -199
- package/server/studio/readiness.js +181 -190
- package/server/studio/settings.js +236 -236
- package/public/app/assets/ChatsPage-C-FcRapR.js +0 -3
- package/public/app/assets/Empty-CpP5kQHH.js +0 -2
- package/public/app/assets/Field-D4gY-INU.js +0 -1
- package/public/app/assets/HeartPage-CPy_thQd.js +0 -1
- package/public/app/assets/LifePage-CxWvwmSf.js +0 -1
- package/public/app/assets/MemoryPage-DC4rhQ68.js +0 -1
- package/public/app/assets/NaturePage-IvYw04Zq.js +0 -3
- package/public/app/assets/PeoplePage-Cqefm9-q.js +0 -1
- package/public/app/assets/PluginsPage-DKSaKvXb.js +0 -2
- package/public/app/assets/PluginsPage-HyBe5D8w.css +0 -1
- package/public/app/assets/SystemPage-CJmtJkrK.js +0 -1
- package/public/app/assets/TimePage-Cw44inM4.js +0 -3
- package/public/app/assets/index-BheRW-1t.js +0 -4
- package/public/app/assets/media-BzPDBm7e.js +0 -1
package/public/tutorial.md
CHANGED
|
@@ -16,7 +16,7 @@ luckytri
|
|
|
16
16
|
|
|
17
17
|
LuckyTri 在后台启动并打开 <http://127.0.0.1:3210>,首次运行自动生成配置。无需下载仓库或构建 WebUI。终端里的 SQLite 实验性提示不表示启动失败,以能否打开 LuckyTri 为准。
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
首次进入管理台时设置一个密码即可。`luckytri --no-browser` 只后台启动,`luckytri start` 前台运行,`luckytri stop` 停止服务。更新使用 `luckytri stop` → `npm install -g luckytri@latest` → `luckytri`,密码、配置与数据会保留。
|
|
20
20
|
|
|
21
21
|
从源码开发时,在仓库中执行 `npm install`、`npm run setup`、`npm run build`、`npm start`。下文的 `npm run setup/stop/backup/recovery/plugin` 面向源码用户;全局用户使用对应的 `luckytri setup/stop/backup/recovery/plugin`。
|
|
22
22
|
|
|
@@ -39,35 +39,11 @@ LuckyTri 是「TA 的小世界」,左侧导航分三组、十个入口:
|
|
|
39
39
|
|
|
40
40
|
界面的颜色、天空和动效跟着 TA 的心情与作息变化:开心时暖、低落时灰蓝、睡着后变成夜晚。左下角可以把主题固定成某一种,也可以「减少动画」。右下角的小 TA 戳一下会回应一句,按住是摸摸头,双击或点「聊聊」打开试聊;这些只是界面动画,不会改变 TA 的心智。手机上导航在底部,其余入口在「更多」里。
|
|
41
41
|
|
|
42
|
-
## 2.
|
|
42
|
+
## 2. 设置管理密码
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
首次打开管理台时设置一个至少 8 个字符的密码,确认后进入。以后用同一个密码登录,不需要打开 `.env` 查找管理令牌。浏览器登录状态会保留;更新和重装不会重置密码。
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
luckytri setup
|
|
48
|
-
luckytri paths
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
没有 `.env` 时,setup 会写入管理令牌和 OneBot 连接令牌。已有 `.env` 会原样保留。
|
|
52
|
-
|
|
53
|
-
```dotenv
|
|
54
|
-
HOST=127.0.0.1
|
|
55
|
-
PORT=3210
|
|
56
|
-
ADMIN_TOKEN=
|
|
57
|
-
ONEBOT_TOKEN=
|
|
58
|
-
LLM_API_KEY=
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
| 字段 | 用途 |
|
|
62
|
-
| ----------------------------------- | --------------------------------------------------------------- |
|
|
63
|
-
| `ADMIN_TOKEN` | 打开 LuckyTri 和调用 HTTP API;停止命令也会使用 |
|
|
64
|
-
| `ONEBOT_TOKEN` | OneBot 11 接入端连接 `/onebot/v11/ws`(只用 OneBot 方式时需要) |
|
|
65
|
-
| `LLM_API_KEY` | 可选;非空时优先于 LuckyTri 里保存的模型密钥 |
|
|
66
|
-
| `LUCKYTRI_CHANNEL` | 可选;`onebot` 或 `qqbot`。设置后在界面里不能更改连接方式 |
|
|
67
|
-
| `QQBOT_APP_ID` / `QQBOT_APP_SECRET` | 可选;QQ 官方机器人的凭据,优先于界面里保存的 |
|
|
68
|
-
| `HOST` / `PORT` | 监听地址和端口;本机使用保持默认 |
|
|
69
|
-
|
|
70
|
-
页面第一次取数据时会弹出窗口要求输入 `ADMIN_TOKEN`。令牌只留在当前标签页。修改 `.env` 后必须重启。不要把 `ADMIN_TOKEN` 填给 QQ 接入端,也不要把 `ONEBOT_TOKEN` 当成管理台密码。
|
|
46
|
+
在「系统 → 运行开关」可以修改密码或退出登录。密码只以加盐校验摘要保存,现有环境配置和模型密钥保留。
|
|
71
47
|
|
|
72
48
|
## 3. 先在模拟模式试聊
|
|
73
49
|
|
|
@@ -111,20 +87,20 @@ LLM_API_KEY=
|
|
|
111
87
|
|
|
112
88
|
LuckyTri 只实现 OneBot 11 的反向 WebSocket 接口,接入端需要你自行准备和管理。
|
|
113
89
|
|
|
114
|
-
1.
|
|
90
|
+
1. 本机连接无需单独令牌,保留已有的接入地址和 QQ 登录。
|
|
115
91
|
2. 在接入端自己的网络设置里添加 OneBot 11 反向 WebSocket 客户端:
|
|
116
92
|
|
|
117
|
-
| 项目 | 本机填写
|
|
118
|
-
| ------------- |
|
|
119
|
-
| 协议 | OneBot 11
|
|
120
|
-
| WebSocket URL | `ws://127.0.0.1:3210/onebot/v11/ws`
|
|
121
|
-
| Token |
|
|
122
|
-
| 消息格式 | 数组
|
|
123
|
-
| 启用 | 开启并保存
|
|
93
|
+
| 项目 | 本机填写 |
|
|
94
|
+
| ------------- | -------------------------------------------------- |
|
|
95
|
+
| 协议 | OneBot 11 |
|
|
96
|
+
| WebSocket URL | `ws://127.0.0.1:3210/onebot/v11/ws` |
|
|
97
|
+
| Token | 本机无需填写;远程可使用管理密码,旧远程令牌仍兼容 |
|
|
98
|
+
| 消息格式 | 数组 |
|
|
99
|
+
| 启用 | 开启并保存 |
|
|
124
100
|
|
|
125
101
|
3. 在接入端完成 QQ 登录。小号需要已加入目标群;LuckyTri 不保存 QQ 密码。
|
|
126
102
|
|
|
127
|
-
|
|
103
|
+
容器或另一台电脑中的 `127.0.0.1` 指向自身。远程接入使用 LuckyTri 的可达地址,并先在本机设置管理密码;对外提供管理台时使用 HTTPS。
|
|
128
104
|
|
|
129
105
|
### 方式二:QQ 官方机器人
|
|
130
106
|
|
|
@@ -192,14 +168,24 @@ TA 的一切都存在这一个数据库里,所以服务运行时会自动备
|
|
|
192
168
|
|
|
193
169
|
恢复时先停止服务,把当前 `data/friend.db` 及同名 `-wal`、`-shm` 移开,再把选中的备份复制为 `data/friend.db`。设置了 `DB_PATH` 时操作该路径。不要把旧的 WAL 文件和恢复后的数据库放在一起。更稳妥的做法是用 `npm run recovery` 校验并恢复到一个全新的文件,见 `docs/zh/recovery.md`。
|
|
194
170
|
|
|
171
|
+
### 从管理台导入与导出
|
|
172
|
+
|
|
173
|
+
「系统 → 数据与备份」提供「导出数据包」和「选择导入文件」。导出的 `.luckytri` 文件包含数据库内的聊天、记忆、关系、个人状态、日记、待办、作品版本、知识文本和设置,也包含保存在设置中的密钥。管理密码和登录会话不随数据包迁移;插件程序、知识库原始文件及本机 `.env` 不在其中。导出读取一致快照,实例可以继续运行,大文件通过流式传输下载。
|
|
174
|
+
|
|
175
|
+
导入支持 `.luckytri` 数据包及已有 `.db` / SQLite 备份。默认单个文件最多 10 GiB,可用 `.env` 中的 `DATA_TRANSFER_MAX_GB`(1–100)调整。上传后先校验数据包 SHA-256、数据库完整性、引用和结构,旧版本只在暂存副本上升级,界面会显示姓名、版本和记录数量。此时尚未改变当前数据,可以取消。
|
|
176
|
+
|
|
177
|
+
确认「导入并重启」后,程序停止实例,保留一份完整的 `luckytri-before-import-*.db` 快照,再替换数据并自动重启。本机管理密码、当前登录、QQ 连接配置和备份整理规则保留。导入后的自动回复关闭,插件执行权限重置;检查连接、模型和待办后可重新开启,插件需重新安装或确认权限。导入是替换整份数据,不与当前记录合并;原有快照可在备份列表手动管理,定时清理完整备份不会删除它。
|
|
178
|
+
|
|
179
|
+
下载完成后删除服务器导出副本;取消、失效或中断的暂存文件会回收,未使用的预览默认一小时失效。导入失败时保留或恢复原数据,不会把不完整的文件交给实例运行。
|
|
180
|
+
|
|
195
181
|
## 9. 常见问题
|
|
196
182
|
|
|
197
183
|
| 现象 | 先检查 |
|
|
198
184
|
| ------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
199
185
|
| 页面打不开 | Node 是否在运行,地址是否为 `127.0.0.1:3210` |
|
|
200
186
|
| 端口已被占用 | 先 `npm run stop`,不要结束所有 node 进程 |
|
|
201
|
-
|
|
|
202
|
-
| OneBot 未连接 |
|
|
187
|
+
| 密码错误 | 使用首次设置的管理密码;可在系统运行开关中修改 |
|
|
188
|
+
| OneBot 未连接 | 确认接入端已登录、反向客户端启用、地址端口路径一致;本机无需额外令牌 |
|
|
203
189
|
| 官方机器人未连接 | AppID 与 AppSecret 是否正确,机器人是否已开通群聊与单聊消息,网络能否访问 QQ 开放平台 |
|
|
204
190
|
| 官方机器人只收到 @ 的消息 | 在开放平台开启「接收所有消息」;这是平台权限,不是 LuckyTri 的限制 |
|
|
205
191
|
| 连接成功但没有会话 | 在 QQ 再发一条新消息;OneBot 方式下检查消息格式是否为数组 |
|