MCPcopy Index your code
hub / github.com/DouyinFE/semi-design

github.com/DouyinFE/semi-design @v2.88.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.88.2 ↗ · + Follow
31,123 symbols 122,158 edges 2,408 files 221 documented · 1% updated 4d agov2.88.2 · 2025-11-18★ 10,116
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Semi-UI

现代、全面、灵活的设计系统和 UI 库。 致力打通 DesignOps & DevOps ,快速搭建美观的 React 应用。

LICENSE NPM FIGMA Design Token CODECOV Chromatic Cypress Twitter Follow

<img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/semi-info-1.gif" />

简体中文 | English

🎉 特性

  • 💪 70+高质量组件
  • 💅 Code2Design,根据不同主题自动生成 Figma UI Kit,保持代码与设计同源
  • 🚀 强大的 D2C (Design2Code)支持,Figma 设计稿一键转出真实代码,快速构建应用
  • 💕 完善的无障碍支持,为所有组件提供遵循 W3C 标准的键盘交互、焦点管理和语义化
  • 🎨 设计系统管理工具 Semi DSM,多达2000+ Design Token,快速定制你的专属设计系统
  • 🌍 国际化支持 20+ 语言,提供完备的多语言、多时区、RTL支持
  • ⚙️ 稳定的质量保障,覆盖单元测试、E2E测试、视觉回归测试等多种测试手段
  • 🥳 支持 SSR
  • 👏 使用 TypeScript, 良好的类型定义,基于 Foundation / Adapter 架构,源码易于阅读 / 贡献
  • 📦 轻松兼容 web components,提供完整适配方案,更适合用于构建 SDK、浏览器插件等需要 DOM 隔离的场景

🔥 安装

npm install @douyinfe/semi-ui

👍 组件使用

这是一个快速开始的例子:

import React from 'react';
import { createRoot } from 'react-dom/client';
import { Button, Form } from '@douyinfe/semi-ui';

const App = () => (
    <Form>
        <Form.Input field='name' initValue='semi design'></Form.Input>
        <Button htmlType='submit'>submit</Button>
    </Form>
);

const root = createRoot(document.querySelector('#app'));
root.render(<App />);

Semi UI 官网 拥有上千个支持实时调试的例子,欢迎体验使用。

⚡️ D2C 设计稿转代码

安装插件 Semi Figma Plugin. 数秒内将 Figma 转为真实前端代码,支持多种出码格式: JSX + SCSS / Emotion/Tailwind、 JSON Schema DSL

  • 支持 Figma Devmode,选中图层后,右侧可直接查看对应的真实代码

design2code

  • 或跳转至 Codesandbox 进行二次编辑

codesandboxdemo

🎨 DSM 设计系统管理

基于 Semi UI 定制你的专属设计系统, 提供高达 3000+ Token 允许你定义每一处细节. 并时刻在 Figma 与主题商店间保持同步。

dsmintro

📰 关注我们的动态

📌 文档

👌 平台支持

Semi UI 支持所有主流浏览器。

|chrome

chrome|firefox

firefox|safari

safari|IE/Edge

IE/Edge|electron

Electron| |--|--|--|--|--| | latest 2 versions | latest 2 versions | latest 2 versions | Edge | latest 2 versions |

👨‍👨‍👧‍👦 交流群

有任何问题可以进群交流,我们会及时给予解答和反馈。

加入飞书用户群.

💖 Thanks

Chromatic

感谢 Chromatic 提供可视化测试平台,帮助我们审查 UI 更改和提供视觉回归测试。

Cypress

感谢 Cypress 提供 E2E 测试。

VisActor Logo VisActor Logo

感谢 VisActor 提供数据可视化解决方案。

👐 参与共建

Semi Design 欢迎社区开发者参与共建,衷心感谢每一位协作者的付出

阅读贡献指南了解我们的开发流程,包括开发规范、测试规范和构建规范等: CONTRIBUTING

🎈 协议

Semi UI 使用 MIT 协议

Extension points exported contracts — how you extend this code

IState (Interface)
(no doc) [14 implementers]
packages/semi-ui/locale/_story/locale.stories.tsx
IState (Interface)
(no doc) [14 implementers]
packages/semi-json-viewer-core/src/tokens/tokenize.ts
TimePickerAdapter (Interface)
(no doc) [4 implementers]
packages/semi-foundation/timePicker/foundation.ts
GetUuidShortOptions (Interface)
(no doc)
packages/semi-icons/src/utils.ts
WebpackContext (Interface)
(no doc)
packages/semi-webpack/src/semi-webpack-plugin.ts
PresetsItem (Interface)
(no doc)
packages/semi-animation/src/presets.ts
IconProps (Interface)
(no doc)
packages/semi-icons-lab/src/components/Icon.tsx
TransitionProps (Interface)
(no doc)
packages/semi-animation-react/src/Transition.tsx

Core symbols most depended-on inside this repo

Q
called by 14718
static/editor/editor/editor.main.js
Ha
called by 13573
static/editor/language/typescript/tsWorker.js
kNa
called by 8890
static/sass.sync.js
kNa
called by 8890
static/sass.worker.js
Wa
called by 8791
static/editor/language/typescript/tsWorker.js
pa
called by 5495
static/editor/language/typescript/tsWorker.js
$
called by 3268
static/editor/editor/editor.main.js
ba
called by 2990
static/editor/language/typescript/tsWorker.js

Shape

Function 18,380
Method 10,207
Class 1,509
Interface 1,009
Enum 18

Languages

TypeScript100%

Modules by API surface

static/editor/editor/editor.main.js6,493 symbols
static/sass.worker.js5,657 symbols
static/sass.sync.js5,656 symbols
static/editor/language/typescript/tsWorker.js1,489 symbols
test/__mocks__/mdx-3.0.1-cjs.js952 symbols
static/editor/base/worker/workerMain.js394 symbols
test/__mocks__/remark-gfm-4.0.0-cjs.js265 symbols
packages/semi-ui/select/_story/select.stories.jsx146 symbols
packages/semi-ui/tree/_story/tree.stories.jsx145 symbols
packages/semi-foundation/select/foundation.ts117 symbols
packages/semi-ui/upload/_story/upload.stories.jsx103 symbols
packages/semi-ui/treeSelect/_story/treeSelect.stories.jsx93 symbols

Dependencies from manifests, versioned

@actions/core1.6.0 · 1×
@actions/github5.0.0 · 1×
@babel/cli7.14.8 · 1×
@babel/core7.15.0 · 1×
@babel/eslint-parser7.15.0 · 1×
@babel/eslint-plugin7.14.5 · 1×
@babel/generator7.15.8 · 1×
@babel/parser7.15.8 · 1×
@babel/plugin-proposal-class-properties7.14.5 · 1×
@babel/plugin-proposal-decorators7.14.5 · 1×
@babel/plugin-proposal-object-rest-spread7.14.7 · 1×
@babel/plugin-transform-runtime7.15.8 · 1×

For agents

$ claude mcp add semi-design \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact