跳至正文

邀请制

代码由我们编写,并由我们持续维护。 你只需提出想法。

软件开发工作交由我们承担。你的 AI 工程团队全天候完成架构梳理、代码编写与评审,并在检查通过且你的规则允许时合并。代码在你的机器上、使用你的密钥编写。

  • 你的机器
  • 你的密钥
  • 全程留有审计记录

获邀后,三步即可完成配置

  1. 你的 AI 密钥

    添加你已在使用的 AI 服务商密钥。

    支持哪些密钥
  2. 你的 GitHub

    在你选定的代码仓库上安装我们的 GitHub App。

    安装方法
  3. 你的机器

    一条命令即可接入你自己的服务器,代码在该服务器上编写。

    配置要求

随后,你为每个代码仓库合并一个配置 PR,此后流程如下:

  1. Issue
  2. 编写代码
  3. 检查通过
  4. 已合并

已获邀请?设置你的账户获取配置协助

你业务中的软件工作,由我们负责。

无需招聘
描述需求后,工作即刻开始。
一次接入
每位 AI 开发者均沿用你代码仓库的规则、专家角色与代码地图。
稳定的资深工程师水准
无论周二上午还是周日深夜,评审与 CI 门禁的标准始终如一。
在编写代码之前即可查阅的内容

01工作原理

输入一项需求,产出一个已合并的 PR。

  1. 需求issue、告警或你的智能体
  2. 计划你的智能体发起的计划可跳过分流
  3. 分流转为任务、附理由关闭,或向你提问
  4. 已领取由下一台空闲机器领取
  5. PR你的机器、你的 AI 开发者、你的 token
  6. 修复至全部通过每次推送都会运行 CI 并进行评审
  7. 已合并按你的规则合并,或交由人工决定
  8. 已发布合并后由你自己的流水线完成发布
  • 进行中
  • 等待人工处理
  • 已关闭
  • 已合并
示意图,非实时数据。

02产品导览

沿着工作流程,逐屏了解控制台。

真实产品,按工作流转的顺序逐屏展示:制定计划、在你的机器上运行、由 CI 把关、在策略要求时交由人工决定,并全程记录。

  1. 一览全局 正在运行的任务、已完成的工作,以及等待你处理的事项。
  2. 制定计划 每项需求都会形成一份书面计划,各个切片按依赖顺序排列。
  3. 运行在你的机器上 AI 开发者在你自有的执行程序(dz-runner)上工作,使用你自己的密钥。
  4. 检查把关 CI 任务在你自己的执行程序上运行,未通过的检查会退回修复。
  5. 由你决定 被你的策略暂缓的合并在此等待:可在控制台中批准或跳过。
  6. 全程留痕 Agent 智能体的每一次操作都会记入审计日志,最新记录排在最前。
以下为真实控制台的页面,由产品自身的代码在此渲染。表格中的数据为本页虚构的演示数据,动效为一组固定画面的循环播放,并非任何用户的真实操作录像。

阅读快速上手已获邀请?设置你的账户

03承担的工作

选择你本周实际面临的工作。

以下每项工作都有独立页面,说明 Agent 智能体做什么、交付什么,以及在何处暂停并征询你的意见。

issue 分流

依赖升级

不稳定的 CI

开源维护

值班支持

发布自动化

CI 成本

两块控制台画面中的数据为本页虚构的演示数据。数字均为公开信息:开源免费方案的价格,以及个人版与企业版每个席位包含的 CI 槽位数。

04为何不直接使用编码命令行工具

沿用你现有的模型,我们在其外围加上整套执行流程。

单独使用模型

一次提问,一个回答。

判断回答是否可用、将其集成进系统、发布上线,均需由你完成。

  1. 你提问
  2. 模型回答
  3. 后续由你完成

借助 developerz.ai

一项任务,一个遵循你的规则的 PR。

整个流程在你的机器上、按你的策略运行,直至变更被合并,或附理由被拒绝。

  1. 修改文件前先规划任务
  2. 在独立分支上编写变更
  3. 在他人查看前先自行评审 diff
  4. 分析失败的构建并推送修复
  5. 按你的合并策略,在规定环节停止
  6. 每一步均写入只追加的审计记录

