1. 项目概述:为AI智能体打造的Excel命令行工具

如果你正在使用GitHub Copilot、Cursor或者Claude Code这类AI编程助手,并且经常需要处理Excel文件,那你一定遇到过这样的困境:AI助手能帮你写代码、跑脚本,但它没法直接“伸手”去打开一个 .xlsx 文件,更别说读取里面的数据、修改某个单元格,或者把处理好的数据再写回去了。这个看似简单的“最后一公里”问题,常常需要你手动介入,打断原本流畅的自动化流程。xlex这个工具,就是为了彻底解决这个问题而生的。

简单来说,xlex是一个用Rust编写的、零依赖的单一二进制命令行工具。它的核心使命,就是充当AI智能体与Excel文件之间的“翻译官”和“操作员”。AI助手只需要像调用 ls cat 一样,通过标准的命令行接口向xlex发送指令,就能完成对Excel文件的任何读写操作。它不需要你在项目中集成复杂的SDK,也不需要启动任何额外的服务(比如MCP服务器),就是最纯粹、最直接的CLI交互。这意味着,你可以直接在AI助手的对话窗口里告诉它:“用xlex打开 report.xlsx ,在 Sheet1 的A1单元格写上‘Hello World’,然后保存。” 剩下的,AI助手自己就能搞定。

我最初接触xlex,是因为在尝试用Cursor自动化处理一批销售报表时,被频繁的手动导出导入CSV搞得不胜其烦。xlex的出现,让我能把整个“读取Excel -> 分析数据 -> 更新结果 -> 写回Excel”的闭环完全交给AI去编排。它的设计哲学非常明确: 为自动化而生,为确定性而生 。无论是结构化的JSON输出,还是明确的退出码,亦或是类似Git的会话管理,都让它在与AI协作时显得异常可靠。接下来,我将从设计思路、核心功能到实际集成,为你完整拆解这个利器。

2. 核心设计思路与架构解析

2.1 为什么是命令行接口(CLI)?

在讨论xlex的具体功能前,我们首先要理解它为什么选择CLI作为核心交互模式,而不是提供一个Python库或一个HTTP API。这背后有几点关键的考量,直接决定了它在AI智能体工作流中的实用性。

首要原因是“无状态”与“低侵入性” 。AI智能体,无论是Copilot Chat还是Claude Code,它们最擅长、也最自然的操作环境就是终端(Terminal)。在这个环境里,它们可以执行任何Shell命令。如果为Excel操作提供一个库,意味着你需要先让AI写一段代码来调用这个库,然后执行这段代码。这个过程引入了额外的“编写-执行”环节,增加了复杂度和出错可能。而CLI命令是即发即用的,AI只需要拼接出正确的命令字符串并执行即可,心智模型极其简单。

其次是环境隔离与确定性 。一个二进制文件,不依赖系统全局的Python环境、Node版本或者Excel的COM接口(在Windows上)。它打包了所有运行时依赖,在任何支持的操作系统上,行为都是一致的。这对于需要跨环境复现的自动化任务至关重要。AI智能体不需要关心用户本地是否安装了 pandas openpyxl ,它只需要确保xlex在PATH中。

最后是输出标准化 。CLI工具可以方便地将结果输出到标准输出(stdout),AI智能体可以轻松捕获这些输出并进行解析。xlex支持 text json csv 等多种格式,尤其是 json 格式,为AI提供了结构完美、无需额外清洗的数据,极大简化了后续的数据处理逻辑。

2.2 会话管理与批量操作:Git工作流的灵感

xlex一个非常精妙的设计是引入了类似Git的“会话(Session)”概念。对于AI智能体来说,操作一个文件往往不是单一动作,而是一系列连续的操作序列。例如:打开文件 -> 读取配置 -> 根据配置修改多个单元格 -> 调整格式 -> 保存。

如果每个操作都独立执行( xlex cell set file.xlsx ... ),那么每次操作都意味着:打开文件、加载全部内容到内存、执行修改、写回磁盘。对于大文件或多次操作,这会造成巨大的I/O开销和性能瓶颈。

