案例
机器翻译
本页由英文原文机器翻译而来,尚未经过母语审校,欢迎在 GitHub 上提出修改。内容如有出入,以英文原文为准。
证明 Quantum 的应用:每一个都在仓库中,在 CI 中运行,并且用 .q 文件编写,没有 JavaScript。 截图取自正在运行的应用(scripts/showcase-screenshots.py);AI 应用通过替身模型服务器回答, 因此复现它们不需要任何模型。
任务(Tarefas)

一个用 ui:* 编写的任务列表:由其动作校验的表单、完成和删除按钮、来自地址的筛选器、按表结构排序并编辑单元格的表格、根据表生成的编辑表单,以及每次修改的历史记录。同样的页面也能在终端和桌面窗口中运行。它的内容是葡萄牙语;教程用英文构建它。
| 展示 | 动作与表单, 数据库, UI, 测试 |
| 引用的 SPEC 规则 | DB-8, DB-10, DB-11, UI-2, UI-10, UI-13 |
| 规模 | 3 个页面,164 行 .q,0 行 JavaScript |
| 测试 | 13 个 quantum test 测试, tests/apps/test_tarefas.py, tests/apps/test_tarefas_browser.py, tests/apps/test_tarefas_console.py, tests/apps/test_tarefas_desktop.py |
| 源码 | projects/tarefas |
使用的标签 (26)
q:action q:component q:else q:if q:loop q:param q:query q:redirect q:set ui:alert ui:badge ui:button ui:column ui:form ui:hbox ui:history ui:input ui:link ui:pager ui:panel ui:section ui:select ui:table ui:text ui:vbox ui:window
博客

一个基于 SQLite 的博客:页面就是文件(post/[slug].q),有分类、搜索、评论、登录,以及在一个事务中创建和编辑文章的管理区。
| 展示 | 页面与路由, 动作与表单, 数据库, 认证 |
| 引用的 SPEC 规则 | ACT-7, DB-9, ROUTE-2, ROUTE-4, UI-11, UI-12 |
| 规模 | 11 个页面,963 行 .q,0 行 JavaScript |
| 测试 | 16 个 quantum test 测试, tests/apps/test_blog.py |
| 源码 | projects/blog |
使用的标签 (13)
q:action q:component q:else q:if q:import q:loop q:param q:query q:redirect q:set q:transaction ui:input ui:pager
服务台

提交带附件的工单:附件按大小和类型检查,存放在公共文件夹之外,只能通过其工单访问;团队会收到邮件通知。
| 展示 | 动作与表单, 文件与邮件, UI |
| 引用的 SPEC 规则 | CFG-1, FILE-2, MAIL-1 |
| 规模 | 3 个页面,144 行 .q,0 行 JavaScript |
| 测试 | tests/apps/test_helpdesk.py, tests/apps/test_helpdesk_browser.py |
| 源码 | projects/helpdesk |
使用的标签 (22)
q:action q:component q:else q:file q:if q:mail q:param q:query q:redirect q:set ui:alert ui:button ui:column ui:form ui:header ui:input ui:link ui:panel ui:table ui:text ui:vbox ui:window
银行转账

钱在一个事务中在两个账户之间转移:透支在任何操作运行之前就会被拒绝,转账的任何一步失败都不会移动任何钱。页面会说明转账被拒绝的原因。
| 展示 | 动作与表单, 数据库 |
| 引用的 SPEC 规则 | DB-4 |
| 规模 | 1 个页面,138 行 .q,0 行 JavaScript |
| 测试 | 6 个 quantum test 测试 |
| 源码 | projects/bank-transfer |
使用的标签 (8)
q:action q:component q:if q:loop q:param q:query q:redirect q:transaction
文档助手

向 Quantum 指南提问:回答只来自指南,引用其来源,并在模型写作时逐步到达。指南没有涵盖的问题根本不会发送给模型。
| 展示 | AI |
| 引用的 SPEC 规则 | IA-5, IA-6, IA-7, IA-9 |
| 规模 | 1 个页面,63 行 .q,0 行 JavaScript |
| 测试 | tests/apps/test_docs_assistant.py |
| 源码 | projects/docs-assistant |
使用的标签 (25)
q:action q:component q:else q:elseif q:if q:knowledge q:llm q:message q:param q:redirect q:set q:source ui:alert ui:button ui:form ui:hbox ui:header ui:input ui:item ui:list ui:panel ui:stream ui:text ui:vbox ui:window
商店智能体

一个智能体通过几个参数化查询,根据商店的数据库回答问题。模型从不编写 SQL,它做的每一次调用都显示在回答旁边。
| 展示 | AI, 数据库 |
| 引用的 SPEC 规则 | IA-4, IA-5 |
| 规模 | 1 个页面,106 行 .q,0 行 JavaScript |
| 测试 | tests/apps/test_shop_agent.py |
| 源码 | projects/shop-agent |
使用的标签 (26)
q:action q:agent q:component q:else q:execute q:function q:if q:instruction q:param q:query q:redirect q:return q:set q:tool ui:alert ui:button ui:form ui:hbox ui:header ui:input ui:item ui:list ui:panel ui:text ui:vbox ui:window
聊天

一个小型聊天室:用一个名字加入,发送消息,查看谁在线,聊天室保存在应用作用域中。
| 展示 | 动作与表单, 页面如何运行 |
| 引用的 SPEC 规则 | ACT-9, EXEC-3 |
| 规模 | 2 个页面,155 行 .q,0 行 JavaScript |
| 测试 | 4 个 quantum test 测试 |
| 源码 | projects/quantum-chat |
使用的标签 (8)
q:action q:component q:else q:if q:loop q:param q:redirect q:set