[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tensorchord--envd":3,"tool-tensorchord--envd":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":76,"owner_website":81,"owner_url":82,"languages":83,"stars":104,"forks":105,"last_commit_at":106,"license":107,"difficulty_score":10,"env_os":108,"env_gpu":109,"env_ram":110,"env_deps":111,"category_tags":117,"github_topics":118,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":130,"updated_at":131,"faqs":132,"releases":133},3460,"tensorchord\u002Fenvd","envd","🏕️ Reproducible development environment for humans and agents","envd 是一款专为人工智能和机器学习领域打造的命令行工具，旨在帮助开发者和研究人员轻松构建可复现的开发环境。在 AI 项目中，配置复杂的依赖关系（如 Python 库、CUDA 版本、系统脚本等）往往令人头疼，环境不一致更是导致“在我机器上能跑”这类问题的根源。envd 通过简单的声明式配置文件，让用户只需一条命令即可瞬间启动包含所有必要依赖的容器化环境，彻底告别繁琐的环境搭建过程。\n\n该工具特别适合 AI 工程师、数据科学家及科研学者使用。其核心亮点在于无需学习新的领域特定语言（DSL），直接使用熟悉的 Python 语法即可定义环境；生成的环境基于标准的 OCI 镜像规范，既保证了本地与云端（如 Kubernetes 集群）体验的一致性，又便于通过镜像仓库共享和协作。此外，envd 内置了对 Jupyter、Conda 等常用工具的无缝支持，并提供隔离的运行空间，让模型训练、微调和服务部署变得更加高效可靠。无论是单机开发还是大规模集群任务，envd 都能提供流畅且统一的体验，是提升 AI 研发效率的得力助手。","\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_549427966f57.png\" alt=\"envd cat wink\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0d188be11a8f.png\" alt=\"envd cat wink\"\u002F>\n\n\u003Cp>Development environment for AI\u002FML\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cp align=center>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FKqswhpVgdU\">\u003Cimg alt=\"discord invitation link\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F974584200327991326?style=flat&logo=discord&cacheSeconds=60\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FTensorChord\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ftensorchord?style=flat&logo=X&cacheSeconds=60\" alt=\"trackgit-views\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fenvd\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fenvd\" alt=\"Python Version\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd#contributors-\">\u003Cimg alt=\"all-contributors\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fall-contributors\u002Ftensorchord\u002Fenvd\u002Fmain\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fenvd\u002F\">\u003Cimg alt=\"envd package downloads\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_020beb97ca92.png\"\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Factions\u002Fworkflows\u002FCI.yml\">\u003Cimg alt=\"continuous integration\" src=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Factions\u002Fworkflows\u002FCI.yml\u002Fbadge.svg\">\u003C\u002Fa>\n\u003Ca href='https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Ftensorchord\u002Fenvd?branch=main'>\u003Cimg src='https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Ftensorchord\u002Fenvd\u002Fbadge.svg?branch=main' alt='Coverage Status' \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n## What is envd?\n\nenvd (`ɪnˈvdɪ`) is a command-line tool that helps you create the container-based development environment for AI\u002FML.\n\nCreating development environments is not easy, especially with today's complex systems and dependencies. With everything from Python to CUDA, BASH scripts, and Dockerfiles constantly breaking, it can feel like a nightmare - until now!\n\nInstantly get your environment running exactly as you need with a simple declaration of the packages you seek in build.envd and just one command: `envd up`!\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F5100735\u002F207217321-34c30dde-4b55-4871-b6fe-f9fc6ec19986.svg\" width=\"75%\"\u002F>\n\u003C\u002Fp>\n\n## Why use `envd`?\n\nEnvironments built with `envd` provide the following features out-of-the-box:\n\n**Simple CLI and language**\n\n`envd` enables you to quickly and seamlessly integrate powerful CLI tools into your existing Python workflow to provision your programming environment without learning a new language or DSL.\n\n```python\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\n**Isolation, compatible with OCI image**\n\nWith `envd`, users can create an isolated space to train, fine-tune, or serve. By utilizing sophisticated virtualization technology as well as other features like [buildkit](https:\u002F\u002Fgithub.com\u002Fmoby\u002Fbuildkit), it's an ideal solution for environment setup.\n\n`envd` environment image is compatible with [OCI image specification](https:\u002F\u002Fgithub.com\u002Fopencontainers\u002Fimage-spec). By leveraging the power of an OCI image, you can make your environment available to anyone and everyone! Make it happen with a container registry like Harbor or Docker Hub.\n\n**Local, and cloud**\n\n`envd` can now be used on a hybrid platform, ranging from local machines to clusters hosted by Kubernetes. Any of these options offers an efficient and versatile way for developers to create their projects!\n\n```sh\n$ envd context use local\n# Run envd environments locally\n$ envd up\n...\n$ envd context use cluster\n# Run envd environments in the cluster with the same experience\n$ envd up\n```\n\nCheck out the [doc](https:\u002F\u002Fenvd.tensorchord.ai\u002Fteams\u002Fkubernetes.html) for more details.\n\n**Build anywhere, faster**\n\n`envd` offers a wealth of advantages, such as remote build and software caching capabilities like pip index caches or apt cache, with the help of [buildkit](https:\u002F\u002Fgithub.com\u002Fmoby\u002Fbuildkit) - all designed to make your life easier without ever having to step foot in the code itself!\n\nReusing previously downloaded packages from the PyPI\u002FAPT cache saves time and energy, making builds more efficient. No need to redownload what was already acquired before – a single download is enough for repeat usage! \n\nWith Dockerfile v1, users are unable to take advantage of PyPI caching for faster installation speeds - but `envd` offers this support and more!\n\n\u003Cp align=center>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c2c3357ec057.png\" width=\"65%\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=center>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_ad4e759f01ce.png\" width=\"65%\"\u002F>\n\u003C\u002Fp>\n\nBesides, `envd` also supports remote build, which means you can build your environment on a remote machine, such as a cloud server, and then push it to the registry. This is especially useful when you are working on a machine with limited resources, or when you expect a build machine with higher performance.\n\n**Knowledge reuse in your team**\n\nForget copy-pasting Dockerfile instructions - use envd to easily build functions and reuse them by importing any Git repositories with the `include` function! Craft powerful custom solutions quickly.\n\n```python\nenvdlib = include(\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvdlib\")\n\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    envdlib.tensorboard(host_port=8888)\n```\n\n\u003Cdetails>\n  \u003Csummary>\u003Ccode>envdlib.tensorboard\u003C\u002Fcode> is defined in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvdlib\u002Fblob\u002Fmain\u002Fsrc\u002Fmonitoring.envd\">github.com\u002Ftensorchord\u002Fenvdlib\u003C\u002Fa>\u003C\u002Fsummary>\n\n```python\ndef tensorboard(\n    envd_port=6006,\n    envd_dir=\"\u002Fhome\u002Fenvd\u002Flogs\",\n    host_port=0,\n    host_dir=\"\u002Ftmp\",\n):\n    \"\"\"Configure TensorBoard.\n\n    Make sure you have permission for `host_dir`\n\n    Args:\n        envd_port (Optional[int]): port used by envd container\n        envd_dir (Optional[str]): log storage mount path in the envd container\n        host_port (Optional[int]): port used by the host, if not specified or equals to 0,\n            envd will randomly choose a free port\n        host_dir (Optional[str]): log storage mount path in the host\n    \"\"\"\n    install.python_packages([\"tensorboard\"])\n    runtime.mount(host_path=host_dir, envd_path=envd_dir)\n    runtime.daemon(\n        commands=[\n            [\n                \"tensorboard\",\n                \"--logdir\",\n                envd_dir,\n                \"--port\",\n                str(envd_port),\n                \"--host\",\n                \"0.0.0.0\",\n            ],\n        ]\n    )\n    runtime.expose(envd_port=envd_port, host_port=host_port, service=\"tensorboard\")\n```\n\u003C\u002Fdetails>\n\n## Getting Started 🚀\n\n### Requirements\n\n- Docker (20.10.0 or above)\n\n### Install and bootstrap `envd`\n\n`envd` can be installed with `pip`, or you can download the binary [release](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Freleases) directly. After the installation, please run `envd bootstrap` to bootstrap.\n\n```bash\npip install --upgrade envd\n```\n\nAfter the installation, please run `envd bootstrap` to bootstrap:\n\n```bash\nenvd bootstrap\n```\n\nRead the [documentation](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fgetting-started.html#install-and-bootstrap-envd) for more alternative installation methods.\n\n> You can add `--dockerhub-mirror` or `-m` flag when running `envd bootstrap`, to configure the mirror for docker.io registry:\n>\n>```bash title=\"Set docker mirror\"\n>envd bootstrap --dockerhub-mirror https:\u002F\u002Fdocker.mirrors.sjtug.sjtu.edu.cn\n>```\n\n### Create an `envd` environment\n\nPlease clone the [`envd-quick-start`](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd-quick-start):\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd-quick-start.git\n```\n\nThe build manifest `build.envd` looks like:\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # Configure the pip index if needed.\n    # config.pip_index(url = \"https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n```\n\n*Note that we use Python here as an example but please check out examples for other languages such as R and Julia [here](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Ftree\u002Fmain\u002Fexamples).*\n\nThen please run the command below to set up a new environment:\n\n```bash\ncd envd-quick-start && envd up\n```\n\n```bash\n$ cd envd-quick-start && envd up\n[+] ⌚ parse build.envd and download\u002Fcache dependencies 6.2s ✅ (finished) \n[+] build envd environment 19.0s (47\u002F47) FINISHED                                                 \n => CACHED [internal] setting pip cache mount permissions                                     0.0s\n => docker-image:\u002F\u002Fdocker.io\u002Ftensorchord\u002Fenvd-sshd-from-scratch:v0.4.3                        2.3s\n => => resolve docker.io\u002Ftensorchord\u002Fenvd-sshd-from-scratch:v0.4.3                            2.3s\n => docker-image:\u002F\u002Fdocker.io\u002Flibrary\u002Fubuntu:22.04                                             0.0s\n......\n => [internal] pip install numpy                                                              2.5s\n => CACHED [internal] download fish shell                                                     0.0s\n => [internal] configure user permissions for \u002Fopt\u002Fconda                                      1.0s\n => [internal] create dir for ssh key                                                         0.5s\n => [internal] install ssh keys                                                               0.2s\n => [internal] copy fish shell from the builder image                                         0.2s\n => [internal] install fish shell                                                             0.5s\n......\n => [internal] create work dir: \u002Fhome\u002Fenvd\u002Fenvd-quick-start                                   0.2s\n => exporting to image                                                                        7.7s\n => => exporting layers                                                                       7.7s\n => => writing image sha256:464a0c12759d3d1732404f217d5c6e06d0ee4890cccd66391a608daf2bd314e4  0.0s\n => => naming to docker.io\u002Flibrary\u002Fenvd-quick-start:dev                                       0.0s\n------\n > importing cache manifest from docker.io\u002Ftensorchord\u002Fpython-cache:envd-v0.4.3:\n------\n⣽ [5\u002F5] attach the environment  [2s]            \nWelcome to fish, the friendly interactive shell\nType help for instructions on how to use fish\n\nenvd-quick-start on git master [!] via Py v3.11.11 via 🅒 envd as sudo \n⬢ [envd]❯ # You are in the container-based environment!\n```\n\n### Set up Jupyter notebook\n\nPlease edit the `build.envd` to enable jupyter notebook:\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # Configure the pip index if needed.\n    # config.pip_index(url = \"https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\nYou can get the endpoint of the running Jupyter notebook via `envd envs ls`.\n\n```bash\n$ envd up --detach\n$ envd envs ls\nNAME                    JUPYTER                 SSH TARGET              CONTEXT                                 IMAGE                   GPU     CUDA    CUDNN   STATUS          CONTAINER ID\nenvd-quick-start        http:\u002F\u002Flocalhost:42779   envd-quick-start.envd   \u002Fhome\u002Fgaocegege\u002Fcode\u002Fenvd-quick-start   envd-quick-start:dev    false   \u003Cnone>  \u003Cnone>  Up 54 seconds   bd3f6a729e94\n```\n\n## Difference between v0 and v1 syntax\n\n> [!NOTE]\n> Start from `envd v1.0`, `v1` syntax is the default syntax for `build.envd` file, and `moby-worker` is the default builder.\n\n| Features | v0 | v1 |\n| --- | --- | --- |\n| is default for `envd\u003Cv1.0` | ✅ | ❌ |\n| support dev | ✅ | ✅ |\n| support CUDA | ✅ | ✅ |\n| support serving | ⚠️ | ✅ |\n| support custom base image | ⚠️ | ✅ |\n| support installing multiple languages | ⚠️ | ✅ |\n| support `moby` builder | ❌ | ✅ |\n\n> [!IMPORTANT]\n> For more details, check the [upgrade to v1](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fv1.html) doc.\n\n## More on documentation 📝\n\nSee [envd documentation](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fgetting-started.html).\n\n## Roadmap 🗂️\n\nPlease checkout [ROADMAP](https:\u002F\u002Fenvd.tensorchord.ai\u002Fcommunity\u002Froadmap.html).\n\n## Contribute 😊\n\nWe welcome all kinds of contributions from the open-source community, individuals, and partners.\n\n- Join our [discord community](https:\u002F\u002Fdiscord.gg\u002FKqswhpVgdU)!\n- To build from the source, please read our [contributing documentation](https:\u002F\u002Fenvd.tensorchord.ai\u002Fcommunity\u002Fcontributing.html) and [development tutorial](https:\u002F\u002Fenvd.tensorchord.ai\u002Fdevelopers\u002Fdevelopment.html).\n\n[![Open in Gitpod](https:\u002F\u002Fgitpod.io\u002Fbutton\u002Fopen-in-gitpod.svg)](https:\u002F\u002Fgitpod.io\u002F#https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https:\u002F\u002Fallcontributors.org\u002Femoji-key\u002F)):\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.duanfei.org\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_67e024f87152.png\" width=\"70px;\" alt=\" Friends A.\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb> Friends A.\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=shaonianche\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#design-shaonianche\" title=\"Design\">🎨\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faaronzs\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1b9097bc8afb.png\" width=\"70px;\" alt=\"Aaron Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aaron Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#userTesting-aaronzs\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=aaronzs\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpopfido\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7f3f5a3b0180.png\" width=\"70px;\" alt=\"Aka.Fido\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aka.Fido\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#platform-popfido\" title=\"Packaging\u002Fporting to new platform\">📦\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=popfido\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=popfido\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Falexhxi.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_4fd995e1ab1f.png\" width=\"70px;\" alt=\"Alex Xi\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Alex Xi\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=AlexXi19\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLuBingtan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_61dc9b52ac5b.png\" width=\"70px;\" alt=\"Bingtan Lu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Bingtan Lu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=LuBingtan\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsunby\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_9f4aab1b5afe.png\" width=\"70px;\" alt=\"Bingyi Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Bingyi Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sunby\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fgaocegege.com\u002FBlog\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_049354aee942.png\" width=\"70px;\" alt=\"Ce Gao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ce Gao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gaocegege\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gaocegege\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#design-gaocegege\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#projectManagement-gaocegege\" title=\"Project Management\">📆\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ffrostming.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_52ec961f83e5.png\" width=\"70px;\" alt=\"Frost Ming\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Frost Ming\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=frostming\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=frostming\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002FGuangyangLi.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_efe6055f3615.png\" width=\"70px;\" alt=\"Guangyang Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Guangyang Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gyli\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGui-Yue\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bb5b6ff33696.png\" width=\"70px;\" alt=\"Gui-Yue\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Gui-Yue\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Gui-Yue\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhaiker2011\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0e7b1a14348f.png\" width=\"70px;\" alt=\"Haiker Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Haiker Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=haiker2011\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fbandism.net\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_73d65636eb8d.png\" width=\"70px;\" alt=\"Ikko Ashimine\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ikko Ashimine\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=eltociear\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnasnoisaac\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_586220b3f87a.png\" width=\"70px;\" alt=\"Isaac \"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Isaac \u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=nasnoisaac\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fbelyenochi.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_eb7181fe0c44.png\" width=\"70px;\" alt=\"JasonZhu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>JasonZhu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Belyenochi\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fknight42\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_afd676e5b4b0.png\" width=\"70px;\" alt=\"Jian Zeng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jian Zeng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#design-knight42\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#ideas-knight42\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#research-knight42\" title=\"Research\">🔬\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FVoVAllen\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c08e2544d9e5.png\" width=\"70px;\" alt=\"Jinjing Zhou\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jinjing Zhou\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3AVoVAllen\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=VoVAllen\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#design-VoVAllen\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=VoVAllen\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fjun.dev\u002Fblog\u002Fissues\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_aedefd5979a7.png\" width=\"70px;\" alt=\"Jun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#platform-junnplus\" title=\"Packaging\u002Fporting to new platform\">📦\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=junnplus\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKaiyang-Chen\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bdf37249dee4.png\" width=\"70px;\" alt=\"Kaiyang Chen\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Kaiyang Chen\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Kaiyang-Chen\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fkemingy.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_46fc889cf30e.png\" width=\"70px;\" alt=\"Keming\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Keming\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kemingy\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kemingy\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#ideas-kemingy\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#infra-kemingy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpingsutw\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7f80f7fffa36.png\" width=\"70px;\" alt=\"Kevin Su\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Kevin Su\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=pingsutw\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F3AceShowHand\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_927727fbf038.png\" width=\"70px;\" alt=\"Ling Jin\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ling Jin\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3A3AceShowHand\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#infra-3AceShowHand\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fmanjusaka.itscoder.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_d0b8a650cec4.png\" width=\"70px;\" alt=\"Manjusaka\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Manjusaka\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Zheaoli\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flilylee1874\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7dba796c288e.png\" width=\"70px;\" alt=\"Nino\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Nino\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#design-lilylee1874\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lilylee1874\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fphillipw.info\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c71477f4b18f.png\" width=\"70px;\" alt=\"Pengyu Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Pengyu Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=cswpy\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSepush\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bbd34cfc3316.png\" width=\"70px;\" alt=\"Sepush\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Sepush\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sepush\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.electronicwaste.cn\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_a19866251e67.png\" width=\"70px;\" alt=\"Shao Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Shao Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Electronic-Waste\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fblog.thrimbda.com\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_885a2c78799f.png\" width=\"70px;\" alt=\"Siyuan Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Siyuan Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Thrimbda\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#infra-Thrimbda\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#maintenance-Thrimbda\" title=\"Maintenance\">🚧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fsuyan.moe\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bb8ee4162135.png\" width=\"70px;\" alt=\"Suyan\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Suyan\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=suyanhanx\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fmyfra.vercel.app\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_addabaaa225e.png\" width=\"70px;\" alt=\"To My\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>To My\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=MyFRA\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.iam.rw\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c4785ce302cd.png\" width=\"70px;\" alt=\"Tumushimire Yves\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Tumushimire Yves\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=yvestumushimire\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fpage.codespaper.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7ad1a4a2d3fa.png\" width=\"70px;\" alt=\"Wei Zhang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Wei Zhang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=zwpaper\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fweixiao-huang.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0943e044ebb6.png\" width=\"70px;\" alt=\"Weixiao Huang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Weixiao Huang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=weixiao-huang\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.hawkingrei.com\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_8418528ac87e.png\" width=\"70px;\" alt=\"Weizhen Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Weizhen Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hawkingrei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.xuruowei.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0fbce70d4f1f.png\" width=\"70px;\" alt=\"XRW\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>XRW\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xuruowei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjiayouxujin\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_62afece5772a.png\" width=\"70px;\" alt=\"Xu Jin\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Xu Jin\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=jiayouxujin\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fxuanwo.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_2e73e34dfcf1.png\" width=\"70px;\" alt=\"Xuanwo\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Xuanwo\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#question-Xuanwo\" title=\"Answering Questions\">💬\u003C\u002Fa> \u003Ca href=\"#design-Xuanwo\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#ideas-Xuanwo\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpulls?q=is%3Apr+reviewed-by%3AXuanwo\" title=\"Reviewed Pull Requests\">👀\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fenjoyliu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1d9a8bdfa09e.png\" width=\"70px;\" alt=\"Yijiang Liu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yijiang Liu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=enjoyliu\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Felon.fun\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_f3c2e9ac0778.png\" width=\"70px;\" alt=\"Yilong Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yilong Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dragonly\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Adragonly\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dragonly\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fterrytangyuan.github.io\u002Fabout\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_047339b6be96.png\" width=\"70px;\" alt=\"Yuan Tang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuan Tang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=terrytangyuan\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#design-terrytangyuan\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=terrytangyuan\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#ideas-terrytangyuan\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Frudeigerc.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_fd01961229aa.png\" width=\"70px;\" alt=\"Yuchen Cheng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuchen Cheng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Arudeigerc\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#infra-rudeigerc\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#maintenance-rudeigerc\" title=\"Maintenance\">🚧\u003C\u002Fa> \u003Ca href=\"#tool-rudeigerc\" title=\"Tools\">🔧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Flunarwhite.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_d42cf7e63c1d.png\" width=\"70px;\" alt=\"Yuedong Wu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuedong Wu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lunarwhite\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyczheng0\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_6e6132d98b63.png\" width=\"70px;\" alt=\"Yunchuan Zheng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yunchuan Zheng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=yczheng0\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Flizheming.top\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_b105fad8ddce.png\" width=\"70px;\" alt=\"Zheming Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zheming Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lizhemingi\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FXiaoaier-Z-L\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_293cc5a296be.png\" width=\"70px;\" alt=\"Zhenguo.Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhenguo.Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xiaoaier-Z-L\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xiaoaier-Z-L\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fblog.triplez.cn\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_a39c9d37c378.png\" width=\"70px;\" alt=\"Zhenzhen Zhao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhenzhen Zhao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#infra-Triple-Z\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#userTesting-Triple-Z\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Triple-Z\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ft.me\u002Flittlepoint\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_03bb9eedd9d9.png\" width=\"70px;\" alt=\"Zhizhen He\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhizhen He\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hezhizhen\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hezhizhen\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcutecutecat\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7b02c87321db.png\" width=\"70px;\" alt=\"cutecutecat\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>cutecutecat\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=cutecutecat\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdqhl76\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_e730670a69c7.png\" width=\"70px;\" alt=\"dqhl76\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>dqhl76\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dqhl76\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dqhl76\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Flxb1226.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_9beabbe70e40.png\" width=\"70px;\" alt=\"heyjude\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>heyjude\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lxb1226\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjimoosciuc\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_e34164bd1bb1.png\" width=\"70px;\" alt=\"jimoosciuc\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>jimoosciuc\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#userTesting-jimoosciuc\" title=\"User Testing\">📓\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fkenwoodjw.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c82fcb19cc44.png\" width=\"70px;\" alt=\"kenwoodjw\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>kenwoodjw\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kenwoodjw\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fwww.hwdef.org\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_5e040c4207c9.png\" width=\"70px;\" alt=\"li mengyang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>li mengyang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hwdef\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faseaday\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_54d883bd91ad.png\" width=\"70px;\" alt=\"nullday\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>nullday\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-aseaday\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=aseaday\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frrain7\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1247421642cb.png\" width=\"70px;\" alt=\"rrain7\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>rrain7\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=rrain7\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ftisonkun.org\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_8543fb4b8e49.png\" width=\"70px;\" alt=\"tison\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>tison\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=tisonkun\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Ffatelei.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_93abd1216af0.png\" width=\"70px;\" alt=\"wangxiaolei\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>wangxiaolei\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=fatelei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsea-wyq\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_392229277183.png\" width=\"70px;\" alt=\"wyq\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>wyq\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Asea-wyq\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#design-sea-wyq\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sea-wyq\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Foubotong.github.io\u002Fjohan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_81d9d6ff661a.png\" width=\"70px;\" alt=\"x0oo0x\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>x0oo0x\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=oubotong\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxiangtianyu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0282d2dee48b.png\" width=\"70px;\" alt=\"xiangtianyu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xiangtianyu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xiangtianyu\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxieydd\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_15e395aa1f5e.png\" width=\"70px;\" alt=\"xieydd\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xieydd\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xieydd\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxing0821\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_576e399ba4c0.png\" width=\"70px;\" alt=\"xing0821\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xing0821\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-xing0821\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#userTesting-xing0821\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xing0821\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fxxchan.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_fc9619e0b4e6.png\" width=\"70px;\" alt=\"xxchan\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xxchan\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xxchan\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblogs.zhangwei.asia\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_f2c5cdc8692e.png\" width=\"70px;\" alt=\"zhang-wei\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>zhang-wei\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=arugal\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzhyon404\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_2531d39ef1da.png\" width=\"70px;\" alt=\"zhyon404\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>zhyon404\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=zhyon404\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.homeboyc.cn\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_19c67022367e.png\" width=\"70px;\" alt=\"杨成锴\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>杨成锴\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=asjdf\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https:\u002F\u002Fgithub.com\u002Fall-contributors\u002Fall-contributors) specification. Contributions of any kind welcome!\n\n## License 📋\n\n[Apache 2.0](.\u002FLICENSE)\n\n\u003Ca href=\"https:\u002F\u002Ftrackgit.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_8815ca714786.png\" alt=\"trackgit-views\" \u002F>\u003C\u002Fa>\n","\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_549427966f57.png\" alt=\"envd 猫咪眨眼\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0d188be11a8f.png\" alt=\"envd 猫咪眨眼\"\u002F>\n\n\u003Cp>面向 AI\u002FML 的开发环境\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cp align=center>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FKqswhpVgdU\">\u003Cimg alt=\"Discord 邀请链接\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F974584200327991326?style=flat&logo=discord&cacheSeconds=60\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FTensorChord\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ftensorchord?style=flat&logo=X&cacheSeconds=60\" alt=\"trackgit-views\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fenvd\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fenvd\" alt=\"Python 版本\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd#contributors-\">\u003Cimg alt=\"all-contributors\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fall-contributors\u002Ftensorchord\u002Fenvd\u002Fmain\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fenvd\u002F\">\u003Cimg alt=\"envd 软件包下载量\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_020beb97ca92.png\"\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Factions\u002Fworkflows\u002FCI.yml\">\u003Cimg alt=\"持续集成\" src=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Factions\u002Fworkflows\u002FCI.yml\u002Fbadge.svg\">\u003C\u002Fa>\n\u003Ca href='https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Ftensorchord\u002Fenvd?branch=main'>\u003Cimg src='https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Ftensorchord\u002Fenvd\u002Fbadge.svg?branch=main' alt='覆盖率状态' \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n## 什么是 envd？\n\nenvd（发音为 `ɪnˈvdɪ`）是一款命令行工具，可帮助您创建基于容器的 AI\u002FML 开发环境。\n\n构建开发环境并不容易，尤其是在当今复杂系统和依赖关系的情况下。从 Python 到 CUDA、BASH 脚本和 Dockerfile，这些工具和配置文件经常出现兼容性问题或失效，这让人感到非常棘手——直到现在！\n\n只需在 build.envd 中简单声明所需的软件包，并执行一条命令：`envd up`，即可快速搭建出完全符合需求的开发环境！\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F5100735\u002F207217321-34c30dde-4b55-4871-b6fe-f9fc6ec19986.svg\" width=\"75%\"\u002F>\n\u003C\u002Fp>\n\n## 为什么使用 `envd`？\n\n使用 `envd` 构建的环境开箱即用，具备以下特性：\n\n**简洁的 CLI 和编程语言**\n\n`envd` 让您可以将强大的命令行工具无缝集成到现有的 Python 工作流中，从而轻松 provision 您的开发环境，而无需学习新的语言或 DSL。\n\n```python\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\n**隔离性，兼容 OCI 镜像**\n\n借助 `envd`，用户可以创建一个隔离的空间来进行训练、微调或服务部署。通过利用先进的虚拟化技术以及 [buildkit](https:\u002F\u002Fgithub.com\u002Fmoby\u002Fbuildkit) 等功能，`envd` 是环境搭建的理想解决方案。\n\n`envd` 环境镜像是兼容 [OCI 镜像规范](https:\u002F\u002Fgithub.com\u002Fopencontainers\u002Fimage-spec) 的。借助 OCI 镜像的强大功能，您可以将您的环境共享给任何人！只需将其推送到 Harbor 或 Docker Hub 等容器注册表即可实现这一点。\n\n**本地与云端支持**\n\n`envd` 现在可以在混合平台上使用，从本地机器到 Kubernetes 托管的集群均可运行。无论选择哪种方式，都能为开发者提供高效且灵活的方式来构建项目！\n\n```sh\n$ envd context use local\n# 在本地运行 envd 环境\n$ envd up\n...\n$ envd context use cluster\n# 在集群中以相同体验运行 envd 环境\n$ envd up\n```\n\n更多详细信息请参阅 [文档](https:\u002F\u002Fenvd.tensorchord.ai\u002Fteams\u002Fkubernetes.html)。\n\n**随时随地构建，速度更快**\n\n借助 [buildkit](https:\u002F\u002Fgithub.com\u002Fmoby\u002Fbuildkit)，`envd` 提供了远程构建和软件缓存等功能，例如 pip 索引缓存或 apt 缓存，所有这些都旨在让您无需直接接触代码就能更轻松地完成工作！\n\n复用之前从 PyPI\u002FAPT 缓存中下载的软件包，可以节省时间和精力，使构建过程更加高效。无需再次下载已获取的内容——只需一次下载即可多次使用！ \n\n而在传统的 Dockerfile v1 中，用户无法利用 PyPI 缓存来提升安装速度，但 `envd` 不仅支持这一功能，还提供了更多便利！\n\n\u003Cp align=center>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c2c3357ec057.png\" width=\"65%\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=center>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_ad4e759f01ce.png\" width=\"65%\"\u002F>\n\u003C\u002Fp>\n\n此外，`envd` 还支持远程构建，这意味着您可以在远程机器上（如云服务器）构建环境，然后将其推送到注册表。当您使用的机器资源有限，或者希望使用性能更高的构建机器时，这一功能尤为有用。\n\n**团队知识共享**\n\n告别复制粘贴 Dockerfile 指令吧！使用 envd 可以轻松构建函数，并通过 `include` 函数导入任何 Git 仓库来重复使用它们！快速打造强大的自定义解决方案。\n\n```python\nenvdlib = include(\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvdlib\")\n\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    envdlib.tensorboard(host_port=8888)\n```\n\n\u003Cdetails>\n  \u003Csummary>\u003Ccode>envdlib.tensorboard\u003C\u002Fcode> 定义于 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvdlib\u002Fblob\u002Fmain\u002Fsrc\u002Fmonitoring.envd\">github.com\u002Ftensorchord\u002Fenvdlib\u003C\u002Fa>\u003C\u002Fsummary>\n\n```python\ndef tensorboard(\n    envd_port=6006,\n    envd_dir=\"\u002Fhome\u002Fenvd\u002Flogs\",\n    host_port=0,\n    host_dir=\"\u002Ftmp\",\n):\n    \"\"\"配置 TensorBoard。\n\n    请确保您对 `host_dir` 具有访问权限\n\n    Args:\n        envd_port (Optional[int]): envd 容器使用的端口\n        envd_dir (Optional[str]): envd 容器中的日志存储挂载路径\n        host_port (Optional[int]): 主机使用的端口，若未指定或等于 0，\n            envd 将随机选择一个空闲端口\n        host_dir (Optional[str]): 主机上的日志存储挂载路径\n    \"\"\"\n    install.python_packages([\"tensorboard\"])\n    runtime.mount(host_path=host_dir, envd_path=envd_dir)\n    runtime.daemon(\n        commands=[\n            [\n                \"tensorboard\",\n                \"--logdir\",\n                envd_dir,\n                \"--port\",\n                str(envd_port),\n                \"--host\",\n                \"0.0.0.0\",\n            ],\n        ]\n    )\n    runtime.expose(envd_port=envd_port，host_port=host_port，service=\"tensorboard\")\n```\n\u003C\u002Fdetails>\n\n## 快速开始 🚀\n\n### 系统要求\n\n- Docker (20.10.0 或更高版本)\n\n### 安装并初始化 `envd`\n\n`envd` 可以通过 `pip` 安装，或者直接从 [release](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Freleases) 下载二进制文件。安装完成后，请运行 `envd bootstrap` 进行初始化。\n\n```bash\npip install --upgrade envd\n```\n\n安装完成后，请运行 `envd bootstrap` 进行初始化：\n\n```bash\nenvd bootstrap\n```\n\n更多替代安装方法请参阅 [文档](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fgetting-started.html#install-and-bootstrap-envd)。\n\n> 在运行 `envd bootstrap` 时，可以添加 `--dockerhub-mirror` 或 `-m` 标志来配置 docker.io 注册表的镜像源：\n>\n>```bash title=\"设置 Docker 镜像\"\n>envd bootstrap --dockerhub-mirror https:\u002F\u002Fdocker.mirrors.sjtug.sjtu.edu.cn\n>```\n\n### 创建 `envd` 环境\n\n请克隆 [`envd-quick-start`](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd-quick-start)：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd-quick-start.git\n```\n\n构建清单文件 `build.envd` 如下所示：\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # 如果需要，可以配置 pip 源。\n    # config.pip_index(url = \"https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n```\n\n*请注意，这里我们以 Python 为例，但您也可以查看其他语言（如 R 和 Julia）的示例 [这里](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Ftree\u002Fmain\u002Fexamples)。*\n\n然后，请运行以下命令来设置一个新的环境：\n\n```bash\ncd envd-quick-start && envd up\n```\n\n```bash\n$ cd envd-quick-start && envd up\n[+] ⌚ 解析 build.envd 并下载\u002F缓存依赖项 6.2s ✅ (已完成) \n[+] 构建 envd 环境 19.0s (47\u002F47) 已完成                                                 \n => 缓存 [内部] 设置 pip 缓存挂载权限                                     0.0s\n => docker-image:\u002F\u002Fdocker.io\u002Ftensorchord\u002Fenvd-sshd-from-scratch:v0.4.3                        2.3s\n => => 解析 docker.io\u002Ftensorchord\u002Fenvd-sshd-from-scratch:v0.4.3                            2.3s\n => docker-image:\u002F\u002Fdocker.io\u002Flibrary\u002Fubuntu:22.04                                             0.0s\n......\n => [内部] pip 安装 numpy                                                              2.5s\n => 缓存 [内部] 下载 fish shell                                                     0.0s\n => [内部] 配置 \u002Fopt\u002Fconda 的用户权限                                      1.0s\n => [内部] 创建 ssh 密钥目录                                                         0.5s\n => [内部] 安装 ssh 密钥                                                               0.2s\n => [内部] 从构建镜像复制 fish shell                                         0.2s\n => [内部] 安装 fish shell                                                             0.5s\n......\n => [内部] 创建工作目录：\u002Fhome\u002Fenvd\u002Fenvd-quick-start                                   0.2s\n => 导出到镜像                                                                        7.7s\n => => 导出层                                                                       7.7s\n => => 写入镜像 sha256:464a0c12759d3d1732404f217d5c6e06d0ee4890cccd66391a608daf2bd314e4  0.0s\n => => 命名为 docker.io\u002Flibrary\u002Fenvd-quick-start:dev                                       0.0s\n------\n > 从 docker.io\u002Ftensorchord\u002Fpython-cache:envd-v0.4.3 导入缓存清单：\n------\n⣽ [5\u002F5] 挂载环境  [2s]            \n欢迎使用 fish，友好的交互式 shell\n键入 help 获取使用 fish 的说明\n\nenvd-quick-start 在 git master 上 [!] 使用 Py v3.11.11 通过 🅒 envd 以 sudo 身份运行 \n⬢ [envd]❯ # 您现在处于基于容器的环境中！\n```\n\n### 设置 Jupyter Notebook\n\n请编辑 `build.envd` 以启用 Jupyter Notebook：\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # 如果需要，可以配置 pip 源。\n    # config.pip_index(url = \"https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\n您可以使用 `envd envs ls` 获取正在运行的 Jupyter Notebook 的访问地址。\n\n```bash\n$ envd up --detach\n$ envd envs ls\nNAME                    JUPYTER                 SSH TARGET              CONTEXT                                 IMAGE                   GPU     CUDA    CUDNN   STATUS          CONTAINER ID\nenvd-quick-start        http:\u002F\u002Flocalhost:42779   envd-quick-start.envd   \u002Fhome\u002Fgaocegege\u002Fcode\u002Fenvd-quick-start   envd-quick-start:dev    false   \u003Cnone>  \u003Cnone>  运行了 54 秒   bd3f6a729e94\n```\n\n## v0 和 v1 语法的区别\n\n> [!注意]\n> 自 `envd v1.0` 起，`v1` 语法成为 `build.envd` 文件的默认语法，且默认构建器为 `moby-worker`。\n\n| 特性 | v0 | v1 |\n| --- | --- | --- |\n| 是否为 `envd\u003Cv1.0` 的默认语法 | ✅ | ❌ |\n| 是否支持开发模式 | ✅ | ✅ |\n| 是否支持 CUDA | ✅ | ✅ |\n| 是否支持服务部署 | ⚠️ | ✅ |\n| 是否支持自定义基础镜像 | ⚠️ | ✅ |\n| 是否支持安装多种语言 | ⚠️ | ✅ |\n| 是否支持 `moby` 构建器 | ❌ | ✅ |\n\n> [!重要提示]\n> 更多详情请参阅 [升级到 v1](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fv1.html) 文档。\n\n## 更多文档信息 📝\n\n请参阅 [envd 文档](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fgetting-started.html)。\n\n## 路线图 🗂️\n\n请查看 [路线图](https:\u002F\u002Fenvd.tensorchord.ai\u002Fcommunity\u002Froadmap.html)。\n\n## 贡献 😊\n\n我们欢迎来自开源社区、个人和合作伙伴的各种贡献。\n\n- 加入我们的 [Discord 社区](https:\u002F\u002Fdiscord.gg\u002FKqswhpVgdU)!\n- 若要从源代码构建，请阅读我们的 [贡献文档](https:\u002F\u002Fenvd.tensorchord.ai\u002Fcommunity\u002Fcontributing.html) 和 [开发教程](https:\u002F\u002Fenvd.tensorchord.ai\u002Fdevelopers\u002Fdevelopment.html)。\n\n[![在 Gitpod 中打开](https:\u002F\u002Fgitpod.io\u002Fbutton\u002Fopen-in-gitpod.svg)](https:\u002F\u002Fgitpod.io\u002F#https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd)\n\n## 贡献者 ✨\n\n感谢以下优秀人士（[emoji key](https:\u002F\u002Fallcontributors.org\u002Femoji-key\u002F)）：\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.duanfei.org\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_67e024f87152.png\" width=\"70px;\" alt=\" Friends A.\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb> Friends A.\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=shaonianche\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#design-shaonianche\" title=\"Design\">🎨\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faaronzs\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1b9097bc8afb.png\" width=\"70px;\" alt=\"Aaron Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aaron Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#userTesting-aaronzs\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=aaronzs\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpopfido\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7f3f5a3b0180.png\" width=\"70px;\" alt=\"Aka.Fido\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aka.Fido\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#platform-popfido\" title=\"Packaging\u002Fporting to new platform\">📦\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=popfido\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=popfido\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Falexhxi.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_4fd995e1ab1f.png\" width=\"70px;\" alt=\"Alex Xi\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Alex Xi\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=AlexXi19\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLuBingtan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_61dc9b52ac5b.png\" width=\"70px;\" alt=\"Bingtan Lu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Bingtan Lu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=LuBingtan\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsunby\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_9f4aab1b5afe.png\" width=\"70px;\" alt=\"Bingyi Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Bingyi Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sunby\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fgaocegege.com\u002FBlog\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_049354aee942.png\" width=\"70px;\" alt=\"Ce Gao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ce Gao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gaocegege\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gaocegege\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#design-gaocegege\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#projectManagement-gaocegege\" title=\"Project Management\">📆\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ffrostming.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_52ec961f83e5.png\" width=\"70px;\" alt=\"Frost Ming\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Frost Ming\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=frostming\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=frostming\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002FGuangyangLi.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_efe6055f3615.png\" width=\"70px;\" alt=\"Guangyang Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Guangyang Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=gyli\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGui-Yue\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bb5b6ff33696.png\" width=\"70px;\" alt=\"Gui-Yue\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Gui-Yue\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Gui-Yue\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhaiker2011\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0e7b1a14348f.png\" width=\"70px;\" alt=\"Haiker Sun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Haiker Sun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=haiker2011\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fbandism.net\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_73d65636eb8d.png\" width=\"70px;\" alt=\"Ikko Ashimine\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ikko Ashimine\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=eltociear\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnasnoisaac\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_586220b3f87a.png\" width=\"70px;\" alt=\"Isaac \"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Isaac \u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=nasnoisaac\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fbelyenochi.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_eb7181fe0c44.png\" width=\"70px;\" alt=\"JasonZhu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>JasonZhu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Belyenochi\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fknight42\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_afd676e5b4b0.png\" width=\"70px;\" alt=\"Jian Zeng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jian Zeng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#design-knight42\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#ideas-knight42\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#research-knight42\" title=\"Research\">🔬\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FVoVAllen\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c08e2544d9e5.png\" width=\"70px;\" alt=\"Jinjing Zhou\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jinjing Zhou\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3AVoVAllen\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=VoVAllen\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#design-VoVAllen\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=VoVAllen\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fjun.dev\u002Fblog\u002Fissues\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_aedefd5979a7.png\" width=\"70px;\" alt=\"Jun\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jun\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#platform-junnplus\" title=\"Packaging\u002Fporting to new platform\">📦\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=junnplus\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKaiyang-Chen\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bdf37249dee4.png\" width=\"70px;\" alt=\"Kaiyang Chen\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Kaiyang Chen\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Kaiyang-Chen\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fkemingy.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_46fc889cf30e.png\" width=\"70px;\" alt=\"Keming\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Keming\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kemingy\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kemingy\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#ideas-kemingy\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#infra-kemingy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpingsutw\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7f80f7fffa36.png\" width=\"70px;\" alt=\"Kevin Su\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Kevin Su\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=pingsutw\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F3AceShowHand\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_927727fbf038.png\" width=\"70px;\" alt=\"Ling Jin\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ling Jin\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3A3AceShowHand\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#infra-3AceShowHand\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fmanjusaka.itscoder.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_d0b8a650cec4.png\" width=\"70px;\" alt=\"Manjusaka\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Manjusaka\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Zheaoli\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flilylee1874\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7dba796c288e.png\" width=\"70px;\" alt=\"Nino\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Nino\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#design-lilylee1874\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lilylee1874\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fphillipw.info\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c71477f4b18f.png\" width=\"70px;\" alt=\"Pengyu Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Pengyu Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=cswpy\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSepush\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bbd34cfc3316.png\" width=\"70px;\" alt=\"Sepush\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Sepush\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sepush\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.electronicwaste.cn\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_a19866251e67.png\" width=\"70px;\" alt=\"Shao Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Shao Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Electronic-Waste\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fblog.thrimbda.com\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_885a2c78799f.png\" width=\"70px;\" alt=\"Siyuan Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Siyuan Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Thrimbda\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#infra-Thrimbda\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#maintenance-Thrimbda\" title=\"Maintenance\">🚧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fsuyan.moe\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_bb8ee4162135.png\" width=\"70px;\" alt=\"Suyan\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Suyan\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=suyanhanx\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fmyfra.vercel.app\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_addabaaa225e.png\" width=\"70px;\" alt=\"To My\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>To My\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=MyFRA\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.iam.rw\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c4785ce302cd.png\" width=\"70px;\" alt=\"Tumushimire Yves\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Tumushimire Yves\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=yvestumushimire\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fpage.codespaper.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7ad1a4a2d3fa.png\" width=\"70px;\" alt=\"Wei Zhang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Wei Zhang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=zwpaper\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fweixiao-huang.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0943e044ebb6.png\" width=\"70px;\" alt=\"Weixiao Huang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Weixiao Huang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=weixiao-huang\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.hawkingrei.com\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_8418528ac87e.png\" width=\"70px;\" alt=\"Weizhen Wang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Weizhen Wang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hawkingrei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblog.xuruowei.com\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0fbce70d4f1f.png\" width=\"70px;\" alt=\"XRW\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>XRW\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xuruowei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjiayouxujin\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_62afece5772a.png\" width=\"70px;\" alt=\"Xu Jin\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Xu Jin\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=jiayouxujin\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fxuanwo.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_2e73e34dfcf1.png\" width=\"70px;\" alt=\"Xuanwo\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Xuanwo\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#question-Xuanwo\" title=\"Answering Questions\">💬\u003C\u002Fa> \u003Ca href=\"#design-Xuanwo\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"#ideas-Xuanwo\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpulls?q=is%3Apr+reviewed-by%3AXuanwo\" title=\"Reviewed Pull Requests\">👀\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fenjoyliu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1d9a8bdfa09e.png\" width=\"70px;\" alt=\"Yijiang Liu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yijiang Liu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=enjoyliu\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Felon.fun\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_f3c2e9ac0778.png\" width=\"70px;\" alt=\"Yilong Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yilong Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dragonly\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Adragonly\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dragonly\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fterrytangyuan.github.io\u002Fabout\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_047339b6be96.png\" width=\"70px;\" alt=\"Yuan Tang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuan Tang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=terrytangyuan\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#design-terrytangyuan\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=terrytangyuan\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#ideas-terrytangyuan\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Frudeigerc.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_fd01961229aa.png\" width=\"70px;\" alt=\"Yuchen Cheng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuchen Cheng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Arudeigerc\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#infra-rudeigerc\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#maintenance-rudeigerc\" title=\"Maintenance\">🚧\u003C\u002Fa> \u003Ca href=\"#tool-rudeigerc\" title=\"Tools\">🔧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Flunarwhite.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_d42cf7e63c1d.png\" width=\"70px;\" alt=\"Yuedong Wu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yuedong Wu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lunarwhite\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyczheng0\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_6e6132d98b63.png\" width=\"70px;\" alt=\"Yunchuan Zheng\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Yunchuan Zheng\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=yczheng0\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Flizheming.top\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_b105fad8ddce.png\" width=\"70px;\" alt=\"Zheming Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zheming Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lizhemingi\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FXiaoaier-Z-L\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_293cc5a296be.png\" width=\"70px;\" alt=\"Zhenguo.Li\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhenguo.Li\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xiaoaier-Z-L\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Xiaoaier-Z-L\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fblog.triplez.cn\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_a39c9d37c378.png\" width=\"70px;\" alt=\"Zhenzhen Zhao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhenzhen Zhao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#infra-Triple-Z\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇\u003C\u002Fa> \u003Ca href=\"#userTesting-Triple-Z\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=Triple-Z\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ft.me\u002Flittlepoint\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_03bb9eedd9d9.png\" width=\"70px;\" alt=\"Zhizhen He\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zhizhen He\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hezhizhen\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hezhizhen\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcutecutecat\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_7b02c87321db.png\" width=\"70px;\" alt=\"cutecutecat\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>cutecutecat\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=cutecutecat\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdqhl76\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_e730670a69c7.png\" width=\"70px;\" alt=\"dqhl76\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>dqhl76\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dqhl76\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=dqhl76\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Flxb1226.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_9beabbe70e40.png\" width=\"70px;\" alt=\"heyjude\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>heyjude\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=lxb1226\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjimoosciuc\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_e34164bd1bb1.png\" width=\"70px;\" alt=\"jimoosciuc\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>jimoosciuc\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#userTesting-jimoosciuc\" title=\"User Testing\">📓\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fkenwoodjw.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_c82fcb19cc44.png\" width=\"70px;\" alt=\"kenwoodjw\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>kenwoodjw\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=kenwoodjw\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fwww.hwdef.org\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_5e040c4207c9.png\" width=\"70px;\" alt=\"li mengyang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>li mengyang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=hwdef\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faseaday\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_54d883bd91ad.png\" width=\"70px;\" alt=\"nullday\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>nullday\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-aseaday\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=aseaday\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frrain7\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_1247421642cb.png\" width=\"70px;\" alt=\"rrain7\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>rrain7\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=rrain7\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ftisonkun.org\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_8543fb4b8e49.png\" width=\"70px;\" alt=\"tison\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>tison\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=tisonkun\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Ffatelei.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_93abd1216af0.png\" width=\"70px;\" alt=\"wangxiaolei\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>wangxiaolei\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=fatelei\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsea-wyq\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_392229277183.png\" width=\"70px;\" alt=\"wyq\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>wyq\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fissues?q=author%3Asea-wyq\" title=\"Bug reports\">🐛\u003C\u002Fa> \u003Ca href=\"#design-sea-wyq\" title=\"Design\">🎨\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=sea-wyq\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Foubotong.github.io\u002Fjohan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_81d9d6ff661a.png\" width=\"70px;\" alt=\"x0oo0x\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>x0oo0x\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=oubotong\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxiangtianyu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_0282d2dee48b.png\" width=\"70px;\" alt=\"xiangtianyu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xiangtianyu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xiangtianyu\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxieydd\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_15e395aa1f5e.png\" width=\"70px;\" alt=\"xieydd\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xieydd\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xieydd\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxing0821\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_576e399ba4c0.png\" width=\"70px;\" alt=\"xing0821\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xing0821\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-xing0821\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa> \u003Ca href=\"#userTesting-xing0821\" title=\"User Testing\">📓\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xing0821\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fxxchan.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_fc9619e0b4e6.png\" width=\"70px;\" alt=\"xxchan\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>xxchan\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=xxchan\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fblogs.zhangwei.asia\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_f2c5cdc8692e.png\" width=\"70px;\" alt=\"zhang-wei\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>zhang-wei\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=arugal\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzhyon404\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_2531d39ef1da.png\" width=\"70px;\" alt=\"zhyon404\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>zhyon404\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=zhyon404\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fwww.homeboyc.cn\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_readme_19c67022367e.png\" width=\"70px;\" alt=\"杨成锴\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>杨成锴\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcommits?author=asjdf\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\n本项目遵循 [all-contributors](https:\u002F\u002Fgithub.com\u002Fall-contributors\u002Fall-contributors) 规范。欢迎任何形式的贡献！\n\n\n\n## 许可证 📋\n\n[Apache 2.0](.\u002FLICENSE)\n\n\u003Ca href=\"https:\u002F\u002Ftrackgit.com\">\u003Cimg src=\"https.\u002F\u002Fus-central1-trackgit-analytics.cloudfunctions.net\u002Ftoken\u002Fping\u002Fl3ldvdaswvnjpty9u7l3\" alt=\"trackgit-views\" \u002F>\u003C\u002Fa>","# envd 快速上手指南\n\n`envd` 是一款专为 AI\u002FML 开发者设计的命令行工具，旨在通过简单的声明式配置，快速构建基于容器的开发环境。它解决了传统 Dockerfile 编写复杂、依赖管理困难的问题，支持本地与云端混合部署，并提供高效的构建缓存机制。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows (WSL2)\n*   **核心依赖**：Docker (版本需 >= 20.10.0)\n    *   请确保 Docker 守护进程已启动且当前用户有权限运行 Docker 命令。\n\n## 安装步骤\n\n### 1. 安装 envd\n\n推荐使用 `pip` 进行安装（需预先安装 Python）：\n\n```bash\npip install --upgrade envd\n```\n\n或者，您也可以直接从 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Freleases) 下载二进制文件。\n\n### 2. 初始化引导\n\n安装完成后，必须运行引导命令以配置后端环境。**国内用户建议配置 Docker 镜像加速源**以提升拉取速度：\n\n```bash\n# 使用国内镜像源（例如上海交通大学镜像站）进行引导\nenvd bootstrap --dockerhub-mirror https:\u002F\u002Fdocker.mirrors.sjtug.sjtu.edu.cn\n```\n\n如果不配置镜像源，可直接运行：\n```bash\nenvd bootstrap\n```\n\n## 基本使用\n\n### 1. 获取示例项目\n\n克隆官方提供的快速入门项目：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd-quick-start.git\ncd envd-quick-start\n```\n\n### 2. 理解配置文件\n\n项目根目录下的 `build.envd` 文件定义了环境依赖。这是一个标准的 Python 脚本，语法直观：\n\n```python\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # 如需加速 pip 下载，可取消下方注释并配置国内源\n    # config.pip_index(url = \"https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    # 如需启用 Jupyter，请添加下方配置\n    # config.jupyter()\n```\n\n### 3. 启动开发环境\n\n在项目目录下运行以下命令，`envd` 将自动解析依赖、构建镜像并启动容器：\n\n```bash\nenvd up\n```\n\n**执行过程说明：**\n*   首次运行时会下载基础镜像并安装依赖（后续构建利用缓存将非常快）。\n*   构建完成后，终端会自动附加到容器内的 Shell（默认为 fish），您已处于配置好的 AI 开发环境中。\n\n```text\nWelcome to fish, the friendly interactive shell\n...\n⬢ [envd]❯ # 您现在可以在容器中直接运行 python, numpy 等命令\n```\n\n### 4. 进阶：启动 Jupyter Notebook\n\n如果需要 Web 界面进行开发：\n\n1.  编辑 `build.envd`，取消 `config.jupyter()` 的注释。\n2.  后台启动环境：\n    ```bash\n    envd up --detach\n    ```\n3.  查看访问地址：\n    ```bash\n    envd envs ls\n    ```\n    输出中的 `JUPYTER` 列即为访问链接（例如 `http:\u002F\u002Flocalhost:42779`）。","某初创公司的算法工程师小李，正带领三人团队开发一个基于 PyTorch 和自定义 CUDA 算子的图像分割模型，急需在本地调试后快速迁移到云端集群进行大规模训练。\n\n### 没有 envd 时\n- **环境配置耗时且易错**：每位新成员入职需花费半天手动安装特定版本的 Python、CUDA 驱动及系统依赖，常因版本冲突导致“在我机器上能跑”的问题。\n- **本地与云端体验割裂**：本地使用 Dockerfile 构建镜像，而云端集群依赖不同的 Kubernetes 配置，迁移时需反复修改脚本，极易引入人为错误。\n- **复现成本高昂**：实验中途若更换开发机或需要回滚到旧版本环境，缺乏标准化描述文件，重新搭建往往需要数小时甚至更久。\n- **协作沟通低效**：团队成员间通过文档或口头传达依赖列表，缺少统一的代码化定义，导致排查环境问题占用大量研发时间。\n\n### 使用 envd 后\n- **声明式一键启动**：小李只需编写一个 `build.envd` 文件声明所需包（如 `torch`, `cuda`），团队成员运行 `envd up` 即可在几分钟内获得完全一致的开发环境。\n- **无缝混合云部署**：通过简单切换上下文（`envd context use cluster`），同一套配置文件可直接在本地笔记本和云端 K8s 集群中运行，彻底消除环境差异。\n- **完美可复现性**：所有环境依赖被代码化管理并纳入版本控制，随时可重现任意历史实验节点的确切运行状态，确保实验结果可靠。\n- **专注核心业务**：团队不再受困于底层运维琐事，将原本用于修环境的时间全部投入到模型优化与数据迭代中，研发效率显著提升。\n\nenvd 通过代码化定义消除了 AI 开发中的环境碎片化难题，让算法团队真正实现了“一次定义，随处运行”的高效协作模式。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorchord_envd_54a7b596.png","tensorchord","TensorChord","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftensorchord_9d058faa.png","Cloud native AI infrastructure",null,"envd-maintainers@tensorchord.ai","https:\u002F\u002Fvectorchord.ai","https:\u002F\u002Fgithub.com\u002Ftensorchord",[84,88,92,96,100],{"name":85,"color":86,"percentage":87},"Go","#00ADD8",91.4,{"name":89,"color":90,"percentage":91},"Python","#3572A5",4.4,{"name":93,"color":94,"percentage":95},"Shell","#89e051",3.1,{"name":97,"color":98,"percentage":99},"Makefile","#427819",1.1,{"name":101,"color":102,"percentage":103},"Dockerfile","#384d54",0,2192,167,"2026-03-28T16:05:08","Apache-2.0","Linux, macOS","非必需（可选支持），具体型号和显存未说明，支持 CUDA 环境配置","未说明",{"notes":112,"python":113,"dependencies":114},"该工具用于构建基于容器的 AI\u002FML 开发环境。核心依赖是 Docker (20.10.0+)。安装后需运行 'envd bootstrap' 进行初始化。支持本地和 Kubernetes 集群部署。可通过 build.envd 文件声明依赖（如 conda, python 包），工具会自动处理缓存加速构建。支持远程构建和镜像推送。","3.8+",[115,116],"Docker>=20.10.0","buildkit",[13,26,15],[119,120,121,116,122,123,124,125,126,127,128,129],"developer-tools","development-environment","docker","hacktoberfest","llmops","mlops","mlops-workflow","model-serving","agent","code-agent","codex","2026-03-27T02:49:30.150509","2026-04-06T05:35:28.678865",[],[134,139,144,149,154,159,164,169,173,177,182,187,192,197,202,206,211,216,220,225],{"id":135,"version":136,"summary_zh":137,"released_at":138},90583,"v1.3.4","## 更改日志\n### 令人兴奋的新功能 🎉\n* c49ed2cb7fdeaa5d966ca36181b7ce27bc6fdf6a: 功能：将 `build.envd` 文件添加到此仓库 (#2082) (@kemingy)\n* 3cac99fd121961eae2ce0bb634a026891b8e77df: 功能：获取 Codex 的最新 GitHub 发布标签 (#2081) (@kemingy)\n* d7379df920a3305191f834e1539f3b4bfd9f084f: 功能：支持 `envd up` 的 `--cap` 参数 (#2078) (@kemingy)\n### 其他：\n* 38015c99198dc8490301c9662c1bdce7d650e4df: 杂项（依赖）：在 all-actions 组中将 pypa\u002Fcibuildwheel 从 3.3.0 升级到 3.3.1 (#2079) (@dependabot[bot])\n\n","2026-02-07T01:43:50",{"id":140,"version":141,"summary_zh":142,"released_at":143},90584,"v1.3.3","## 更改日志\n### 错误修复 🛠\n* 4719fa2998d4ea8a57c8c12b8d1abeaf8eca0cad：文档：修复链接、合并 Lychee 配置文件、整理模块 (#2072) (@kemingy)\n### 文档 🖊️\n* 5338ee68876e5134c2143ac4a48b8cfddd6ba42b：文档：更新 CHANGELOG.md (#2068) (@github-actions[bot])\n### 其他：\n* 7ef03695e60c9af46f636d13c0e6a56b5eef59cc：杂项（依赖）：将 golang.org\u002Fx\u002Fcrypto 从 0.43.0 升级到 0.45.0 (#2069) (@dependabot[bot])\n* eb76188c9362f02f5c03e4377cbc2a46801a1578：杂项（依赖）：为 all-actions 组合包进行 3 次更新 (#2071) (@dependabot[bot])\n* 0127bb44fde96bd1bf37801fa51db4a835fb6b78：杂项（依赖）：为 all-actions 组合包进行 4 次更新 (#2073) (@dependabot[bot])\n* 2498aca2d0e1bb6da8d2987c54ba749a61387683：杂项：将工具版本升级至最新版 (#2076) (@kemingy)\n\n","2026-01-07T11:20:38",{"id":145,"version":146,"summary_zh":147,"released_at":148},90585,"v1.3.2","## 更改日志\n### 错误修复 🛠\n* b9d438501e01c857ac2c8688b82221f292b262e1：修复：从 ghcr 获取 envd-sshd (#2067) (@kemingy)\n* 9b3031b121e4d1da46839f9edc895e3f173c6a88：修复：更新默认 Python 镜像缓存 (#2065) (@kemingy)\n### 文档 🖊️\n* 305a8d3f4445d2c649ace6c755c5e1a408604721：文档：使 SSH 代理转发错误信息更清晰 (#2066) (@kemingy)\n* 2d2f07cd6695ba1c47fa79d31cc01fedfe6de80a：文档：更新了 CHANGELOG.md (#2064) (@github-actions[bot])\n\n","2025-11-11T14:49:38",{"id":150,"version":151,"summary_zh":152,"released_at":153},90586,"v1.3.1","## 更改日志\n### 令人兴奋的新功能 🎉\n* 694b22793ba38c90248a4d6f138e6446217b2387: 功能：推送至 ghcr (#2063) (@kemingy)\n* d012d9f2c642cd951883029e446adbeb01f1a92c: 功能：支持 `install.nodejs()` (#2059) (@kemingy)\n### 重构 🏗️\n* 938a88ab7ea88c51c809f2421f49ee91ad3dd462: 重构：使用 curl 拉取 ghcr 镜像，从 gh 发布页面安装 starshp (#2061) (@kemingy)\n### 文档 🖊️\n* 810fc69e1dc7effd735c43217aeaf72c276c13bb: 文档：将 install.codex 添加到参考页面 (#2058) (@kemingy)\n* cb2d90513f3e9cc60b5f0d9f49312706548b107a: 文档：更新 CHANGELOG.md (#2057) (@github-actions[bot])\n### 其他：\n* 0e289656a437ba41dd70471e2f544b191e65287d: 杂项（依赖）：将 peter-evans\u002Fcreate-pull-request 从 6 升级到 7 (#1925) (@dependabot[bot])\n* 963f95ca8fe0ed154d7eafa6674a59a133b8b964: 杂项：调整 codex 模板 (#2060) (@kemingy)\n* ba68419a930d16d66e9bafb291b9d287c7fce3be: 杂项：升级语言和工具版本 (#2062) (@kemingy)\n\n","2025-11-11T10:07:37",{"id":155,"version":156,"summary_zh":157,"released_at":158},90587,"v1.3.0","## 更改日志\n### 令人兴奋的新功能 🎉\n* 5d654fe7846e42303e2a87775e14270d2822e4b1: 功能：添加 codex 模板 (#2054) (@kemingy)\n* 7b11a87c908550c6d55bab27816ee523efcfc8d7: 功能：支持 `install.go()` (#2055) (@kemingy)\n* b44e2ae7ccf26f6b32f4fb0027208ce491f01527: 功能：支持 `install.rust()` (#2052) (@kemingy)\n* e23061d4c64faf5f5c0687723dfc361de2a60031: 功能：支持 install.codex() (#2053) (@kemingy)\n### 文档 🖊️\n* 8d1e4bb28d3ed48f538fb2ba14c765ff9127397e: 文档：更新了 CHANGELOG.md (#2046) (@github-actions[bot])\n### 其他：\n* c5a177b1b455debf177a366cee5493d5e32cebf7: 杂项（依赖）：将 github.com\u002Fcontainerd\u002Fcontainerd\u002Fv2 从 2.1.4 升级到 2.1.5 (#2056) (@dependabot[bot])\n\n","2025-11-07T03:29:01",{"id":160,"version":161,"summary_zh":162,"released_at":163},90588,"v1.2.6","## 更改日志\n### 其他：\n* 8fda4f4220e91a746484aca90df9e43328a84dba：构建优化：对齐 macOS 最低目标版本 (#2051) (@kemingy)\n\n","2025-11-03T10:23:06",{"id":165,"version":166,"summary_zh":167,"released_at":168},90589,"v1.2.5","## 更改日志\n### 错误修复 🛠\n* d461fd50a444b948bd4b2ad64a80d5d96c4bdaef：构建优化：修复 goreleaser Docker 构建无法找到二进制文件的问题 (#2050) (@kemingy)\n\n","2025-11-03T09:48:56",{"id":170,"version":171,"summary_zh":79,"released_at":172},90590,"v1.2.4","2025-11-03T09:25:21",{"id":174,"version":175,"summary_zh":79,"released_at":176},90591,"v1.2.3","2025-11-03T08:47:49",{"id":178,"version":179,"summary_zh":180,"released_at":181},90592,"v1.2.2","## 更改日志\n### 令人兴奋的新功能 🎉\n* e1ef12bc4622ef20540e36e6c3b6eba1f91535d9：特性（运行）：run 命令支持 Docker 运行器 (#2042) (@rainbend)\n### 文档 🖊️\n* 61bc8ddaca9343f5b61840a21b44c8960cfcf26d：文档：更新了 CHANGELOG.md (#2011) (@github-actions[bot])\n### 其他：\n* 9dd2299ccef5ffab15c44792675efd65f9795488：杂项（依赖）：将 github.com\u002Fdocker\u002Fdocker 从 28.3.0+incompatible 升级到 28.3.3+incompatible (#2031) (@dependabot[bot])\n* 826deb00abdd458a7f1ddc04874534f783cded09：杂项（依赖）：将 github.com\u002Fgo-viper\u002Fmapstructure\u002Fv2 从 2.2.1 升级到 2.3.0 (#2027) (@dependabot[bot])\n* 9ac5ce83fb25c404fa7b60c954959d0ac28bbd65：杂项（依赖）：将 github.com\u002Fgo-viper\u002Fmapstructure\u002Fv2 从 2.3.0 升级到 2.4.0 (#2034) (@dependabot[bot])\n* ae895b1263089231c7c433d490f095e623b4c332：杂项（依赖）：将 github.com\u002Fhashicorp\u002Fgo-getter 从 1.7.8 升级到 1.7.9 (#2033) (@dependabot[bot])\n* 81ec976c1bda3c9362a29994f7d106e5df413970：杂项（依赖）：将 github.com\u002Fulikunitz\u002Fxz 从 0.5.12 升级到 0.5.14 (#2035) (@dependabot[bot])\n* c31b0fbee670b24e7dd60de59d2a035463179d1d：杂项（依赖）：在一个目录中对所有依赖组进行升级，共包含 16 次更新 (#2038) (@dependabot[bot])\n* b06fa662b23323232f0cfc92847ec332d17e426f：杂项（依赖）：对所有依赖组进行升级，共包含 11 次更新 (#2032) (@dependabot[bot])\n* d571d1bca05c4f64507ea36538313719ec8fc247：杂项（依赖）：对所有依赖组进行升级，共包含 9 次更新 (#2030) (@dependabot[bot])\n* 04a77fac5f6ac56d8548b0b9c44798b751db059f：杂项：更新 CI 流水线，但跳过 cibuildwheel，并忽略损坏的博客链接 (#2045) (@kemingy)\n* d3cfbb56ff34962694e0e917fadc82f87088df12：杂项：使用上游 horust 的 ghcr 镜像 (#2041) (@kemingy)\n\n","2025-11-03T07:44:07",{"id":183,"version":184,"summary_zh":185,"released_at":186},90593,"v1.2.1","## 更改日志\n### 令人兴奋的新功能 🎉\n* a1a315e8e901fb5c04d52d4c8c0b59fe4da12be5: 新增特性：添加 Pixi 模板 (#2014) (@kemingy)\n* 5f1f397ed6fbe32bd6b40c31300ebe12b7643155: 新增特性：支持使用 Pixi 作为 Conda 的替代方案 (#2012) (@kemingy)\n### 错误修复 🛠\n* 599a9802480418a72b842b34c3094b8dc62a1e05: 修复：sshd 处理错误的问题 (#2026) (@kemingy)\n* b96459498b2131d80446f46822a2a67eeed938ed: 重构：将 tablewriter 升级至 v1，修复破坏性变更 (#2024) (@kemingy)\n### 其他：\n* f246649b0ec79cd319998d29d24c76c8acc10b5b: 杂项（依赖）：在 all-actions 组中将 golangci\u002Fgolangci-lint-action 从 7 升级到 8 (#2022) (@dependabot[bot])\n* 30284ff3d7d81e0c5fd628590dde28d04537ced9: 杂项（依赖）：在 all-actions 组中将 pypa\u002Fcibuildwheel 从 2.23.2 升级到 2.23.3 (#2018) (@dependabot[bot])\n* af96cb339e4a90e21debba7363e74963b2b8507a: 杂项（依赖）：在 1 个目录下的所有依赖组中进行 2 次更新 (#2025) (@dependabot[bot])\n* 2af2a92464fc5d6ec72a81b5863dfd214d8fddbe: 杂项：升级依赖 (#2020) (@kemingy)\n* 24df0dbba62ba5ac877ba1cc2311893bb8ea7ec9: 杂项：更新至 golangci-lint v2 (#2016) (@kemingy)\n\n","2025-06-17T02:07:12",{"id":188,"version":189,"summary_zh":190,"released_at":191},90594,"v1.2.0","## 更改日志\n### 令人兴奋的新功能 🎉\n* 2506ede9f274403e66360029f98f6bd12faac243: 新增特性：将 fish 升级到正式发布版本 (#2000) (@kemingy)\n* a78a2454ca633ad403b12920ef71a534f8b819d5: 新增特性：嵌入整个 template\u002F*.envd 文件，避免映射键的随机顺序 (#1995) (@kemingy)\n### 错误修复 🛠\n* 8514a4aee1bc96c9677995cedc0cc93e20063670: 修复：无论 dev=True 还是 False，都支持本地化 (#2010) (@kemingy)\n### 文档 🖊️\n* bdac0934353dd7ce98bc7838172e1c7cae1e213e: 文档：更新了 CHANGELOG.md (#1994) (@github-actions[bot])\n### 其他：\n* dd3eeca89c21f890e5b9d844aa6e38b15505ab67: 杂项（依赖）：将 github.com\u002Fcontainerd\u002Fcontainerd\u002Fv2 从 2.0.3 升级到 2.0.4 (#1996) (@dependabot[bot])\n","2025-04-02T04:14:05",{"id":193,"version":194,"summary_zh":195,"released_at":196},90595,"v1.1.0",":tada: `envd` supports `uv` now! :tada: \r\n\r\nYou can create a `build.envd` file from the pre-defined template like: `envd new -t uv`. Or write one like the following:\r\n\r\n```python\r\ndef build():\r\n    base(dev=True)\r\n    install.uv()\r\n    shell(\"fish\")\r\n```\r\n\r\n## What's Changed\r\n* docs: updated CHANGELOG.md by @github-actions in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1972\r\n* feat: support uv by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1990\r\n* feat: add pre-defined envd template by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1991\r\n* chore: bump dep version, check dep monthly by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1992\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcompare\u002Fv1.0.1...v1.1.0","2025-03-10T01:52:50",{"id":198,"version":199,"summary_zh":200,"released_at":201},90596,"v1.0.1","> [!Note]\r\n> Check the v1 upgrade guide [here](https:\u002F\u002Fenvd.tensorchord.ai\u002Fguide\u002Fv1.html).\r\n\r\n## What's Changed\r\n* docs: updated CHANGELOG.md by @github-actions in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1956\r\n* fix: chown all the files for mamba under `\u002Fopt\u002Fconda` by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1961\r\n* feat: remove envd v0 by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1963\r\n* feat: use moby context by default by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1964\r\n* feat: update examples to v1 syntax by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1965\r\n* feat: upgrade julia to latest LTS version by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1966\r\n* fix: r-lang in ubuntu:22.04 by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1967\r\n* docs: change to v1 in readme by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1968\r\n* fix: envd cmd alias conflict, bump buildkit container version by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1970\r\n* feat: upgrade to micromamba2 by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1971\r\n* docs: update the v0 & v1 envd reference by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1969\r\n* fix: goreleaser config, bump to v6 by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1973\r\n* fix: use buildkit container builder to export cache by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1975\r\n* fix: use ubuntu 22.04 mirror by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1980\r\n* fix: julia docs test by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1981\r\n* chore: sort git tag by date when multiple tags bind to one commit by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1984\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcompare\u002Fv0.4.3...v1.0.1","2025-02-17T14:16:23",{"id":203,"version":204,"summary_zh":79,"released_at":205},90597,"v1.0.0","2025-02-17T13:32:52",{"id":207,"version":208,"summary_zh":209,"released_at":210},90598,"v1.0.0-alpha.3","## Changelog\r\n### Bug Fix 🛠\r\n* 9065cd38a05d326f1cd48da9089117dd49bb28c7: fix: julia docs test (#1981) (@kemingy)\r\n* 37cb376765bc0fda72d862f9285c1f68388d6e42: fix: use buildkit container builder to export cache (#1975) (@kemingy)\r\n* 63a09712e9d3d2b698b2a2fd9a27617639f693a3: fix: use ubuntu 22.04 mirror (#1980) (@kemingy)\r\n\r\n","2025-02-11T02:49:53",{"id":212,"version":213,"summary_zh":214,"released_at":215},90599,"v1.0.0-alpha.2","## Changelog\r\n### Bug Fix 🛠\r\n* 2b3a8d184acaaf286c56ada79cd2e3c5bd646c6c: fix: goreleaser config, bump to v6 (#1973) (@kemingy)\r\n\r\n","2025-02-07T03:02:32",{"id":217,"version":218,"summary_zh":79,"released_at":219},90600,"v1.0.0-alpha.1","2025-02-07T02:56:19",{"id":221,"version":222,"summary_zh":223,"released_at":224},90601,"v0.4.3","## Changelog\n### Bug Fix 🛠\n* 72e3b495ab776b5ba524217099ed7a2c88cbd909: fix(ci): release on ubuntu with wheels from previous steps (#1960) (@kemingy)\n\n","2025-01-20T15:01:14",{"id":226,"version":227,"summary_zh":228,"released_at":229},90602,"v0.4.2","## What's Changed\r\n* feat: update pypi meta, fix macos upload by @kemingy in https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fpull\u002F1958\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ftensorchord\u002Fenvd\u002Fcompare\u002Fv0.4.1...v0.4.2","2025-01-20T11:15:36"]