AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Вход через GitHub: каждый пользователь видит свои PR, статусы и статистику. Единое место для всех моих открытых PR в организации: сразу видно, где упали чекеры, где конфликты, а где ревьюеры оставили замечания и ждут ответа.查看完整 README ↗
Вход через GitHub: каждый пользователь видит свои PR, статусы и статистику.
Единое место для всех моих открытых PR в организации: сразу видно, где упали чекеры, где конфликты, а где ревьюеры оставили замечания и ждут ответа.
changes requested.
Треды, где я уже ответил, считаются «ждут ревьюера».REVIEW_SLA_HOURS рабочих часов
(по умолчанию 48, выходные не считаются), или я ответил на замечания, а ревьюер молчит.Страница /analytics — мои PR за 90 дней: открытые по репозиториям и статусам, открыто/смержено по неделям, время до первого ревью по репозиториям, время до мержа по размеру PR, таблица ревьюеров.
PR разложены по секциям: «Требуют моих действий» → «Ждут других» → «Готовы к мержу» → «Черновики». Страница обновляется раз в 2 минуты (пока вкладка открыта).
Страница /feedback — «что мне пишут на ревью»: замечания других людей к моим PR
за полгода (синхронизация по кнопке) хранятся в Postgres — кто и где чаще пишет, лента последних.
AI-разбор по темам (OpenAI Agents SDK) пока скрыт, включается AI_ANALYSIS_ENABLED=true.
src/auth.ts), scope read:user repo read:org.AUTH_SECRET), базы пользователей нет. GitHub-токен сохраняется в JWT
в колбэке jwt и не попадает в session — тот уходит в браузер через /api/auth/session.src/lib/session.ts (getToken + decode).src/proxy.ts — auth() из Auth.js: без сессии отправляет на /login; страницы и экшены дополнительно
проверяют сессию через requireSession().OWNER_GITHUB_TOKEN (необязательно): личный токен владельца. Подставляется только пользователю,
вошедшему через GitHub под логином владельца токена, — для организаций, не одобривших OAuth-приложение.
Токен живёт только в env сервера; в шапке такой режим отмечен меткой «PAT».use cache: remote) — на пользователя: в ключ попадает зашифрованная cookie, не токен.src/lib/github.ts — один GraphQL-запрос: is:pr is:open author:@me org:<ORG>
со статусами чекеров, review threads и последними ревью.src/lib/org.ts — список организаций и выбранная организация (cookie).src/lib/attention.ts — правила: какие проблемы у PR и в какую секцию он попадает.src/lib/history.ts + src/lib/analytics.ts — история PR и расчёт метрик (чистые функции).src/lib/comments.ts — сбор замечаний из GitHub и upsert в review_comments.src/lib/feedback.ts — агент со structured output (zod), подсчёт тем, запись в feedback_analyses.db/schema.sql — схема БД, применяется pnpm db:migrate.src/components/charts.tsx — простые графики на HTML/CSS без библиотек.src/app/page.tsx — серверный рендер, фильтры через ?filter=checks|conflicts|comments.src/proxy.ts — без cookie сессии отправляет на /login.Быстрый путь без OAuth App: в .env.local задать DEV_GITHUB_TOKEN (например, вывод gh auth token) —
в pnpm dev вход отключается, всё работает от этого токена. В production-сборке переменная игнорируется.
cp .env.example .env.local # заполнить переменные
createdb git_monitor # локальный Postgres
pnpm db:migrate
pnpm dev
https://<домен>/api/auth/callback/github.DATABASE_URL)
и применить схему: DATABASE_URL=... pnpm db:migrate.AUTH_GITHUB_ID, AUTH_GITHUB_SECRET, AUTH_SECRET.