termchat: 极简双人终端聊天 (Node + TypeScript + Ink)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# termchat — 极简双人终端聊天
|
||||
|
||||
一个命令启动,两个人直连聊天。无用户系统、无历史存储,断线即散。
|
||||
|
||||
## 用法
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
|
||||
# A 机(服务端)
|
||||
node dist/cli.js serve -n 小明
|
||||
|
||||
# B 机(客户端,填 A 的 IP;本机测试用 127.0.0.1)
|
||||
node dist/cli.js connect <A的IP> -n 小红
|
||||
```
|
||||
|
||||
装成全局命令:
|
||||
|
||||
```bash
|
||||
npm install -g .
|
||||
chat serve -n 小明
|
||||
chat connect 192.168.x.x -n 小红
|
||||
```
|
||||
|
||||
开发模式(免编译):`npm run dev serve -n 小明`
|
||||
|
||||
## 参数
|
||||
|
||||
| 命令 | 选项 | 默认 |
|
||||
|---|---|---|
|
||||
| `serve` | `-p, --port` | 9000 |
|
||||
| `serve` | `-n, --name` | A |
|
||||
| `connect <host>` | `-p, --port` | 9000 |
|
||||
| `connect <host>` | `-n, --name` | B |
|
||||
|
||||
## 说明
|
||||
|
||||
- 协议:TCP,每行一个 JSON(`{"type":"msg","name":"…","text":"…","ts":…}`)
|
||||
- 服务端只接受第一个连入的客户端
|
||||
- 局域网直连;跨公网需要 A 侧有公网 IP 或端口映射(或后续加中转服务器)
|
||||
- Windows 首次 `serve` 会弹防火墙授权,允许即可
|
||||
|
||||
## 测试
|
||||
|
||||
```bash
|
||||
npm run smoke # 通信层冒烟测试(不起 UI)
|
||||
```
|
||||
Reference in New Issue
Block a user