KMD

Kmd
AI 终端指挥台。

Rust 多会话守护进程跑在 Termux 里,管理 PTY 会话与 Lua 适配器;Compose 客户端负责实例列表、stdin 与通知。Codex、Claude、Gemini 在手机上各占一个会话。

termux · kmd-core --:--

$ kmd-core serve \

--bind 127.0.0.1:8765 \

--adapter adapters/codex.lua

[kmd-core] listening on ws://127.0.0.1:8765

[kmd-core] adapter loaded: codex.lua

 

┌─ sessions ────────────────────┐

codex    running  pty/1

claude   running  pty/2

gemini   stopped  pty/3

└───────────────────────────────┘

 

输入 help 看能用什么,chat "……" 和临渊星说话。

上下方向键翻历史,Tab 补全命令。

Termux · PTY 会话 · WebSocket IPC · 这块是真能敲的

运行时
Termux 优先
守护进程
Rust kmd-core
会话
PTY + Lua 适配器
客户端
Compose + Kedge

一条链路,
从 Termux 到通知栏。

守护进程、传输层与客户端各司其职,会话状态实时上行。

kmd-core daemon

Rust 多会话守护进程:fork PTY、喂 stdin、收 stdout,按会话广播状态。

WebSocket IPC

JSON 协议走 ws://127.0.0.1:8765,只监听回环地址,不出本机。

Compose client

多实例列表、选中会话的 stdin 面板,Ktor WebSocket 客户端直连。

Notifications

每个会话的状态镜像进 Android 通知,前台服务保活。

不只是终端,
是 AI 的调度台。

让每个 CLI 助手继承真实环境,再由 Lua 决定怎么被驱动。

Termux 环境

子进程直接继承 Termux 的 PATH、HOME 与已装工具,Codex / Claude / Gemini 凭据原样可用。

Lua 适配器

adapters/codex.lua 描述启动命令与协议,新增一个 AI CLI 只需一份 Lua。

多会话并行

多个 CLI 实例同时跑,stdin 面板切换焦点,互不串扰。

内置回退

APK 捆绑 libkmd_core.so,Termux 不在场时也能拉起 PoC 后端。

两条命令,
把指挥台跑起来。

桌面与 Termux 同一套命令;Android 客户端启动时自动连接。

1 · 启动守护进程(Termux / 桌面)

cargo run --release -- \
  serve --bind 127.0.0.1:8765 \
  --adapter adapters/codex.lua

2 · 连接ws://127.0.0.1:8765

3 · 打包 Android 后端./scripts/package-android-backend.sh

客户端行为

启动 → 尝试连接 Termux 守护进程
     → 失败则延时拉起内置后端
     → 会话列表 · stdin · 通知

当前状态PoC · 本地实验,暂不开源

想聊 Kmd,
或者一起折腾终端。