AI 开发者的工作内容

05责任边界

你的机器。你的密钥。你的规则。

由你拥有

  • 你的服务器,运行我们的智能体
  • 你的合并策略
  • 你的模型密钥

由我们负责

  • 调度与分派
  • 合并门禁
  • 审计记录

只向外连接。外部无法连入。

我们提供编排、判断与审计记录。在任何方案下,我们都不转售模型推理服务,也不会在我们的硬件上运行编码智能体。

添加你的模型密钥接入一台机器编写你的合并策略查看这套机制

06客户原话

来自正在使用它的团队

每条引言都是本人的原话,经本人同意发布;其中的数字是本人的陈述,并非 developerz.ai 的测量结果。这里的每家公司都与 developerz.ai 有关联,每条引言下的说明写明了具体关系。

  • 借助 developerz.ai,我们 e-Factura 的可用性从 70% 提升到 99%,代码库也完成了现代化改造。
    Vasile B.首席执行官hiscore.ro关联说明:hiscore.ro 背后的公司 HiScore SRL 开发了 developerz.ai。
  • 我们的工程成本降低了 87%,如今整个平台 100% 由 AI 管理。
    Mihai T.首席技术官kubeez.com关联说明:kubeez.com 的代码托管在 developerz.ai 的 GitHub 组织中。
  • developerz.ai 堪称奇迹:AI 覆盖了我们 100% 的代码和基础设施,过去需要 30 名工程师的工作,现在一个人就能完成。
    Marshall W.首席软件工程师ggcoin.ai关联说明:ggcoin.ai 的代码托管在 developerz.ai 的 GitHub 组织中。
  • 我们依靠 developerz.ai 让平台保持 SEO 优化、没有缺陷,并实现 100% 的 AI 覆盖。
    Santiago O.首席执行官legaldiligencemedellin.com关联说明:legaldiligencemedellin.com 的代码托管在 developerz.ai 的 GitHub 组织中。
  • 借助 developerz.ai,我们的可靠性提升了,工程成本降低了 99%。
    Ivann C.首席软件工程师notificado.co关联说明:Ivann C. 是 developerz.ai 的共同所有人,notificado.co 的代码托管在 developerz.ai 的 GitHub 组织中。

07你的技术栈

我们在你的代码仓库上发起的第一个 PR。

该 PR 会添加用于安装、运行与校验代码仓库的脚本,适用于任何技术栈。

