代码库智能分析工具

gitnexus-stable-ops 是一个用于代码库智能分析和维护的工具包,帮助AI代理避免破坏未知调用者,支持多仓库管理和自动化索引。

  • by ShunsukeHayashi
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 ShunsukeHayashi/gitnexus-stable-ops

使用说明

gitnexus稳定运营

为AI代理提供360°代码库视图。

阻止Copilot和Claude Code打断他们不认识的来电者。 gitnexus-stable-ops 是一个生产运营工具包,可以保持 GitNexus 在25个以上的存储库中可靠运行——零嵌入损失、零版本漂移、零脏图意外。

“专为自主智能体群体设计” — @d3thshot7777GitNexus维护者

为39多个OpenClaw代理提供动力·14个上游PR→ 7 合并·3个月以上生产

英语 | 中文 | 日本语


快速开始

git clone https://github.com/ShunsukeHayashi/gitnexus-stable-ops.git
cd gitnexus-stable-ops && make install

# Diagnose a repo
bin/gitnexus-doctor.sh ~/dev/my-repo my-repo MyClassName

# Smart reindex (skips if up-to-date, protects embeddings)
REPO_PATH=~/dev/my-repo bin/gitnexus-auto-reindex.sh

# See what breaks if you change a class
gni impact AuthService
✅ Direct callers (d=1):  UserController.login, SessionManager.refresh
⚠️  Transitive deps (d=2): 14 files affected
🔴 Risk: HIGH — update callers before merging

为什么存在

GitNexus是当今最强大的开源代码智能引擎之一。但运行它 生产 --在人工智能代理工作流程中,通过自动重新索引,在数十个存储库中暴露出四个关键的操作问题:

问题 影响 此工具包的修复
版本漂移 CLI和MCP引用不同版本,导致数据损坏 固定二进制文件($GITNEXUS_BIN)所有脚本都使用
嵌入损失 analyze --force 静默删除嵌入 自动检测现有嵌入,添加 --embeddings 自动标记
肮脏的工作台 重新索引未提交的工作会污染代码图 默认情况下跳过脏的存储库(ALLOW_DIRTY_REINDEX=0)
冲击不稳定 impact 在arm64 macOS上并发查询时崩溃 优雅地回退到基于上下文的分析

我们发现并解决了这些问题,在25+个repos上运行GitNexus超过3个月。


生产统计

度量 值
已索引的存储库 25+
知识图谱中的符号 32,000+
边缘(关系) 73,000+
使用图形的AI代理 40 (OpenClaw MAS)
嵌入损失事件 0 从v1.0开始
上游PR合并到GitNexus 第7页,共14页 已提交
生产正常运行时间 3个月以上

AI代理如何使用它

Agent receives task: "Fix auth bug in service-api"
    |
    +-- 1. gni impact AuthService   --> What breaks if we change it?
    +-- 2. gni context AuthService  --> Get callers, callees, dependencies
    +-- 3. Agent writes code fix
    +-- 4. auto-reindex.sh          --> Graph stays current (post-commit hook)

关键洞察:当AI代理共享代码知识图时,他们会避免打断他们不知道的调用者。 gni impact 是安全重构和凌晨2点事件之间的区别。

# Example: OpenClaw 39-agent system
steps:
  - agent: dev-architect
    action: gni impact TargetClass --direction upstream
    purpose: Blast radius before code change

  - agent: dev-coder
    action: gni context TargetClass
    purpose: Understand dependencies before writing fix

  - trigger: post-commit hook
    action: gitnexus-auto-reindex.sh
    purpose: Graph stays current for the next agent

特性

脚本 目的
bin/gni 生产CLI包装器——可读输出、密码stderr捕获、影响回退
bin/gitnexus-doctor.sh 诊断版本漂移、索引运行状况、MCP配置、嵌入状态
bin/gitnexus-smoke-test.sh 端到端健康检查(分析→ 状态→ list → 上下文→ 密码→ 影响)
bin/gitnexus-safe-impact.sh 基于上下文的故障自动回退影响分析
bin/gitnexus-auto-reindex.sh 智能单仓库重新索引(过时检测+嵌入保护+脏跳过)
bin/gitnexus-reindex.sh 批量重新索引最近更改的存储库(对cron友好)
bin/gitnexus-reindex-all.sh 用安全默认值重新索引所有已注册的存储库
bin/gitnexus-install-hooks.sh 安装git钩子,以便在提交/合并时自动重新索引

安全默认值

功能 默认 覆盖
嵌入保护 自动检测和保存 始终打开
脏工作台跳过 跳过脏仓库 ALLOW_DIRTY_REINDEX=1
影响回退 失败时基于上下文的JSON 始终打开
版本固定 $GITNEXUS_BIN 看看谁。

环境变量

变量 默认值 用途
GITNEXUS_BIN ~/.local/bin/gitnexus-stable 固定GitNexus CLI路径
REGISTRY_PATH ~/.gitnexus/registry.json 索引回购注册表
ALLOW_DIRTY_REINDEX 0 允许重新索引脏的工作树
REPOS_DIR ~/dev 批量重新索引的根目录
LOOKBACK_HOURS 24 检查更改的时间有多远

边缘案例和经验教训

生产使用3个月后:

