Skip to content

Commit efb4cc7

Browse files
committed
feat: add evals and coding benchmarks
1 parent 040c9d5 commit efb4cc7

65 files changed

Lines changed: 4070 additions & 2251 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# API 密钥配置示例
2-
# 根据你使用的 LLM 提供商,配置对应的 API 密钥
1+
# API key configuration example.
2+
# Fill in the provider keys you plan to use.
33

4-
# DeepSeek API 密钥(默认)
4+
# DeepSeek API key (default provider).
55
DEEPSEEK_API_KEY=your_deepseek_api_key_here
66

7-
# OpenAI API 密钥(可选)
7+
# OpenAI API key (optional).
88
OPENAI_API_KEY=your_openai_api_key_here
99

10-
# Claude (Anthropic) API 密钥(可选)
10+
# Claude / Anthropic API key (optional).
1111
CLAUDE_API_KEY=your_claude_api_key_here
1212

13-
# Google Gemini API 密钥(可选)
14-
GEMINI_API_KEY=your_gemini_api_key_here
13+
# Google Gemini API key (optional).
14+
GEMINI_API_KEY=your_gemini_api_key_here

.github/workflows/ci.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
test:
9+
name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
os: [ubuntu-latest, windows-latest]
15+
python-version: ["3.10", "3.11", "3.12"]
16+
17+
steps:
18+
- name: Check out repository
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Install package
27+
run: |
28+
python -m pip install --upgrade pip
29+
python -m pip install -e ".[dev]"
30+
31+
- name: Compile Python sources
32+
run: python -m compileall dm_agent main.py
33+
34+
- name: Run tests
35+
run: python -m pytest
36+
37+
- name: Run deterministic eval smoke test
38+
run: python -m dm_agent.evals.cli --variant full --task direct_finish
39+
40+
- name: List coding benchmark tasks
41+
run: python -m dm_agent.benchmarks.cli --list
42+
43+
- name: Lint
44+
run: python -m ruff check .
45+
46+
- name: Format check
47+
run: python -m black --check .

.gitignore

Lines changed: 39 additions & 225 deletions
Original file line numberDiff line numberDiff line change
@@ -1,269 +1,83 @@
1-
# DeepSeek ReAct 智能体 - Git 忽略规则
2-
3-
# ============================================================================
4-
# 环境变量和敏感信息
5-
# ============================================================================
6-
# 包含 API 密钥的环境变量文件
1+
# Environment and secrets
72
.env
83
*.env
94
.env.local
105
.env.*.local
6+
config.json
7+
mcp_config.json
118

12-
# ============================================================================
13-
# Python 相关
14-
# ============================================================================
15-
# 字节码缓存
9+
# Python bytecode and caches
1610
__pycache__/
17-
*.pyc
18-
*.pyo
19-
*.pyd
2011
*.py[cod]
2112
*$py.class
13+
.pytest_cache/
14+
.mypy_cache/
15+
.ruff_cache/
16+
.pyre/
17+
.coverage
18+
.coverage.*
19+
coverage.xml
20+
htmlcov/
2221

23-
# C 扩展
24-
*.so
25-
26-
# 分发 / 打包
27-
.Python
22+
# Build and packaging output
2823
build/
29-
develop-eggs/
3024
dist/
31-
downloads/
32-
eggs/
33-
.eggs/
34-
# lib/
35-
lib64/
36-
parts/
37-
sdist/
38-
var/
39-
wheels/
40-
share/python-wheels/
4125
*.egg-info/
42-
.installed.cfg
26+
.eggs/
4327
*.egg
4428
MANIFEST
4529

46-
# PyInstaller
47-
*.manifest
48-
*.spec
49-
50-
# 单元测试 / 覆盖率报告
51-
htmlcov/
52-
.tox/
53-
.nox/
54-
.coverage
55-
.coverage.*
56-
.cache
57-
nosetests.xml
58-
coverage.xml
59-
*.cover
60-
*.py,cover
61-
.hypothesis/
62-
.pytest_cache/
63-
cover/
64-
65-
# 翻译
66-
*.mo
67-
*.pot
68-
69-
# Django
70-
*.log
71-
local_settings.py
72-
db.sqlite3
73-
db.sqlite3-journal
74-
75-
# Flask
76-
instance/
77-
.webassets-cache
78-
79-
# Scrapy
80-
.scrapy
81-
82-
# Sphinx 文档
83-
docs/_build/
84-
85-
# PyBuilder
86-
.pybuilder/
87-
target/
88-
89-
# Jupyter Notebook
90-
.ipynb_checkpoints
91-
92-
# IPython
93-
profile_default/
94-
ipython_config.py
95-
96-
# pyenv
97-
.python-version
98-
99-
# pipenv
100-
Pipfile.lock
101-
102-
# poetry
103-
poetry.lock
104-
105-
# pdm
106-
.pdm.toml
107-
108-
# PEP 582
109-
__pypackages__/
110-
111-
# Celery
112-
celerybeat-schedule
113-
celerybeat.pid
114-
115-
# SageMath
116-
*.sage.py
117-
118-
# Spyder 项目设置
119-
.spyderproject
120-
.spyproject
121-
122-
# Rope 项目设置
123-
.ropeproject
124-
125-
# mkdocs 文档
126-
/site
127-
128-
# mypy
129-
.mypy_cache/
130-
.dmypy.json
131-
dmypy.json
132-
133-
# Pyre 类型检查器
134-
.pyre/
135-
136-
# pytype 静态类型分析器
137-
.pytype/
138-
139-
# Cython 调试符号
140-
cython_debug/
141-
142-
# ============================================================================
143-
# 虚拟环境
144-
# ============================================================================
30+
# Virtual environments
31+
.venv/
14532
venv/
14633
env/
14734
ENV/
148-
env.bak/
149-
venv.bak/
150-
.venv/
151-
.virtualenv/
35+
virtualenv/
15236

153-
# ============================================================================
154-
# IDE 和编辑器
155-
# ============================================================================
156-
# VSCode
157-
.vscode/
37+
# Test and generated demo output
38+
test_output/
39+
eval_reports/
40+
bench_reports/
41+
test_*.txt
42+
demo*.txt
43+
random*.txt
44+
*.log
45+
logs/
46+
*.tmp
47+
*.temp
48+
*.bak
49+
50+
# IDEs and editors
51+
.idea/
15852
.vscode/*
15953
!.vscode/settings.json
16054
!.vscode/tasks.json
16155
!.vscode/launch.json
16256
!.vscode/extensions.json
16357
*.code-workspace
164-
165-
# PyCharm
166-
.idea/
167-
.idea/*
168-
*.iml
169-
*.iws
170-
*.ipr
171-
172-
# Sublime Text
17358
*.sublime-project
17459
*.sublime-workspace
175-
176-
# Vim
17760
*.swp
17861
*.swo
17962
*~
180-
.vim/
18163

182-
# Emacs
183-
*~
184-
\#*\#
185-
/.emacs.desktop
186-
/.emacs.desktop.lock
187-
*.elc
188-
auto-save-list
189-
tramp
190-
.\#*
191-
192-
# ============================================================================
193-
# 操作系统
194-
# ============================================================================
195-
# macOS
64+
# OS files
19665
.DS_Store
197-
.AppleDouble
198-
.LSOverride
199-
._*
200-
201-
# Windows
20266
Thumbs.db
203-
Thumbs.db:encryptable
204-
ehthumbs.db
205-
ehthumbs_vista.db
206-
*.stackdump
207-
[Dd]esktop.ini
67+
Desktop.ini
20868
$RECYCLE.BIN/
20969
*.lnk
21070

211-
# Linux
212-
*~
213-
.directory
214-
.Trash-*
215-
216-
# ============================================================================
217-
# 项目特定
218-
# ============================================================================
219-
# 日志文件
220-
*.log
221-
logs/
222-
*.log.*
223-
224-
# 临时文件
225-
*.tmp
226-
*.temp
227-
*.bak
228-
*.swp
229-
*.swo
230-
231-
# 测试输出
232-
test_output/
233-
test_*.txt
234-
demo*.txt
235-
random*.txt
236-
237-
# 智能体生成的文件(可选,根据需要调整)
238-
# sort/
239-
# output/
240-
241-
# ============================================================================
242-
# 其他
243-
# ============================================================================
244-
# 备份文件
245-
*.backup
246-
*.old
71+
# Local assistant files
72+
CLAUDE.md
73+
.claude/
74+
.clinerules
24775

248-
# 压缩文件
76+
# Archives and local databases
24977
*.zip
25078
*.tar.gz
25179
*.rar
25280
*.7z
253-
254-
# 数据库文件
25581
*.db
25682
*.sqlite
25783
*.sqlite3
258-
259-
# 配置文件(如果包含敏感信息)
260-
# config.ini
261-
config.json
262-
mcp_config.json
263-
264-
265-
# Claude Code文件
266-
CLAUDE.md
267-
.claude
268-
.clinerules
269-

0 commit comments

Comments
 (0)