跳转至

Nexa CLI 命令参考

本文档详细描述 Nexa 命令行工具的所有命令、参数和使用示例。所有命令均与源码 src/cli.py 严格匹配。


📖 概述

Nexa CLI 是 Nexa 语言的命令行接口,提供编译、运行、测试、检查、Lint、意图验证、HTTP 服务、后台任务管理等功能。

命令总览

命令 说明 版本
nexa build 编译 .nx → .py (支持 --harness) v0.9.7+
nexa run 编译并执行 (支持 --harness) v0.9.7+
nexa test 编译并运行测试 v0.9.7+
nexa harness-check Harness 六元组编译期验证 v2.0
nexa inspect 结构分析 (Agent-Native Tooling) v1.3.0
nexa validate 语义验证 v1.3.0
nexa lint 类型系统 Lint (渐进式类型系统) v1.3.1
nexa intent check IDD 意图检查 v1.1.0
nexa intent coverage IDD 意图覆盖率 v1.1.0
nexa serve 启动 HTTP Server v1.3.4
nexa routes 列出 HTTP 路由 v1.3.4
nexa jobs 后台任务管理 v1.3.3
nexa workers Worker 管理 v1.3.3
nexa cache clear 清理缓存 v0.9.7+

安装验证

# 检查安装版本
nexa --version

# 查看帮助信息
nexa --help

版本显示

--version 参数显示当前安装的 Nexa 版本号。当前特性集覆盖 v1.1–v1.3.x。


1. 核心命令

1.1 nexa build - 编译程序

将 Nexa 代码编译为 Python 代码,不执行。

语法

nexa build <FILE>

参数

参数 描述 默认值
FILE 要编译的 .nx 源文件路径 必需

示例

# 编译为 Python
nexa build main.nx

# 编译指定文件
nexa build examples/01_hello_world.nx

输出说明

🔨 Compiling main.nx ...
✨ Success! Built target: main.py

编译产物为同目录下的 .py 文件(如 main.nxmain.py)。

include 支持

build 命令支持 include 语句,可将其他 .nx 文件的内容合并到当前文件的 AST 顶部。


1.2 nexa run - 运行程序

编译并执行 Nexa 程序。

语法

nexa run <FILE>

参数

参数 描述 默认值
FILE 要运行的 .nx 源文件路径 必需

示例

# 基本运行
nexa run main.nx

# 运行示例文件
nexa run examples/01_hello_world.nx

输出说明

🔨 Compiling main.nx ...
✨ Success! Built target: main.py
🚀 Running main.py ...
==================================================
[INFO] Agent 'Analyst' started
[RESULT] 执行结果...
==================================================
✅ Execution Finished (Exit code: 0)

中断执行

运行中按 Ctrl+C 可中断执行,输出 ⚠️ Execution interrupted by user. 并以退出码 130 结束。


1.3 nexa test - 运行测试

编译 .nx 文件并执行其中所有 test_ 前缀的测试函数。

语法

nexa test <FILE>

参数

参数 描述 默认值
FILE 要测试的 .nx 源文件路径 必需

示例

# 运行测试
nexa test main.nx

输出说明

🔨 Compiling main.nx ...
✨ Success! Built target: main.py
🧪 Testing main.nx ...
==================================================
[PASS] test_basic_pipeline
[PASS] test_intent_routing
[FAIL] test_edge_case
      AssertionError: 输出不符合预期
==================================================
💥 1 failed, 2 passed.

2. Agent-Native Tooling 命令 (v1.3.0)

2.1 nexa inspect - 结构分析

对 .nx 文件进行结构分析,输出 Agent、Tool、Flow 等元素的结构描述。

语法

nexa inspect <FILE> [--format json|text]

参数

参数 描述 默认值
FILE 要分析的 .nx 源文件路径 必需
--format 输出格式:jsontext json

示例

# JSON 格式输出
nexa inspect main.nx --format json

# 文本格式输出
nexa inspect main.nx --format text

2.2 nexa validate - 语义验证

对 .nx 文件进行语义验证,检查语法和语义错误。

语法

nexa validate <FILE> [--json] [--quiet]

参数

参数 描述 默认值
FILE 要验证的 .nx 源文件路径 必需
--json JSON 格式输出 false
--quiet 静默模式,只输出错误 false

示例

# 基本验证
nexa validate main.nx

# JSON 格式输出
nexa validate main.nx --json

# 静默模式
nexa validate main.nx --quiet

退出码

验证失败时退出码为 1,可用于 CI/CD 流程。


2.3 nexa lint - 类型系统 Lint (v1.3.1)

对 .nx 文件运行渐进式类型系统的 Lint 检查。

语法

nexa lint <FILE> [--strict] [--warn-untyped]

参数

参数 描述 默认值
FILE 要 lint 的 .nx 源文件路径 必需
--strict 严格模式:缺失类型标注 = lint 错误 false
--warn-untyped 警告模式:缺失类型标注发出警告 false

示例

# 默认 lint(只检查有类型标注的代码)
nexa lint app.nx

# 严格模式
nexa lint app.nx --strict

# 警告未标注代码
nexa lint app.nx --warn-untyped

Lint 模式说明

  • 默认模式:只检查有类型标注的代码
  • --warn-untyped:对缺失类型标注发出警告
  • --strict:缺失类型标注视为 lint 错误(非零退出码)

