
Diffinery
com.diffinery由 diffinery.com 發布v0.1.0更新於 Oct 27, 2026
Open-source git forge with Actions-compatible CI: repos, pull requests, CI runs, logs and issues.
概覽
Diffinery 的 MCP 伺服器:一個自架、相容 GitHub Actions 的 Git 代管平台,讓助理操作儲存庫、拉取請求、CI 執行與議題。
- 可以做什麼
- 讀取程式碼並向儲存庫提交
- 建立、審查與合併拉取請求,包括由代理提交的請求
- 追蹤 CI 執行與作業日誌
- 執行沙箱,追蹤代理任務與專案
- 查看 Today 檢視、發佈版本、從 GitHub 匯入
- 搜尋並閱讀 Diffinery 文件
- 適用情境
- 適合團隊自架 Diffinery 執行個體,並希望 AI 編碼代理在其中工作:以拉取請求取代直接推送到受保護分支、查看 CI 狀態與日誌、領取代理任務。也適合讓助理查閱 Diffinery 文件。
- 執行需求
- 需要指向你執行個體主機的遠端 MCP 端點,以及瀏覽器登入(OAuth 2.1)或代理權杖。執行個體本身須部署在你自己的 Cloudflare 帳戶上,使用 Workers 付費方案並綁定網域;官方不提供代管服務。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Diffinery,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Diffinery
The open-source GitHub and GitHub Actions alternative that runs entirely on Cloudflare. Git hosting, pull requests, code review and drop-in GitHub Actions CI, with agent tasks, agent code review and plugins for Claude Code and Codex, built for teams of people and AI agents. Deploy it to your own Cloudflare account: no servers, no runner machines, nothing to patch.
[GitHub stars] [License: Apache-2.0] [GitHub Actions compatible] [Runs on Cloudflare Workers] [Built-in MCP server, in the official MCP Registry] [Claude Code and Codex plugins] [Documentation] [Pull requests welcome]
Website · Docs · For AI agents · Plugins · Deploy your own · Compare · Performance · Roadmap · llms.txt
Diffinery hosts Git repositories, pull requests with reviews and a merge queue, issues, releases and a container registry, and runs your existing .github/workflows/*.yml files as they are, marketplace actions included. AI coding agents such as Claude Code, Codex and Cursor get accounts of their own, with guardrails the server enforces, and work through a built-in MCP server, the GitHub-compatible REST and GraphQL APIs, git or the CLI. Everything runs on Cloudflare: Workers, Durable Objects, D1, R2, Queues, Workflows and Containers. It is free, open-source software under the Apache License 2.0, and you deploy your own instance to your own Cloudflare account and domain.
Diffinery is built for the way software gets written with agents. Give an agent a goal and get a pull request back from Claude Code or Codex in a sandbox. Have another agent review every pull request for bugs. Open Today each morning to see what needs you, approve, and let pull requests merge on green. Plugins for Claude Code and Codex, an MCP server in the official MCP Registry, editor extensions and gh support bring all of it to the tools you already use. What agents can do on Diffinery ↓
- Source: github.com/codician-team/diffinery, where development happens, with CI on Diffinery's runners.
- Documentation: diffinery.com/docs, also as Markdown and in llms.txt and llms-full.txt for AI assistants.
If Diffinery is useful to you, a star on GitHub helps other people find it.
Contents
- Who Diffinery is for
- Why Diffinery
- Screenshots
- Built for AI coding agents
- Plugins and integrations
- Features
- How it compares
- Self-host on your own Cloudflare account
- How it runs on Cloudflare
- Develop locally
- Repository layout
- What Diffinery doesn't do (yet)
- FAQ
- Contributing, security and license
Who Diffinery is for
- Teams looking for a GitHub Actions alternative that keeps their workflow YAML: Diffinery reads
.github/workflows/with the same syntax and runs marketplace actions, on runners with 4 vCPUs and 12 GiB by default. - Teams that want a self-hosted GitHub alternative without running servers. Like Gitea, Forgejo or GitLab, you run your own instance, but it deploys to Cloudflare's serverless platform instead of a VM or a Kubernetes cluster.
- Teams that want faster CI runners than GitHub's standard 2-vCPU runner for private repositories, without paying a separate runner service such as Blacksmith or Depot. Your code can stay on GitHub: GitHub runners run its jobs on Diffinery.
- Teams working with AI coding agents (Claude Code, Codex, Cursor and others) that should open pull requests a person approves, rather than push to
main. - Cloudflare developers looking for a large, real-world application built on Durable Objects with SQLite, Containers, Workflows, Queues and R2.
Why Diffinery
- Git hosting, pull requests and CI in one serverless app. One Cloudflare Worker serves the web UI, git over HTTPS, a GitHub-compatible REST and GraphQL API, and an MCP server. Each repository is its own Durable Object with its own SQLite database, so repositories scale out instead of sharing one database server.
- Your GitHub Actions workflows run unchanged. The same triggers, expressions, matrices,
needs, outputs, reusable workflows, environments, secrets, variables, OIDC, service containers and Docker. Marketplace actions (uses: owner/repo@ref) are downloaded and run. Every known difference is listed in Compatibility with GitHub Actions. - Runners that exist only while a job runs. Each job gets a fresh Ubuntu 24.04 container on Cloudflare Containers, billed by Cloudflare only while it runs. The default size has 4 vCPUs and 12 GiB of memory, and jobs that use little of it move to smaller sizes on their own. Repositories that stay on GitHub can use them too, with
runs-on: diffinery. Self-hosted runners cover macOS, Windows, Arm and GPUs. - Built for AI agents, with a human in the loop. Agents are first-class accounts owned by a person or an organization, with their own tokens and limits. They can't push or merge to protected branches unless a rule allows it, their pull requests need a human approval unless you choose otherwise, and every commit they make records who they act for. On top of that: agent tasks, agent code review, a Today page of what needs you, and merge on green. See Built for AI coding agents.
- Plugins for the tools agents already use. A Claude Code and Codex plugin, a live CI band for Claude Code, an MCP server listed in the official MCP Registry, the
diffineryCLI, extensions for VS Code, Cursor, Windsurf and JetBrains IDEs, andghworking as it does with GitHub Enterprise. See Plugins and integrations. - Secure by default. Passkey sign-in with no passwords, invite-only accounts, branch protection, push protection that blocks leaked credentials, envelope-encrypted secrets, kill switches and an append-only audit log.
- Moving from GitHub is one step. A server-side importer brings a repository or a whole organization over with its history, issues, pull requests, reviews and releases, and
gh, Octokit, VS Code and JetBrains IDEs work against Diffinery.
Screenshots
Git hosting and CI. The agent features have their own screenshots in Built for AI coding agents, just below.
[A job's live log on Diffinery, in dark mode]
Built for AI coding agents
Every agent feature is opt-in and sits on top of the Git and CI platform, so a team that uses none of them just has a forge. People bring their own model keys or subscriptions; Diffinery doesn't sell or include model access. The screenshots below are the real pages, taken from a local Diffinery with sample data by scripts/agent-screenshots.mjs, which runs a real agent task, agent review and CI run.
Agent accounts with guardrails
An agent is an account of its own, owned by a person or an organization, with its own tokens. Its role is capped by its owner's, it can't sign in to the web UI, and every commit it makes records who it acts for. The server enforces the same rules over Git, the REST API, MCP and sandboxes:
See Agents and Guardrails.
Agent tasks: a goal in, a pull request out
Give one of your agents a goal. Diffinery starts a sandbox as that agent with the repository checked out, runs Claude Code, Codex or a command of your own with your own model key, streams the transcript to the task page, then pushes a branch and opens a pull request with the goal as its intent. Your API key never enters the sandbox: each run gets a token that only Diffinery's model proxy accepts. Tasks can plan first for your approval, run best of N attempts side by side, and verify and land: fix their own failing checks and merge once a person approves.
To use your Claude or ChatGPT subscription instead of an API key, open a terminal: a shell in your browser with the repository checked out, where you sign in to Claude Code or Codex with your own plan and can hand it tasks.
See Agent tasks and Terminals.
Agent review on every pull request
One of your agents reviews pull requests for bugs, security issues and logic errors, the way Cursor's Bugbot does. It runs Claude Code, Codex or your own command in a read-only sandbox with the base branch's REVIEW.md rules, posts inline findings with suggested fixes, and reports an Agent review check that fails on a blocking finding. Fix it hands a finding to an agent task, and autofix can push the fix to the pull request's branch. Pull requests from authors without write access are never reviewed automatically, and one person's key pays for a repository's reviews.
See Agent review.
Today and Needs you
Today is the first page after you sign in. It shows what needs you (agent pull requests waiting for a person, reviews you were asked for, your own blocked pull requests), what your agents are working on, your agent tasks, and what merged, shipped or failed since yesterday, across every repository you can see. Agents read the same view with the today MCP tool, and it can come to you as a morning email.
See Today.
Merge on green
Pick the checks that must pass in Settings → Merge on green, name the agents whose pull requests should land by themselves, and choose whether they wait for a person's approval. From then on a pull request merges the moment its checks pass and its rules are met, with nobody clicking Merge. Nothing is skipped: an agent's change to a workflow file still needs a person to merge it.
See Merge on green automatically.
Projects, sandboxes and docs for agents
- Projects: every repository has a board of its agent tasks, a conversation, project instructions and a memory every task reads. A coordinator agent can turn your posts into tasks, within limits you set.
- Sandboxes: a short-lived Linux container with the repository cloned, driven over MCP or the REST API, so an agent working from a chat app gets a real machine to build and test on.
- Docs for agents: every page as Markdown, llms.txt, llms-full.txt, an OpenAPI 3.1 description of the REST API, and
search_docsandread_docsover MCP.
Plugins and integrations
Agents trained on GitHub already know how to use Diffinery, and these bring the rest into the tools you use. Everything here works with diffinery.com and with any instance you deploy.
The plugins' sources are in plugins/, the extensions' in apps/vscode and apps/jetbrains, and the CLI's in apps/cli. Step-by-step guides for Claude, Claude Code, Codex, Cursor, VS Code and other apps are in Connect AI apps.
Features
How it compares
Diffinery is a forge: it hosts your code and runs your CI. Here is how it sits next to the tools people usually compare it with. Facts about other products come from their own websites and documentation, checked in October 2026; each linked comparison cites its sources.
Read the details: Diffinery vs GitHub · vs GitLab · vs Gitea and Forgejo · vs Blacksmith · vs Depot · vs CircleCI · vs Buildkite · vs Bitbucket · all GitHub Actions alternatives · other Git and CI projects on Cloudflare
Self-host on your own Cloudflare account
Diffinery is designed to be deployed by anyone to their own Cloudflare account and domain. Nobody who uses your instance needs a Cloudflare account; only the deployment does.
You need:
- A Cloudflare account on the Workers Paid plan, with R2 enabled. Containers, Durable Objects with SQLite, Workflows and Queues need the paid plan.
- A domain on that account (Diffinery is served at the root of a hostname such as
git.example.com). - A Cloudflare API token with the permissions listed in Deploy your own Diffinery.
- Node.js 22, pnpm 10, Docker,
jq,curlandopensslon the machine you deploy from.
Deploy:
The setup script creates whatever is missing in your account (the D1 database, R2 bucket and lifecycle rules, queues, a Turnstile widget and a Cloudflare Access application for email recovery), applies the database migrations, deploys the Worker and the runner image, generates the Worker's own secrets once, and checks that the site answers. Every step is safe to repeat, so the same command updates an existing instance. Then open https://<your host>/auth/access, confirm your email with the one-time code and add a passkey: you are the first administrator.
You can also deploy from CI with the included Deploy workflow on Diffinery or GitHub Actions. The full guide, including email sending, DNS, Access and troubleshooting, is Deploy your own Diffinery, and every setting is described in Configuration.
Diffinery also targets celld, the open-source Workers and Durable Objects runtime, so the same repository can run on your own machines if you leave Cloudflare. See Run on celld. Email can go through any SMTP server (SMTP_URL) instead of Cloudflare Email Sending, and rate limits can count in a Durable Object (RATE_LIMITS=durable) instead of Cloudflare's rate limiting bindings; see Configuration.
To deploy a named version instead of the tip of main, check out its tag (git checkout v0.2.0) before you run scripts/setup.sh. What changed in each version is in CHANGELOG.md and on the releases page.
How it runs on Cloudflare
More in Architecture.
Develop locally
pnpm dev runs the Worker under wrangler dev with local D1, R2 and queues, so you need no Cloudflare account to work on Diffinery. The end-to-end suite pushes real repositories with git, runs their workflows through the real runner agent, drives the MCP server and the REST API (with @octokit/rest), and signs in with passkeys in Chromium. See CONTRIBUTING.md.
Repository layout
What Diffinery doesn't do (yet)
Diffinery is young, and we'd rather you know its limits before you move:
- Hosted runners are Linux x64 only. macOS, Windows and Arm jobs need self-hosted runners.
- HTTPS only for Git. There's no SSH access.
- No forks. Pull requests are between branches of the same repository.
- No wikis, discussions, Pages-style sites, Codespaces-style cloud editors or app marketplace.
- Reviews are simpler than GitHub's. No pending reviews, suggested changes or thread resolution yet, and branch protection has no code-owner reviews or signed-commit requirement.
- Some GitHub events, such as
issuesandissue_comment, are accepted in workflows but never start a run. - No hosted service. Nobody runs Diffinery for you: you deploy your own instance.
The full lists are in Compatibility with GitHub Actions and Diffinery vs GitHub, and where we'd like to go next is in the roadmap.
FAQ
What is Diffinery? An open-source git forge and CI platform that runs entirely on Cloudflare. It replaces GitHub's code hosting, pull requests and GitHub Actions in one app that you deploy to your own Cloudflare account.
Is Diffinery an open-source GitHub Actions alternative?
Yes. Diffinery runs GitHub Actions workflow files from .github/workflows/ with the same triggers, expressions, matrices, needs, reusable workflows, environments, secrets, OIDC, service containers and Docker, and downloads and runs marketplace actions (uses: owner/repo@ref). Every known difference is listed in Compatibility with GitHub Actions.
Is Diffinery a self-hosted GitHub alternative? Yes. Like Gitea, Forgejo or GitLab, you run it yourself, but instead of a server or a Kubernetes cluster it deploys to Cloudflare's serverless platform, and its CI runs GitHub Actions workflow files instead of a format of its own.
How is Diffinery different from Gitea and Forgejo? All three are open-source forges you run yourself. Gitea and Forgejo run on your own servers, with runner machines you install for CI. Diffinery runs only on Cloudflare: there are no servers or runner machines to look after, and each CI job gets a fresh container, but your code lives on Cloudflare's infrastructure. Gitea and Forgejo have wikis and a package registry, which Diffinery doesn't. See Diffinery vs Gitea and Forgejo.
Is Diffinery an alternative to Blacksmith or Depot?
Yes, in two ways. Blacksmith and Depot keep your code and pull requests on GitHub and run your jobs on faster machines, for a per-minute price. Diffinery's GitHub runners do the same from your own instance: install its GitHub App, set runs-on: diffinery, and jobs run on 4-vCPU runners that your Cloudflare account pays for by the 10 ms. Or Diffinery replaces GitHub as well, and your repositories move to your instance. If you want to run nothing yourself, a runner service is the simpler choice. See Diffinery vs Blacksmith and vs Depot.
Do my GitHub Actions workflows run without changes?
Most do. Diffinery reads .github/workflows/*.yml with the same syntax and runs marketplace actions. Jobs that need hosted macOS, Windows or Arm runners need a self-hosted runner. See Compatibility with GitHub Actions.
Is Diffinery faster than GitHub Actions? We don't run jobs on GitHub to benchmark it, so we don't claim a speed-up figure. Diffinery's default runner has 4 vCPUs and 12 GiB, while GitHub's standard Linux runner for private repositories has 2 vCPUs and 8 GB, so jobs that use several cores get twice as many. On Diffinery, jobs start about 3 to 5 seconds after they're queued. See the measured performance.
Can I run Diffinery CI while my code stays on GitHub?
Yes, in two ways. With GitHub runners, install your instance's GitHub App and set a job's runs-on to diffinery: the job runs on a Diffinery hosted runner, and logs and checks stay on GitHub. Or a small GitHub workflow mirrors every push to your Diffinery instance, which then runs the same .github/workflows/ files and can fail the GitHub job when the runs on Diffinery fail; see Run Diffinery CI while your code stays on GitHub.
What does it cost to run? Diffinery is free and open source under the Apache License 2.0, with no paid edition. Running it costs whatever your own Cloudflare account bills: the Workers Paid plan plus usage. Hosted runners are Cloudflare Containers, which bill only while a job runs.
Does it run on Cloudflare's free plan? No. Containers, Durable Objects with SQLite, Workflows and Queues need the Workers Paid plan. See Deploy your own Diffinery.
Does it work with AI coding agents?
Yes. Agents connect over MCP (https://<your host>/mcp, listed in the official MCP Registry as com.diffinery/diffinery), the REST API, git or the GitHub CLI. There are guides for Claude, Claude Code, Codex, Cursor and VS Code, and plugins for Claude Code and Codex, installable with claude plugin marketplace add codician-team/diffinery (sources in plugins/). Diffinery can also run them for you: agent tasks run Claude Code or Codex in a sandbox and open a pull request, and agent review checks every pull request. See Built for AI coding agents and Connect AI apps.
Can I use my Claude or ChatGPT subscription instead of an API key? In a terminal, yes: a terminal is a shell in your browser with the repository checked out, where you sign in to Claude Code or Codex with your own plan and can give it tasks that open pull requests. Headless agent tasks and agent review use an API key you add (Anthropic, OpenAI or OpenRouter), because the providers allow automated use with API keys. Codex on a ChatGPT plan is offered on private repositories only, as OpenAI allows. See Terminals.
Can an AI agent merge its own pull request? Not by default. Unless a branch protection rule allows it, agents can't push to or merge into protected branches, their pull requests need a person's approval, their check results never satisfy required checks, and runs of code they pushed get no secrets. See Guardrails.
Can I move my repositories from GitHub?
Yes. The importer brings a repository or a whole organization with history, issues, pull requests, reviews and releases. Secret names come over with a field to enter each value. gh, Octokit, VS Code and JetBrains IDEs work against Diffinery. See Migrate from GitHub.
Can I sign up on diffinery.com? Not directly. diffinery.com is the project's home and the instance Diffinery is developed on, and accounts there are by invitation. To try Diffinery there before deploying your own, request early access. It isn't a hosted service for teams: to use Diffinery for your work, deploy your own instance.
Is Diffinery the only Git platform on Cloudflare? No. Other open-source projects run Git or CI on Cloudflare too, and Built on Cloudflare lists how they differ. As far as we know, Diffinery is the one where Git hosting, pull requests with reviews in a web UI and GitHub Actions–compatible CI with marketplace actions all run on Cloudflare (checked October 25, 2026).
Where is development happening? On GitHub, at github.com/codician-team/diffinery, where issues and pull requests go. Its CI jobs run on Diffinery's own GitHub runners; see CONTRIBUTING.md.
Contributing, security and license
- Contributing: see CONTRIBUTING.md, and AGENTS.md if you're an AI coding agent. Please follow the Code of Conduct. Questions go to SUPPORT.md.
- Roadmap, changes and releases: ROADMAP.md, CHANGELOG.md and the releases. Maintainers cut releases with docs/RELEASING.md.
- Security: please don't open public issues for vulnerabilities. Report them privately as described in SECURITY.md.
- Citing Diffinery: use GitHub's "Cite this repository" button, or CITATION.cff.
- License: Apache License 2.0. See NOTICE.
Diffinery is made by the Codician team.
來源:README.md,提交 059a44f
工具
0版本歷史
1- v0.1.0最新Oct 26, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式必需10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分