目录

CodeGuard

配置 OpenCode

在安装之前,需要先配置 OpenCode 的大模型信息。配置文件位于:

./installations/opencode-cli/opencode.json

必须修改的配置项

  • baseURL: 自行部署的大模型服务地址(如 http://localhost:8000/v1
  • apiKey: 如果模型有 API Key,请配置;否则可保持默认 EMPTY
  • models 中的 name: 修改为实际使用的模型名称

可选配置项

  • provider 中的名称(如 vllm-local): 可根据需要自定义

配置示例

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "your-provider-name": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Your Model Name",
      "options": {
        "baseURL": "http://your-llm-server:8000/v1",
        "apiKey": "your-api-key-if-needed"
      },
      "models": {
        "your-model-name": {
          "_launch": true,
          "name": "your-model-name"
        }
      }
    }
  }
}

安装步骤

1. 检查 Python 是否已安装

在安装其他软件之前,请先检查 Python 是否已安装。可以在终端运行以下命令检查:

python --version

如果未安装 Python,请运行安装包:

./installations/python-3.11.8-amd64.exe

!!!注意:安装过后需要确认添加环境变量:Python默认安装路径为:C:\Users\{username}\AppData\Local\Programs\Python\Python311

2. 安装 VSCode

如果未安装 VSCode,请运行安装包:

./installations/VSCodeSetup-x64-1.111.0.exe

3. 安装 OpenCode 和 Semgrep

根据您的操作系统运行对应的脚本:

  • Windows: 双击运行 windows/install-all.bat

4. 重启 VSCode

关闭并重新打开 VSCode。

5. 安装 OpenCode 插件

  1. 点击左侧栏的 Extensions(扩展图标)
  2. 点击 Views and More Actions(三个点),选择 Install from VSIX
  3. 选择本地插件:./installations/sst-dev.opencode-0.0.13.vsix

使用方式

方式一:项目分析

  1. 打开需要进行分析的工程文件夹
  2. 点击编辑器右上角的 OpenCode 图标启动 OpenCode
  3. 输入提示词,例如:

    请帮我分析当前项目,介绍包括哪些模块,生成架构图

方式二:安全审计

  1. 同样点击右上角 OpenCode 图标启动
  2. 输入 /skills 并回车
  3. 选择 semgrep 这个 skill 并回车
  4. 输入审计指令,例如:

    请帮我审计当前项目


目录结构

CodeGuard/
├── installations/          # 安装资源
│   ├── VSCodeSetup-x64-1.111.0.exe
│   ├── sst-dev.opencode-0.0.13.vsix
│   ├── opencode-cli/
│   └── semgrep_skill/
├── windows/               # Windows 安装脚本
│   └── install-all.bat
└── linux/                 # Linux/macOS 安装脚本
    └── install-all.sh

注意事项

semgrep skill运行过程中的Error信息属于正常情况,opencode会先寻找联网解决手段,无法联网后会自动选择非联网手段解决问题

报错问题

  • 运行install-all.bat报错

    • 可能原因1:没有python命令

      • 在cmd中运行python --version检查是否安装了python
    • 可能原因2:Semgrep虚拟环境安装失败(离线wheel与已有python版本不兼容)

      • 如果已经安装了python,并且不想卸载,可以手动安装semgrep虚拟环境(即./windows/install-all.bat中的Part 1: Semgrep Installation),具体操作如下:
      • 运行./installations/python-3.11.8.exe,选择默认的安装方式
      • 在./installations/semgrep_offline/文件夹下打开powershell,运行C:\Users\{username}\AppData\Local\Programs\Python\Python311\python.exe -m venv semgrep命令(username需要替换为自己的用户名)。
      • 删除./windows/install-all.bat中Part 1: Semgrep Installation的代码
      • 再重新双击运行修改后的install-all.bat脚本
  • semgrep skill运行过程中报错,并且没有结果产出

    • 可能原因3:模型参数量太小对指令的理解能力较弱,出错后自行调整的能力也弱
      • 模型必须具备function call的能力
      • 建议使用30b以上的模型

兼容性问题

  • vscode的opencode插件可能存在兼容性问题(例如:鼠标滚动无法使用,鼠标选中文本后右键无法复制内容)

    • 鼠标滚动问题可以通过page up、page down按钮查看结果
    • 也可以直接在powershell中通过运行opencode命令打开opencode的TUI界面,该交互模式兼容性较好。如果想要对某个项目进行操作,在资源管理器中进入到项目所在文件夹,点击右键(或shift+鼠标右键点击),在弹出框中选择在此处打开Powershell窗口,然后运行opencode命令即可
  • semgrep对中文的支持不好(运行过程中可能报: gbk codec的错误)

关于

进行代码审计,保证代码安全

678.5 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号