Skip to content
FunCoding

Search

Search docs, Skills and MCP

GitLab Duo 提供商

配置实验性的 GitLab Duo、Self-Managed 认证、Workflow 模型和可选 API 工具。

This page has not been translated into English yet. The original Chinese version is shown below.

OpenCode 对 GitLab Duo 的提供商集成是实验性功能,连接 GitLab Duo Agent Platform,支持原生工具调用。它与在 GitLab CI 中运行 OpenCode 是不同能力。

连接与前提

OpenCode Providers 页要求 GitLab Premium 或 Ultimate,并支持 GitLab.com 与 Self-Managed;实际账号还需管理员开启对应 Duo 和 Agent Platform 能力。

运行 /connect 选择 GitLab,使用推荐的 OAuth,或输入带 api scope 的 Personal Access Token。也可用 GITLAB_TOKEN 环境变量,避免保存到 OpenCode 认证存储。

该页列出三个 duo-chat-* 模型,并把 duo-chat-haiku-4-5 标为默认。具体可用项应通过 /models 检查,不将旧目录扩展成所有实例永久可用的型号。

Self-Managed

GITLAB_INSTANCE_URL 设置实例,GITLAB_AI_GATEWAY_URL 可指定自定义 AI Gateway。也可以在 provider.gitlab.options.instanceUrl 配置实例 URL。

官方区分 GitLab 18.8+ 的 Agent Platform 开关与 18.7 及以前的 beta/experimental feature 开关,并要求 Self-Managed 完成其服务端配置。OpenCode 本地认证不能替管理员完成这些步骤。

自托管 OAuth 还需要在实例 Settings → Applications 创建应用:callback 为 http://127.0.0.1:8080/callback,scopes 为 api、read_user、read_repository,应用 ID 通过 GITLAB_OAUTH_CLIENT_ID 提供。

轻量模型与共享

GitLab 专门说明警告某些标题等小任务可能使用 Zen 的 gpt-5-nano,而通用 Config 页描述为优先同提供商便宜模型。两处默认说明不一致,不应仅配置主模型就认定全部请求都留在自己的 GitLab 实例。

需要明确限制时,显式设置 small_model 到实际可用的 GitLab 型号,并按需要设置 share: "disabled",再核对最终配置和请求行为。该做法明确配置意图,不等于已经证明任何版本都完全没有其他外部通信。

DAP Workflow 模型

选择 duo-workflow-* 时,OpenCode 从 GitLab namespace 发现模型,多项时提供选择,选定结果缓存到磁盘。工具调用通过 GitLab Duo Workflow Service 的路径,同时仍经 OpenCode 的权限系统执行。

它与普通 agentic chat 的执行路径不同,不能仅凭同属 GitLab 就假设相同模型目录或会话行为。

可选 GitLab API 工具

官方建议通过 plugin: ["opencode-gitlab-plugin"] 添加 MR、Issue、pipeline 等仓库管理工具。模型认证和安装工具插件是两步;不需要仓库管理能力时不必把插件视为必装项。采用前审阅工具范围与权限。