-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
497 lines (413 loc) · 15.3 KB
/
config.yaml
File metadata and controls
497 lines (413 loc) · 15.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
# タスクソース設定
task_source: "gitlab" # "github" or "gitlab"
mcp_servers:
- mcp_server_name: "github"
command:
- "/app/github-mcp-server.cmd"
- "stdio"
env:
GITHUB_TOOLSETS: "all"
- mcp_server_name: "gitlab"
command:
- "npx"
- "@zereight/mcp-gitlab"
- "stdio"
env:
GITLAB_PERSONAL_ACCESS_TOKEN: ""
GITLAB_API_URL: ""
# - mcp_server_name: "googlesearch"
# command:
# - "npx"
# - "-y"
# - "@adenot/mcp-google-search"
# - mcp_server_name: "webfetch"
# command:
# - "python"
# - "-m"
# - "mcp_server_fetch"
# データベース設定
# タスク情報の永続化に使用するPostgreSQLの接続設定
database:
# PostgreSQL設定
host: "localhost"
port: 5432
name: "coding_agent"
user: ""
password: ""
# コネクションプール設定
pool_size: 5
max_overflow: 10
# User Config API設定(旧api_server統合)
user_config_api:
enabled: false # タスクユーザーごとの設定をAPIから取得するか
url: "http://user-config-api:8080" # User Config APIのURL
api_key: "your-secret-api-key-here" # APIキー
llm:
provider: "openai" # "ollama" | "openai"
function_calling: true
lmstudio:
base_url: "host.docker.internal:1234"
# base_url: "localhost:1234"
context_length: 32768
model: "qwen3-30b-a3b-mlx"
ollama:
endpoint: "http://host.docker.internal:11434"
model: "qwen3-30b-a3b-mlx"
max_token: 32768
context_length: 32768
openai:
base_url: "https://api.openai.com/v1"
api_key: "OPENAI_API_KEY"
model: "gpt-4o"
max_token: 40960
context_length: 128000
max_llm_process_num: 1000
# プランニング機能の設定
planning:
# プランニング機能の有効/無効(デフォルト: true)
enabled: true
# プランニング戦略(デフォルト: chain_of_thought)
# 注: 現在は "chain_of_thought" のみサポート。将来の拡張用オプション
# 選択肢: "chain_of_thought", "hierarchical", "simple"
strategy: "chain_of_thought"
# 最大サブタスク数(デフォルト: 100)
max_subtasks: 100
# タスク分解の詳細度(デフォルト: moderate)
# 注: 将来の拡張用オプション。現在は内部で使用されていません
# 選択肢: "detailed", "moderate", "minimal"
decomposition_level: "moderate"
# タスク進捗コメント機能
# タスク実行中に1つの進捗コメントを更新し続けることで、
# Issue/MRのコメント数を削減し、可読性を向上させる
progress_comment:
# 機能の有効/無効(デフォルト: true)
enabled: true
# 履歴エントリの最大保持数(古いものから削除)
max_history_entries: 100
# 計画前情報収集フェーズ設定
# 計画を立てる前に依頼内容を理解し、必要な情報を収集するフェーズ
pre_planning:
# 計画前情報収集の有効/無効(デフォルト: true)
enabled: true
# 依頼内容の理解設定
understanding:
# 理解の確信度閾値(この値未満でも低確信度で継続)
confidence_threshold: 0.7
# 情報収集設定
collection:
# 情報収集の有効/無効
enabled: true
# ツールあたりの最大リトライ回数
max_retries_per_tool: 2
# 推測設定
assumption:
# 推測の有効/無効
enabled: true
# 推測の確信度閾値(これ未満は情報なしで計画)
confidence_threshold: 0.5
# 通知設定
notification:
# 開始通知
notify_on_start: true
# 理解完了通知
notify_on_understanding_complete: true
# 収集完了通知
notify_on_collection_complete: true
# 推測発生通知
notify_on_assumption: false
# リフレクション設定
reflection:
# リフレクション機能の有効/無効(デフォルト: true)
enabled: true
# エラー発生時に自動的にリフレクション実行
trigger_on_error: true
# N回のアクション毎に定期的にリフレクション実行
# 0の場合は定期リフレクション無効
trigger_interval: 2
# リフレクションの深さ
# 注: 将来の拡張用オプション。現在は内部で使用されていません
# 選択肢: "deep", "moderate", "shallow"
depth: "moderate"
# 計画修正設定
revision:
# 最大計画修正回数
max_revisions: 3
# 検証フェーズ設定
verification:
# 検証フェーズの有効/無効(デフォルト: true)
enabled: true
# 最大検証ラウンド数(デフォルト: 2)
# 追加作業実行後に再検証を何回まで繰り返すか
max_rounds: 2
# 再計画(リプランニング)設定
replanning:
# 再計画機能の有効/無効(デフォルト: true)
enabled: true
# LLM判断の設定
llm_decision:
# 確信度の閾値(この値未満の場合は再計画をスキップ)
min_confidence_threshold: 0.5
# 低確信度時のユーザー確認を有効化
require_user_confirmation_on_low_confidence: true
# ユーザー確認を要求する確信度の閾値
user_confirmation_threshold: 0.3
# 目標の理解フェーズの再計画設定
goal_understanding:
max_clarification_requests: 2
auto_assume_on_no_response: true
auto_assume_timeout_minutes: 30
# タスクの分解フェーズの再計画設定
task_decomposition:
max_redecomposition_attempts: 3
# 行動系列の生成フェーズの再計画設定
action_sequence:
max_regeneration_attempts: 3
# 実行フェーズの再計画設定
execution:
max_action_retries: 3
max_partial_replans: 2
# 監視と修正(リフレクション)フェーズの再計画設定
reflection:
max_plan_revisions: 2
# 全体制限
global:
max_total_replans: 10
infinite_loop_detection: true
same_trigger_max_count: 2
# コンテキストストレージ設定
# 注: Planning履歴も統合され、contexts/{running|completed}/{task_uuid}/planning/ に保存されます
context_storage:
enabled: true
base_dir: "contexts"
compression_threshold: 0.7
keep_recent_messages: 5
cleanup_days: 30
summary_prompt: |
あなたは会話履歴を要約するアシスタントです。
以下のメッセージ履歴を簡潔かつ包括的に要約してください。
要約には以下を含めてください:
1. 重要な決定事項
2. 実施したコード変更
3. 発生した問題とその解決
4. 残存タスク
元の30-40%の長さを目標としてください。
=== 要約対象メッセージ ===
{messages}
要約のみを出力してください。
# 過去コンテキスト引き継ぎ機能の設定
# 同一Issue/MR/PRの過去のコンテキストを引き継いで処理の継続性を向上させる
context_inheritance:
# 引き継ぎ機能の有効/無効(デフォルト: true)
enabled: true
# コンテキストの有効期限(日数、デフォルト: 90)
context_expiry_days: 90
# 引き継ぎコンテキストの最大トークン数(デフォルト: 8000)
max_inherited_tokens: 8000
# Planning Mode専用の引き継ぎ設定
planning:
# 過去の計画を引き継ぐか(デフォルト: true)
inherit_plans: true
# 過去の検証結果を引き継ぐか(デフォルト: true)
inherit_verifications: true
# 過去のリフレクションを引き継ぐか(デフォルト: true)
inherit_reflections: true
# 参照する過去計画の最大数(デフォルト: 3)
max_previous_plans: 3
# 成功パターンを再利用するか(デフォルト: true)
reuse_successful_patterns: true
github:
owner: "notfolder"
bot_name: "notfolder-bot" # ボットのユーザー名
bot_label: "coding agent"
processing_label: "coding agent processing"
done_label: "coding agent done"
paused_label: "coding agent paused"
stopped_label: "coding agent stopped"
query: 'state:open archived:false sort:updated-desc sort:updated-desc'
gitlab:
owner: "notfolder"
bot_name: "notfolder-bot" # ボットのユーザー名
bot_label: "coding agent"
processing_label: "coding agent processing"
done_label: "coding agent done"
paused_label: "coding agent paused"
stopped_label: "coding agent stopped"
project_id: "coding-agent-project"
query: ''
# Issue → MR/PR 変換機能の設定
# Issueで依頼された内容を自動的にMR/PRとして作成する機能
issue_to_mr_conversion:
# 機能の有効/無効(デフォルト: true)
# 環境変数 ISSUE_TO_MR_ENABLED で上書き可能
enabled: true
# MR/PRをドラフト状態で作成するか(デフォルト: true)
auto_draft: true
# Issueのコメントを転記するか(デフォルト: true)
transfer_comments: true
# ボットのコメントを除外するか(デフォルト: true)
exclude_bot_comments: true
scheduling:
interval: 300 # 秒
# プロジェクト固有エージェントルールの設定
project_agent_rules:
# 機能の有効/無効(デフォルト: true)
enabled: true
# 検索対象の設定
search:
# ルートファイル検索の有効/無効(AGENT.md, CLAUDE.md)(デフォルト: true)
root_files: true
# .github/agents/*.agent.md 検索の有効/無効(デフォルト: true)
agent_files: true
# **/*.prompt.md 検索の有効/無効(デフォルト: true)
prompt_files: true
# 大文字小文字を区別しない検索(デフォルト: true)
case_insensitive: true
# 制限設定
limits:
# 単一ファイルの最大サイズ(バイト)(デフォルト: 102400)
max_file_size: 102400 # 100KB
# 合計コンテンツの最大サイズ(バイト)(デフォルト: 512000)
max_total_size: 512000 # 500KB
# .agent.md ファイルの最大数(デフォルト: 10)
max_agent_files: 10
# .prompt.md ファイルの最大数(デフォルト: 50)
max_prompt_files: 50
# ディレクトリ検索の最大深度(デフォルト: 10)
max_depth: 10
# プロジェクトファイル一覧コンテキストの設定
file_list_context:
# 機能の有効/無効(デフォルト: true)
enabled: true
# 取得する最大階層深度(デフォルト: -1、無制限)
# 0: ルートディレクトリのみ、1: 1階層まで、-1: 無制限
max_depth: -1
# 一時停止・リジューム機能の設定
pause_resume:
# 一時停止機能の有効化
enabled: true
# 停止シグナルファイルのパス
signal_file: "contexts/pause_signal"
# 停止チェック間隔(LLMループのN回ごとにチェック)
check_interval: 1
# 一時停止タスクの有効期限(日数)
paused_task_expiry_days: 30
# 一時停止状態ディレクトリ
paused_dir: "contexts/paused"
# RabbitMQを使う場合はtrue、使わない場合はfalse
use_rabbitmq: true
rabbitmq:
host: host.docker.internal
port: 5672
user: guest
password: guest
queue: coding_agent_tasks
# 継続動作モードの設定
# docker-composeでproducerとconsumerを継続的に動作させる場合に使用
continuous:
# 継続動作モードの有効化(デフォルト: false)
# 注: この設定よりコマンドラインオプション --continuous が優先される
enabled: false
producer:
# タスク取得間隔(分)
interval_minutes: 1
# 起動時の初回実行を遅延させるか(デフォルト: false)
# trueの場合、起動直後にinterval_minutes待機してから最初のタスク取得を行う
delay_first_run: false
consumer:
# キュー取得タイムアウト(秒)
queue_timeout_seconds: 30
# タスク処理間の最小待機時間(秒、デフォルト: 0)
# レート制限などが必要な場合に設定
min_interval_seconds: 0
# ヘルスチェック設定
healthcheck:
# ヘルスチェックディレクトリ
dir: "healthcheck"
# ヘルスチェック更新間隔(秒)
update_interval_seconds: 60
# Command Executor MCP Server連携設定
command_executor:
# 機能の有効/無効(デフォルト: false)
# 環境変数 COMMAND_EXECUTOR_ENABLED で上書き可能
enabled: true
# 利用可能な実行環境(環境名: イメージ名)
# 計画フェーズでLLMがプロジェクトに適した環境を選択します
environments:
python: "coding-agent-executor-python:latest"
miniforge: "coding-agent-executor-miniforge:latest"
node: "coding-agent-executor-node:latest"
# デフォルト環境(環境選択に失敗した場合)
default_environment: "python"
# MCP Server設定
mcp_server:
# サーバー名
name: "command-executor"
# コマンド
command:
- "npx"
- "@sunwood-ai-labs/command-executor-mcp-server"
# Docker実行環境設定
docker:
# ベースイメージ(環境変数 EXECUTOR_BASE_IMAGE で上書き可能)
# ※environments設定が優先されます。環境選択に失敗した場合のフォールバック用
base_image: "ubuntu:25.04"
# リソース制限
resources:
# CPU制限(コア数)(環境変数 EXECUTOR_CPU_LIMIT で上書き可能)
cpu_limit: 2
# メモリ制限(環境変数 EXECUTOR_MEMORY_LIMIT で上書き可能)
memory_limit: "4g"
# ディスク制限
disk_limit: "10g"
# ネットワーク設定
network:
# 外部ネットワークアクセスの許可
external_access: true
# ホワイトリストモード(external_accessがtrueの場合のみ有効)
whitelist_mode: false
# 許可ドメインリスト
allowed_domains: []
# プロジェクトクローン設定
clone:
# 浅いクローンの使用
shallow: true
# 浅いクローンの深さ
depth: 1
# 依存関係の自動インストール
auto_install_deps: true
# コマンド実行設定
execution:
# コマンド実行の最大時間(秒)(環境変数 EXECUTOR_TIMEOUT で上書き可能)
timeout_seconds: 1800
# 出力の最大サイズ(バイト)
max_output_size: 1048576
# クリーンアップ設定
cleanup:
# 残存リソースのクリーンアップ間隔(時間)
interval_hours: 24
# 残存とみなす経過時間(時間)
stale_threshold_hours: 24
# 許可コマンド設定
allowed_commands:
# デフォルト許可リストを使用するか
use_default: true
# 追加で許可するコマンド
additional: []
# デフォルトから除外するコマンド
exclude: []
# テキスト編集MCP Server連携設定
text_editor_mcp:
# 機能の有効/無効(デフォルト: true)
# 環境変数 TEXT_EDITOR_MCP_ENABLED で上書き可能
# 有効時はGitHub/GitLab MCPが自動的に無効化され、
# ファイル操作はtext_editorとgitコマンドで行う
enabled: true
# MCP Server設定
mcp_server:
# サーバー名
name: "text-editor"
# コマンド
command:
- "npx"
- "-y"
- "mcp-server-text-editor"