选择技术栈

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Bun + TypeScript from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录
在 CI 上安装仓库要求的 bun(否则为 1.4.4),从 bun 的发布版本下载并核对其校验和(112 行)# Ensure bun (a CI runner image carries none). The floor is .bun-version, else the lowest# package.json engines.bun admits; on CI a missing or older bun is installed, verified.bun_floor=""bun_source=""if [ -s .bun-version ]; then bun_pin_text="$(head -n1 .bun-version | tr -d '[:space:]' | sed -e 's/^bun-v//' -e 's/^v//')" if printf '%s' "$bun_pin_text" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$'; then bun_floor="$bun_pin_text" bun_source=".bun-version" else echo "bin/setup: .bun-version holds '$bun_pin_text', not an exact x.y.z: no bun floor declared" >&2 fielif [ -f package.json ]; then bun_range="$(tr -d '\n' < package.json | sed -n 's/.*"engines"[[:space:]]*:[[:space:]]*{[^}]*"bun"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')" bun_floor="$(printf '%s\n' "$bun_range" | sed -E 's/(>=|<=|>|<|\^|~|=)[[:space:]]+/\1/g' | awk ' function part(p) { return (p == "" || p ~ /^[xX*]$/) ? 0 : p } function cmp(a, b, x, y, i) { split(a, x, "."); split(b, y, ".") for (i = 1; i <= 3; i++) { if (x[i] + 0 < y[i] + 0) return -1; if (x[i] + 0 > y[i] + 0) return 1 } return 0 } { if ($0 ~ /^[ \t]*$/) exit n = split($0, alts, /\|\|/); min = "" for (a = 1; a <= n; a++) { m = split(alts[a], comps, " "); low = "" for (c = 1; c <= m; c++) { t = comps[c] if (t ~ /^</) continue if (t !~ /^(>=|\^|~|=)?v?[0-9]+(\.([0-9]+|[xX*]))?(\.([0-9]+|[xX*]))?$/) exit sub(/^(>=|\^|~|=)?v?/, "", t) split(t, p, ".") v = p[1] "." part(p[2]) "." part(p[3]) if (low == "" || cmp(v, low) > 0) low = v } if (low == "") exit if (min == "" || cmp(low, min) < 0) min = low } print min }')" if [ -n "$bun_floor" ]; then bun_source="package.json engines.bun '$bun_range'"; fifi# True when version $1 is below the release $2 (x.y.z): numeric parts, and a prerelease# (1.4.4-canary.1) below its own release. Pure bash: BSD sort has no version mode.bun_older() { local have_rel have_pre=0 h1 h2 h3 h_rest f1 f2 f3 f_rest have_rel="$(printf '%s' "$1" | sed -e 's/+.*//')" case "$have_rel" in *-*) have_pre=1; have_rel="$(printf '%s' "$have_rel" | sed -e 's/-.*//')" ;; esac IFS=. read -r h1 h2 h3 h_rest <<< "$have_rel" IFS=. read -r f1 f2 f3 f_rest <<< "$2" if (( h1 != f1 )); then (( h1 < f1 )); return; fi if (( h2 != f2 )); then (( h2 < f2 )); return; fi if (( h3 != f3 )); then (( h3 < f3 )); return; fi (( have_pre == 1 ))}bun_have="$(bun --version 2>/dev/null || true)"bun_short=""if [ -z "$bun_have" ]; then bun_short="missing"elif [ -n "$bun_floor" ] && bun_older "$bun_have" "$bun_floor"; then bun_short="old"fiif [ -n "$bun_short" ]; then bun_target="$bun_floor" if [ -z "$bun_target" ]; then bun_target="1.4.4"; fi if [ -z "$(printenv GITHUB_ACTIONS CI 2>/dev/null || true)" ]; then if [ "$bun_short" = "missing" ]; then echo "bin/setup: bun is not on PATH; install bun $bun_target or newer (https://bun.sh)" >&2 else echo "bin/setup: $bun_source requires bun $bun_floor or newer; install it (https://bun.sh)" >&2 echo "Bun $bun_have is older than the required $bun_floor" >&2 fi exit 69 fi case "$(uname -s)" in Linux) bun_os="linux" ;; Darwin) bun_os="darwin" ;; *) echo "bin/setup: no bun release for $(uname -s)" >&2; exit 69 ;; esac case "$(uname -m)" in x86_64 | amd64) bun_arch="x64" ;; aarch64 | arm64) bun_arch="aarch64" ;; *) echo "bin/setup: no bun release for $(uname -m)" >&2; exit 69 ;; esac if command -v sha256sum >/dev/null 2>&1; then bun_sha="sha256sum" elif command -v shasum >/dev/null 2>&1; then bun_sha="shasum -a 256" else echo "bin/setup: neither sha256sum nor shasum is here to verify bun; not installing it" >&2 exit 69 fi bun_name="bun-$bun_os-$bun_arch" bun_zip="$bun_name.zip" bun_url="https://github.com/oven-sh/bun/releases/download/bun-v$bun_target" bun_tmp="$(mktemp -d)" curl -fsSL -o "$bun_tmp/$bun_zip" "$bun_url/$bun_zip" curl -fsSL -o "$bun_tmp/SHASUMS256.txt" "$bun_url/SHASUMS256.txt" grep " $bun_zip$" "$bun_tmp/SHASUMS256.txt" > "$bun_tmp/expected" (cd "$bun_tmp" && $bun_sha -c expected) unzip -q -o "$bun_tmp/$bun_zip" -d "$bun_tmp" mkdir -p "$HOME/.bun/bin" install -m 755 "$bun_tmp/$bun_name/bun" "$HOME/.bun/bin/bun" ln -sf bun "$HOME/.bun/bin/bunx" rm -rf "$bun_tmp" export PATH="$HOME/.bun/bin:$PATH" bun_gh_path="$(printenv GITHUB_PATH || true)" if [ -n "$bun_gh_path" ]; then echo "$HOME/.bun/bin" >> "$bun_gh_path"; fi echo "bin/setup: installed bun $(bun --version) from $bun_url" >&2fi
bun install

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bun dev

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bun run typecheck && bun run lint && bun test

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Node + npm from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installnpm ci

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录npm run dev

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录npm run lint && npm test

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Python from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installpython -m venv .venv && ./.venv/bin/pip install -r requirements.txt

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录python -m app

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录ruff check . && pytest

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Go from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installgo mod download

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录go run ./...

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录go vet ./... && go test ./...

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Rust + Cargo from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installcargo fetch

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录cargo run

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录cargo clippy -- -D warnings && cargo test

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Ruby + Bundler from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installbundle install

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bundle exec rackup

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bundle exec rubocop && bundle exec rake test

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Ultimate (Bun + TypeScript) from the repository's own files.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录
在 CI 上安装仓库要求的 bun(否则为 1.4.4),从 bun 的发布版本下载并核对其校验和(112 行)# Ensure bun (a CI runner image carries none). The floor is .bun-version, else the lowest# package.json engines.bun admits; on CI a missing or older bun is installed, verified.bun_floor=""bun_source=""if [ -s .bun-version ]; then bun_pin_text="$(head -n1 .bun-version | tr -d '[:space:]' | sed -e 's/^bun-v//' -e 's/^v//')" if printf '%s' "$bun_pin_text" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$'; then bun_floor="$bun_pin_text" bun_source=".bun-version" else echo "bin/setup: .bun-version holds '$bun_pin_text', not an exact x.y.z: no bun floor declared" >&2 fielif [ -f package.json ]; then bun_range="$(tr -d '\n' < package.json | sed -n 's/.*"engines"[[:space:]]*:[[:space:]]*{[^}]*"bun"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')" bun_floor="$(printf '%s\n' "$bun_range" | sed -E 's/(>=|<=|>|<|\^|~|=)[[:space:]]+/\1/g' | awk ' function part(p) { return (p == "" || p ~ /^[xX*]$/) ? 0 : p } function cmp(a, b, x, y, i) { split(a, x, "."); split(b, y, ".") for (i = 1; i <= 3; i++) { if (x[i] + 0 < y[i] + 0) return -1; if (x[i] + 0 > y[i] + 0) return 1 } return 0 } { if ($0 ~ /^[ \t]*$/) exit n = split($0, alts, /\|\|/); min = "" for (a = 1; a <= n; a++) { m = split(alts[a], comps, " "); low = "" for (c = 1; c <= m; c++) { t = comps[c] if (t ~ /^</) continue if (t !~ /^(>=|\^|~|=)?v?[0-9]+(\.([0-9]+|[xX*]))?(\.([0-9]+|[xX*]))?$/) exit sub(/^(>=|\^|~|=)?v?/, "", t) split(t, p, ".") v = p[1] "." part(p[2]) "." part(p[3]) if (low == "" || cmp(v, low) > 0) low = v } if (low == "") exit if (min == "" || cmp(low, min) < 0) min = low } print min }')" if [ -n "$bun_floor" ]; then bun_source="package.json engines.bun '$bun_range'"; fifi# True when version $1 is below the release $2 (x.y.z): numeric parts, and a prerelease# (1.4.4-canary.1) below its own release. Pure bash: BSD sort has no version mode.bun_older() { local have_rel have_pre=0 h1 h2 h3 h_rest f1 f2 f3 f_rest have_rel="$(printf '%s' "$1" | sed -e 's/+.*//')" case "$have_rel" in *-*) have_pre=1; have_rel="$(printf '%s' "$have_rel" | sed -e 's/-.*//')" ;; esac IFS=. read -r h1 h2 h3 h_rest <<< "$have_rel" IFS=. read -r f1 f2 f3 f_rest <<< "$2" if (( h1 != f1 )); then (( h1 < f1 )); return; fi if (( h2 != f2 )); then (( h2 < f2 )); return; fi if (( h3 != f3 )); then (( h3 < f3 )); return; fi (( have_pre == 1 ))}bun_have="$(bun --version 2>/dev/null || true)"bun_short=""if [ -z "$bun_have" ]; then bun_short="missing"elif [ -n "$bun_floor" ] && bun_older "$bun_have" "$bun_floor"; then bun_short="old"fiif [ -n "$bun_short" ]; then bun_target="$bun_floor" if [ -z "$bun_target" ]; then bun_target="1.4.4"; fi if [ -z "$(printenv GITHUB_ACTIONS CI 2>/dev/null || true)" ]; then if [ "$bun_short" = "missing" ]; then echo "bin/setup: bun is not on PATH; install bun $bun_target or newer (https://bun.sh)" >&2 else echo "bin/setup: $bun_source requires bun $bun_floor or newer; install it (https://bun.sh)" >&2 echo "Bun $bun_have is older than the required $bun_floor" >&2 fi exit 69 fi case "$(uname -s)" in Linux) bun_os="linux" ;; Darwin) bun_os="darwin" ;; *) echo "bin/setup: no bun release for $(uname -s)" >&2; exit 69 ;; esac case "$(uname -m)" in x86_64 | amd64) bun_arch="x64" ;; aarch64 | arm64) bun_arch="aarch64" ;; *) echo "bin/setup: no bun release for $(uname -m)" >&2; exit 69 ;; esac if command -v sha256sum >/dev/null 2>&1; then bun_sha="sha256sum" elif command -v shasum >/dev/null 2>&1; then bun_sha="shasum -a 256" else echo "bin/setup: neither sha256sum nor shasum is here to verify bun; not installing it" >&2 exit 69 fi bun_name="bun-$bun_os-$bun_arch" bun_zip="$bun_name.zip" bun_url="https://github.com/oven-sh/bun/releases/download/bun-v$bun_target" bun_tmp="$(mktemp -d)" curl -fsSL -o "$bun_tmp/$bun_zip" "$bun_url/$bun_zip" curl -fsSL -o "$bun_tmp/SHASUMS256.txt" "$bun_url/SHASUMS256.txt" grep " $bun_zip$" "$bun_tmp/SHASUMS256.txt" > "$bun_tmp/expected" (cd "$bun_tmp" && $bun_sha -c expected) unzip -q -o "$bun_tmp/$bun_zip" -d "$bun_tmp" mkdir -p "$HOME/.bun/bin" install -m 755 "$bun_tmp/$bun_name/bun" "$HOME/.bun/bin/bun" ln -sf bun "$HOME/.bun/bin/bunx" rm -rf "$bun_tmp" export PATH="$HOME/.bun/bin:$PATH" bun_gh_path="$(printenv GITHUB_PATH || true)" if [ -n "$bun_gh_path" ]; then echo "$HOME/.bun/bin" >> "$bun_gh_path"; fi echo "bin/setup: installed bun $(bun --version) from $bun_url" >&2fi
bun install

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bunx x dev

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录bunx x build --target static && bunx x verify

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录一行,由你的模型编写

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录一行,由你的模型编写

