Skip to main content

No project description provided

Project description

📖 Guide

1️⃣ Install

  1. install brew: https://brew.sh/
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. install pipx
brew install pipx
pipx ensurepath
  1. install v-cr
方式一:安装 PyPI 远程仓库包
pipx install v-magic-code-review

方式二(推荐):安装本地项目包
# 进入你的项目根目录
cd /path/to/your/v-magic-code-review

# 使用可编辑模式(-e)安装
pipx install -e .

2️⃣ Setup environment variables

基础环境变量

设置以下环境变量,可直接写入到 ~/.zshrc 里:

# jira
export JIRA_HOST=https://jira.********.com
export JIRA_TOKEN=OTY**************************Y4

# confluence
export CONFLUENCE_HOST=https://wiki.********.com
export CONFLUENCE_TOKEN=MDQ2**************************1u

# gitlab
export GITLAB_HOST=https://gitlab.********.com
export GITLAB_TOKEN=_PH*****************UiW

如何获取这些变量:

Variable How to Get
JIRA_TOKEN Go to Jira → 右上角头像点击 Profile → Personal Access Tokens → Create token
CONFLUENCE_TOKEN Go to Confluence → 右上角头像点击 Settings → Personal Access Tokens → Create token
GITLAB_TOKEN Go to GitLab → 左上角头像点击 Preferences → Access Tokens → Add new token

Gemini Cookie

Gemini Cookie 可以手动配置,也可以自动获取,下面列出这两种方法

自动获取(推荐)

在浏览器中登陆 Gemini 后,使用命令就可以自动获取浏览器中的 Cookie,如果遇到权限提示,输入密码放行即可。

默认从 Chrome 浏览器获取 Cookie,如果你使用其他浏览器,请设置环境变量 BROWSER_NAME

export BROWSER_NAME='arc'

支持的浏览器:

  • chrome
  • firefox
  • brave
  • edge
  • safari
  • arc

手动设置

设置以下环境变量,可直接写入到 ~/.zshrc 里:

# gemini(可不配置,不配置默认会从浏览器自动获取。建议不配置)
export GEMINI_COOKIE_SECURE_1PSID=g.a0KAaMS************************************************AROiSJgW0076
export GEMINI_COOKIE_SECURE_1PSIDTS=sidts-CjAB*****************************KZn7ScYuMQAA

如何获取这些变量:

Variable How to Get
GEMINI_COOKIE_SECURE_1PSID(可忽略) Login to Gemini → F12 打开 Developer Tools → Application → Cookies → Copy value:__Secure-1PSID
GEMINI_COOKIE_SECURE_1PSIDTS (可忽略) Login to Gemini → F12 打开 Developer Tools → Application → Cookies → Copy value:__Secure-1PSIDTS

3️⃣ Usage

$ v-cr -h
usage: v-cr [-h] [-m MR_ID] [-o] [-c] [--prompt-templates PROMPT_TEMPLATES] [--list-prompt-templates] [--debug] [--version] [--advance] [JIRA_KEY OR MR_ID]

Magic Code Review

positional arguments:
  JIRA_KEY OR MR_ID     jira issue key or merge request id

options:
  -h, --help            show this help message and exit
  -m, --mr-id MR_ID     【DEPRECATED】merge request id
  -o, --only-code       only review code diff
  -c, --copy-prompt     copy prompt to clipboard
  --prompt-templates PROMPT_TEMPLATES
                        specific prompt template list, separated by [,]
  --list-prompt-templates
                        list all prompt templates
  --debug
  --version
  --advance             use staged review

自动发送给 Gemini

Jira ID

$ v-cr ORI-100000

Merge Request ID

$ v-cr 30145

手动发送给 Gemini

$ v-cr ORI-100000 -c
......
......
2025-06-12 11:13:32,126 - INFO - ✨ issue comments length: 420
2025-06-12 11:13:33,231 - INFO - ✨ code  diff length: 990
2025-06-12 11:13:33,387 - INFO - ✨ prompt length: 28737, tokens num: 13015
✅ Prompt 已复制到剪贴板

advance 模式

$ v-cr ORI-100000 --advance

这种模式适用于 Merge Request Changes 比较大的场景,工具会将 Changes 拆分后分组 Review,最后进行合并,给出审查报告。

注意:这种模式使用多次对话进行 Code Review,对 Gemini 的 Chat History 污染比较严重!

自定义 Prompt

创建

$ cd ~/.local/share/v-cr/prompts
$ touch my-prompt.txt

变量说明

变量 说明
{issue_summary} Jira Issue 标题
{issue_requirements} Jira Issue Description
{issue_design} Jira Issue 关联的设计 Wiki
{issue_comments} Jira Issue 的评论
{mr_description} Gitlab Merge Request 的描述
{mr_diff} Gitlab Merge Request 的代码变更

Prompt 示例

帮我优化一下代码变量命名

{mr_diff}
帮我看下需求和实现的代码是否一致,是否漏了需求

<section>需求</section>
{issue_requirements}

<section>代码实现 Diff</section>
{mr_diff}

列出可用的 Prompts

$ v-cr --list-prompt-template
Avalible Prompt Templates:

 • DEFAULT
 • my-prompt

指定 Prompt

$ v-cr ORI-100000 --prompt-template my-prompt

🤝 Contributing

  1. install uv
brew install uv
  1. install virtualenv and dependencies
uv venv
uv sync --all-extras

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

v_magic_code_review-0.2.4.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

v_magic_code_review-0.2.4-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file v_magic_code_review-0.2.4.tar.gz.

File metadata

  • Download URL: v_magic_code_review-0.2.4.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for v_magic_code_review-0.2.4.tar.gz
Algorithm Hash digest
SHA256 ad0c1f372115812448c57e4753a6f230a811e22557d07356273195bdbd5479c6
MD5 e09832d2906ba2badecab1ef926756fd
BLAKE2b-256 9049c10e89e9983f9b41168cad5309a112c214a09dad87ac6a997cbabb02d4bf

See more details on using hashes here.

File details

Details for the file v_magic_code_review-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for v_magic_code_review-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 92baf94c78d7ae824faa30815ddde399771d6fd9cfbe3f518d190345333c462d
MD5 acadf430244f892d96da64f31835af63
BLAKE2b-256 42c917a579f27e49be3fb7e7320b62fc96880e13573bb6ae7522b6e562159d22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page