Skip to content

rollysys/cpp-coding-agent

Repository files navigation

cpp-agent-qwen3

循序渐进实现:用 本地 OpenAI-compatible LLM API(默认 Ollama http://127.0.0.1:11434/v1)+ Qwen3,从 0 到 1 搭一个能写/编译/看汇编/调试 C++ 的 agent。

目标能力

  • 写/改 workspace/main.cpp
  • 编译(g++/clang++)
  • 运行
  • 反汇编(objdump)
  • 调试(gdb batch)+ addr2line 定位

版本目录

  • v01_min_loop/:最小 agent loop(无工具,只有对话回合)
  • v02_tool_use/:引入 tool schema + tool dispatch(read/write 文件)
  • v03_compile_run/:加入编译/运行闭环(compile_cpp/run_program)
  • v04_asm_debug/:加入反汇编 + gdb backtrace + addr2line
  • v05_safety_prod/:加入命令白名单、路径逃逸防护、超时等(更接近生产)
  • v06_stdin_tests/:加入 stdin + tests harness(多用例回归)
  • v07_structured_debug/:加入结构化 backtrace(gdb 输出解析成 JSON)
  • v08_triage_zhipu_anthropic/:加入一键崩溃归因 triage_crash(gdb+addr2line+源码片段),并把 LLM API 切到 Zhipu 的 Anthropic-compatible 客户端(anthropic SDK)

每个版本都能单独跑:

cd v0X_xxx
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export LLM_BASE_URL="http://127.0.0.1:11434/v1"
export LLM_API_KEY="ollama"
export LLM_MODEL="qwen3:latest"   # 你可换成任何本地可用的 Qwen3
python agent.py

说明

  • Linux 优先:调试默认用 gdb,反汇编用 objdump
  • 如果你不用 Ollama,而是别的 OpenAI-compatible endpoint,把 LLM_BASE_URL 换掉即可。

About

Progressive C++ coding agent: from minimal LLM loop to crash-triage, powered by any OpenAI-compatible local LLM API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages