跳到正文

Quantum 1.0 ​

机器翻译

本页由英文原文机器翻译而来,尚未经过母语审校,欢迎在 GitHub 上提出修改。内容如有出入,以英文原文为准。

2026-09-25

Quantum 1.0 发布了。本文介绍它是什么、这个版本号承诺什么、我们如何验证这个承诺成立,以及接下来做什么。

Quantum 是什么 ​

用 XML 编写的声明式 Web 应用,语言内置 AI 与 RAG。无需构建工具链,无需 JavaScript,无需前端框架。

一个页面就是一个 .q 文件。状态、参数化 SQL、表单及其校验、组件、身份认证、文件上传和邮件都是标签; 基于知识库回答并引用来源的 LLM 调用,以及工具用 Quantum 本身编写的智能体,也都是标签。 quantum start 直接提供一个页面文件夹;不需要任何编译。

它面向独立开发者和小团队,用来构建内部工具、仪表盘、管理后台和 AI 应用——他们宁愿不去维护一套前端构建工具链。 它并不是 JavaScript 框架的通用替代品。

1.0 承诺什么 ​

承诺写在稳定性中,并由引擎强制执行:

  • 核心层(Core)——组件、q:set、q:if、q:loop、q:function、q:query 和 q:transaction、 q:action 与表单、q:invoke、q:data、组件组合、文件、邮件、ui:* 的核心集合、身份认证。
  • AI 层——q:llm、q:knowledge、q:agent。
  • 实验层(Experimental)——可以运行但不作承诺的标签(任务、消息、websocket、Python 脚本、终端目标……)。 核心层和 AI 层之外的标签在第一次运行时会打印一条警告。
  • 实验室(Laboratory)——2D 游戏引擎和其他为了检验语言而保留的目标,完全不作承诺。

从 1.0 起,核心层和 AI 层遵循语义化版本(semver):1.x 版本不会破坏只使用这两层的程序。 会造成破坏的变更要等到 2.0。实验层和实验室可能在任何版本中变化。

如何验证 ​

承诺的可靠程度取决于检查它的东西。有四样东西在检查:

  1. 带规则编号的规范。 SPEC.md 用 137 条编号规则(LOOP-2、DB-4、IA-6……)说明一个 Quantum 程序的含义,并在 1.0 冻结。 每条规则至少被一个一致性测试引用——共 866 个——如果某条规则没有测试,或者某个测试引用了不存在的规则,CI 就会失败。
  2. 真正使用它的应用。 仓库中每一层都有小而真实的应用:一个用 ui:* 绘制、可在浏览器、终端和桌面窗口中运行的任务列表; 一个博客;一个带附件和邮件的工单系统;一个在单个 q:transaction 中完成的银行转账;以及用于 AI 标签的文档助手和购物智能体。
  3. quantum test。 应用用它自己的语言来测试——*.test.q 访问页面、提交动作,并检查重定向、提示消息、数据表中的行和变更历史, 每个测试都在由迁移构建的全新数据库上运行。这些应用的测试套件在 CI 中运行。
  4. 实时 AI 测试。 每次发布前,AI 标签都会针对真实的模型服务器进行测试,使用结构性断言(工具被调用了、取回了正确的文本块), 从不比较确切的文字。

而状态页面不是手写的:一个脚本运行每个示例,报告哪些能解析、哪些能执行。

一路上改变了什么 ​

从 0.9 到 1.0 的路,大部分都在让承诺成为事实:过去会悄无声息失败的行为——拼错的名字、不起作用的属性、 缺失的键、不存在的查询字段——现在都是会指出行号的错误。细节见更新日志,按版本列出。

接下来 ​

  • quantum test 继续扩展:应用所做的更多事情,都应该能用它自己的语言来检查。
  • 从实验层到核心层,一次一个标签,并且只有在具备 SPEC 规则、引用它的测试、能运行的示例和指南页面之后。
  • 本站点:多语言翻译和独立域名。

欢迎在 GitHub Issue 中报告问题、提出疑问和想法。 如果 Quantum 对你有用,支持页面说明了帮助会用在哪里。

MIT 许可证 · 使用 VitePress 构建