@elyun/bylane 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyun/bylane",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Frontend development harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,6 +14,25 @@ description: byLane 메인 오케스트레이터. 자연어 의도를 파싱해
14
14
  1. `.bylane/bylane.json` 로드. 없으면 즉시 `bylane-setup` 스킬 실행.
15
15
  2. `.bylane/state/` 디렉토리 확인. 없으면 생성.
16
16
 
17
+ ## 에이전트별 모델 결정
18
+
19
+ 각 에이전트 실행 전 사용할 모델을 config에서 읽는다:
20
+
21
+ ```bash
22
+ node -e "
23
+ import('./src/config.js').then(({loadConfig, getAgentModel}) => {
24
+ const config = loadConfig()
25
+ const agents = [
26
+ 'orchestrator','issue-agent','code-agent','test-agent',
27
+ 'commit-agent','pr-agent','review-agent','respond-agent','notify-agent'
28
+ ]
29
+ agents.forEach(a => console.log(a + ': ' + getAgentModel(config, a)))
30
+ })
31
+ "
32
+ ```
33
+
34
+ 에이전트 호출 시 해당 모델을 `model` 파라미터로 전달한다.
35
+
17
36
  ## 의도 파싱 규칙
18
37
 
19
38
  입력을 분석하여 아래 중 하나로 분류:
@@ -32,6 +51,7 @@ description: byLane 메인 오케스트레이터. 자연어 의도를 파싱해
32
51
  ## 에이전트 실행 방법
33
52
 
34
53
  각 에이전트를 순서대로 Agent 도구로 호출한다. 이전 에이전트의 출력을 다음 에이전트의 입력으로 전달한다.
54
+ **config에서 읽은 모델을 `model` 파라미터로 반드시 전달한다.**
35
55
 
36
56
  상태 기록 (각 에이전트 시작 전):
37
57
  ```bash
package/skills/setup.md CHANGED
@@ -107,6 +107,32 @@ Linear API Key는 환경변수명(`LINEAR_API_KEY`)으로 저장. 실제 키값
107
107
  직접 입력 시 사용 가능한 토큰 목록 안내:
108
108
  `{tracker}`, `{type}`, `{issue-number}`, `{custom-id}`, `{title-slug}`, `{date}`, `{username}`
109
109
 
110
+ ## Step 7/7 — 에이전트 모델 설정
111
+
112
+ > 각 에이전트에 사용할 AI 모델을 설정하시겠습니까? (Enter = 기본값 사용)
113
+
114
+ 기본값을 보여주고 변경할 항목만 입력받는다:
115
+
116
+ | 에이전트 | 기본 모델 | 권장 용도 |
117
+ |----------|-----------|-----------|
118
+ | default | claude-sonnet-4-6 | 미지정 에이전트 fallback |
119
+ | orchestrator | claude-opus-4-6 | 의도 파싱, 파이프라인 조율 |
120
+ | issue-agent | claude-opus-4-6 | 이슈 생성/분석 |
121
+ | code-agent | claude-sonnet-4-6 | 코드 구현 (핵심) |
122
+ | test-agent | claude-haiku-4-5-20251001 | 테스트 실행 판단 (경량) |
123
+ | commit-agent | claude-haiku-4-5-20251001 | 커밋 메시지 생성 (경량) |
124
+ | pr-agent | claude-haiku-4-5-20251001 | PR 본문 생성 (경량) |
125
+ | review-agent | claude-sonnet-4-6 | 코드 리뷰 (정밀도 중요) |
126
+ | respond-agent | claude-opus-4-6 | 리뷰 대응 (판단력 중요) |
127
+ | notify-agent | claude-haiku-4-5-20251001 | 알림 발송 (경량) |
128
+
129
+ 사용 가능한 모델:
130
+ - `claude-opus-4-6` — 최고 성능, 높은 비용
131
+ - `claude-sonnet-4-6` — 균형 (권장)
132
+ - `claude-haiku-4-5-20251001` — 빠르고 저렴
133
+
134
+ `models.default`만 바꾸면 미지정 에이전트 전체에 적용됨을 안내한다.
135
+
110
136
  ## 저장
111
137
 
112
138
  모든 설정 수집 후:
package/src/config.js CHANGED
@@ -40,6 +40,18 @@ export const DEFAULT_CONFIG = {
40
40
  owner: '',
41
41
  repo: ''
42
42
  },
43
+ models: {
44
+ default: 'claude-sonnet-4-6',
45
+ orchestrator: 'claude-opus-4-6',
46
+ 'issue-agent': 'claude-opus-4-6',
47
+ 'code-agent': 'claude-sonnet-4-6',
48
+ 'test-agent': 'claude-haiku-4-5-20251001',
49
+ 'commit-agent': 'claude-haiku-4-5-20251001',
50
+ 'pr-agent': 'claude-haiku-4-5-20251001',
51
+ 'review-agent': 'claude-sonnet-4-6',
52
+ 'respond-agent': 'claude-opus-4-6',
53
+ 'notify-agent': 'claude-haiku-4-5-20251001'
54
+ },
43
55
  review: {
44
56
  model: 'claude-sonnet-4-6',
45
57
  language: 'ko',
@@ -85,6 +97,10 @@ function deepMerge(target, source) {
85
97
  return result
86
98
  }
87
99
 
100
+ export function getAgentModel(config, agentName) {
101
+ return config.models?.[agentName] ?? config.models?.default ?? DEFAULT_CONFIG.models.default
102
+ }
103
+
88
104
  export function saveConfig(config, dir = '.bylane') {
89
105
  const path = join(dir, 'bylane.json')
90
106
  writeFileSync(path, JSON.stringify(config, null, 2))