xlex的解决方案是 open -> batch -> commit 工作流:

  1. xlex open report.xlsx : 这会在后台创建一个会话,将工作簿加载到内存中。此时文件被锁定(或拷贝到临时位置),防止其他进程修改。
  2. xlex batch -c 'cell set Sheet1 A1 “Hello”' -c 'row append Sheet1 a b c' : 在一个命令中,向当前会话提交多个修改操作。这些操作在内存中顺序执行,但 只触发一次最终的磁盘写入
  3. xlex commit : 将所有在内存中的修改,一次性、原子性地写回原始文件。
  4. xlex close : 如果中途想放弃所有修改,使用此命令丢弃会话,原始文件保持不变。

这个设计带来了两个核心优势: 性能 原子性 。性能上,避免了重复的I/O;原子性上,要么所有修改成功提交,要么全部失败回滚,保证了文件在并发操作或意外中断时的完整性。对于AI智能体,这意味着它可以安全地规划一个复杂的多步骤任务,而不用担心中间步骤失败导致文件处于损坏的中间状态。

2.3 流式架构与内存管理

处理大型Excel文件(几十甚至上百MB)是许多工具的噩梦,因为它们倾向于将整个文件内容一次性读入内存。xlex基于Rust生态中优秀的 calamine rust_xlsxwriter 等库构建,并在设计上采用了流式处理的思想。

对于读取操作,xlex可以按需读取工作表和数据,而不是全部加载。对于写入和批量操作,它在内存中维护一个高效的、增量式的数据表示。官方宣称可以处理高达200MB的文件而不耗尽内存,这在实践中意味着绝大多数业务场景下的Excel文件都能轻松应对。这种稳健性,使得你可以放心地将处理大型报表的任务交给AI和xlex,而不必担心程序崩溃。

3. 安装与基础使用实战

3.1 多种安装方式选择

xlex提供了极其友好的安装体验,几乎覆盖了所有主流平台和包管理器。

对于macOS和Linux用户,最快捷的方式是使用安装脚本:

curl -fsSL https://raw.githubusercontent.com/yen0304/xlex/main/install.sh | bash

这个脚本会自动检测你的系统架构,下载对应的预编译二进制文件,并将其放置到你的 $PATH 目录(通常是 /usr/local/bin )中。这是上手最快的方式。

如果你身处Node.js生态,通过npm安装也非常方便:

npm install -g xlex

安装后,你就可以在全局使用 xlex 命令。更妙的是,你甚至可以不安装,直接使用 npx 来临时运行:

npx xlex info report.xlsx

这对于在CI/CD流水线或一次性脚本中使用特别有用,无需预先配置环境。

对于追求极致控制或需要自定义编译选项的开发者,从源码编译是首选:

git clone https://github.com/yen0304/xlex.git
cd xlex
cargo build --release
# 编译后的二进制位于 target/release/xlex
cp target/release/xlex ~/.local/bin/ # 或任何PATH目录

从源码编译需要安装Rust工具链( rustc cargo ),但这能确保你获得针对当前系统优化的最新版本。

直接下载二进制文件 也是一种选择,适合在无法运行脚本或没有网络包管理器的受限环境中使用。只需从GitHub Releases页面下载对应平台的压缩包,解压出可执行文件即可。

注意 :在Windows上,如果通过脚本或源码安装,请确保将xlex所在的目录添加到系统的 PATH 环境变量中,否则在命令行中无法直接调用。

3.2 快速上手:验证安装与基础操作

安装完成后,首先验证是否成功:

xlex --version

你应该能看到类似 xlex 0.1.0 的版本输出。

接下来,让我们用一个简单的例子感受一下它的能力。假设我们有一个 data.xlsx 文件。

  1. 查看工作簿信息 :这是了解一个Excel文件最全面的方式。

    xlex info data.xlsx
    

    这个命令会输出文件包含的所有工作表名称、每个表的大致尺寸(行数、列数)、文件属性(创建者、修改时间等)以及使用的Excel引擎版本。输出格式清晰易读。

  2. 读取单元格数据 :这是最常用的操作之一。

    xlex cell get data.xlsx “SalesData” A1
    

    这里, “SalesData” 是工作表名(如果名称包含空格或特殊字符,需要用引号包裹), A1 是单元格引用。命令会返回该单元格的值。

  3. 写入单元格数据

    xlex cell set data.xlsx “SalesData” B2 1500.5
    

    执行后, B2 单元格的值就被设置为数字 1500.5 。xlex会自动推断数据类型。

  4. 导出数据 :将整个工作表导出为CSV,方便用其他工具处理。

    xlex export csv data.xlsx -s “SalesData” > sales.csv
    

    -s 参数用于指定工作表名, > 操作符将输出重定向到 sales.csv 文件。

