CLIX
Page 0 / Hero

CLIX

面向命令行工具的
GUI/TUI 抽象层

让复杂 CLI 工具自动拥有可视化交互界面。

CLIX 将 CLI 帮助文档解析成结构化参数约束,再生成 TUI、GUI、补全、状态文件和未来的 Agent Tool Interface。

clix convert -i samples/ls_help.txt -o ls.json -p auto
--allbool
x--longbool
--colorauto
>Previewls -l
tree -L 3 -I '*.cpp' --dirsfirst -C -F /
Page 1 / Problem

命令行工具很强,但门槛很高

CLI 工具通常功能强大、可组合、可脚本化,但它们对普通用户并不友好。

用户经常需要面对

  • 大量参数
  • 长篇 help/manual 文档
  • 不同工具之间不一致的参数风格
  • 容易写错的命令组合
  • 不敢执行的危险操作

CLIX 的目标

不是让命令行消失,而是让命令行工具拥有更友好的交互入口。

CLIX comic intro
Page 2 / Clarify

CLIX 不是什么?

误解CLIX 不是CLIX 实际上是
GUI 套壳不是给某个命令手写一个窗口面向 CLI 文档的通用 GUI/TUI 生成框架
pandoc不是转换文本格式解析命令语义,生成参数约束和交互界面
单命令封装器不是只适配 ls/cat支持多种输入格式和 parser 插件
普通表单生成器不是简单把字段摆出来支持类型、约束、默认值、状态保存和命令插值
AI 概念项目当前不是靠 LLM 硬猜参数先用规则 parser 打通稳定闭环,未来预留 AI/MCP 接口

核心不是“做一个界面”,而是把 CLI 工具的参数语义抽象出来,再根据不同场景渲染成交互界面或工具接口。

Page 3 / Solution

从命令行文档到可交互界面

CLIX 将命令行工具的帮助文档解析为统一 DSL Schema。

Input--help / man / MAML
ParseParser
ModelDSL Schema
StateRender Config
OutputTUI / GUI / Agent
ActionPreview / Run / Save

可渲染形态

  • TUI Guide 模式
  • GUI Form 模式
  • Bash Completion
  • MAML XML
  • 未来的 MCP / Agent Tool Schema

一句话

一份命令约束,多种交互入口。

Page 4 / Capability Stack

CLIX 支持的四层能力

Parser

GnuHelpParser
ManualParser
MamlParser
GuiEditorParser
Auto Detect

Renderer

TUI Guide
GUI Form
Bash Completion
MAML Render
未来 Agent Tool Schema

输入 / 输出

help txt
manual txt
MAML XML
DSL JSON
Render Config
State File

状态保持

Save
Load
Reset
Default Values
Ctrl+S / Ctrl+R

CLIX 不是单向转换工具,而是围绕 CLI 交互建立了一条从解析、建模、渲染到状态管理的完整链路。

Page 5 / Workflow

三个子命令覆盖完整工作流

命令作用示例
convert文本 / XML → DSL JSONclix convert -i ls_help.txt -o ls.json -p auto
render选择渲染引擎clix render -r gui -i ls.json
list列出可用 parserclix list

先解析,再交互,再生成命令。这不是只能看的 demo,而是一套可以实际运行的 CLI 工作流。

Page 6 / Architecture

架构隔离:Windows GUI 不是项目本体

CLIX 的核心能力被拆分为平台无关层和平台相关层。

Parser Core

  • GnuHelpParser
  • ManualParser
  • MamlParser
  • Parser Registry

DSL / Schema

  • Command
  • Option
  • Constraints
  • Defaults

Runtime Core

  • Loader
  • Interpolation
  • State
  • Command Preview

Platform Layer

  • TUI
  • Win32 GUI
  • Headless Linux
  • Future Web / Agent

Linux headless 构建已经验证:Parser、DSL 和核心运行时不依赖 Win32 GUI,GUI 是 renderer,而不是整个项目。

