amis is an Apache-2.0-licensed front-end low-code framework from Baidu that generates admin and back-office pages from JSON configuration, aimed at teams that want such interfaces without writing front-end code by hand.
What it is
amis is a front-end low-code framework written in TypeScript, published as the npm package amis, sourced in the baidu/amis repository and documented at https://baidu.github.io/amis/. Its GitHub description states that it generates various back-office pages through JSON configuration, greatly reducing development cost and potentially removing the need to understand front-end work. It carries topics such as admin, frontend, json, low-code and no-code, and sits alongside the amis-editor visual editor demo, the amis-admin project and Baidu's 爱速搭 platform. It has 18895 stars, 2735 forks and 1715 open issues, with the last push on 2026-03-18.
The concrete problem it solves is the manual construction of admin and back-office interfaces. Instead of hand-writing each screen, a team describes the page in JSON and lets the framework render it, which the README presents as a large reduction in development cost and a way to work without front-end knowledge for these pages. Its scope is deliberately front-end only: the README says amis can implement front-end low-code alone and recommends 爱速搭 when a complete low-code platform is required. It therefore replaces hand-coded front-end implementation for administrative screens rather than backend services or data storage.
Key capabilities
- JSON configuration generates admin and back-office pages, as stated in the GitHub description and README.
- A visual editor is available at https://aisuda.github.io/amis-editor-demo/.
- amis-admin, linked from the README, provides an associated admin project.
- The codebase is TypeScript; the README asks contributors to write TypeScript and accepts reasonable changes, new shared renderers, test cases and documentation.
- The project uses npm workspaces and recommends node 12/14/16 with npm 7+; dependencies install with
npm i --legacy-peer-deps.
- Local development runs
npm start, after which the example page is at http://127.0.0.1:8888/examples/pages/simple and the editor at http://127.0.0.1:8888/packages/amis-editor/.
- Tests run through jest after
npm run build, using npm test --workspaces, npm run coverage and npm run update-snapshot; releases use npm run version, npm run release and npm run publish.
Who uses it and how
- Teams building admin or back-office interfaces that want pages described in JSON rather than built screen by screen.
- Developers without a front-end background, since the README states the framework can be used without understanding front-end development.
- Contributors adding shared renderers, tests or documentation; the README accepts reasonable changes of this kind and requires TypeScript.
- Projects needing more than front-end low-code, which the README directs to 爱速搭 for a complete platform.
- A large community, reflected in 18895 stars, 2735 forks and 1715 open issues, with domestic and overseas documentation and a Gitee mirror for slow GitHub downloads.
Getting started
The framework is distributed as the npm package amis; contributors and self-hosters clone the repository, install with npm i --legacy-peer-deps, and run npm start. Documentation is published at https://aisuda.bce.baidu.com/amis/ and https://baidu.github.io/amis/.
How it compares
No paid products are listed in the facts as being replaced by amis, so the comparison made in the README is internal to the Baidu ecosystem: amis covers front-end low-code only, and 爱速搭 is recommended when a complete low-code platform is needed. The amis-admin project offers an admin starting point, and the amis-editor demo provides the visual editor, so amis is positioned as the rendering framework rather than the full platform or the editor.
When to use it — and when not to
A self-hoster must operate a Node and npm toolchain using the recommended node 12/14/16 and npm 7+, install with --legacy-peer-deps, and run a build before jest tests because jest does not support TypeScript directly. Teams that need backend generation, data storage or a full low-code platform should not choose amis on its own, since it is front-end only and the README points such users to 爱速搭. The licence is clearly Apache-2.0 and the repository is active, but 1715 open issues and a development-focused README are worth weighing.
project readme (upstream, from github) — read inline
文档(国内) |
文档(国外) |
可视化编辑器 |
amis-admin |
爱速搭
如流群:3395342 |
如流群2:5511067|

前端低代码框架,通过 JSON 配置就能生成各种后台页面,极大减少开发成本,甚至可以不需要了解前端。
开发指南
以下是参与开发 amis 才需要看的,使用请看前面的文档。
如果 github 下载慢可以使用 gitee 上的镜像。
推荐使用 node 12/14/16。npm 7+, 因为用到了 workspaces 功能。
# 安装项目 npm 依赖,在 node 12 下会有报错但不影响正常使用。
npm i --legacy-peer-deps
# 启动项目,等编译结束后通过 http://127.0.0.1:8888/examples/pages/simple 访问。
npm start
如果是开发编辑器,需要访问 http://127.0.0.1:8888/packages/amis-editor/
测试
注意:本地修改代码后,执行测试用例(npm test --workspaces)之前需要先执行npm run build完成编译,因为 jest 并不支持 TypeScript
# 安装依赖
npm i --legacy-peer-deps
# 执行构建
npm run build
# 执行测试用例
npm test --workspaces
# 测试某个用例
# <spec-name>为用例名称,比如inputImage
npm test --workspace amis -- -t <spec-name>
# 运行某个单测文件
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx
# 运行某个单测文件里的某个例子
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'
# 查看测试用例覆盖率
npm run coverage
# 更新 snapshot
npm run update-snapshot
# 更新单个 snapshot
# <spec-name>为用例名称,比如inputImage
npm run update-snapshot --workspace amis -- -t <spec-name>
发布版本
# 发布内部 registry
npm run publish
# 发布外网环境
# 先通过一下命令设置版本号
npm run version
npm run release
如何贡献
请使用分支开发,首先创建分支
git checkout -b feat-xxx
开发提交后使用 git push --set-upstream origin feat-xxx 创建远程分支。
然后通过系统提示的 https://github.com/xxx/amis/pull/new/feat-xxx 链接来提交 PR。
请采用 typescript 编写,所有合理的改动、新的公用渲染器、用例或者文档的提交都会被接收。
贡献者

低代码平台
amis 只能实现前端低代码,如果需要完整的低代码平台推荐使用爱速搭。