bin/check新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录一行,由你的模型编写

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

The repository was empty and the task named no stack, so it was scaffolded with Ultimate (Bun + TypeScript) …

变更的文件

bin/setup新文件

由框架自带的生成器生成

bin/dev新文件

由框架自带的生成器生成

bin/check新文件

由框架自带的生成器生成

acme/app · PR

Establish the AI-first base for acme/app

描述

This pull request establishes the base an AI coding agent needs to work well in acme/app.

Stack

Detected Rust + Cargo from the repository's own files.

Left alone

These already existed and are yours …

  • bin/check …

变更的文件

bin/setup新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录command -v mise >/dev/null && mise installcargo fetch

bin/dev新文件

shebang、注明由接入流程写入的注释、严格模式,以及切换到仓库根目录cargo run
节选自接入流程发起的 PR,按产品原文以英文引用,未完的行以 … 截断,斜体部分为我们的注释;acme/app 仅为示例仓库。

代码仓库的接入方式技术栈参考文档

标志来源:simple-icons · Rust 标志 © Rust Foundation, CC BY 4.0 · Ruby 标志 © Yukihiro Matsumoto, CC BY-SA 2.5 · 配色已调整

08按你的节奏推进

从小范围开始,准备就绪后再逐步扩大。

  1. 试点少量 AI 开发者,一个代码仓库。
  2. 扩大增加的是席位,而不是编制。
  3. 引领让最优秀的工程师专注于只有他们能做的工作。
将你的智能体连接到 mcp.developerz.ai
节奏由你决定。代码仓库停用后,其历史记录仍会保留。自动合并默认关闭,须由你自己的策略文件开启。阅读快速上手

09成本对比

这项工作的现行成本,以及由我们承担时的成本。

  • 一名开发者(美国薪酬中位数)$135,9801 /年

    各职级的整体中位数,并非资深工程师薪酬。仅计算工资。

  • 一名顶尖工程师(美国)$660,0002 /年

    谷歌 Staff 工程师的总薪酬。

  • 5 人团队(美国薪酬中位数)$679,9001 /年估算

    计算方式:薪酬中位数 $135,980 乘以 5。仅计算工资。

  • 外包顾问与合同工按小时或按项目计费

    没有注明日期的公开费率可引用,因此不绘制柱条。合同结束,工作即停止。

  • developerz.ai$1,000 / AI 开发者 / 月

    按企业版席位价格的 12 个月绘制。模型费用由你的供应商直接计费。

所有柱条采用同一刻度:均为一年的成本,按与最长柱条的比例绘制。带编号的数字在下方注明出处;由我们自行推算的数字会注明,并列出所用数据。与招聘的成本对比查看价格

品牌短片

一分钟了解软件的发展方向。

从打孔卡到能够编写代码的机器,以及如何才能信任它们交付的成果。含旁白,时长 60 秒。

品牌短片一分钟了解软件的发展方向。

画面、配音与音乐均由 AI 生成。

画面、配音与音乐均由 AI 生成。
阅读旁白译文
  1. 0:011957 年,一个程序就是一叠打孔卡。
  2. 0:06近七十年来,人们一直逐行手写软件。
  3. 0:15如今,机器也在全天候编写代码。
  4. 0:20不久之后,代码的数量将超出任何人的阅读能力。
  5. 0:27developerz.ai 正是为这样的世界而打造。
  6. 0:31智能体编写改动,机器逐一检查。
  7. 0:36规则由人制定,每一步均有记录。
  8. 0:46我们为代码创造的经济而打造:
  9. 0:49快速、审慎、可问责。

10常见问题

常见问题

安全与信任
使用谁的 API 密钥?

你的。BYOK 是唯一模式:使用你自己的 Anthropic、OpenAI、Gemini、DeepSeek、Kimi、GLM、MiniMax 等供应商的密钥,或任何兼容 OpenAI 的接口。我们绝不转售 token。

代码由它编写吗?

在个人版与企业版中是的,并且由它持续维护:你的 AI 开发者在你自己接入的机器上、使用你自己的密钥编写代码,developerz.ai 负责编排工作、评审每一个 PR 并把控合并门禁。交给 Copilot 的 issue,则在 GitHub 运行 Copilot 的环境中编写。在开源免费版中,它在你的公开代码仓库上分流 issue、发布版本,使用你的密钥。自有 AI 开发者需选择个人版或企业版,但捐赠给你项目的 AI 开发者可以在该项目上编写代码。

能否查看它执行过的操作?

可以。每一次工具调用与每一项决策都有记录。没有记录,就视为没有发生。

如何与 CodeRabbit、Dependabot 等工具共存?

它从不与其他机器人对话,不会形成机器人之间的循环触发。它会等待 CodeRabbit 的评审完成后再采取行动;对于你的策略所涵盖的 Dependabot 与 Renovate PR,它会评审、修复,并通过合并门禁合并。

资料来源

  1. 美国劳工统计局《职业展望手册》,2025 年 5 月 查看来源
  2. levels.fyi,谷歌软件工程师薪酬,2026 年 10 月查证 查看来源