Page 7 / Engineering

工程化项目结构

CLIX 按照文档规范、核心库、插件系统、渲染器、测试集和构建系统组织。

clix/
├── docs/              # 架构、DSL、Render、Interpolation 文档
├── main/              # convert / tui / gui / edit / list 主程序
│   ├── parser/        # Parser 插件系统
│   └── lib/           # Schema / Render / Runner / Clipboard
├── libs/              # JSON / XML / CLI / Log / TUI / GUI 自研库
├── parser_tests/      # Parser 集成测试
├── renders/           # Bash Completion / MAML Render
├── reference/         # MAML Schema 与外部参考
├── flake.nix          # Nix devShell
└── CMakeLists.txt     # CMake 构建系统

docs/

说明项目有设计,而不是边写边糊。

libs/

底层能力被拆成可复用模块。

parser_tests/

解析能力有回归测试。

Page 8-1 / Nix & Cmake Workflow
Page 8-2 / Agent Workflow
Page 8-3 / Git Workflow
Page 9 / Release

Windows + Linux 双平台打包

Windows Package

clix-windows-x86_64.zip
- clix.exe
- samples/
- GUI Form
- GUI Editor
- PowerShell / Windows Terminal 演示

Linux Package

clix-linux-x86_64.tar.gz
- clix
- samples/
- Headless mode
- TUI / convert / list

Windows 版本展示原生 GUI 和编辑器能力;Linux 版本展示 headless、TUI、parser、Docker sandbox 和 Web terminal 能力。

Page 10 / Reliability

真实样本测试,而非手工特判

CLIX 不只是适配几个演示样例,而是通过 parser 集成测试和真实 MAML 文件测试验证泛化能力。

199Parser 集成测试
22TUI 测试 + 交互 Demo
33GUI 测试
118真实命令样本

测试体系让 CLIX 从“能跑 demo”进一步走向“可维护工程”。

Page 11 / Learning Curve

CLIX 不是终点,而是过渡层

CLIX 不一定是“更好的最终入口”,而是帮助用户从完全不熟悉 CLI,逐步过渡到熟练使用 CLI / completion / 脚本的工具。

从陌生到熟练的学习坡道

完全陌生
GUI Form:看得见参数
TUI Guide:边搜索边选择
Command Preview:理解命令如何拼接
Bash Completion:开始直接写命令
熟练 CLI / Script

类比

直接让新手上 CLI + completion,就像 GUI 软件一打开就要求用户背快捷键。

CLIX 提供的是从“看得懂”到“写得出”的学习坡道。

Page 12 / Guided Terminal UX

Powerlevel10k 给我们的启发:好的终端工具也需要引导

好的工具不是替代熟练操作,而是帮助用户抵达熟练操作。

Powerlevel10k

  • 不是让用户直接改复杂配置文件
  • 而是通过一步步选择生成最终配置
p10k configurechoose style
choose iconsgenerate config

CLIX

  • 不是让用户直接记复杂命令参数
  • 而是通过 GUI/TUI 引导生成最终命令
clix tui / guisearch option
fill valuepreview / copy / run / save
Page 14 / Completion Limits

Completion 很强,但不是新手入口

Bash Completion 的问题

  1. 它告诉你“有哪些参数”,但不一定解释“为什么用”
  2. 它假设用户已经知道命令结构
  3. 它不适合复杂参数组合决策
  4. 它不天然保存一次完整配置状态
  5. 它对非开发者仍然不够友好

CLIX 的补充

  • 参数解释
  • 可视化填写
  • 命令预览
  • Save / Load / Reset
  • 从探索到熟练

Completion 是熟练用户的加速器,CLIX 是新手到熟练用户的过渡桥。

Page 15 / Agent Interface

LLM 会写命令,为什么还需要 CLIX?

