跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

概述

Devin 支持通过以下两种方式连接到 GitHub Enterprise Server (GHES) 和启用数据驻留的 GitHub Enterprise Cloud (GHEC):
  1. GitHub App (推荐) — 在你的 GHES 或 GHEC 实例中注册并安装专用的 GitHub App。此方式可简化设置流程,且无需管理个人访问令牌。
  2. 个人访问令牌 (PAT) — 创建服务账户并生成细粒度个人访问令牌。此方法适用于所有 GHES 版本。
GitHub App 集成目前仅限少量用户使用。如需开始使用,请联系你的 Cognition 代表。

GitHub App 设置

GitHub App 设置分为三个步骤:
  1. App 注册 — 在你的 GHES 或 GHEC 实例上注册一个 GitHub App。每个实例只需注册一个 App
  2. App 配置 — 在你的 GHES 或 GHEC 实例上配置已注册的 App (例如,将其设为公开,并禁用令牌过期) 。
  3. App 安装 — 在你希望 Devin 访问的每个 GitHub 组织中安装已注册的 App。每个组织都需要安装一次

前提条件

  • 拥有 管理 Git 权限 的 Devin 用户
  • 对将注册该 App 的 GitHub 组织拥有所有者或管理员访问权限

步骤 1:注册 GitHub App

  1. 在你的 Devin 账户中,前往 企业设置集成GitHub
  2. 展开 Advanced 部分,显示 GitHub Enterprise 选项。
GitHub Enterprise 高级部分
  1. 点击 Register App
  2. 在弹出的模态窗口中,输入你的 GHES 或 GHEC 实例的 hostname,以及要注册该 App 的 organization
Register App 模态窗口
  1. 你将被重定向到 GitHub。点击 Register App 完成注册。
GitHub 注册页面
  1. 跳转回 Devin 后,该 GitHub App 即已注册到你的 GitHub 组织中。

步骤 2:配置 GitHub App

注册完成后,在你的 GHES 或 GHEC 实例上配置该 App:
  1. 在你的 GHES 或 GHEC 实例中,前往注册时指定的 GitHub 组织。
  2. 依次进入 SettingsDeveloper SettingsGitHub Apps,然后选择 Devin App。
Developer Settings - GitHub Apps
  1. Advanced 部分的 Danger zone 下,点击 Make public。这样,该 App 就可以安装到同一实例中的其他组织。
  2. 前往 Optional features 部分,并关闭 User-to-server token expiration。这样可防止访问令牌过期,避免用户需要定期重新授权该 App。
User-to-server token expiration setting

步骤 3:安装 GitHub App

  1. 在你的 Devin 账户中,前往 企业设置集成GitHub
  2. 展开 Advanced 部分,然后点击 安装应用
  3. 在模态窗口中,选择在你的 GHES 或 GHEC 实例下注册的 GitHub App。
安装应用模态窗口
  1. 你将被重定向到 GitHub,在那里可以选择一个 GitHub 组织,并选择要授权 Devin 访问的代码仓库。我们建议授权访问 所有代码仓库
  2. 完成安装后,你将被重定向回 Devin。随后,设置集成GitHub 中会显示一条新的 Git 连接。
如需连接其他 GitHub 组织,请对每个组织重复此步骤。

故障排查

如果你在注册或安装 GitHub App 的过程中遇到问题,请联系你的 Cognition 对接人,或发送邮件至 enterprise@cognition.ai

个人访问令牌 设置

将 Devin 集成到你的 GitHub 账户中,可以让 Devin 访问你的代码仓库并创建拉取请求 (pull request) 。这样 Devin 就能成为你工程团队中的真正协作者。

为 Devin 创建服务账号

  1. 在你的 GitHub Enterprise 中创建一个新的 GitHub 账号供 Devin 使用。这样可以确保 Devin 的所有访问和使用情况都能被正确跟踪和管理。
  2. 将新创建的服务账号作为 Member 添加到所有相关的 GitHub 组织中。确认该账号可以访问所有预期由 Devin 访问的代码仓库。

为 Devin 生成个人访问令牌 (Personal Access Token)

  1. 使用服务账号登录后,点击右上角的个人头像,然后点击 Settings (设置)
  2. 在左侧边栏中,点击 Developer settings (开发者设置)
  3. 在左侧边栏中,在 Personal access tokens (个人访问令牌) 下,点击 Fine-grained tokens (细粒度令牌)
  4. 点击 Generate new token (生成新令牌)
  5. 填写 Token name (令牌名称) Expiration (过期时间)
    注意: 当令牌过期时,Devin 将立即失去对 GitHub 的所有访问权限,需要创建一个新的令牌。
  6. Resource owner (资源所有者) 下,选择正确的组织。
If you’re not seeing the correct organization under “Resource owner”, make sure that the enterprise and organization have enabled the use of fine-grained personal access tokens. 如果你在 “Resource owner (资源所有者) ” 下未看到正确的组织,请确认企业和组织均已启用细粒度个人访问令牌的使用。