3.3 理解命令结构

xlex的命令遵循一个清晰的层级结构: xlex <资源> <操作> [参数] 。例如:

  • xlex cell get ... :对“单元格”资源进行“获取”操作。
  • xlex sheet list ... :对“工作表”资源进行“列表”操作。
  • xlex export csv ... :进行“导出”操作,目标格式是CSV。

这种结构非常直观,也便于AI智能体学习和生成正确的命令。几乎所有命令都支持 --help 参数来获取详细帮助,例如 xlex cell --help 会列出所有与单元格相关的子命令和用法。

4. 高级功能与AI智能体深度集成

4.1 技能文件(Skill Files):让AI“学会”使用xlex

这是xlex项目中最具前瞻性的特性之一。项目在 docs/skills/xlex-agent/ 目录下提供了一套完整的“技能文件”。你可以把这些文件看作是给AI智能体(如Cursor、Claude Code)的“产品说明书”和“操作手册”。

技能文件包含什么?

  • SKILL.md : 核心概述,告诉AI“xlex是什么”、“它能帮你做什么”、“你该如何使用它”。
  • references/commands.md : 完整的CLI命令参考手册,详细到每个命令的参数、选项和示例。
  • references/examples.md : 真实世界的工作流示例,比如“如何用xlex清理数据”、“如何生成报表”。

如何使用? 非常简单,你只需要将这个 xlex-agent 文件夹复制到你的项目根目录,或者任何AI智能体能够扫描到的位置。像Cursor这类智能IDE,会自动发现并学习这些技能文件。之后,当你在聊天窗口中提出与Excel相关的需求时,AI就会主动建议使用xlex命令,并能生成语法正确的命令。

例如,你可以在Cursor中提问:“帮我把 output.xlsx Sheet1 的A列数据都乘以2,然后写回B列。” AI在理解了技能文件后,可能会生成如下命令序列:

xlex open output.xlsx
# 假设A列有10行数据,AI可能会生成一个循环或使用batch命令
xlex batch -c ‘cell set Sheet1 B1 “=A1*2”’ -c ‘cell set Sheet1 B2 “=A2*2”’ … # 实际中AI可能会用更聪明的方式
xlex commit

这相当于为你的AI助手瞬间扩展了处理Excel的超能力,无需你再反复解释或纠正命令格式。

4.2 模板系统:动态生成报表

模板功能是自动化报告生成的利器。你可以在Excel中创建一个模板文件,在需要动态填充的位置使用 {{placeholder}} 语法作为占位符。

假设你有一个 invoice_template.xlsx 文件,里面包含了公司Logo、表格框架和诸如 {{customer_name}} {{invoice_date}} {{total_amount}} 这样的占位符。

你可以准备一个JSON文件 vars.json 来定义这些变量的值:

{
  “customer_name”: “Acme Corp”,
  “invoice_date”: “2024-05-27”,
  “total_amount”: “$1,250.00”
}

然后,使用一条命令即可生成最终的发票:

xlex template apply invoice_template.xlsx invoice_acme.xlsx -D customer_name=“Acme Corp” -D invoice_date=“2024-05-27” -D total_amount=“$1,250.00”

或者,如果变量很多,也可以从JSON文件读取:

xlex template apply invoice_template.xlsx invoice_acme.xlsx --vars vars.json

这个功能对于批量生成格式统一的合同、单据、证书等场景非常高效。AI智能体可以轻松地从一个数据源(如数据库查询结果、API响应)中提取数据,构造变量映射,然后调用xlex瞬间生成成百上千份定制化的Excel文件。

4.3 交互式REPL模式:探索与调试

对于不熟悉文件结构,或者想交互式地探索大型工作簿的用户,xlex提供了 repl 模式。

xlex repl large_data.xlsx

进入REPL后,你会看到一个 session> 提示符。在这个模式下,文件只被加载一次,之后的所有查询命令(如 cell row range get )都在内存中瞬间完成,非常适合用来浏览数据、测试查询语句。

