manualofme-bridge 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 +1 -1
- package/cli.js +19 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ cd <project muốn Claude làm việc>
|
|
|
15
15
|
manualofme-bridge
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Hoặc `manualofme-bridge <thư mục>`. Lần đầu lệnh hỏi `BRIDGE_TOKEN`: dán token đang dùng trên web (gõ ẩn), chưa có thì Enter để tạo mới rồi dán token đó vào web → Claude PC → Cài đặt kết nối (để trống URL). Token lưu ở `~/.manualofme-bridge/.env`, **không gửi cho ai**.
|
|
18
|
+
Hoặc `manualofme-bridge <thư mục>`. Lần đầu lệnh hỏi `BRIDGE_TOKEN`: dán token đang dùng trên web (gõ ẩn), chưa có thì Enter để tạo mới rồi dán token đó vào web → Claude PC → Cài đặt kết nối (để trống URL). Token lưu ở `~/.manualofme-bridge/.env`, **không gửi cho ai**. Dán nhầm hoặc muốn đổi token thì chạy `manualofme-bridge --token`.
|
|
19
19
|
|
|
20
20
|
Mỗi lúc chỉ một bridge: chạy ở máy khác hoặc project khác thì bridge cũ tự tắt trong vòng 1 phút, web tự chuyển sang.
|
|
21
21
|
|
package/cli.js
CHANGED
|
@@ -1301,6 +1301,8 @@ M\u1EDF Claude Code tr\xEAn m\xE1y n\xE0y cho web/app ManualOfMe \u0111i\u1EC1u
|
|
|
1301
1301
|
[th\u01B0 m\u1EE5c], b\u1ECF tr\u1ED1ng th\xEC l\xE0 th\u01B0 m\u1EE5c \u0111ang \u0111\u1EE9ng. M\u1ED7i l\xFAc ch\u1EC9 m\u1ED9t bridge: b\u1EADt \u1EDF m\xE1y kh\xE1c
|
|
1302
1302
|
th\xEC bridge n\xE0y t\u1EF1 t\u1EAFt.
|
|
1303
1303
|
|
|
1304
|
+
--token Nh\u1EADp l\u1EA1i token (d\xE1n nh\u1EA7m, \u0111\u1ED5i token), l\u01B0u \u0111\xE8 token c\u0169 r\u1ED3i ch\u1EA1y bridge
|
|
1305
|
+
|
|
1304
1306
|
C\u1EA7n: cloudflared (winget install Cloudflare.cloudflared), \u0111\xE3 \u0111\u0103ng nh\u1EADp Claude Code.
|
|
1305
1307
|
C\u1EA5u h\xECnh: ${USER_ENV_FILE} (BRIDGE_TOKEN v\xE0 c\xE1c bi\u1EBFn BRIDGE_* kh\xE1c)`;
|
|
1306
1308
|
var MIN_TOKEN = 32;
|
|
@@ -1309,21 +1311,33 @@ if (args.includes("-h") || args.includes("--help")) {
|
|
|
1309
1311
|
console.log(HELP);
|
|
1310
1312
|
process.exit(0);
|
|
1311
1313
|
}
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
+
var resetToken = args.includes("--token");
|
|
1315
|
+
var dirArg = args.find((a) => !a.startsWith("-"));
|
|
1316
|
+
if (dirArg) {
|
|
1317
|
+
const dir = path4.resolve(dirArg);
|
|
1314
1318
|
if (!existsSync2(dir) || !statSync(dir).isDirectory()) {
|
|
1315
1319
|
console.error(`Kh\xF4ng c\xF3 th\u01B0 m\u1EE5c ${dir}`);
|
|
1316
1320
|
process.exit(1);
|
|
1317
1321
|
}
|
|
1318
1322
|
process.env.BRIDGE_CWD = dir;
|
|
1319
1323
|
}
|
|
1324
|
+
if (resetToken && !process.stdin.isTTY) {
|
|
1325
|
+
console.error(
|
|
1326
|
+
`--token c\u1EA7n ch\u1EA1y trong terminal. Ho\u1EB7c s\u1EEDa th\u1EB3ng BRIDGE_TOKEN trong ${USER_ENV_FILE}`
|
|
1327
|
+
);
|
|
1328
|
+
process.exit(1);
|
|
1329
|
+
}
|
|
1330
|
+
var presetToken = process.env.BRIDGE_TOKEN;
|
|
1320
1331
|
loadEnvFiles();
|
|
1332
|
+
if (resetToken && !presetToken) delete process.env.BRIDGE_TOKEN;
|
|
1321
1333
|
if (!process.env.BRIDGE_TOKEN && process.stdin.isTTY) {
|
|
1322
|
-
process.env.BRIDGE_TOKEN = await askToken();
|
|
1334
|
+
process.env.BRIDGE_TOKEN = await askToken(resetToken);
|
|
1323
1335
|
}
|
|
1324
1336
|
await Promise.resolve().then(() => (init_index(), index_exports));
|
|
1325
|
-
async function askToken() {
|
|
1326
|
-
console.log(
|
|
1337
|
+
async function askToken(reset) {
|
|
1338
|
+
console.log(
|
|
1339
|
+
reset ? "Nh\u1EADp token m\u1EDBi (token c\u0169 s\u1EBD b\u1ECB ghi \u0111\xE8)." : "Ch\u01B0a c\xF3 BRIDGE_TOKEN tr\xEAn m\xE1y n\xE0y."
|
|
1340
|
+
);
|
|
1327
1341
|
console.log("D\xE1n token \u0111ang d\xF9ng tr\xEAn Web/m\xE1y kia r\u1ED3i Enter (g\xF5 \u1EA9n, kh\xF4ng hi\u1EC7n ra m\xE0n h\xECnh).");
|
|
1328
1342
|
console.log("Ch\u01B0a c\xF3 token n\xE0o th\xEC \u0111\u1EC3 tr\u1ED1ng r\u1ED3i Enter \u0111\u1EC3 t\u1EA1o m\u1EDBi.");
|
|
1329
1343
|
for (; ; ) {
|