LLM 可以生成命令,但它不天然保证参数真实存在、组合合法、版本支持、执行安全和过程可复现。

LLM 直接写命令CLIX 辅助 Agent
凭上下文预测参数从 help/manual/MAML 提取真实参数
可能编造 flagDSL 约束参数类型和取值
一次性输出命令支持状态保存和复现
执行边界不清晰可预览、确认、禁用 runner
消耗大量上下文使用结构化 schema 降低上下文成本

CLIX 不是被 Agent 替代,而是让 Agent 更可靠地使用 CLI 工具。

Page 16 / LLM & Agent Interface

对 LLM 也是一样:只暴露需要的接口

LLM 可以直接写命令,但更好的方式是只给它暴露结构化、受约束、可验证的工具接口。

直接让 LLM 操作 CLI

  • 可能编造参数
  • 可能误用危险命令
  • 需要塞大量 help 文档
  • 难以控制执行边界

通过 CLIX

  • Parser 提取真实参数
  • DSL 描述类型、约束、默认值
  • Renderer 生成 GUI / TUI / Completion / Agent Tool Interface
  • Runner 可预览、确认、禁用或沙箱执行

趋势

一个重要方向是:LLM 动态生成用户友好界面。

CLIX 顺应这个方向,但不要求重写现有 API,而是直接利用已经规范化的 CLI 文档和命令接口。

收束

CLIX 不是要消灭 CLI,也不是把用户永远留在 GUI。它更像一个训练轮:让用户从看得懂参数、敢于生成命令,逐步过渡到熟练使用 CLI、completion、脚本和 Agent 工具接口。

Page 17 / Scenarios

从人类界面到 Agent 工具接口

教学场景

帮助新手理解 Linux、PowerShell、Git 等命令,不需要一开始就记忆所有参数。

科研与工程工具

把复杂参数的命令行程序转化为表单,降低误操作成本。

企业内部脚本

把内部脚本、运维命令、自动化工具低代码化、界面化。

Web Terminal / Sandbox

在浏览器中提供受控运行环境,适合比赛展示、教学平台和在线文档。

Agent / MCP

未来可以把 CLI 工具解析为 Agent 可调用的结构化工具接口。

长期目标

成为 CLI 工具的人机交互与 Agent 调用适配层。

Page 18 / Differentiation

CLIX 的差异化:通用生成,而非单点封装

方案优点局限
手写 GUI体验最好每个工具都要单独开发
Shell Completion开发者友好普通用户仍需懂 CLI
Web 表单封装部署方便通常绑定单一命令或场景
LLM 直接生成命令灵活自然容易幻觉,缺少约束和状态
CLIX解析真实 CLI 文档,生成 GUI/TUI/Schema复杂格式仍需继续增强

CLIX 的价值在于把 CLI 工具的交互界面生成过程通用化、结构化、工程化。

Page 19 / Roadmap

从 CLI Transformer 到 Tool Interface Layer

短期

  • 完善 BSD / Windows slash 风格参数支持
  • 增强 GUI 布局编辑器
  • 完善 Alias 系统
  • 增强路径输入体验

中期

  • 接入更多 renderer
  • 生成 Web Form / Dashboard
  • 完善 Linux sandbox playground
  • 改进 release 与安装体验

长期

  • LLM 辅助解析复杂 manual
  • MCP 协议支持
  • Agent Tool Schema 生成
  • 常用命令 Schema 生态

CLIX 的终点不是某一个 GUI,而是让 CLI 工具成为可解析、可组合、可交互、可调用的结构化能力。

Page 20 / Close

CLIX

把命令行工具抽象成平台无关的结构化能力。

对普通用户

CLIX 把复杂命令转化为可交互 GUI/TUI。

对开发者

CLIX 提供 parser、schema、renderer、state 的工程化框架。

对 Agent

CLIX 让命令行工具变成结构化、可验证、可控执行的工具接口。

CLI is powerful. CLIX makes it approachable.