例如,你可以快速查看所有工作表:

session> sheets

查看某个范围的数据:

session> range Sheet1 A1:F10

REPL模式支持命令补全和历史记录,使用体验接近一个轻量级的Excel专用查询工具。当你完成探索,输入 exit 即可退出。

5. 实战工作流:从数据清洗到报告生成

让我们通过一个完整的实战案例,串联起xlex的各项功能。场景:你有一份从旧系统导出的、格式混乱的销售数据CSV文件 raw_sales.csv ,需要将其清洗、分析后,生成一份格式美观的Excel周报。

5.1 第一步:数据导入与初步清洗

首先,将CSV数据导入到一个新的Excel工作簿。

xlex import csv raw_sales.csv weekly_report.xlsx

这会创建一个名为 weekly_report.xlsx 的文件,并将CSV数据导入到默认的第一个工作表(通常叫 Sheet1 )。

接着,我们检查一下数据。使用REPL模式快速浏览:

xlex repl weekly_report.xlsx
session> info
session> row Sheet1 1 # 查看第一行(标题)
session> row Sheet1 2 # 查看第二行(第一条数据)

假设我们发现数据中有多余的空格和无效的“N/A”字符串。我们可以设计一个批处理脚本来清洗。创建一个名为 cleanup.txt 的脚本文件:

# cleanup.txt
# 假设“Product”在B列,“Amount”在D列
# 1. 清除Product列的前后空格
range set Sheet1 B:B “=TRIM(B1)” # 注意:这里需要逐行处理,实际中可能需要更复杂的逻辑。这里仅为示例,更稳妥的方式是使用batch循环。
# 2. 将Amount列的“N/A”替换为0
range set Sheet1 D:D “=IF(D1=‘N/A’, 0, D1)”
# 3. 删除“Notes”列(假设是E列),如果它全为空
column delete Sheet1 E

注意 :上面的公式示例在批处理中可能需要针对每个单元格设置。更实用的方法可能是先用 export csv 导出,用 sed / awk 或Python清洗,再重新导入。xlex的 batch 命令更适合离散的单元格操作。对于列级别的清洗,可以结合使用 export 、外部处理、再 import 的方式。

鉴于列级别的清洗用原生命令稍复杂,我们可以换一种思路:用xlex配合一行简单的Python或Shell脚本。

# 导出为CSV,用sed清洗,再导入
xlex export csv weekly_report.xlsx -s Sheet1 > temp.csv
sed -i ‘s/^[ \t]*//;s/[ \t]*$//;s/^N\/A$/0/’ temp.csv # 简化示例,实际清洗规则更复杂
xlex import csv temp.csv weekly_report_cleaned.xlsx

5.2 第二步:数据分析与汇总

数据清洗后,我们在新的工作簿中进行分析。首先,添加一个汇总工作表。

xlex sheet add weekly_report_cleaned.xlsx “Summary”

然后,我们可以在 Summary 表里用xlex设置公式,引用 Sheet1 的数据进行计算。例如,计算总销售额(假设 Amount 在D列):

xlex cell set weekly_report_cleaned.xlsx Summary A1 “Total Sales”
xlex formula set weekly_report_cleaned.xlsx Summary B1 “=SUM(Sheet1!D:D)”

计算平均销售额、最大最小单等操作类似。xlex的 formula calc 子命令也提供了一些快捷计算函数,但直接设置单元格公式更为灵活。

5.3 第三步:格式化与美化

数据分析完成后,我们需要让报告看起来更专业。xlex支持基础的样式操作。

# 1. 设置标题行样式(假设Summary表的A1:B1是标题)
xlex style apply weekly_report_cleaned.xlsx Summary A1:B1 “header” # 假设存在一个预设的‘header’样式
# 2. 为总计数字设置货币格式
xlex cell set weekly_report_cleaned.xlsx Summary B1 “=SUM(Sheet1!D:D)” # 重新设置,但这次我们关注格式
# xlex目前(根据文档)的style apply可能更适用于预设样式。更精细的格式化(如数字格式)可能需要直接操作单元格属性或依赖模板。

对于复杂的格式化,更推荐的方式是:先创建一个带有所有格式的Excel模板文件,然后将清洗汇总后的 数据 通过 batch 命令填充到模板的指定位置。这样能将样式(设计)与数据(内容)分离,更易于维护。