Lint 模式也可通过 NEXA_LINT_MODE 环境变量或 nexa.toml 配置文件设置。


3. IDD 意图驱动开发命令 (v1.1.0)

3.1 nexa intent check - 意图检查

验证代码是否符合 .nxintent 文件中定义的意图规范。

语法

nexa intent check <FILE> [--intent <INTENT_FILE>] [--verbose]

参数

参数 描述 默认值
FILE 要检查的 .nx 源文件路径 必需
--intent 指定 .nxintent 文件路径 自动查找
--verbose 显示详细输出 false

示例

# 基本意图检查
nexa intent check main.nx

# 指定意图文件
nexa intent check main.nx --intent intents/main.nxintent

# 详细输出
nexa intent check main.nx --verbose

退出码

所有意图检查未通过时退出码为 1。


3.2 nexa intent coverage - 意图覆盖率

显示代码的意图覆盖率报告。

语法

nexa intent coverage <FILE> [--intent <INTENT_FILE>]

参数

参数 描述 默认值
FILE 要检查的 .nx 源文件路径 必需
--intent 指定 .nxintent 文件路径 自动查找

示例

# 查看覆盖率
nexa intent coverage main.nx

# 指定意图文件
nexa intent coverage main.nx --intent intents/main.nxintent

提升覆盖率

覆盖率低于 100% 时,系统会提示添加 @implements 注解来提升覆盖率。


4. HTTP Server 命令 (v1.3.4)

4.1 nexa serve - 启动 HTTP Server

编译 .nx 文件并启动内置 HTTP 服务器。

语法

nexa serve <FILE> [--port <PORT>]

参数

参数 描述 默认值
FILE 包含 server 声明的 .nx 文件路径 必需
--port 指定服务端口 文件中声明值

示例

# 启动 HTTP Server
nexa serve web_app.nx

# 指定端口
nexa serve web_app.nx --port 3000

server DSL

.nx 文件中使用 server DSL 定义 HTTP 服务器:

server 8080 {
    static "/assets" from "./public"
    cors { origins: ["*"], methods: ["GET", "POST"] }
    route GET "/chat" => ChatBot
    route POST "/analyze" => DataExtractor |>> Analyzer
}


4.2 nexa routes - 列出路由

解析 .nx 文件并列出所有 HTTP 路由。

语法

nexa routes <FILE> [--json]

参数

参数 描述 默认值
FILE 包含 server 声明的 .nx 文件路径 必需
--json JSON 格式输出 false

示例

# 列出路由
nexa routes web_app.nx

# JSON 格式输出
nexa routes web_app.nx --json

5. 后台任务管理命令 (v1.3.3)

5.1 nexa jobs - 任务管理

管理后台 Job 系统中的任务。

子命令

子命令 参数 说明
list [--status <STATUS>] 列出所有任务,可按状态过滤
status <JOB_ID> 查看指定任务状态
cancel <JOB_ID> 取消指定任务
retry <JOB_ID> 重试死信任务
clear - 清理已完成/过期/取消的任务

状态过滤选项--status):

pending, running, completed, failed, dead, cancelled, expired

示例

# 列出所有任务
nexa jobs list

# 只列出失败任务
nexa jobs list --status failed

# 查看任务状态
nexa jobs status job_123

# 取消任务
nexa jobs cancel job_123

# 重试死信任务
nexa jobs retry job_456

# 清理已完成任务
nexa jobs clear

5.2 nexa workers - Worker 管理

管理后台 Job Worker。

子命令

子命令 参数 说明
start <FILE> 启动 Worker(需先编译含 job 定义的 .nx 文件)
status - 查看 Worker 和队列状态

示例

# 启动 Worker
nexa workers start jobs_app.nx

# 查看 Worker 状态
nexa workers status

job DSL

.nx 文件中使用 job DSL 定义后台任务:

job SendEmail on "emails" (retry: 2, timeout: 120) {
    perform(user_id) { ... }
    on_failure(error, attempt) { ... }
}


6. 缓存管理命令

6.1 nexa cache clear - 清理缓存

清理 .nexa_cache/ 缓存目录。

语法

nexa cache clear

示例

nexa cache clear
# 输出: ✅ Cache cleared successfully.

缓存说明

如果缓存目录不存在,输出 ℹ️ No cache directory found.


7. 全局选项

选项 描述
--version / -v 显示版本号并退出
--help 显示帮助信息

8. 环境变量

Nexa CLI 支持以下环境变量:

变量 描述 默认值
NEXA_TYPE_MODE 运行时类型检查模式 (strict, warn, forgiving) warn
NEXA_LINT_MODE Lint 类型检查模式 (default, warn, strict) default
NEXA_PORT HTTP Server 端口覆盖 文件声明值
PYTHONPATH Python 模块搜索路径 自动设置

类型模式优先级

NEXA_TYPE_MODE 的优先级:CLI flag > 环境变量 > nexa.toml 配置 > 默认值 (warn)


9. 退出码

退出码 描述
0 成功
1 一般错误 / 验证失败 / 意图检查失败
130 用户中断 (Ctrl+C)

🔗 相关资源

快来问问agent吧!

Nexa Agent

Nexa 文档助手

我是Nexa文档AI助手,可以问我有关文档的一切!

由AI Hub提供支持