AI News HubLIVE
站内改写4 分钟阅读

使用 Construct AI 为您的初创公司构建内部工具

Construct AI 能通过将重复的工作流程转化为私有工作空间应用,帮助团队快速构建内部工具。这些应用直接在工作空间内运行,具备文件访问、状态管理和权限控制等能力,而无需复杂的基础设施。本文详细介绍了如何从重复过程开始,用自然语言描述需求,让 AI 代理生成 React/TypeScript 应用,并通过验证确保可靠性。

来源Hacker News AI作者: ankushKun

在创业公司中,内部工具往往起源于一个电子表格、一张检查清单或每周运行一次的提示。这个过程虽然有效,但界面并不友好:人们需要在不同标签页之间复制数值,在脑中记住状态,并每次重复相同的设置。Construct 能够将这些重复的过程转化为一个小的私有应用,它与文件和执行工作的 AI 代理位于同一个工作空间内。

这并不是一键生成公共 SaaS 产品的捷径。Construct 工作空间应用是一个面向单个工作空间的内部界面。你只需描述任务,代理就会编写应用代码,检查它能否构建,在桌面中打开它,并保留源代码供检查和后续修改。

从重复过程开始

最好的请求是描述工作本身,而不是规定软件架构。例如:“构建一个研究请求追踪器,包含负责人、优先级、状态和最终报告的链接。”或者“将这个经常使用的启动检查清单转化为一个团队可以更新的应用。”Construct 可以从列表、表单、仪表盘或空白界面开始。代理创建应用包,编写 React 和 TypeScript 源代码,声明所需的能力,并验证结果。一次成功的构建会直接在 Construct Web 桌面中打开,而不是将你引导到一个单独的托管项目。

请求的具体性很重要。“构建一个运营仪表盘”会留下许多未解决的选项。而“显示未完成的研究请求,让操作员分配负责人,并标记关联的报告为已审阅”则给代理提供了一个有边界的流程和明确的成功标准。

应用与工作共存

工作空间应用不是一个隐藏的产物。它的源代码位于 Files 中的 Apps// 文件夹内,可以检查和编辑。成功构建后,该应用会作为一个私有工作空间安装出现在桌面、Launchpad 或 Spotlight 中,可以再次打开。应 用的持久状态单独存储在 AppData// 下。这种分离很重要:更改界面不应需要覆盖应用已有的记录。重建可以更新代码,而现有应用数据保留在工作空间中,并继续计入正常的工作空间存储配额。

这种模式也使周围的代理在发布后仍然有用。同一工作空间包含源代码、相关文件、对话和诊断信息。如果界面需要另一个字段或出现运行时错误,下一个任务可以从实际应用开始,而不是从截图和模糊的 bug 报告开始。

工作空间应用的能力

当前的运行时有意比通用 Web 托管平台更窄,这样可以使内部工具贴近其工作空间目的。支持的能力包括:React 界面、TypeScript/TSX、通过声明权限读写工作空间文件、应用作用域的 JSON 状态、调用允许的已连接应用、以及仅向声明的 HTTPS 源发出网络请求。不支持:安装任意 npm 包、从应用 UI 运行终端或代理编排、自动发布到公共应用注册表。

应用界面接收一个较小的 Construct SDK,用于工作空间文件、应用作用域存储、通知、窗口控制和显式允许的调用。它不会继承构建它的代理可用的所有工具。代理在构建过程中可以使用更广泛的执行面,但完成的界面以其自己的更窄契约运行。

权限作为设计的一部分

内部工具不应仅仅因为是在受信任的工作空间内生成的而获得广泛访问权限。工作空间应用声明它打算使用的本地能力、已连接应用和网络来源。在运行时,对这些许可列表之外的调用将被拒绝。

平台还会在应用进行网关调用时重新检查当前的工作空间成员身份和权限。文件操作仍受用户工作空间访问权限的约束,应用不能利用其文件访问权限来重写另一个应用的包。直接网络访问限于精确的 HTTPS 源,而非通配符域名。

对于一个只读写工作空间文件的需求追踪器,这可能意味着只需声明文件访问权限。而一个将已批准的记录发布到已连接服务的工具还需要特定的应用目标。有用的默认值是最小的权限集,能完成工作即可。

验证生成构建,而非保证

在启动前,Construct 检查包结构和清单,跟踪相对导入,强制执行包边界,编译 TypeScript 和 JSX,并报告设计发现。成功的验证会生成一个不可变的构件,带有确定的构建 ID,并打开应用。

这证明了包可以在工作空间运行时下构建,但不证明每个按钮、数据形状、已连接服务或边界情况都行为正确。运行时验证仍然很重要,尤其是在更改权限、存储行为或外部调用之后。

Construct 从工作空间应用捕获有限的控制台、网络、网关和运行时错误诊断信息。代理可以检查最近的错误,修复源代码,再次验证,并请你验证更改后的行为。这个循环更接近于维护一个小的内部产品,而不是生成一次性的代码片段。

草稿更改不会替换最后成功的构建

可靠性模型是有意保守的。成功的构建成为当前的运行时工件。后续的源代码编辑会将应用标记为有草稿更改,但打开应用仍然运行最后成功的构建,直到新源代码通过验证。

如果验证失败,工作构件不会被替换。取消编辑也会保留源代码和之前的构建。桌面可以显示应用是否就绪、有草稿更改或从未成功构建。

这是最后有效构建的回退机制,并非完整的版本历史。它在修复进行时保护工作工具,但不承诺浏览或恢复每个历史构建。

内部工具还是工作流?

并非每个重复过程都需要界面。当人们需要查看、输入、筛选或审阅状态时,使用工作空间应用。当主要价值在于运行已知的代理步骤序列、已连接应用操作和通知时,使用 Construct 工作流。当过程应该在后台运行而不等待有人打开屏幕时,使用定时代理任务。

两者可以支持相同的操作。工作空间应用可以提供队列和审阅界面,而文件保存持久的记录,定时任务准备新工作。重要的界限是:应用 UI 不会秘密地成为不受限制的代理——自动化仍然通过为其设计的执行面和权限运行。

工作空间应用的适用场景

好的适用场景是窄范围的工具,有清晰的操作员和持久的工作空间上下文:接收表单和审阅队列、重复操作的检查清单、轻量级追踪器、文件或应用作用域 JSON 数据的仪表盘、针对允许的已连接服务的聚焦界面、使现有工作流更易运行和检查的小工具。

不适合的包括面向公众的客户网站、需要任意 npm 生态系统的产品、复杂的多服务系统、或需要独立运营的基础设施和安全控制的工作负载。公共注册表应用也遵循单独的开发者和审阅工作流;私有工作空间构建不会自动提升到公共应用注册表。

构建最小有用的界面

最短的路径是从一个重复的过程和一个需要操作它的人开始。命名应用应管理的记录、操作员应采取的行动、可能访问的文件或服务,以及成功结果的样子。然后让 Construct 构建一个最小的界面,使该过程更易于运行和监督。

一旦第一个构建打开,就开始使用它。缺失的字段、不清晰的状态或多余的屏幕在工作工具中比在冗长的规范中更容易显露出来。Construct 可以在前一个良好构建仍然可用时修改源代码,为内部工具提供改进的空间,而无需将每次编辑都变成一个全新的软件项目。