5.4 第四步:利用会话管理进行原子性更新

最后,我们将上述多个步骤,通过一个会话(Session)来原子性地完成,确保过程中出错不会产生部分更新的脏文件。

# 开始一个会话,对最终报告文件进行操作
xlex open final_report.xlsx

# 执行一系列操作:写入汇总数据、应用格式等
xlex batch -c ‘cell set Summary A1 “Weekly Sales Report”’
xlex batch -c ‘cell set Summary A2 “Total:”’
xlex batch -c ‘formula set Summary B2 “=SUM(Data!D:D)”’
# … 更多操作命令

# 检查会话状态
xlex status

# 确认无误后,提交所有更改
xlex commit

如果在这个过程中任何一条 batch 命令失败,或者你发现有问题,可以随时使用 xlex close 来丢弃所有未提交的更改, final_report.xlsx 文件将保持原样。

6. 常见问题与故障排查

在实际使用中,你可能会遇到一些问题。这里记录了一些常见情况及解决方法。

6.1 命令执行失败:文件或工作表不存在

问题 :执行 xlex cell get data.xlsx MySheet A1 时,报错 Sheet not found File not found 排查

  1. 检查文件路径 :确保 data.xlsx 在当前目录,或者使用绝对路径。
  2. 检查工作表名 :工作表名 区分大小写 且必须完全匹配。使用 xlex sheet list data.xlsx 查看准确的工作表名称。如果名称包含空格或特殊字符,确保在命令中用引号包裹,如 “My Sheet”
  3. 检查文件格式 :确保文件是 .xlsx 格式(Office 2007+),老旧的 .xls 格式需要先转换。

6.2 批量操作(Batch)中的引用错误

问题 :在 batch 命令中,对单元格的引用似乎没有生效。 排查

  1. 确认会话状态 batch 命令可以针对一个已打开会话( xlex open 后)执行,也可以直接对文件执行( xlex batch file.xlsx -c … )。确保你使用的模式正确。
  2. 引用作用域 :在 batch 命令的 -c 参数中,命令是独立解析的。确保每个命令内的单元格引用(如 Sheet1!A1 )书写正确。
  3. 使用绝对引用 :如果公式中涉及其他单元格,在批量设置时,建议使用绝对引用(如 $A$1 ),避免在后续行操作中引用错位。

6.3 性能问题:处理大文件速度慢

问题 :处理一个几十MB的Excel文件时,命令响应很慢。 排查与优化

  1. 使用会话模式 :对于多个读写操作, 务必使用 open -> batch -> commit 工作流 。这比单独执行每个 cell set 命令快几个数量级。
  2. 减少输出 :如果命令不需要详细输出,加上 -q (quiet)标志来抑制非错误输出。
  3. 避免范围过大 range get 一个非常大的范围(如整个工作表)会返回大量数据,导致处理和输出变慢。尽量指定精确的范围。
  4. 导出后处理 :如果只是需要做复杂的数据转换或分析,考虑用 xlex export csv 导出为CSV,用更专业的文本处理工具(如 awk , mlr )或脚本语言处理,再用 xlex import 导回。Excel文件本身的解析和渲染开销比纯文本大。

6.4 与AI智能体协作时的提示工程

问题 :AI智能体生成的xlex命令有时不符合预期。 优化建议

  1. 提供上下文 :在向AI提问时,明确说明你已安装xlex,并希望它使用这个工具。例如:“我已在系统中安装了xlex CLI工具。请帮我想一个xlex命令来实现……”
  2. 引用技能文件 :如果AI(如Cursor)支持,可以提示它参考项目中的技能文件( docs/skills/xlex-agent/ )。
  3. 分步请求 :对于复杂操作,不要要求AI一步生成所有命令。可以分步进行:“第一步,用xlex查看这个文件有哪些工作表。第二步,读取 Data 工作表的A1:A10范围……”
  4. 验证命令 :在让AI直接执行命令前,可以先让它输出命令文本给你检查。特别是涉及文件写入( set , delete )的操作,可以先 dry-run 或在小副本上测试。

6.5 格式支持与兼容性

