Skip to content

Latest commit

 

History

History
135 lines (97 loc) · 4.99 KB

File metadata and controls

135 lines (97 loc) · 4.99 KB

LoopForge

English | 简体中文

LoopForge是一个面向软件交付的 个人研发助理(Personal AI Engineer):长任务流程、持久化记忆、工具沙盒、模型路由与 Harness checkpoint。

品牌更新

  • 对外产品名:LoopForge
  • 主 CLI 命令:loopforge
  • 运行时数据目录暂保持为 ~/.loopforge

文档

  • 文档站点:https://os.rexai.top
  • (如自定义域名未配置)GitHub Pages:https://rexleimo.github.io/LoopForge/
  • 5 分钟可见结果:docs-site/tutorials/five-minute-outcomes.md
  • Agent Team 作战手册:docs-site/how-to/agent-team-playbook.md
  • 产品定位说明:docs-site/explanation/why-loopforge.md
  • 运行时架构说明:docs-site/explanation/runtime-architecture.md
  • 仓库内部维护者地图:docs/internal/runtime-module-map.md

状态

本仓库已用长任务 harness 引导初始化(features.jsoninit.shloopforge-progress.md)。推进方式是把每个 feature 的 passesfalse 置为 true,并保持 checklist 稳定。

安装

方案 A:下载预编译二进制(推荐)

从 GitHub Releases 下载对应你系统的压缩包,解压后把 loopforge(或 loopforge.exe)放到 PATH 里即可。

方案 B:从源码构建

# 安装到 ~/.cargo/bin(开发推荐)
cargo install --path crates/loopforge-cli --locked
loopforge --help

# 或仅构建本地二进制
cargo build --release -p loopforge-cli
./target/release/loopforge --help

快速开始(开发)

./init.sh

使用 Ollama(OpenAI 兼容)

LoopForge 默认配置会在 ~/.loopforge/config.toml 里把 ollama 指向 http://127.0.0.1:11434/v1

# 1) 启动 Ollama
ollama serve

# 2) 初始化 LoopForge
loopforge init

# 3) 在某个 workspace 目录里运行一次 agent session
mkdir -p /tmp/loopforge-work
loopforge agent run --workspace /tmp/loopforge-work --prompt "Create hello.txt with the word hi"

可选的 Ollama smoke test:LOOPFORGE_OLLAMA_MODEL=<your-model> cargo test --workspace --test ollama_smoke -- --ignored。 可选的 NVIDIA NIM smoke test:NVIDIA_API_KEY=<key> cargo test --workspace --test nvidia_nim_smoke -- --ignored

Agent Team 模式(团队推荐)

把 LoopForge 当作一个“小型 Agent Team”来用,并明确分工:

  • Planner Agent:拆解范围、风险和验收标准,沉淀到 notes/plan.md
  • Builder Agent:完成实现并执行验证门禁
  • Reviewer Agent:做 findings-first 评审,输出 notes/review.md
  • Release Agent:执行 loopforge release check,准备 cap/发版动作

操作手册:docs-site/how-to/agent-team-playbook.md

发版(维护者)

推送一个 v* tag 仍然会触发 Release 工作流,构建并把预编译压缩包上传到 GitHub Release。 但在 main 上,维护者通常不需要再手动推 tag:当 CI 成功、workspace version 与 CHANGELOG.md 都准备好后,Auto Release Tag 工作流会自动创建缺失的 vX.Y.Z tag,随后由现有 Release 工作流发布 GitHub 版本。 每次发版前请遵循 docs/versioning-and-release.md 的版本与更新说明规则。 如果本次迭代被标记为“需要升级版本号”,则同一批改动必须同时包含版本号更新和 CHANGELOG.md 更新。

手动兜底:

git tag v1.0.0
git push origin v1.0.0

Providers 与路由

LoopForge 通过多种 driver 支持多个 LLM Provider:

  • openai_compatible(Ollama / DeepSeek / Kimi / Qwen / GLM / MiniMax / NVIDIA NIM / 其它 OpenAI-compatible 网关)
  • dashscope_native(阿里云 DashScope Generation API / Qwen 原生)
  • zhipu_native(智谱 GLM 原生:auth/token 处理)
  • minimax_native(MiniMax 原生 text/chatcompletion_v2 API)
  • anthropic(Claude API + Anthropic-compatible 网关)
  • gemini(Google Gemini API)

~/.loopforge/config.toml 中配置 providers,并把不同任务类型路由到 (provider, model)

[providers.ollama]
kind = "openai_compatible"
base_url = "http://127.0.0.1:11434/v1"
api_key_env = ""
default_model = "llama3.2"

[providers.deepseek]
kind = "openai_compatible"
base_url = "https://api.deepseek.com"
api_key_env = "DEEPSEEK_API_KEY"
default_model = "deepseek-chat"

[router.coding]
provider = "ollama"
model = "default" # uses providers.<name>.default_model

切换 provider:配置对应 provider 的 api_key_env(如需),并把 [router.*] 指向你想用的 provider;如果 model = "default",LoopForge 会使用 providers.<name>.default_model

内置 presets 包含:

  • deepseek(OpenAI-compatible)
  • kimi / kimi_cn(OpenAI-compatible)
  • qwen / qwen_cn / qwen_sg(OpenAI-compatible)
  • qwen_native / qwen_native_cn / qwen_native_sg(DashScope 原生 API)
  • glm / glm_native(OpenAI-compatible / 智谱原生)
  • minimax / minimax_native(OpenAI-compatible / MiniMax 原生)
  • nvidia(OpenAI-compatible / NVIDIA NIM)
  • minimax_anthropic(Anthropic-compatible 网关)