SuperAPI AI 工具集

Edict

Edict 是一门面向 AI 智能体设计的编程语言,其核心特点是程序以 JSON AST 作为规范格式,没有词法分析器、没有解析器、也没有人类可读的语法。智能体直接生成 JSON 格式的抽象语法树,编译器负责校验、类型与效应检查,并通过 Z3/SMT 进行契约验证,最终编译为 WebAssembly 在沙箱中运行。它提供结构化错误,便于智能体自我修复;支持静态类型、效应追踪、契约验证、WASM 编译、MCP 接口以及 AST 模式迁移。Edict 采用 MIT 开源许可,可通过 MCP 服务器或本地安装使用。

访问官网

工具介绍

Edict 是一门专为 AI 智能体设计的编程语言。它的规范程序格式是 JSON AST,因此没有词法分析器、没有解析器,也没有人类可读的语法,旨在让智能体通过结构化流水线编写、验证并执行程序,避免文本解析带来的歧义。

主要能力

  • JSON AST:程序是 JSON 对象而非文本文件,无需词法分析和语法解析。
  • 结构化错误:每个错误都是带类型的 JSON 对象,包含足够上下文供智能体自我修复。
  • 类型系统:支持 Int、Float、String、Bool、Array<T>、Option<T>、Result<T,E>、记录、枚举和细化类型。
  • 效应追踪:函数声明 pure、reads、writes、io、fails,编译器验证一致性。
  • 契约验证:前置/后置条件在编译期由 Z3(通过 SMT)验证,失败时返回具体反例。
  • WASM 编译:经过验证的程序通过纯 JS 编码器编译为 WebAssembly,并在 Node.js 中运行。
  • MCP 接口:所有工具通过 Model Context Protocol 暴露,便于智能体直接集成。
  • 模式迁移:旧模式版本的 AST 会自动迁移,语言演进不会造成破坏。

执行模型 Edict 编译为 WebAssembly 并在沙箱 VM 中运行,这是出于安全考虑的设计决策:

  • 无环境权限:编译后的 WASM 无法访问文件系统、网络或操作系统,除非宿主通过可插拔的 EdictHostAdapter 接口显式提供这些能力。
  • 编译期能力声明:效应系统(io、reads、writes、fails)让宿主在运行前检查程序所需能力。
  • 运行时强制:RunLimits 控制执行超时、内存上限和文件系统沙箱。
  • 纵深防御:智能体生成的代码需要比人工审查代码更强的隔离,效应系统 + WASM 沙箱 + 宿主适配器模式正好提供这一点。 通过适配器可用的宿主能力包括:文件系统(沙箱化)、HTTP、加密(SHA-256、MD5、HMAC)、环境变量、CLI 参数。新能力可通过扩展 EdictHostAdapter 添加。

使用方式 面向 AI 智能体(MCP):最快的方式是通过 MCP 服务器,它将整个编译器流水线暴露为工具调用。也可本地安装。两步即可开始:edict_schema(学习 AST 格式)→ edict_check(提交程序)。 开发用途:可在容器中运行 Edict MCP 服务器,无需本地 Node.js,支持 linux/amd64、linux/arm64。也可完全在浏览器中运行 Edict 编译器,无需服务器;注意 ESM 模块需要 HTTP 服务,使用 npx serve . 或任意静态服务器,file:// 无法工作。示例见 examples/browser/index.html。 QuickJS(沙箱环境):Edict 编译器也可在 QuickJS WASM 中运行,适用于沙箱运行时、边缘 worker 或嵌入其他 WASM 应用。注意 quickjs-emscripten 是可选的对等依赖,需与 edict-lang 一起安装才能使用 EdictQuickJS;无文件系统环境可直接传入 bundleSource。完整基准与建议见 docs/quickjs-feasibility-report.md。

示例程序 Edict 的 JSON AST 中一个“Hello, World!”程序展示了核心设计:智能体提交 AST → 编译器校验 → 若错误则返回带足够上下文的结构化错误供智能体自我修复 → 智能体修正后重新提交。

效应系统 函数声明其效应,编译器强制:纯函数不能调用 io 函数;效应沿调用图传播;缺失效应会被检测并报告。效应包括 pure、reads、writes、io、fails。

契约验证 前置/后置条件在编译期使用 Z3 验证:Z3 要么证明 unsat(契约成立),要么返回 sat 并提供具体反例供智能体推理。

贡献与许可 欢迎智能体和人类贡献,参见 CONTRIBUTING.md 了解设置、编码标准和 PR 流程。可从 good first issue 标签的问题入手。完整开发计划见 ROADMAP.md,语言规范见 FEATURE_SPEC.md,智能体如何存储和复用已验证 WASM 技能见 Crystallized Intelligence。Edict 基于 MIT 许可免费开源,如果智能体觉得有价值,可考虑赞助开发。