问题 :xlex能处理 .xls 文件吗?导出的CSV中文乱码怎么办? 说明

  • 文件格式 :xlex主要支持 .xlsx 格式(Office Open XML)。对于旧的 .xls (Excel 97-2003)文件,需要先用Excel或在线转换工具将其另存为 .xlsx 格式。
  • 编码 :导出CSV/TSV时,默认使用UTF-8编码,这能很好地支持中文等多语言字符。如果其他老系统需要特定编码(如GBK),你可能需要在导出后使用 iconv 等工具进行转换。
  • 公式 :xlex支持读取和设置Excel公式。但请注意,公式的 计算 是由Excel软件本身完成的。xlex在设置公式后,单元格显示的是公式字符串本身。当你用Excel打开文件时,公式才会被计算并显示结果。xlex的 formula eval 命令可以在不打开Excel的情况下评估一些简单公式,但对于复杂公式或依赖其他单元格的公式,其评估能力有限。

7. 进阶技巧与生态整合

7.1 将xlex嵌入Shell脚本或Makefile

xlex的CLI特性让它天然适合与Shell脚本结合,实现自动化流水线。

#!/bin/bash
# 示例:每日销售报告自动化脚本
INPUT_FILE=“daily_sales.xlsx”
OUTPUT_FILE=“daily_summary_$(date +%Y%m%d).xlsx”
TEMPLATE_FILE=“summary_template.xlsx”

# 1. 检查输入文件是否存在
if [ ! -f “$INPUT_FILE” ]; then
    echo “错误:输入文件 $INPUT_FILE 不存在。”
    exit 1
fi

# 2. 从输入文件计算今日总额(假设数据在‘Sales’表的D列)
TOTAL_SALES=$(xlex export csv “$INPUT_FILE” -s Sales | tail -n +2 | awk -F’,’ ‘{sum+=$4} END {print sum}’)
# 这里简单演示,实际计算可能更复杂

# 3. 使用模板生成报告
xlex template apply “$TEMPLATE_FILE” “$OUTPUT_FILE” -D date=“$(date +%Y-%m-%d)” -D total_sales=“$TOTAL_SALES”

# 4. 可选:上传到云存储或发送邮件
# ./upload_to_cloud.sh “$OUTPUT_FILE”
echo “报告已生成:$OUTPUT_FILE”

你也可以将常用的xlex操作序列封装成Makefile目标,与代码构建、测试流程整合。

7.2 在CI/CD流水线中使用

在GitHub Actions、GitLab CI等持续集成环境中,xlex可以作为一个轻量级工具,用于验证生成的Excel文件、或从报表中提取数据用于后续步骤。

# 示例 GitHub Actions 步骤
- name: Process Excel Report
  run: |
    # 安装xlex
    curl -fsSL https://raw.githubusercontent.com/yen0304/xlex/main/install.sh | bash
    # 验证生成的文件包含正确的数据
    xlex cell get generated_report.xlsx “Summary” B1 > total.txt
    TOTAL=$(cat total.txt)
    if [ $(echo “$TOTAL > 1000” | bc) -eq 1 ]; then
      echo “销售额达标”
    else
      echo “销售额未达标,检查数据”
      exit 1
    fi

7.3 结合其他数据处理工具

xlex并非要取代 pandas openpyxl 这类完整的编程库,而是填补了自动化脚本与Excel文件快速交互的空白。一个高效的组合是:

  • 复杂数据操作 :使用Python(pandas)进行数据清洗、转换、复杂分析。
  • 最终输出与格式化 :将pandas的DataFrame导出为CSV,然后使用xlex的 import template 功能,将数据填充到预定义好格式的Excel模板中,生成最终面向业务用户的、格式美观的报告。

这种分工结合了Python生态强大的数据处理能力和xlex在Excel文件操作上的简洁与自动化友好性。

从我个人的使用经验来看,xlex最大的价值在于它极大地降低了“让机器自动处理Excel”的门槛。它不像编程库那样需要你处理异常、管理内存、理解API的细微差别。它就是一个听话的、功能强大的命令行工具,你(或你的AI助手)告诉它做什么,它就做什么。这种简单直接,在追求效率的自动化场景下,本身就是一种巨大的优势。尤其是在与AI智能体深度协作的今天,拥有一个它能直接理解并可靠操作Excel的接口,无疑能让你的自动化工作流如虎添翼。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