在 Enterprise 设置中启用

只有 Enterprise 管理员 (Enterprise Admin) 可以更新这些设置。请确保在特定组织设置中也启用了 personal access tokens (个人访问令牌) 。
  1. 在 GitHub Enterprise Server 右上角点击你的个人头像,然后点击 Enterprise settings (Enterprise 设置)
  2. 在页面顶部,点击 Policies (策略)
  3. Policies (策略) 下,点击 Personal access tokens (个人访问令牌)
  4. 选择 Fine-grained tokens (细粒度令牌) 选项卡。
  5. Fine-grained personal access tokens (细粒度个人访问令牌) 下启用访问。
  6. 点击 Save (保存)

在 Organization 设置中启用

只有 Organization 管理员 (Organization Admin) 可以更新这些设置。请确保在 Enterprise 设置中也启用了 personal access tokens (个人访问令牌) 。
  1. 在 GitHub 右上角点击你的个人头像,然后点击 Organizations (组织)
  2. 在目标组织旁边点击 Settings (设置)
  3. 在左侧边栏中,在 Personal access tokens (个人访问令牌) 下,点击 Settings (设置)
  4. 选择 Fine-grained tokens (细粒度令牌) 选项卡。
  5. Fine-grained personal access tokens (细粒度个人访问令牌) 下,为你的组织启用访问。
  6. 点击 Save (保存)
  1. Repository access (代码仓库访问) 下,选择你希望 Devin 使用的仓库。令牌始终包含对 GitHub 上所有公共仓库的只读访问权限。
  2. 确保令牌具有以下 Devin 正常工作所需的权限:
PermissionAccess levelDescription
ContentsRead and write允许 Devin 向代码库提交更改
IssuesRead and write允许 Devin 创建新的 issue
MetadataRead only允许 Devin 查看仓库的重要元数据,例如仓库所有者
Pull requests (PR)Read and write允许 Devin 创建新的 PR
根据你希望 Devin 执行的工作,授予更多权限有助于 Devin 更好地与你的团队协作。
  1. 点击 Generate Token (生成令牌) 并保存显示的令牌。
    注意: 根据你的 GitHub 设置,可能需要管理员审批。
  2. 为验证该令牌是否具有所有必要的访问和权限,请在本地机器上创建并推送一个测试分支到该组织中的某个仓库。
  3. 令牌生成并测试完成后,请联系你在 Cognition 的对接人以完成配置流程。如果你当前并未直接与我们的团队合作,请发送邮件至 enterprise@cognition.ai 与我们联系。

在本地验证 PAT 权限

在将该令牌提供给 Cognition 之前,请先通过推送测试分支来确认它是否具有正确的权限:
# 使用您的令牌通过 gh CLI 进行身份验证
export GH_TOKEN=your_personal_access_token
export GH_HOST=your-github-enterprise-server.com

# 克隆代码仓库
gh repo clone your-organization/your-repository
cd your-repository

# 创建测试分支
git checkout -b test-devin-token-$(date +%s)

# 进行小改动
echo "# Test" >> TEST.md
git add TEST.md
git commit -m "Test: Validate Devin token permissions"

# 推送分支(测试内容写入权限)
git push origin HEAD

# 创建拉取请求(测试拉取请求写入权限)
gh pr create --title "Test: Validate Devin token permissions" \
  --body "This is a test PR to validate token permissions." \
  --base main

# 清理:关闭测试 PR 并删除测试分支
gh pr close pr-number --delete-branch
预期结果: push 和 PR 创建应在没有身份验证错误的情况下成功。如果 push 失败,请检查该 token 是否具有 “Contents: Read and write” 权限。如果 PR 创建失败,请检查该 token 是否具有 “Pull requests: Read and write” 权限。

配合 GitHub 集成使用 Devin

现在 GitHub 已完成集成,你可以配置哪些 Devin 子组织可以访问各个代码仓库 (参见代码仓库权限) 。 集成完成后,你可以前往 Devin Web 应用程序,现在你已经可以在提示中使用 @ 提及任意代码仓库了! 如果你是第一次使用某个代码仓库,我们建议你先在入门流程中完成开发环境设置,以确保 Devin 拥有关于如何使用你的代码库的最准确、最新的信息。
只要会话尚未被归档,Devin 会自动回复任何 PR 评论

安全注意事项

以下是关于 Devin 在 GitHub 中权限的一些补充信息:
  • 我们建议在 master 分支上启用分支保护,以确保在 Devin 合并任何变更之前,所有检查都已执行并通过。
  • 如果 Devin 已连接到你组织的 GitHub 组织账号,那么对于任何同时拥有该 GitHub 组织和 Devin 组织访问权限的用户,Devin 将具备与其相同级别的权限。
  • Devin 不会继承或仿照正在与其进行会话的用户权限,而是始终保留在组织级别授予它的权限。
  • Devin 无法在你的 GitHub 账号中创建新的代码仓库。