
StatCraft 是一款基于 100% 纯安全 Rust 语言构建的免费、现代且开源的统计软件包。作为 IBM SPSS Statistics 等专有套件的替代方案,StatCraft 兼具学术级精确度、秒级启动速度及防崩溃特性,适用于心理学研究、临床试验分析、高校教学及企业数据处理场景。
核心设计原则
- 极致稳定性:代码库零
unsafe块,杜绝panic!等崩溃风险。面对格式错误数据、空样本或除以零等情况,系统返回显式的类型化Result<T, E>错误,确保应用不崩溃。 - 命令驱动引擎:所有分析与交互均封装为原子引擎命令(
EngineCommand),支持非破坏性撤销/重做,可序列化为标准 SPSS 语法(.sps),并支持无头脚本化执行。 - AI 智能体集成:内置本地 IPC 套接字(端口 18493)及模型上下文协议(MCP)服务器。Antigravity、Claude、ChatGPT、Ollama 等 AI 智能体可通过桥接检查元数据、执行批量语法、进行数学计算,并将结果实时流式传输至输出查看器。
- 经典输出体验:提供分层导航大纲树与多级透视表,还原 SPSS 风格。结果支持一键复制为结构化 TSV 数据,粘贴至 Excel 时无列错位或日期转换问题。
- 矢量优先 UI:基于原生
egui渲染,采用矢量 SVG 图标,严格执行零 Emoji 策略,彻底消除跨平台“豆腐块”显示问题。 - 动态国际化:用户界面字符串完全解耦至 Project Fluent 目录,支持运行时实时切换语言。
主要功能模块
1. 双视图数据管理
数据视图采用高性能虚拟化表格网格,支持原始数值与人类可读值标签即时切换。变量视图作为综合元数据字典,管理变量名称、9 种经典 SPSS 数据类型(数值、日期、字符串等)、宽度精度、描述性标签、离散/范围值标签、缺失值配置、列对齐方式及测量水平(标度、有序、名义)。
2. 统计过程覆盖
- 描述性统计:涵盖均值、标准差、方差、极值、偏度、峰度及有效 N 等指标。
- 频率分析:提供频数、各类百分比、百分位数及四分位数计算。
- T 检验:支持单样本、独立样本(含 Levene 方差齐性检验、Student's t 及 Welch's t)和配对样本 T 检验,输出完整置信区间及相关系数。
- 方差分析:支持单因素 ANOVA,包含 Fisher's F 检验、平方和分解及 Levene 检验。
3. AI 桥接与自然语言交互
StatCraft 是全球首款原生支持 MCP 协议的统计软件。用户无需掌握复杂 SPSS 语法,只需通过自然语言向 AI 助手下达指令(如“比较男女薪资差异并解释显著性”),AI 即可自主查询元数据、生成并执行命令、检索数学输出,最终提供包含效应量和 p 值解释的自然语言摘要。
相较于普通 LLM 聊天,StatCraft 桥接具备以下优势:
- 消除幻觉:LLM 负责引导查询,原生 Rust 引擎以 精度执行确定性数学运算,并经 SciPy 和 SPSS 算法验证。
- 实时同步:GUI 界面随智能体执行实时更新,透视表与语法日志同步呈现。
- 数据隐私:套接字桥接在本地运行(
127.0.0.1:18493),敏感数据不出工作站。 - 自主执行:智能体可运行任意 SPSS 语法脚本,处理数据排序、过滤、重编码及缺失值。
技术架构与开发
项目遵循 ArtCraft 分层法则,依赖严格向下流动:
- L6 statcraft_app:桌面 GUI(egui/eframe/DialogKit/输出查看器)。
- L5 statcraft_syntax:命令总线、SPS 语法解析器、引擎事务。
- L4 statcraft_reporting:透视表模型及 TSV/HTML/Text 导出。
- L2 statcraft_algo:纯统计数学算法(对标 SciPy)。
- L1 statcraft_core:内存数据集、RawTable、变量字典。
- L0 statcraft_io:数据编解码器(CSV/TSV/Excel/SPSS)。
跨切面工具包括 statcraft_bridge(IPC/MCP 服务器)、statcraft_i18n(Fluent 本地化)及 xtask(开发者工具链)。
快速开始
需安装 Rust 工具链(建议 1.80+)。克隆仓库后,通过以下命令以发布模式运行:
git clone https://github.com/kobaltgit/StatCraft.git
cd StatCraft
cargo run --package statcraft_app --release -j 1
项目强制执行严格的完成定义(DoD),所有测试及架构 linter 必须零警告通过。可使用 cargo test --workspace -j 1 运行全套测试,或通过 xtask 检查文件大小、架构分层、UI 合规性及 SPSS 功能对等状态。
许可证与支持
StatCraft 采用 MIT 或 Apache 2.0 双重许可。项目完全基于 Rust 构建,无遗留 C/Fortran 代码。如需支持开发,可通过 Lava.top 进行赞助。