110 lines
3 KiB
Markdown
110 lines
3 KiB
Markdown
# joy CLI — 麟悦飞轮统一 CLI
|
||
|
||
**定位**
|
||
|
||
| 组件 | 给谁 | 职责 |
|
||
|------|------|------|
|
||
| **joy CLI** | agent / 脚本 | 飞轮运行时标准库(JSON 优先) |
|
||
| **joy web** | 人 | 决策台(`:8899`,读为主 + 白名单写) |
|
||
| **Board / dispatch** | 集群 | 真派活与执行(web 不替代) |
|
||
|
||
架构收口方案:[`docs/joy-panel-cli-architecture-plan.md`](docs/joy-panel-cli-architecture-plan.md)
|
||
长期硬化(兼容三员/神兽/web):[`docs/joy-cli-hardening-plan.md`](docs/joy-cli-hardening-plan.md)
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
pip install -e /path/to/joy-cli
|
||
```
|
||
|
||
Mac:`~/bin/joy` wrapper 设 `PYTHONPATH`。全集群:
|
||
|
||
```bash
|
||
bash scripts/deploy-joy.sh
|
||
```
|
||
|
||
## 设计原则(AI 原生)
|
||
|
||
详细核查:[`docs/ai-native.md`](docs/ai-native.md)
|
||
|
||
| 原则 | 实现 |
|
||
|---|---|
|
||
| JSON 成功 / 错误 | stdout=JSON(agent 模式);stderr=`{error,code,ok:false}` |
|
||
| Exit code | `0` ok · `1` 错误 · `2` 用法 |
|
||
| Agent 模式 | `JOY_JSON=1` / `JOY_AGENT=1` / `--json` / **非 TTY 自动** |
|
||
| 位置参数优先 | `joy patrol devops` |
|
||
| 最少 token | 无 banner;`--pretty` 可选 |
|
||
| 可发现 | `joy tools --manifest` · `joy help --json`(同源 + tier) |
|
||
| 权限内建 | `JOY_IDENTITY` > 进程名 > cwd |
|
||
| 写操作三态 | observe / register / execute / control |
|
||
| 契约版本 | 响应附加 `_joy.schema_version` |
|
||
|
||
```bash
|
||
# 推荐 agent / 神兽 / 三员
|
||
export JOY_JSON=1
|
||
joy tools --manifest | jq '.ai_native'
|
||
joy patrol devops | jq .
|
||
```
|
||
|
||
## 核心命令(日常)
|
||
|
||
```
|
||
joy patrol|health|resources # 看
|
||
joy vm|clone|work|tmux # 机器与会话
|
||
joy board|journal|message # 任务与通信
|
||
joy recall|data # 记忆与数据资产(data ≡ cluster-data)
|
||
joy dashboard|web # 采集与面板
|
||
joy tools|help|config # 元层
|
||
```
|
||
|
||
数据资产(与 `cluster-data` 对齐):
|
||
|
||
```bash
|
||
joy data catalog
|
||
joy data search ailab-mbawiki "品牌定位"
|
||
joy data stats
|
||
```
|
||
|
||
人类想法(agent 可发现):
|
||
|
||
```bash
|
||
joy idea add "标题" "细节" --tag product
|
||
joy idea list
|
||
joy idea search 关键词
|
||
```
|
||
|
||
好奇心线索:`joy curiosity <vm> --open|--log`(面板总览/飞轮展示;当前多数 log 为空,引擎未自驱)。
|
||
|
||
面板:
|
||
|
||
```bash
|
||
joy web # http://localhost:8899
|
||
joy dashboard --watch # 刷新 /tmp/joy-dashboard.json
|
||
```
|
||
|
||
完整列表:`joy help`(分 核心 / 扩展 / 遗留)。
|
||
|
||
## 开发
|
||
|
||
```
|
||
src/joy/
|
||
├── cli.py
|
||
├── core/ # env, errors, ssh, cluster_data, action_tiers
|
||
├── commands/ # 自动注册
|
||
└── web/ # 仪表盘 SPA
|
||
```
|
||
|
||
```bash
|
||
python3 -m pytest tests/ -v
|
||
# Mac 现场冒烟(launchd / web / board items / patrol)
|
||
bash ~/Projects/linuxjoy/scripts/tests/joy-ai-native-smoke.sh
|
||
```
|
||
|
||
命令表(运维/agent 速查):linuxjoy `docs/tools/joy-cli-reference.md`
|
||
|
||
## 遗留命令
|
||
|
||
| 旧 | 新 |
|
||
|----|-----|
|
||
| `joy prlctl` | `joy vm` |
|
||
| `joy clone_restart` | `joy clone restart` |
|