关于 codebahn
Codebahn CLI 是 Codebahn 托管 Git 平台的命令行客户端,面向开发者和团队管理代码仓库、Issue、PR 与 CI。它还可登录 Codebahn 内置的 MCP 服务,让 AI 编码 Agent 访问这些资源。
主要功能
- 01管理仓库、分支、提交和差异
- 02创建与处理 Issue 和 PR
- 03触发 CI 工作流并查看日志
- 04管理发布、Webhook 和分支保护
- 05通过浏览器 OAuth 登录
- 06自动验证更新包签名和校验和
适用场景
- 01在命令行审查并合并 PR
- 02从终端创建 Issue 或仓库
- 03触发 CI 工作流并排查运行日志
- 04让 AI 编码 Agent 操作 Codebahn 项目
MCP 相关
Codebahn 提供托管的 MCP 服务,供 AI 编码 Agent 访问仓库、Issue、PR 和 CI。可在 MCP 客户端配置 `https://codebahn.net/mcp`,并通过 OAuth 完成身份验证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://codebahn.net/mcpclaude mcp add --transport http codebahn-codebahn https://codebahn.net/mcp{"mcpServers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}在 Cursor 中打开{"servers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}在 VS Code 中打开{"mcpServers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}{"mcpServers":{"codebahn-codebahn":{"serverUrl":"https://codebahn.net/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Codebahn CLI
Codebahn 是私有的 GitHub 替代方案:为开发者和团队提供快速的 Git 和 CI。你的代码由你存储和托管。不会被扫描、用于训练或跟踪。瑞典公司,基础设施仅设于欧盟,所有子处理商均在欧盟注册成立。基于 Forgejo 构建,迁移轻松。
Codebahn 的命令行界面。
codebahn auth login
codebahn pr list
codebahn issue create --title "ship it"
codebahn ci dispatch --workflow ci.yml
单个二进制文件。OAuth 登录。无需配置文件。
安装
Linux 和 macOS
curl -fsSL https://releases.codebahn.net/cli/install.sh | sh
此脚本会检测你的平台,下载最新的二进制文件,验证其
SHA256 校验和,并安装到 ~/.local/bin。使用 INSTALL_DIR
更改安装位置:
curl -fsSL https://releases.codebahn.net/cli/install.sh | INSTALL_DIR=/usr/local/bin sh
Windows
irm https://releases.codebahn.net/cli/install.ps1 | iex
此脚本会下载最新的二进制文件,验证其 SHA256 校验和及 GPG
签名(如果已安装 gpg),安装到
%LOCALAPPDATA%\Programs\codebahn,并将其添加到 PATH。
使用 $env:INSTALL_DIR 更改安装位置。安装后请重启
终端。
从源代码安装
从源代码安装(注意:从源代码构建的版本会跳过自动更新):
go install github.com/codebahn/codebahn-cli/cmd/codebahn@latest
更新
CLI 每 24 小时检查一次新版本,并在有可用更新时显示通知。 就地更新:
codebahn update
此命令会从 releases.codebahn.net 下载新二进制文件,验证其
GPG 签名和 SHA256 校验和,然后替换自身。无需外部工具。
仅检查而不安装:codebahn update --check。
要关闭定期检查:设置 CODEBAHN_NO_UPDATE_CHECK=1,或在配置文件中添加
"check_updates": false(Windows 上的配置文件为 ~/.config/codebahn/config.json,
或 %APPDATA%\codebahn\config.json)。
身份验证
通过浏览器登录。令牌会保存到
~/.config/codebahn/config.json(Windows 上为 %APPDATA%\codebahn\config.json)。
codebahn auth login
codebahn auth status
在 CI 中,请改为设置 CODEBAHN_TOKEN。
命令
| 分组 | 内容 |
|---|---|
repo | 创建、列出、读取文件、分支、提交、差异、比较引用 |
issue | 创建、列出、评论、标签、里程碑 |
pr | 创建、列出、合并、差异、提交、评审 |
ci | 触发工作流、列出运行记录、读取日志、机密/变量 |
release | 发布、附件、标签 |
webhook | 管理 Webhook |
protection | 管理分支保护 |
search | 代码、仓库、议题 |
在 Git 仓库中运行时,--owner 和 --repo 会根据远程仓库自动检测。
codebahn pr merge --index 42 --style squash
codebahn repo cat --ref main --filePath README.md
codebahn ci logs --run_id 7
逐个提交审查拉取请求:
codebahn pr commits --index 42
codebahn repo show --sha 1a2b3c4 --file_path internal/foo.go
codebahn repo compare --base main --head feat/foo
codebahn repo log --path internal/foo.go --limit 10
每个子命令都支持 --help。
MCP 和 AI Agent
Codebahn 内置了托管式 MCP 服务,可将 AI 编码 Agent 连接到你的仓库、议题、拉取请求和 CI:
https://codebahn.net/mcp
此仓库中的 tools/ 包是 CLI 和 MCP 端点共同使用的单一事实来源。103 个工具,一套类型定义,零偏差。
服务通过 OAuth 进行身份验证,OAuth 发现地址为 /.well-known/oauth-protected-resource。将 URL 添加到你的 MCP 客户端,并在首次使用时于浏览器中批准 OAuth 提示词。
Claude Code
claude mcp add --transport http codebahn https://codebahn.net/mcp
Codex
codex mcp add codebahn --url https://codebahn.net/mcp
VS Code(Copilot)
在项目根目录中创建 .vscode/mcp.json:
{
"servers": {
"codebahn": {
"type": "http",
"url": "https://codebahn.net/mcp"
}
}
}
Cursor
在项目根目录中创建 .cursor/mcp.json:
{
"mcpServers": {
"codebahn": {
"type": "http",
"url": "https://codebahn.net/mcp"
}
}
}
完整文档:codebahn.net/docs/mcp/。
发布基础设施
Codebahn 是一个托管于欧盟的 Git 平台。我们也将这一原则贯彻到自有工具中:CLI 的发布构件托管在我们自己的欧盟基础设施上,而非 GitHub 或任何第三方 CDN。
发布流程:
- 源代码托管在 GitHub 上(公开,便于发现)。
- 发布新版本时,GitHub Actions 会为 Linux 和 macOS(amd64 和 arm64)交叉编译二进制文件。
- 工作流会将二进制文件、SHA256 校验和文件及 GPG 分离签名上传到位于
fr-par(法国巴黎)的 Scaleway Object Storage,并通过releases.codebahn.net提供服务。 codebahn update从releases.codebahn.net获取更新,绝不会联系 GitHub。
发布构件托管在我们自己的欧盟基础设施上,因此 CLI 的更新检查始终在欧盟境内进行。源代码托管在 GitHub 上,因为它是开源项目的标准托管平台。GitHub Actions 会编译公开的源代码;构建过程不涉及任何客户数据。
验证发布版本
每个发布版本都包含一个由我们的 GPG 发布密钥签名的 checksums.txt 文件。在执行 codebahn update 时,CLI 会自动验证签名和校验和。
手动验证:
# Import the public key
curl -sS https://codebahn.net/release-signing-key.asc | gpg --import
# Download and verify
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt.asc
gpg --verify checksums.txt.asc checksums.txt
# Check the binary
sha256sum -c checksums.txt --ignore-missing
公钥也嵌入在 CLI 二进制文件中,因此 codebahn update 无需单独获取该密钥。
发布新版本
打标签并推送:
git tag v0.1.0
git push origin v0.1.0
GitHub Actions 工作流会运行测试,使用 GoReleaser 构建(并行交叉编译、GPG 签名),并将所有内容上传到 releases.codebahn.net。latest.json 清单会更新,以便现有安装在 24 小时内获取新版本。
本地发布(绕过 CI):./scripts/release.sh v0.1.0。需要安装 goreleaser、gpg(并配置发布密钥)和 aws CLI,且需配置为使用 Scaleway。
贡献
请参阅 CONTRIBUTING.md。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。