Skip to content

GeYugong/Local-Agent-Runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local-Agent-Runner

本仓库是一个基于 llama.cpp 的本地 Windows 终端 Agent。程序加载本地 GGUF 模型,按照内置 system prompt 生成包裹在 <<< >>> 中的 Windows CMD 命令,并直接调用 system() 执行,能够处理中英文指令和多步命令链。

功能特点

  • 加载本地 GGUF(示例:Llama 3 8B Instruct)并以 C++17 运行。
  • 自定义的 Agent 协议:模型输出 <<< 命令 >>>,自动解析后执行。
  • 支持中文路径、写文件、&& 多步串联等常见终端操作。
  • 通过 llama.cpp 的 CUDA 支持启用 GPU 加速(GGML_CUDA=ON)。

仓库结构

  • main.cpp:核心逻辑,包含 prompt、推理与命令解析执行。
  • CMakeLists.txt:构建脚本,默认启用 CUDA、关闭 CURL,链接 llama.cpp
  • external/llama.cpp:上游子模块依赖。
  • models/:存放本地 GGUF 模型(示例路径已写在代码中)。
  • out/:CMake 生成目录(默认 VS/Ninja)。

环境准备

  • CMake ≥ 3.14,支持 C++17 的 MSVC/Clang。
  • 推荐安装 Ninja;Windows 环境已写好 CMakeSettings.jsonx64-Debug)。
  • GPU 加速:需要合适的 CUDA 环境;如仅 CPU,可在 CMakeLists.txt 中把 GGML_CUDA 设为 OFF
  • 模型文件:将 GGUF 放到 models/,并在 main.cpp 中更新 model_path 绝对路径。

构建步骤(示例)

git submodule update --init --recursive
cmake -B out/build/x64-Debug -G "Ninja" -DCMAKE_BUILD_TYPE=Debug
cmake --build out/build/x64-Debug --target my_agent

生成的可执行文件位于 out/build/x64-Debug/(或你的生成目录)下的 my_agent.exe

运行与使用

  1. 确认 model_path 指向有效的 .gguf 模型。
  2. 执行 my_agent.exe,终端提示后输入指令(例如:在D盘test文件夹下新建data.txt并写入123)。
  3. 程序会打印模型回复,并捕获 <<< ... >>> 中的命令实际执行,返回退出码。
  4. 输入 exit/quit 结束程序。

安全提示

  • 程序会无验证地执行模型输出的命令,请在受控/隔离环境使用,并谨慎选择模型与提示词。
  • 如需禁用自动执行,可注释掉 system(cmd.c_str()) 部分,仅打印命令供手动确认。

可定制项

  • System prompt(指令格式、示例)位于 main.cpp,可按需修改。
  • 上下文长度、GPU 层数等推理参数在 main.cpp 中的 ctx_params/model_params 可调。
  • 切换模型或量化格式时,更新 model_path 和上下文长度以匹配资源。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published