# 关于 GitHub Spark

了解如何使用 GitHub Spark自然语言生成和部署智能应用。

## 概述

借助 GitHub Spark，你可以用自然语言描述需求，并获得一个内置数据存储、AI 功能和 GitHub 身份验证功能的全栈 Web 应用。 你可以使用提示、可视化工具或代码进行迭代，然后一键部署到完全托管的运行时环境。

Spark 与 GitHub 无缝集成，因此你可以通过同步的 GitHub codespace 开发 spark，并借助 Copilot 进行高级编辑。 你还可以创建存储库用于团队协作，并利用 GitHub 的工具和集成生态系统。

## 使用Spark的好处

Spark 可以在应用开发的所有阶段提供广泛的优势。

### 使用自然语言或代码构建应用

您无需了解如何编写代码即可使用 Spark 构建应用程序。 你可以描述希望应用以自然语言执行哪些操作，并 Spark 生成所有必要的代码以及应用的实时交互式预览。

如果确实要浏览和编辑代码，只需打开 Spark代码面板，或进一 GitHub 步在代码空间（基于云的开发环境）中打开应用。

请参阅“[什么是 GitHub Codespaces？](/zh/codespaces/about-codespaces/what-are-codespaces)”。

### 利用 AI 功能

Spark 本地集成了 GitHub Models，因此只需调用 Spark即可将 AI 功能添加到应用程序（例如汇总文本或建议图像标签）。
Spark 将自动添加所需的推理组件，你可以编辑自己控制这些功能的系统提示。

### 托管数据存储

如果 Spark 检测到需要在应用中存储数据，它会自动设置托管的键值存储，因此无需担心如何设置和管理数据库。 数据存储在Azure（Cosmos DB）上运行，它适用于小型记录（每个条目最多 512 KB）。

### 内置安全保护

Spark 具有内置身份验证，因为用户需要使用其 GitHub 帐户登录才能访问你的应用。 通过设置可见性和数据访问选项来控制谁可以访问您的应用程序。

### 一键式部署

Spark 附带一个完全集成的运行时环境，允许你一键部署应用。 所有必要的基础结构都会自动预配，因此你无需担心设置服务器或管理部署。

所有 spark 都由 Azure 容器应用 （ACA） 托管和部署。

### 完全集成于GitHub

Spark 与它完全集成 GitHub，因此你可以使用熟悉的工具和工作流来生成和管理应用。

#### 工作 GitHub Codespaces

* 可以直接从GitHub中打开一个Spark代码空间（基于云的开发环境），以便你可以在那里继续构建应用，并有权访问Copilot和所有常用的开发工具。

* 代码空间与 Spark代码空间之间自动同步，因此可以在两个环境之间无缝切换。

#### 创建双向同步的仓库

* 只需单击一下即可为 Spark 创建存储库，以便管理应用的代码，并使用标准 GitHub 工作流与他人协作。

* Spark 与存储库之间存在双向同步，因此对存储库的任一分支Spark或主分支所做的更改都会自动反映在两个位置。 在创建存储库前对 spark 所做的所有更改都会添加到存储库中，因此你将拥有自 spark 创建以来所有更改和提交的完整记录。

#### 邀请协作者

* 如果你想邀请他人为构建你的 spark 做贡献，可以将他们添加为仓库的协作者。

#### 利用标准 GitHub 功能

* 创建了 Spark 的存储库后，您可以使用所有标准的GitHub功能，例如拉取请求、问题和项目板，来管理您的 Spark 开发过程，还可以利用GitHub Actions进行 CI/CD 工作流。

## 企业注意事项

如果您作为企业管理员正在评估Spark，那么在企业层面有特定的优势和控制措施可用。

有关为企业启用 Spark 的详细信息，请参阅 [在企业中管理 GitHub Spark](/zh/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-spark)。

### 为什么要为企业启用 Spark ？

Spark使团队能够更快地从想法转移到生产，同时维护企业管理员期望的安全、治理和成本控制。

