Skip to content

wzyfromhust/CoStrict-Debug

Repository files navigation

CoStrict CLI-Lite

专为 SWE-bench 评测设计的轻量级 CLI Agent,核心架构对齐 Trae-Agent

架构

用户任务 → TaskRunner → ZGSM API → 工具执行 → 结果回灌 → task_done

4 个核心工具

工具 说明
bash 持久化 bash 会话,状态跨命令保持
str_replace_based_edit_tool 文件编辑(view/create/str_replace/insert)
sequential_thinking 结构化推理,支持分支和修正
task_done 任务完成信号

目录结构

src/
├── api/                    # LLM 客户端
│   ├── zgsm-client.ts      # ZGSM API(非流式 + 超时 + 重试)
│   └── retry.ts            # 指数退避重试
├── cli/
│   ├── entry.ts            # CLI 入口
│   ├── TaskRunner.ts       # 执行引擎
│   └── prompts.ts          # System Prompt
├── core/
│   ├── assistant-message/  # XML 工具调用解析器
│   └── tools/              # 4 个工具实现
├── evaluation/             # SWE-bench 评测模块
│   ├── entry.ts            # 评测入口
│   ├── OneShotBenchmarkRunner.ts
│   ├── AgentBuilder.ts     # 预构建 Agent 包
│   └── ContainerManager.ts # Docker 容器管理
└── trajectory/             # 执行轨迹记录

快速开始

# 安装依赖
npm install

# 配置 .env
echo "ZGSM_ACCESS_TOKEN=<your_token>" > .env
echo "ZGSM_BASE_URL=https://zgsm.sangfor.com" >> .env

# 运行测试
npm test

# CLI 运行
npm run cli -- --task "Read package.json" -v

SWE-bench 评测

详见 docs/RUN.md

# 预构建 Agent 包(首次,约 1.8GB)
npx tsx -e "
import { AgentBuilder } from './src/evaluation/AgentBuilder';
new AgentBuilder({ costrictPath: process.cwd(), verbose: true }).prepare();
"

# 运行评测
npx tsx --env-file=.env src/evaluation/entry.ts \
    --instances data/swe-bench-verified-500.json \
    --output output/eval \
    --model MiniMax-M2.1 \
    -c 2

数据集

文件 说明
data/swe-bench-verified-500.json SWE-bench Verified 全集(500 instances)
data/swe-bench-50-balanced.json 50 样本子集(调试用)

许可证

Apache 2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published