边缘案例 状态 注释
LadybugDB并发查询锁定错误 ✅ 固定上游 产品编号425 +本地回退 使用 gitnexus-safe-impact.sh 对于旧版本
在上嵌入静默删除 --force ✅ 自v1.0以来零事件 自动检测 meta.json,补充道 --embeddings
CLI和MCP之间的版本漂移 ✅ 固定二进制 所有脚本都使用 $GITNEXUS_BIN
脏的工作台图形污染 ✅ 默认情况下跳过 覆盖: ALLOW_DIRTY_REINDEX=1
大型单仓库堆耗尽 ✅ 检测并记录清楚 设置 NODE_OPTIONS=--max-old-space-size=8192

▶ Agent Context Graph (v1.3.0) — Index agents, skills, and cluster topology

除了代码符号,gitnexus稳定操作索引 代理级实体 从您的工作区——为LLM提供实时地图 谁可以在哪里做什么.

它索引了什么

实体 来源 描述
Agent KNOWLEDGE/AGENTS_*.md frontmatter 具有角色、窗格ID和社会成员身份的命名代理
Skill SKILL/**/*.md 优先级、关键字、脚本路径技能
KnowledgeDoc KNOWLEDGE/**/*.md 参考文档和上下文文件
MemoryDoc MEMORY/**/*.md 会话记忆和每日日志
ComputeNode workspace.json nodes[] 集群中的物理/虚拟机
WorkspaceService workspace.json services[] 已部署具有型号信息的代理/服务

渐进式披露

级别 令牌 用例
--level 1 ~100 LLM系统提示概述
--level 2 ~400 默认上下文注入
--level 3 ~2000 全边深潜
# Build the agent graph
gni agent-index ~/dev/MY_WORKSPACE --force

# Query at different detail levels
gni aq "deploy agent"   --level 1
gni aq "cc-hayashi"     --level 2
gni aq "announce skill" --level 3

# Auto-generate CLAUDE.md / AGENTS.md
gni cg . --update

有关完整指南,请参阅 docs/agent-context-graph.md.


▶ Production Deployment — Docker and cron setup

码头工人

FROM node:22-slim
RUN npm install -g gitnexus@1.4.6
RUN git clone https://github.com/ShunsukeHayashi/gitnexus-stable-ops.git /opt/stable-ops \
    && cd /opt/stable-ops && make install
RUN ln -sf $(which gitnexus) /usr/local/bin/gitnexus-stable
ENV GITNEXUS_BIN=/usr/local/bin/gitnexus-stable
ENV REPOS_DIR=/repos
COPY crontab /etc/cron.d/gitnexus
CMD ["cron", "-f"]

Cron时间表

# Smart reindex: only repos changed in last 24h
0 3 * * *  REPOS_DIR=/repos bin/gitnexus-reindex.sh >> /var/log/gitnexus-reindex.log
# Weekly full reindex (Sunday 4 AM)
0 4 * * 0  bin/gitnexus-reindex-all.sh >> /var/log/gitnexus-full-reindex.log
# Health check (daily)
30 9 * * * bin/gitnexus-doctor.sh /repos/main-app main-app >> /var/log/gitnexus-doctor.log

有关完整的CI/CD指南,请参阅 docs/ci-cd-integration.md.


上游贡献

PR 标题 状态
#441 添加 confidence 相似性阈值常数 ✅ 已合并
#451 跨会话保存聊天历史记录 ✅ 已合并
#453 添加结构化调试记录器 ✅ 已合并
#454 detect_changes --按变更类型分类 ✅ 已合并
#425 使用指数回退修复LadybugDB并发锁定错误 ✅ 已合并
#455 对齐 QueryResult 使用LadybugDB WASM API的类型 🔄 回顾
#458 在中公开每个回购资源 resources/list (修复MCP发现) 🔄 回顾
#443 添加 maxIterations 以防止失控的代理循环 🔄 回顾
(+6个以上) 错误处理、性能、CI稳定性 🔄 回顾

兼容性

平台 状态
macOS(苹果硅) ✅ 初级开发平台
Linux(Ubuntu、Debian、Fedora) ✅ 已测试
Docker ✅ 请参阅上面的部署部分
Windows ⚠️ 使用WSL或Git Bash

需要:Bash 4.0+·Git 2.0+·jq 1.6+·Python 3.6+·Node.js 20+


文档

贡献

欢迎投稿!看 贡献.md.

所有贡献必须包括测试,如下 常规提交,并通过 make test.


企业

在受监管的环境中大规模运行GitNexus?Miyabi G.K.提供架构审查、定制CI/CD集成和优先问题解决。

📧 shunsuke.hayashi@miyabi-ai.jp 🐦 @The_AGI_WAY


许可证

这个工具包:麻省理工学院 --仅涵盖包装器脚本、工具和文档。

GitNexus 其本身已获得许可 PolyForm非商业版1.0.0。此工具包调用GitNexus CLI,但不包含或重新分发任何GitNexus源代码。对于商业用途,请独立验证GitNexus许可。


建造于 Miyabi G.K。

🐦 @The_AGI_WAY · 📧 shunsuke.hayashi@miyabi-ai.jp

积极贡献者 GitNexus --提交了14份PR,合并了7份。