优点包括：

* **集中控制**。
  Spark 包含在 Copilot 许可证中，且遵循现有的企业访问策略。
* **治理和安全性**。 spark 基于 GitHub 和Azure构建，继承企业级可靠性、身份验证和合规性。
* **透明度和成本管理**。
  Spark 消耗量来自 AI credits，你可以通过 GitHub 计费平台进行监控。
* **加速创新**。 Teams 可以在数小时而不是几个月内验证想法，而无需依赖于碎片化的工具链。

### 账单管理

发给Spark的每个提示都会消耗AI credits。 请参阅“[GitHub Spark 计费](/zh/billing/concepts/product-billing/github-spark)”。

### 基础结构

Spark 开发环境由 GitHub Codespaces
提供支持。 如果企业禁用 Codespaces，用户仍可以访问 Spark 界面，但无法打开基础代码库。

所有 spark 都部署到Azure 容器应用（ACA）。

## 发挥你的潜力，使用Copilot

你可以将GitHub Spark和GitHub Copilot的功能结合起来以支持你的应用开发。

### Copilot 代理模式

打开 GitHub 中的代码空间时，您可以访问所有 Copilot 的功能，包括 副驾驶聊天 和 Copilot 的代理模式。

如果考虑到特定任务，并且希望启用 Copilot 自动编辑代码，则代理模式非常有用。 在代理模式下， Copilot 确定要更改哪些文件、提供代码更改和终端命令来完成任务，并循环访问以修正问题，直到原始任务完成。 可以将应用的开发提升到下一个级别，并利用 Copilot 它来调试和排查代码中的问题。

请参阅 [Copilot 代理模式](/zh/copilot/how-tos/chat-with-copilot/chat-in-ide#agent-mode)。

### Copilot云代理

将 Spark 连接到 GitHub 存储库后，你可以使用 Copilot云代理 它帮助你继续构建和维护应用，同时专注于其他事项。

使用云代理，可以将特定任务委托给 Copilot （将问题 Copilot分配给或提示 Copilot 创建拉取请求），并 Copilot 会在后台自主工作以完成任务。
Copilot云代理 可以修复 bug、重构代码、改进测试覆盖率等。

请参阅“[关于 GitHub Copilot 云代理](/zh/copilot/concepts/agents/cloud-agent/about-cloud-agent)”。

## 共享你的灵感

准备发布你的 spark 时，你可以从以下可见性选项中进行选择：

* 仅对你专用
* 对特定组织的成员可见 GitHub
* 对所有 GitHub 用户可见（根据管理员配置，可能对某些 托管用户帐户 用户禁用）

然后，你可以与他人共享你的 spark，以便他们可以查看你的应用并与之交互。 你的 spark 链接仍处于不可被发现的状态，除非他人拥有该链接。

你可以选择将你的 spark 发布为“只读”，这意味着你可以向他人展示你的应用，但他人无法编辑或删除应用内容。

## 局限性Spark

Spark 使用带有规范的技术栈（React，TypeScript）以确保可靠性。 为了获得最佳效果，应在 Spark 的 SDK 和核心框架内工作。

可以添加外部库，但不能保证与 Spark's SDK 的兼容性。 添加任何外部库后，你都应始终对你的 spark 进行全面测试。

默认情况下，你的 spark 的数据存储对于已发布 spark 的所有用户是共享的。 在让其他用户看到你的应用之前，你应该确保从应用中删除任何专用或敏感数据。 你可以选择将你的 spark 发布为“只读”，这意味着你可以向他人展示你的应用，但他人无法编辑或删除应用内容。

## 其他阅读材料

* [应用卡片：GitHub Copilot 智能体](/zh/copilot/responsible-use/spark)
* [使用 GitHub Spark 生成和部署 AI 驱动的应用](/zh/copilot/tutorials/spark/build-apps-with-spark)
* [排查 GitHub Spark 的常见问题](/zh/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark)