轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
ghcr.io/abhigyanpatwari/gitnexus

ghcr.io/abhigyanpatwari/gitnexus:1.6.6-rc.149

ghcr.iolinux/amd641.6.6-rc.149大小: 未知更新于 2026年6月6日
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

GitNexus

[!IMPORTANT] GitNexus没有官方加密货币、或硬币。任何在Pump.fun或其他平台上使用GitNexus名称的/硬币均与本项目或其维护者无关联、未获认可且非本项目创建。请勿购买任何声称与GitNexus相关的加密货币。

加入官方***讨论想法、问题等!

企业版(SaaS 和自托管) - akonlabs.com

为智能体上下文构建神经系统。

将任何代码库索引到知识图谱中——包括所有依赖项、调用链、集群和执行流程——然后通过智能工具公开,确保AI智能体不会遗漏任何代码。

类似于DeepWiki,但更深入。 DeepWiki帮助你_理解_代码。GitNexus让你_分析_代码——因为知识图谱会跟踪每一种关系,而不仅仅是描述。

概要: Web UI 是与任何仓库快速交互的方式。CLI + MCP 则是让你的AI智能体真正可靠的方法——它为Cursor、Claude Code、Antigravity、Codex等工具提供代码库的深度架构视图,防止它们遗漏依赖项、破坏调用链和进行盲目编辑。即使是较小的模型也能获得完整的架构清晰度,使其能够与大型模型竞争。


星级历史

使用GitNexus的两种方式

CLI + MCPWeb UI
功能本地索引仓库,通过MCP连接AI智能体浏览器中的可视化图谱浏览器 + AI聊天
用途日常开发(配合Cursor、Claude Code、Antigravity、Codex、Windsurf、OpenCode)快速探索、演示、一次性分析
规模完整仓库,支持任意大小受浏览器内存限制(约5k文件),或通过后端模式实现无限制
安装npm install -g gitnexus无需安装 — https://gitnexus.vercel.app
存储LadybugDB原生(快速、持久化)LadybugDB WASM(内存中,按会话)
解析Tree-sitter原生绑定Tree-sitter WASM
隐私所有内容本地处理,无网络传输所有内容在浏览器中处理,无服务器参与

桥接模式: gitnexus serve 可连接两者——Web UI会自动检测本地服务器,并能浏览所有通过CLI索引的仓库,无需重新上传或重新索引。


企业版

GitNexus提供企业版——既可以是完全托管的SaaS,也可以是自托管部署。OSS版本也可通过适当许可进行商业使用。

企业版包括:

  • PR Review - 拉取请求的自动影响范围分析
  • Auto-updating Code Wiki - 始终保持最新的文档(Code Wiki在OSS版本中也可用)
  • Auto-reindexing - 知识图谱自动保持更新
  • Multi-repo support - 跨仓库的统一图谱
  • OCaml support - 额外的语言支持
  • Priority feature/language support - 请求新语言或功能的优先级支持

即将推出:

  • 自动回归分析
  • 端到端测试生成

👉 了解更多:akonlabs.com

💬 商业许可或企业咨询,请通过联系我们,或发送邮件至


开发

  • ARCHITECTURE.md — 包结构、索引→图谱→MCP流程、代码修改位置
  • RUNBOOK.md — 分析、嵌入、过时索引、MCP恢复、CI代码片段
  • GUARDRAILS.md — 贡献者和智能体的安全规则与操作“信号”
  • CONTRIBUTING.md — 许可、设置、提交和拉取请求
  • TESTING.md — gitnexus 和 gitnexus-web 的测试命令

CLI + MCP(推荐)

CLI会索引你的仓库并运行MCP服务器,为AI智能体提供深度代码库感知能力。

快速开始

# 索引你的仓库(从仓库根目录运行)
npx gitnexus analyze

就是这样。此命令会索引代码库、安装智能体技能、注册Claude Code钩子,并创建AGENTS.md/CLAUDE.md上下文文件——一步完成。

[!NOTE] 使用npm 11.x?安装过程中npx可能会崩溃并显示Cannot destructure property 'package' of 'node.target'(这是npm/arborist的bug,在GitNexus运行前发生)。请改用pnpm——它会显式构建原生依赖:

> pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter dlx gitnexus@latest analyze
>

或者全局安装(npm install -g gitnexus@latest)并运行gitnexus analyze。参见https://github.com/abhigyanpatwari/GitNexus/issues/1939%E3%80%82

要为编辑器配置MCP,运行一次npx gitnexus setup——或按以下步骤手动设置。

[!NOTE] 更快安装(无需C++工具链):在npm install -g gitnexus前设置GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1,可跳过预编译语法的构建(tree-sitter-dart、tree-sitter-proto、tree-sitter-swift)。Dart/Proto/Swift文件将不会被解析,但安装可在几秒钟内完成,无需python3/make/g++。仅严格支持=1——任何其他值都会触发重新构建。

MCP设置

gitnexus setup会自动检测你的编辑器并写入正确的全局MCP配置。只需运行一次。

编辑器支持

编辑器MCP技能钩子(自动增强)支持程度
Claude Code是是是(PreToolUse + PostToolUse)完全支持
Cursor是是是(postToolUse,手动安装)完全支持
Antigravity(Google)是是是(AfterTool,*** CLI钩子 schema)¹完全支持
Codex是是—MCP + 技能
Windsurf是——MCP
OpenCode是是—MCP + 技能

[!NOTE] Claude Code 集成最深入:MCP工具 + 智能体技能 + PreToolUse钩子(通过图谱上下文丰富搜索) + PostToolUse钩子(提交后检测过时索引并提示智能体重索引)。

[!NOTE] ¹ Antigravity钩子遵循*** CLI钩子参考(Antigravity 2.0是*** CLI的官方继任者)。增强在AfterTool中运行,因为协议中BeforeTool没有上下文注入通道——智能体通过hookSpecificOutput.additionalContext看到附加到工具结果的图谱上下文。成功执行git commit/merge/rebase/cherry-pick/pull后,过时索引提示会进入同一通道。如果Antigravity特定的钩子文档与 CLI的文档出现差异,架构可能会演变;实现将跟踪这些变化。

社区集成

由社区构建——非官方维护,但值得一试。

项目作者描述
https://github.com/ShunsukeHayashi/gitnexus-stable-opshttps://github.com/ShunsukeHayashi稳定运维与部署工作流(Miyabi 生态系统)

在 GitNexus 上构建了项目?提交 PR 将其添加到这里!

如果您倾向于手动配置:

推荐最快启动方式: 全局安装 gitnexus(npm i -g gitnexus)并运行 gitnexus setup——这会写入绝对路径的 MCP 配置,完全绕过 npx。下面的固定 npx 代码片段是快速启动的备选方案;在缓存未命中时,npx 安装可能会超过 Claude Code 的默认 MCP_TIMEOUT(约 30 秒)。

Claude Code(完全支持 — MCP + 技能 + 钩子):

# macOS / Linux
claude mcp add gitnexus -- npx -y gitnexus@latest mcp

# Windows
claude mcp add gitnexus -- cmd /c npx -y gitnexus@latest mcp

Codex(完全支持 — MCP + 技能):

codex mcp add gitnexus -- npx -y gitnexus@latest mcp

Cursor(~/.cursor/mcp.json — 全局配置,适用于所有项目):

{
"mcpServers": {
"gitnexus": {
"command": "npx",
"args": ["-y", "gitnexus@latest", "mcp"]
}
}
}

Antigravity (Google) — ~/.gemini/antigravity/mcp_config.json:

{
"mcpServers": {
"gitnexus": {
"command": "npx",
"args": ["-y", "gitnexus@latest", "mcp"]
}
}
}

gitnexus setup 还会将 AfterTool 条目合并到 ~/.gemini/settings.json(遵循标准 *** CLI 钩子 schema),并将技能安装到 ~/.gemini/antigravity/skills/。现有用户钩子会被保留。钩子适配器路径会在安装时重写,因此请运行 gitnexus setup 而非手动编辑。

OpenCode(~/.config/opencode/config.json):

{
"mcp": {
"gitnexus": {
"type": "local",
"command": ["gitnexus", "mcp"]
}
}
}

Codex(系统范围:~/.codex/config.toml;项目范围:.codex/config.toml):

[mcp_servers.gitnexus]
command = "npx"
args = ["-y", "gitnexus@latest", "mcp"]

CLI 命令

gitnexus setup # 为编辑器配置 MCP(一次性操作)
gitnexus analyze [path] # 索引仓库(或更新过期索引)
gitnexus analyze --repair-fts # 快速路径:仅在现有索引数据上重建/验证 FTS 索引
gitnexus analyze --force # 完全重建:重新解析 + 图重建 + FTS 重建
gitnexus analyze --skills # 从检测到的社区生成仓库特定技能文件
gitnexus analyze --skip-embeddings # 跳过嵌入生成(更快)
gitnexus analyze --skip-agents-md # 保留自定义 AGENTS.md/CLAUDE.md 中 gitnexus 部分的编辑
gitnexus analyze --skip-skills # 跳过安装 .claude/skills/gitnexus/ 技能文件
gitnexus analyze --default-branch develop # 生成回归比较示例时使用的分支(base_ref)
gitnexus analyze --skip-git # 索引非 Git 仓库的文件夹
gitnexus analyze --embeddings [limit] # 启用嵌入生成(较慢,搜索效果更好)
gitnexus analyze --verbose # 当解析器不可用时记录跳过的文件
gitnexus analyze --worker-timeout 60 # 增加工作进程空闲超时以处理缓慢解析
gitnexus analyze --wal-checkpoint-threshold 67108864 # 64 MiB。控制 LadybugDB WAL 自动检查点阈值(默认:67108864 = 64 MiB;-1 保持 Ladybug 默认约 16 MiB)
gitnexus analyze --workers # 解析工作进程池大小(默认:核心数-1,上限 16;0 = 顺序执行)
gitnexus mcp # 启动 MCP 服务器(标准输入输出)—— 服务所有已索引仓库
gitnexus serve # 启动本地 HTTP 服务器(多仓库)以连接 Web UI
gitnexus list # 列出所有已索引仓库
gitnexus status # 显示当前仓库的索引状态
gitnexus clean # 删除当前仓库的索引
gitnexus clean --all --force # 删除所有索引
gitnexus wiki [path] # 从知识图谱生成仓库 Wiki
gitnexus wiki --model # 使用自定义 LLM 模型生成 Wiki(默认:gpt-4o-mini)
gitnexus wiki --base-url # 使用自定义 LLM API 基础 URL 生成 Wiki
gitnexus publish # 通知 understand-quickly 注册表(可选加入,见下文)

# 仓库组(多仓库/单体仓库服务跟踪)
gitnexus group create <name> # 创建仓库组
gitnexus group add <name> <hierarchy-path> <repo-name> # 将仓库添加到组。<hierarchy-path> 是层级路径(例如 hr/hiring/backend);<repo-name> 是注册表中的仓库名称(见 `gitnexus list`)
gitnexus group remove <name> <hierarchy-path> # 按层级路径从组中移除仓库
gitnexus group list [name] # 列出所有组,或显示某个组的配置
gitnexus group sync <name> # 提取契约并跨仓库/服务匹配
gitnexus group contracts <name> # 检查提取的契约和交叉链接
gitnexus group query <name> <search-term> # 搜索组内所有仓库的执行流
gitnexus group status <name> # 检查组内仓库的过期状态

如果 analyze 在大型或特殊仓库上报告工作进程解析超时,它会继续运行并安全回退。要为缓慢的工作进程任务提供更多时间,请使用 gitnexus analyze --worker-timeout 60 或设置 GITNEXUS_WORKER_SUB_BATCH_TIMEOUT_MS=60000。对于非常大的文件,GITNEXUS_WORKER_SUB_BATCH_MAX_BYTES 控制工作进程任务的字节预算。

嵌入节点限制

gitnexus analyze --embeddings 生成语义搜索向量时默认有 50,000 节点的安全上限,以保护大型仓库上的内存。当确认主机有足够内存处理更大图谱时,可覆盖此上限,或为一次性完整嵌入运行完全禁用上限。

# 使用默认 50,000 节点安全上限生成嵌入
gitnexus analyze --embeddings

# 完全禁用安全上限
gitnexus analyze --embeddings 0

# 使用自定义上限
gitnexus analyze --embeddings 100000

如果在大型仓库上跳过了嵌入,可能是索引图谱超出了默认安全上限。使用 gitnexus analyze --embeddings 0 重新运行以移除上限,或使用 gitnexus analyze --embeddings <number> 选择更高限制同时仍保持内存受限。

项目配置(.gitnexusrc)

在仓库根目录提交 .gitnexusrc JSON 文件,可为项目预配置重复的 analyze 选项,无需每次运行都重复传递相同标志。该文件从解析的仓库根目录读取(而非 .gitnexus/,后者是被 git 忽略的索引存储目录)。CLI 标志始终覆盖 .gitnexusrc。

{
// 生成回归比较示例时使用的默认分支(base_ref)。
// 使用此配置可避免 `develop`/`master` 分支的项目在每次分析时被重写为 "main"。(别名:"branch"。)
"defaultBranch": "develop",
"skipContextFiles": true, // skipAgentsMd 的别名:保留您自己的 AGENTS.md/CLAUDE.md
"skipSkills": true, // 不安装 .claude/skills/gitnexus/
"embeddings": true, // 默认生成嵌入
"workerTimeout": 60
}

也接受嵌套的 analyze 块(并覆盖同一选项的扁平键):

{ "analyze": { "defaultBranch": "develop", "skipSkills": true } }

注意:

  • 默认分支的解析顺序为:--default-branch

.gitnexusrc 中的 defaultBranch/branch 自动检测的 origin/HEAD main。

  • skipContextFiles / skipAiContext 是 skipAgentsMd 的别名——它们仅跳过 AGENTS.md / CLAUDE.md 块。它们不意味着 skipSkills。indexOnly 是更强的选项,会跳过所有文件注入。
  • 支持的键:defaultBranch(branch)、skipAgentsMd(skipContextFiles、skipAiContext)、skipSkills、indexOnly、stats/noStats、embeddings、dropEmbeddings、name、allowDuplicateName、maxFileSize、workerTimeout、walCheckpointThreshold、workers、embeddingThreads、embeddingBatchSize、embeddingSubBatchSize、embeddingDevice。
  • 该文件仅支持JSON格式。未知键和无效值会在分析开始前快速失败,并返回可操作的错误。

环境变量

大多数 analyze 控制项也可作为 CLI 标志(--workers、--worker-timeout、--max-file-size、--verbose)。当需要在每次运行时重复相同的标志,或者从已管理自身环境的长期运行主机(MCP 服务器、评估服务器、CI shell)调用 GitNexus 时,使用环境变量形式。CLI 标志优先于环境变量;环境变量优先于内置默认值。

变量默认值作用调整时机…
GITNEXUS_WORKER_POOL_SIZEcores - 1,上限为 16解析工作池大小。0 禁用工作池(回退到顺序执行)。等同于 --workers 。受限容器(cgroup CPU 限制)、具有明确配额的 CI 运行器,或通过 0 调试仅工作器崩溃问题时。
GITNEXUS_PARSE_CHUNK_CONCURRENCY2工作池调度当前块时,可并行读入内存的块文件内容数量。工作器调度本身保持串行。仓库大到需要分块(总源代码数 MB 级)且磁盘 I/O 占分析总耗时可测量比例时。
GITNEXUS_VERBOSE未设置当为 1 时,启用详细的摄入日志(跳过文件警告、每块吞吐量、解析缓存统计)。等同于 --verbose。调试已“完成”但似乎遗漏文件的分析;根据可观察吞吐量调整 --workers / 块并发时。
GITNEXUS_PROFILE_DEFERRED未设置当为 1 时,为块后延迟解析阶段(imports → heritage → buildHeritageMap → legacy call resolution)输出 [deferred-profile] 计时/进度日志。由 GITNEXUS_VERBOSE 隐含启用。在大型 Java/Kotlin 仓库中诊断“Resolving calls (all chunks)”阶段的分析停滞(issue #1741),且无需完整详细摄入日志时。
GITNEXUS_PROFILE_DEFERRED_SLOW_MS3000(详细模式)/ 5000processCallsFromExtracted 输出 slow file … 日志行的每文件阈值(毫秒)。通过 Number() 解析:接受整数(5000)、科学计数法(2.5e3)、小数(.5)和十六进制(0x10)。非有限或非正值将回退到默认值。定位少数主导延迟调用解析阶段的异常文件;降低值以显示更多,提高值以仅关注最严重的情况。
GITNEXUS_MAX_FILE_SIZE512(KB)遍历器跳过阈值(KB)。硬上限为 32768(tree-sitter 缓冲区上限)。等同于 --max-file-size 。索引包含有意大型源文件(生成的解析器、供应商捆绑包)且仍需解析的仓库时。
GITNEXUS_WORKER_SUB_BATCH_TIMEOUT_MS30000工作器空闲超时(毫秒),超时后重试/回退。等同于 --worker-timeout × 1000。解析缓慢的文件(大型压缩 JS、深度嵌套 TS 类型)确实需要超过 30 秒时。
GITNEXUS_WAL_CHECKPOINT_THRESHOLD67108864(64 MiB)LadybugDB WAL 自动检查点阈值(字节)。等同于 --wal-checkpoint-threshold 。-1 保留 LadybugDB 的默认阈值(约 16 MiB)。更大的阈值减少检查点频率,但会增加轮换时的 WAL 大小——在磁盘受限环境中选择较小值。需要为分析工作负载调整更大或更小的 WAL 自动检查点阈值时。
GITNEXUS_WORKER_SUB_BATCH_MAX_BYTES8388608(8 MB)工作池在一次 postMessage 中发送给工作器的每任务字节预算。非常大的单个文件;主要用于诊断——超过 8 MB 可能导致结构化克隆内存压力。
GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT3每个工作器槽在从活动轮换中移除前的最大替换生成次数。限制长期崩溃槽的重启循环。不稳定工作器需要更多重试(提高)或快速失败(降低)后移除槽的主机时。
GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS5 × subBatchTimeoutMs每个任务在隔离前的总重试 wall-time 预算。与 timeoutBackoffFactor 结合,防止指数增长的重试导致数小时停滞。确实需要较长总重试窗口的缓慢文件;降低值以在停滞时快速失败。
GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLDmax(3, poolSize)工作池断路器触发前的每槽连续死亡次数。触发后,后续所有调度将拒绝,直到创建新工作池。易发生 SIGSEGV 的原生语法应更早触发断路器的主机;应明确失败的 CI 运行器时。
GITNEXUS_CHUNK_BYTE_BUDGET2097152(2 MB)用于缓存键组合和调度的块边界。值越小 = 缓存命中粒度越细,但调度开销越大。调整单体仓库上的增量分析缓存行为时。
GITNEXUS_NO_GITIGNORE未设置设置时,跳过 .gitignore 解析。.gitnexusignore 仍生效。索引其 .gitignore 排除了实际需要索引的文件(例如,为跨仓库查找提交的生成代码)的仓库时。
GITNEXUS_SKIP_OPTIONAL_GRAMMARS未设置严格设为 =1 时,在安装时跳过 tree-sitter-dart、tree-sitter-proto 和 tree-sitter-swift 的供应商语法实例化/构建。在没有 C++ 工具链的主机上安装,或 Swift 预构建不匹配的主机上;愿意跳过 Dart/Proto/Swift 解析时。

发布到 understand-quickly(可选)

多仓库MCP架构

GitNexus 使用全局注册表,因此一个 MCP 服务器可以服务多个已索引仓库。无需每个项目单独配置 MCP——只需设置一次,即可在所有地方使用。

flowchart TD
subgraph CLI [CLI 命令]
Setup["gitnexus setup"]
Analyze["gitnexus analyze"]
Clean["gitnexus clean"]
List["gitnexus list"]
end

subgraph Registry ["~/.gitnexus/"]
RegFile["registry.json"]
end

subgraph Repos [项目仓库]
RepoA[仓库 A 中的 .gitnexus/]
RepoB[仓库 B 中的 .gitnexus/]
end

subgraph MCP [MCP 服务器]
Server["server.ts"]
Backend["LocalBackend"]
Pool["连接池"]
ConnA["LadybugDB 连接 A"]
ConnB["LadybugDB 连接 B"]
end

Setup -->|"写入全局 MCP 配置"| CursorConfig["~/.cursor/mcp.json"]
Analyze -->|"注册仓库"| RegFile
Analyze -->|"存储索引"| RepoA
Clean -->|"注销仓库"| RegFile
List -->|"读取"| RegFile
Server -->|"读取注册表"| RegFile
Server --> Backend
Backend --> Pool
Pool -->|"延迟打开"| ConnA
Pool -->|"延迟打开"| ConnB
ConnA -->|"查询"| RepoA
ConnB -->|"查询"| RepoB

工作原理: 每次执行 gitnexus analyze 时,索引会存储在仓库内的 .gitnexus/ 目录中(可移植,已加入 gitignore),并在 ~/.gitnexus/registry.json 中注册一个指针。当 AI 智能体启动时,MCP 服务器读取注册表并可服务任何已索引仓库。LadybugDB 连接在首次查询时延迟打开,闲置 5 分钟后关闭(最大 5 个并发连接)。如果仅索引了一个仓库,则所有工具的 repo 参数为可选——智能体无需进行任何更改。

版本控制与供应链保护

Docker 镜像与 npm 包版本锁定:

  • 稳定版镜像仅从 vX.Y.Z git 标签发布(通过标签推送直接触发 docker.yml 工作流),且工作流会拒绝构建,除非标签与 gitnexus/package.json 中的版本完全匹配。因此,ghcr.io/abhigyanpatwari/gitnexus:1.6.2(及其 Docker Hub 镜像 akonlabs/gitnexus:1.6.2)与 npm install gitnexus@1.6.2 的发布版本完全一致——无版本偏移,无来自 main 分支的浮动构建。两个 registry 均从同一构建步骤获得相同的摘要,因此可从任一 registry 拉取镜像,签名验证结果完全一致。
  • 候选发布版镜像(例如 :1.7.0-rc.1)与每个 RC 版本的 npm 发布同步发布。它们由 publish.yml 在 RC 标签创建并推送后,调用 docker.yml 作为可重用工作流构建。
  • :latest 标签仅通过 Docker 元数据操作从非预发布标签自动提升,因此它始终指向真实的、已发布到 npm 的版本。

两个镜像均使用工作流的 GitHub OIDC 身份通过 https://docs.sigstore.dev/cosign/signing/overview/ 进行签名,并附带构建来源和 SBOM 证明。这是您抵御供应链的保护措施**:即使**者在其他地方重新发布同名镜像(或通过某种方式推送到拼写相似的 registry),他们也无法伪造与 abhigyanpatwari/GitNexus 的 docker.yml 绑定的 Cosign 签名。在拉取到敏感环境前务必进行验证:

稳定版发布 — 从 v* 标签引用签名:

cosign verify ghcr.io/abhigyanpatwari/gitnexus:1.6.2 \
--certificate-identity-regexp '^https://github\.com/abhigyanpatwari/GitNexus/\.github/workflows/docker\.yml@refs/tags/v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?

该正则表达式将证书身份固定到本仓库中**从 `v*` 标签运行**的 `docker.yml` 工作流——拒绝未签名镜像、由其他工作流签名的镜像以及从未受保护引用签名的镜像。两个 registry 的正则表达式相同,因为两组标签在同一工作流运行中以相同摘要进行了签名。

**候选发布版** — 从 `refs/heads/main` 签名(当 `publish.yml` 将 `docker.yml` 作为可重用工作流调用时的调用者引用):
```bash
cosign verify ghcr.io/abhigyanpatwari/gitnexus:1.7.0-rc.1 \
--certificate-identity 'https://github.com/abhigyanpatwari/GitNexus/.github/workflows/docker.yml@refs/heads/main' \
--certificate-oidc-issuer [***]

您还可以检查构建来源和 SBOM:

cosign download attestation ghcr.io/abhigyanpatwari/gitnexus:1.6.2 \
--predicate-type https://slsa.dev/provenance/v1

Kubernetes:在准入阶段强制签名验证

对于 Kubernetes 部署,部署捆绑的 ClusterImagePolicy,以便 https://docs.sigstore.dev/policy-controller/overview/ 拒绝任何 GitNexus pod,其镜像未由本仓库中从 vX.Y.Z 标签运行的 docker.yml 签名——与上述 cosign verify 代码片段固定的身份相同。

# 1. 安装控制器(一次性,集群范围)
helm repo add sigstore https://sigstore.github.io/helm-charts && helm repo update
helm install policy-controller -n cosign-system --create-namespace \
sigstore/policy-controller

# 2. 启用命名空间
kubectl label namespace policy.sigstore.dev/include=true

# 3. 应用策略
kubectl apply -f deploy/kubernetes/cluster-image-policy.yaml

此后,尝试部署未签名镜像——或由 abhigyanpatwari/GitNexus 的 docker.yml 以外的任何实体在 v* 标签签名的镜像——将在 pod 创建前被准入 webhook 拒绝。这将可验证的签名转化为强制策略,这是大多数集群实际需要的供应链控制。

Wiki 生成

从知识图谱生成由 LLM 驱动的文档:

# 需要 LLM API 密钥(OPENAI_API_KEY 等)
gitnexus wiki

# 使用自定义模型或提供商
gitnexus wiki --model gpt-4o
gitnexus wiki --base-url https://api.***.com/v1

# 强制完全重新生成
gitnexus wiki --force


--certificate-oidc-issuer https://token.actions.githubusercontent.com

相同签名可验证 Docker Hub 镜像(摘要一致):

cosign verify docker.io/akonlabs/gitnexus:1.6.2
--certificate-identity-regexp '^https://github\.com/abhigyanpatwari/GitNexus/\.github/workflows/docker\.yml@refs/tags/v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?

该正则表达式将证书身份固定到本仓库中从 CODE_TOKEN_186 标签运行的 CODE_TOKEN_187 工作流——拒绝未签名镜像、由其他工作流签名的镜像以及从未受保护引用签名的镜像。两个 registry 的正则表达式相同,因为两组标签在同一工作流运行中以相同摘要进行了签名。

候选发布版 — 从 CODE_TOKEN_188 签名(当 CODE_TOKEN_189 将 CODE_TOKEN_190 作为可重用工作流调用时的调用者引用):

CODE_TOKEN_14

您还可以检查构建来源和 SBOM:

CODE_TOKEN_15

Kubernetes:在准入阶段强制签名验证

对于 Kubernetes 部署,部署捆绑的 CODE_TOKEN_191,以便 https://docs.sigstore.dev/policy-controller/overview/ 拒绝任何 GitNexus pod,其镜像未由本仓库中从 CODE_TOKEN_192 标签运行的 CODE_TOKEN_193 签名——与上述 CODE_TOKEN_194 代码片段固定的身份相同。

CODE_TOKEN_16

此后,尝试部署未签名镜像——或由 CODE_TOKEN_195 的 CODE_TOKEN_196 以外的任何实体在 CODE_TOKEN_197 标签签名的镜像——将在 pod 创建前被准入 webhook 拒绝。这将可验证的签名转化为强制策略,这是大多数集群实际需要的供应链控制。

Wiki 生成

从知识图谱生成由 LLM 驱动的文档:

CODE_TOKEN_17
--certificate-oidc-issuer https://token.actions.githubusercontent.com

该正则表达式将证书身份固定到本仓库中**从 __CODE_TOKEN_186__ 标签运行**的 __CODE_TOKEN_187__ 工作流——拒绝未签名镜像、由其他工作流签名的镜像以及从未受保护引用签名的镜像。两个 registry 的正则表达式相同,因为两组标签在同一工作流运行中以相同摘要进行了签名。

**候选发布版** — 从 __CODE_TOKEN_188__ 签名(当 __CODE_TOKEN_189__ 将 __CODE_TOKEN_190__ 作为可重用工作流调用时的调用者引用):

__CODE_TOKEN_14__

您还可以检查构建来源和 SBOM:

__CODE_TOKEN_15__

#### Kubernetes:在准入阶段强制签名验证

对于 Kubernetes 部署,部署捆绑的 __CODE_TOKEN_191__,以便 [Sigstore policy-controller][policy-controller] 拒绝任何 GitNexus pod,其镜像未由本仓库中从 __CODE_TOKEN_192__ 标签运行的 __CODE_TOKEN_193__ 签名——与上述 __CODE_TOKEN_194__ 代码片段固定的身份相同。

__CODE_TOKEN_16__

此后,尝试部署未签名镜像——或由 __CODE_TOKEN_195__ 的 __CODE_TOKEN_196__ 以外的任何实体在 __CODE_TOKEN_197__ 标签签名的镜像——将在 pod 创建前被准入 webhook 拒绝。这将可验证的签名转化为强制策略,这是大多数集群实际需要的供应链控制。

[cosign-keyless]: https://docs.sigstore.dev/cosign/signing/overview/
[policy-controller]: https://docs.sigstore.dev/policy-controller/overview/

## Wiki 生成

从知识图谱生成由 LLM 驱动的文档:

__CODE_TOKEN_17__

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/abhigyanpatwari/gitnexus
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