argo-search 2.9.7 → 2.9.9
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/README.en.md +73 -150
- package/README.es.md +73 -150
- package/README.ja.md +79 -156
- package/README.ko.md +78 -155
- package/README.md +80 -159
- package/SKILL.md +3 -3
- package/assets/readme/hero.svg +2 -2
- package/backends/domain_profiles.json +48 -0
- package/backends/engine_registry.yaml +118 -4
- package/backends/quota_profiles.json +92 -12
- package/backends/source_types_cn.json +27 -1
- package/bin/argo +78 -5
- package/bin/argo.js +33 -2
- package/config.yaml +269 -63
- package/docs/ARGO_INTRO.md +5 -3
- package/docs/ENGINE_CATALOG.md +50 -39
- package/docs/MCP_SETUP.md +3 -1
- package/docs/RELEASE_NOTES_v2.9.8.md +73 -0
- package/docs/RELEASE_NOTES_v2.9.9.md +78 -0
- package/engines/specs/cfets.yaml +41 -0
- package/engines/specs/defillama.yaml +38 -0
- package/engines/specs/firecrawl.yaml +1 -1
- package/engines/specs/fxtwitter.yaml +5 -0
- package/engines/specs/gleif.yaml +55 -0
- package/engines/specs/hkex.yaml +40 -0
- package/engines/specs/keenable_free.yaml +36 -0
- package/engines/specs/shfe.yaml +39 -0
- package/engines/specs/stackexchange.yaml +2 -2
- package/engines/specs/tavily_free.yaml +56 -0
- package/engines/specs/yuanbao.yaml +93 -0
- package/mcp/clients.yaml +32 -0
- package/package.json +7 -2
- package/packages/dsh-plugin/README.md +25 -6
- package/packages/dsh-plugin/dsh/client.js +402 -47
- package/packages/dsh-plugin/dsh/diagnostics.js +97 -0
- package/packages/dsh-plugin/dsh/index.js +135 -1876
- package/packages/dsh-plugin/dsh/native-tools.mjs +7 -1
- package/packages/dsh-plugin/dsh/runner.js +666 -0
- package/packages/dsh-plugin/dsh/wide-research.js +878 -0
- package/packages/dsh-plugin/package.json +3 -3
- package/packages/dsh-plugin/scripts/sync-local.sh +70 -0
- package/packages/dsh-plugin/test/client.test.js +177 -2
- package/packages/dsh-plugin/test/diagnostics.test.js +28 -0
- package/packages/dsh-plugin/test/index.test.js +44 -0
- package/scripts/adaptive.py +126 -43
- package/scripts/article_meta.py +131 -0
- package/scripts/bench_tail_ab.py +281 -0
- package/scripts/bounded_run.py +91 -49
- package/scripts/budget.py +247 -0
- package/scripts/budget_cli.py +93 -0
- package/scripts/build_release_assets.sh +65 -0
- package/scripts/cache.py +60 -72
- package/scripts/ci_drift_gate.py +90 -0
- package/scripts/clock_bridge.py +22 -0
- package/scripts/content_boundary.py +46 -0
- package/scripts/content_security.py +119 -4
- package/scripts/content_signals.py +26 -5
- package/scripts/cross_lingual_trace.py +293 -0
- package/scripts/dispatch_result.py +105 -0
- package/scripts/engine_add.py +602 -0
- package/scripts/engine_dispatch.py +58 -86
- package/scripts/engine_env.py +5 -0
- package/scripts/engine_families.py +6 -0
- package/scripts/engine_policy.py +7 -7
- package/scripts/engines.py +21 -0
- package/scripts/engines_base.py +3 -3
- package/scripts/engines_builders.py +12 -0
- package/scripts/engines_builders_batch10.py +48 -3
- package/scripts/engines_builders_batch14.py +656 -0
- package/scripts/engines_builders_batch15.py +249 -0
- package/scripts/engines_builders_keyless.py +111 -0
- package/scripts/engines_builders_tech.py +0 -1
- package/scripts/evidence.py +31 -3
- package/scripts/evidence_loop.py +58 -22
- package/scripts/fetch_quality.py +13 -0
- package/scripts/fetch_v3.py +28 -3
- package/scripts/gen_routing_snapshot.py +11 -0
- package/scripts/http_client.py +24 -38
- package/scripts/install.ps1 +18 -0
- package/scripts/install.sh +16 -1
- package/scripts/job.py +3 -3
- package/scripts/local_seek.py +41 -5
- package/scripts/macro_countries.py +15 -0
- package/scripts/matrix_search_eval.py +192 -0
- package/scripts/mcp_compact.py +234 -0
- package/scripts/mcp_handlers.py +60 -642
- package/scripts/mcp_launch.sh +10 -8
- package/scripts/mcp_local.py +241 -0
- package/scripts/mcp_server.py +19 -14
- package/scripts/mcp_setup.py +33 -9
- package/scripts/mcp_tools.py +1 -0
- package/scripts/mcp_transport.py +1 -1
- package/scripts/mcp_warm.py +127 -0
- package/scripts/net_proxy.py +27 -0
- package/scripts/output_transparency.py +200 -0
- package/scripts/paid_policy.py +98 -0
- package/scripts/quota.py +158 -13
- package/scripts/recovery.py +7 -3
- package/scripts/recovery_runner.py +150 -0
- package/scripts/replay_eval.py +18 -0
- package/scripts/research.py +37 -21
- package/scripts/research_expand.py +24 -1
- package/scripts/retry_policy.py +76 -0
- package/scripts/route.py +6 -6
- package/scripts/route_cache.py +18 -0
- package/scripts/route_combo.py +26 -5
- package/scripts/route_domains.py +170 -31
- package/scripts/safe_conn.py +52 -0
- package/scripts/search.py +15 -27
- package/scripts/search_attribution.py +100 -3
- package/scripts/search_cli.py +24 -11
- package/scripts/search_entry.py +8 -1
- package/scripts/search_output.py +99 -15
- package/scripts/search_pipeline.py +62 -195
- package/scripts/search_rank.py +6 -0
- package/scripts/search_types.py +107 -9
- package/scripts/semantic_evidence.py +179 -3
- package/scripts/serp_guard.py +138 -7
- package/scripts/serp_kill_log.py +25 -2
- package/scripts/stats_cli.py +13 -1
- package/scripts/tail_completion.py +212 -0
- package/scripts/url_safety.py +126 -3
- package/scripts/usage_log.py +45 -0
- package/scripts/wide_research.py +45 -0
- package/scripts/zhihu_quota.py +139 -0
- package/sub-skills/local-search/bm25.py +27 -3
- package/sub-skills/local-search/cli_runner.py +331 -0
- package/sub-skills/local-search/parsers.py +328 -0
- package/sub-skills/local-search/search_v3.py +31 -674
- package/sub-skills/local-seek/scripts/seek_rank.py +7 -3
- package/assets/readme/settings-keys.png +0 -0
- package/assets/readme/settings-tools.png +0 -0
- package/sub-skills/ego-search/references/browser-runtime.md +0 -43
- package/sub-skills/ego-search/references/install.md +0 -67
- package/sub-skills/ego-search/references/original-ego-upgrade.md +0 -51
- package/sub-skills/ego-search/tests/test_query_normalize.py +0 -68
- package/sub-skills/js-run/tests/fixtures/challenge_like.js +0 -27
- package/sub-skills/js-run/tests/test_jsrun.py +0 -165
- package/sub-skills/local-seek/references/auto-behaviors.md +0 -24
- package/sub-skills/local-seek/references/fd-mdfind-recipes.md +0 -62
- package/sub-skills/local-seek/references/git-integration.md +0 -54
- package/sub-skills/local-seek/references/remote-handoff.md +0 -46
- package/sub-skills/local-seek/references/rg-recipes.md +0 -96
- package/sub-skills/local-seek/references/strategies.md +0 -52
- package/sub-skills/local-seek/references/structural-search.md +0 -59
- package/sub-skills/local-seek/tests/test_content_rank.py +0 -222
- package/sub-skills/local-seek/tests/test_determinism_20261006.py +0 -145
- package/sub-skills/local-seek/tests/test_noise_tier.py +0 -101
- package/sub-skills/local-seek/tests/test_pcre2_probe.py +0 -136
- package/sub-skills/local-seek/tests/test_rank_pinyin.py +0 -77
- package/sub-skills/local-seek/tests/test_regression_20261003.py +0 -169
- package/sub-skills/local-seek/tests/test_regression_20261006.py +0 -146
- package/sub-skills/local-seek/tests/test_seek_degradation.py +0 -111
- package/sub-skills/local-seek/tests/test_seek_fts.py +0 -313
package/README.ko.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/readme/hero.svg" width="100%" alt="Argo 아르고: 에이전트를 위한 검색과 심층 리서치 도구,
|
|
2
|
+
<img src="assets/readme/hero.svg" width="100%" alt="Argo 아르고: 에이전트를 위한 검색과 심층 리서치 도구, 272개 검색 소스, 도메인·언어별 라우팅, 흡수 가능한 증거 출력">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
<p align="center">
|
|
25
25
|
<img alt="license" src="https://img.shields.io/badge/license-Apache_2.0-blue">
|
|
26
26
|
<img alt="python" src="https://img.shields.io/badge/python-3.9+-green">
|
|
27
|
-
<img alt="version" src="https://img.shields.io/badge/version-2.9.
|
|
28
|
-
<img alt="engines" src="https://img.shields.io/badge/engines-
|
|
27
|
+
<img alt="version" src="https://img.shields.io/badge/version-2.9.9-informational">
|
|
28
|
+
<img alt="engines" src="https://img.shields.io/badge/engines-272-orange">
|
|
29
29
|
<img alt="mcp" src="https://img.shields.io/badge/MCP-19%20tools-purple">
|
|
30
30
|
</p>
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
## 무엇인가
|
|
37
37
|
|
|
38
|
-
**Argo는 에이전트에 설치하는 검색·심층 리서치 도구이며, 관련 웹페이지의 정보도 가져올 수 있습니다. 뒤에는
|
|
38
|
+
**Argo는 에이전트에 설치하는 검색·심층 리서치 도구이며, 관련 웹페이지의 정보도 가져올 수 있습니다. 뒤에는 272개의 검색 소스가 있고 97개 업무 영역을 커버하며, 로컬 파일 기본 검색도 지원합니다. 오픈소스 검색 프로젝트 가운데 매우 강력한 검색 능력을 갖췄습니다.**
|
|
39
39
|
|
|
40
40
|
API Key를 설정하면 검색 품질이 올라갑니다(키가 있는 소스는 보통 더 좋고, 없으면 자동으로 건너뜀). 무료 엔진과 로컬 엔진이 자동으로 보루 역할을 합니다. 중국어·영어·일본어·한국어 등 18개 언어를 커버하고, 금융·학술·영화·스포츠·코드·매크로 같은 수직 시나리오를 지원합니다.
|
|
41
41
|
|
|
@@ -57,7 +57,8 @@ Argo의 능력은 네 개의 하위 스킬(sub-skills)로 구성되며, 각 하
|
|
|
57
57
|
Argo는 DeepSeek Harness 플러그인이기도 하며, 명령 한 줄로 설치합니다:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
dsh plugin --profile web add
|
|
60
|
+
dsh plugin --profile web add argo-search # npm 릴리스판
|
|
61
|
+
dsh plugin --profile web add "github:taxueseek/argo" # GitHub main
|
|
61
62
|
```
|
|
62
63
|
|
|
63
64
|
설치 후 `dsh web`을 재시작하면 적용됩니다. 검색과 긁기가 네이티브 1급 도구가 되어 MCP 연결에 의존하지 않고 상주 컨텍스트 비용도 차지하지 않습니다. 그 외 `wide_research` 병렬 리서치 1개와 MCP 도구 19개를 필요할 때 켤 수 있습니다. 전체 연동 형태는 아래에서.
|
|
@@ -81,11 +82,15 @@ dsh plugin --profile web add "github:taxueseek/argo"
|
|
|
81
82
|
플러그인에는 브라우저 측 설정 페이지가 내장되어 있고 입구는 두 곳입니다: 설정 팝업(`Cmd+,`)의 왼쪽 메뉴 항목 "Argo", 또는 설정 > 플러그인 > Argo(같은 패널의 요약 카드, 클릭하면 열립니다).
|
|
82
83
|
|
|
83
84
|
<p align="center">
|
|
84
|
-
<img src="assets/readme/settings-tools.
|
|
85
|
+
<img src="assets/readme/settings-tools.webp" width="100%" alt="Argo 설정 페이지 '도구': 네이티브 18개 도구 체크 — 고빈도 경로는 argo_search / argo_fetch 기본 on, 롱테일 16개는 필요 시. 아래에 단발 타임아웃과 반환 상한">
|
|
85
86
|
</p>
|
|
86
87
|
|
|
87
88
|
<p align="center">
|
|
88
|
-
<img src="assets/readme/settings-
|
|
89
|
+
<img src="assets/readme/settings-engines.webp" width="100%" alt="Argo 설정 페이지 '엔진': argo 본체의 28개 동작 스위치를 패널로 — 캐시 / TF-IDF 리랭크 / 수치 교차 검증 / MinHash 중복 제거 / SERP 가드와 중복 임계값. 미설정 행은 기본값, 저장 즉시 적용">
|
|
90
|
+
</p>
|
|
91
|
+
|
|
92
|
+
<p align="center">
|
|
93
|
+
<img src="assets/readme/settings-keys.webp" width="100%" alt="Argo 설정 페이지 '키': DeepSeek 공식 검색은 '설정됨 · 자격 증명 저장소'로 호스트 web_search와 같은 키를 공유. Tencent Yuanbao / Tavily 등 주요 엔진 키 입력·갱신·삭제, 평문 미표시">
|
|
89
94
|
</p>
|
|
90
95
|
|
|
91
96
|
| 구역 | 관리 내용 |
|
|
@@ -118,7 +123,7 @@ dsh plugin --profile web add "github:taxueseek/argo"
|
|
|
118
123
|
|
|
119
124
|
## 핵심 강점
|
|
120
125
|
|
|
121
|
-
**
|
|
126
|
+
**272개 소스, 그중 235개는 키 없이 바로 사용.** API Key를 하나도 설정하지 않아도 돌아가고, 무료 엔진과 로컬 엔진이 자동으로 보루 역할을 합니다. 키가 있는 소스는 보통 더 좋고, 없으면 자동으로 건너뜁니다. 한 번 설치로 모든 시나리오를 커버합니다.
|
|
122
127
|
|
|
123
128
|
**로컬 검색 + 네트워크 검색 일체.** Argo만의 능력입니다. 로컬 파일 검색의 밑바탕은 rg, mdfind 같은 개발자 일상 도구로, 코드 심볼·파일명·문서 전문·파일 구조를 검색합니다. 스위치 하나면 로컬 적중이 같은 네트워크 검색 결과에 합쳐지고, 결과에는 출처가 로컬 파일이라고 표시됩니다. 글을 쓰다가 반년 전에 적어 둔 문단이 기억나는데 어디에 있는지 모를 때, 폴더를 뒤지는 것보다 이 검색이 빠릅니다.
|
|
124
129
|
|
|
@@ -140,8 +145,10 @@ dsh plugin --profile web add "github:taxueseek/argo"
|
|
|
140
145
|
# 방식 1: 원클릭 스크립트(로컬 장기 사용 권장)
|
|
141
146
|
curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh | bash
|
|
142
147
|
|
|
143
|
-
# 방식 2:
|
|
144
|
-
|
|
148
|
+
# 방식 2: npm / npx(지원됨, 현재 2.9.9, tag마다 배포·버전 고정)
|
|
149
|
+
npm install -g argo-search # CLI 전역 설치
|
|
150
|
+
npx -y argo-search # 또는 설치 없이 즉시 사용
|
|
151
|
+
npx -y github:taxueseek/argo # main 최신 커밋을 따라가려면 이 명령
|
|
145
152
|
|
|
146
153
|
# 방식 3: git clone(개발 / 소스 수정)
|
|
147
154
|
git clone https://github.com/taxueseek/argo.git
|
|
@@ -170,7 +177,7 @@ Argo는 네 가지 연동 방식을 지원합니다. 시나리오에 맞게 고
|
|
|
170
177
|
| **MCP Server** | 에이전트 상주 마운트 | 19개 검색 도구를 언제든 사용, 명령 한 줄로 Claude Code / Cursor / Windsurf / Codex / OpenCode / Cline에 주입, 설정 작성 전 자동 백업 |
|
|
171
178
|
| **DSH 플러그인** | DeepSeek Harness 사용자 | `dsh plugin add` 한 줄로 설치, 검색과 긁기가 네이티브 1급 도구가 되어 MCP 연결에 의존하지 않고 상주 컨텍스트도 차지하지 않음. 저장 즉시 적용되는 6개 구역 설정 페이지 내장 |
|
|
172
179
|
| **Skill 파일** | Claude Code / Grok Build / Kimi 등 | 스킬 패키지를 에이전트의 스킬 디렉터리에 넣으면 「좀 찾아봐」「확인해봐」에 알아서 검색 |
|
|
173
|
-
| **npx 즉시 사용** | 빠르게 시험 | `npx -y github:taxueseek/argo
|
|
180
|
+
| **npx 즉시 사용** | 빠르게 시험 | `npx -y argo-search`(npm 릴리스판) 또는 `npx -y github:taxueseek/argo`(main), 설치 없이 임시로 아무 클라이언트에 MCP를 붙이기 좋음 |
|
|
174
181
|
|
|
175
182
|
네 가지 형태의 밑바탕은 같은 Python 코드이며, CLI와 MCP 도구는 일대일로 대응하므로 어느 형태로 설치해도 능력이 빠지지 않습니다.
|
|
176
183
|
|
|
@@ -200,10 +207,10 @@ Argo는 네 가지 연동 방식을 지원합니다. 시나리오에 맞게 고
|
|
|
200
207
|
1. **링크에서 증거로.** 에이전트는 정렬·검증 가능하고 컨텍스트에 맞는 구조화 자료가 필요 — Argo는 신뢰도 분해 JSON을 반환.
|
|
201
208
|
2. **컨텍스트가 첫 번째 비용.** 에이전트 프로필은 회당 약 3.7KB, 필드와 바이트 예산은 게이트로 고정.
|
|
202
209
|
3. **사이트들이 AI용 콘텐츠를 준비.** llms.txt와 `.md` 직접 출력이 확산 — fetch 체인이 레벨 0에서 자동 탐지, r.jina.ai 리더가 fallback.
|
|
203
|
-
4. **무료 오픈 생태계로 충분.** 정부·학술·표준·보안 공개 API와 키리스 엔진이 대부분 도메인을 커버 (무설정
|
|
210
|
+
4. **무료 오픈 생태계로 충분.** 정부·학술·표준·보안 공개 API와 키리스 엔진이 대부분 도메인을 커버 (무설정 235개).
|
|
204
211
|
5. **품질은 측정 가능.** 랭킹 골든 플로어, 융합 이득 어블레이션 게이트, 음의 라우팅 제어.
|
|
205
212
|
|
|
206
|
-
> v2.9.
|
|
213
|
+
> 위 다섯 항목은 이미 v2.9.x 계열에서 모두 구현되었습니다: 272 소스 / 97 도메인 / 235 무설정.
|
|
207
214
|
|
|
208
215
|
---
|
|
209
216
|
|
|
@@ -273,7 +280,7 @@ composite ≈ 0.40·selection + 0.35·absorption + 0.15·freshness + 0.10·engi
|
|
|
273
280
|
|
|
274
281
|
## 빠른 시작
|
|
275
282
|
|
|
276
|
-
경로를 고르면 됩니다.
|
|
283
|
+
경로를 고르면 됩니다. **npm 설치를 지원하며 최신 버전은 2.9.9**, GitHub와 마찬가지로 이 저장소에서 배포합니다. npm 경로는 `npm install -g argo-search` 또는 `npx -y argo-search`로 tag마다 배포되어 버전이 고정되고 다운로드도 작습니다. GitHub 경로는 `install.sh` / `install.ps1` 또는 `npx github:taxueseek/argo`로 main을 따릅니다. 앞으로는 tag를 만들 때마다 CI가 npm 두 패키지와 GitHub Release를 함께 배포합니다. registry의 낡은 v1.0.1은 역사 버전이니 고정하지 마세요.
|
|
277
284
|
|
|
278
285
|
**제로 설정으로 동작**: API 키 없이도 무료 엔진 + 로컬 `local_*` 엔진이 돌고, 키 없는 엔진은 스킵됩니다(키가 있으면 보통 더 좋습니다).
|
|
279
286
|
|
|
@@ -343,9 +350,11 @@ DeepSeek Harness에는 두 가지 설치:
|
|
|
343
350
|
|
|
344
351
|
```bash
|
|
345
352
|
# A: mcp__argo__* 도구 19개 (메인 패키지 bundle, MCP 전량과 동일)
|
|
346
|
-
dsh plugin --profile web add
|
|
353
|
+
dsh plugin --profile web add argo-search # npm 릴리스판
|
|
354
|
+
dsh plugin --profile web add "github:taxueseek/argo" # GitHub main
|
|
347
355
|
|
|
348
356
|
# B: 검색 도구 + wide_research 병렬 연구 오케스트레이션 (서브패키지)
|
|
357
|
+
dsh plugin --profile web add @taxueseek/argo-dsh # npm 릴리스판
|
|
349
358
|
dsh plugin --profile web add "github:taxueseek/argo#main&path:packages/dsh-plugin"
|
|
350
359
|
```
|
|
351
360
|
|
|
@@ -456,14 +465,18 @@ python3 scripts/search.py --list-engines
|
|
|
456
465
|
| `deep` | 연구, 조사 | 품질 우선, 엔진 더 허용 |
|
|
457
466
|
| `budget` | 할당량 타이트 | 쿼터 제어, 소진 시 저하 |
|
|
458
467
|
|
|
459
|
-
### 대략적인 능력 세트 (v2.9.
|
|
468
|
+
### 대략적인 능력 세트 (v2.9.9)
|
|
460
469
|
|
|
461
|
-
Argo가 하는 일을 한 줄로 말하면, 질문을 도메인과 언어로 알맞은 소스에 보내고, 돌아온 결과를 신뢰도로 줄세워, 에이전트에는 줄세우고 검증할 수 있는 재료를 넘긴다. 검색·긁기·증거 확인·로컬 파일 검색은 같은 파이프라인을 흐르고, 19개 MCP 도구는 CLI 명령과 일대일로 대응하므로 어떤 형태로 설치해도 능력이 빠지지 않는다. 단독 명령도 몇 개 있다: argo tweet은 X 게시물을 묶고, argo auth는 로그인 상태를 관리하며, argo job은 채용 정보를 모은다. 전체 소스의 비용·키·상태는 docs/ENGINE_CATALOG.md에 있다:
|
|
470
|
+
Argo가 하는 일을 한 줄로 말하면, 질문을 도메인과 언어로 알맞은 소스에 보내고, 돌아온 결과를 신뢰도로 줄세워, 에이전트에는 줄세우고 검증할 수 있는 재료를 넘긴다. 검색·긁기·증거 확인·로컬 파일 검색은 같은 파이프라인을 흐르고, 19개 MCP 도구는 CLI 명령과 일대일로 대응하므로 어떤 형태로 설치해도 능력이 빠지지 않는다. 단독 명령도 몇 개 있다: argo tweet은 X 게시물을 묶고, argo auth는 로그인 상태를 관리하며, argo job은 채용 정보를 모은다. 전체 소스의 비용·키·상태는 docs/ENGINE_CATALOG.md에 있다: 272 소스, 235 무설정, 97 도메인.
|
|
462
471
|
|
|
463
472
|
DSH 플러그인으로 설치하면 이 능력들이 호스트의 네이티브 도구가 된다. 고빈도 검색과 긁기는 기본으로 켜져 있고, 롱테일 포렌식은 설정 페이지에서 필요에 따라 체크하며, argo 본체의 28개 동작 스위치(캐시, 재순위, 중복 제거, 가드, 프록시, TTL 등)는 환경 변수에서 패널로 옮겨졌다. 키는 호스트 凭证库에 들어가고, 평문은 표시되지 않으며, 모든 변경은 저장 즉시 적용된다.
|
|
464
473
|
|
|
465
474
|
최근 몇 판이 각자 한 부류의 문제를 고쳤다.
|
|
466
475
|
|
|
476
|
+
v2.9.9는 보안과 제공 품질의 판이다. 콘텐츠 보안 엔진은 채점만 하고 막지 않아 고위험 주입 페이지가 그대로 컨텍스트에 들어갔다. 이제 임계값을 넘으면 격리하고, 세척된 본문으로 갈아치우며, 증거 점수에도 들어가지 않는다. 네트워크 출구에는 두 겹의 방어가 더해졌다. 리다이렉트는 홉마다 검증하고, DNS 해석 결과는 해당 연결에 못 박는다. 디스패치 쪽에서는 조기 중단으로 버려진 느린 엔진의 결과를 더 이상 버리지 않는다. 백그라운드에서 회수하고, 유예 시간 안에 끝나면 평소처럼 제공하며 학습기에 실제 성적을 기록한다. 라우팅은 여섯 부류의 실전 시나리오 스캔으로 다섯 부류의 오라우팅을 거뒀다. A주 금융 쿼리, 기업 듀딜리전스/개표/사람으로 회사 찾기, 민사 실무, 약 설명서, 논문 작성 하우투가 제자리를 찾는다. 이번 판에 argo engine add로 새 엔진을 한 단계에 붙일 수 있고, DSH 설정 페이지에는 라우팅 관측 카드와 도구 추천 조합이 생겼다.
|
|
477
|
+
|
|
478
|
+
v2.9.8은 라우팅 정밀도와 피드백 루프를 닫는 버전입니다. issue #18의 세 가지 —「latest」가 실시간 뉴스로 잘못 분류됨, people_daily가 일치하지 않을 때 기본 feed를 반환함, local_bing이 「2026」만 매칭함 — 을 모두 재현해 고쳤습니다. 같은 관점으로 실제 쿼리를 재생해 16개 클래스의 오탐을 더 좁혔습니다. 브랜드명 속 「눈」, 제품명 속 「火山引擎」, UI 트러블슈팅의 「아이콘」, 상공/금융 필드의 「코드」, 코드 문맥의 「환율」 등입니다. SERP 커버리지 게이트와 CJK 교차 검증도 넣어 「결과가 나왔다=관련 있다」로 끝나지 않게 했습니다. 재현과 진단을 도와준 @wpp666에게 감사합니다.
|
|
479
|
+
|
|
467
480
|
v2.9.7이 고친 것은 세 개의 오래된 병이다. DSH 호스트 안의 AI가 URL을 읽을 때 호스트 자체 긁기를 써서 단축 링크 점프·JS 챌린지 페이지가 구조적으로 실패하기 일쑤였고, argo의 긁기 체인은 쓸 일이 없었다; 이 판에 호스트 읽기가 argo를 흘러 그런 페이지가 실패→성공으로 바뀌고, 일반 페이지는 그대로다. 라우팅 후보 풀에 명시 전용 18개 엔진이 섞여 자동 선택되면 유일한 유료 엔진이 조용히 과금될 위험이 있었는데, 지금은 후보 풀에 없고 쓰려면 명시해야 한다. 엔진이 성공할 때마다 회로 차단기가 파일 잠금으로 디스크를 다시 썼는데, 건강 상태에서는 파일 오버헤드가 제로이고 다중 엔진 부기도 한 트랜잭션에 합쳐진다. License도 MIT에서 Apache-2.0으로 바뀌어 상용 이용이 한결 편해졌다.
|
|
468
481
|
|
|
469
482
|
그 후 DSH 플러그인에 또 한 층이 더해졌다. 설정 페이지는 다섯 구역에서 여섯 구역으로 늘었고, 새 「引擎」 구역이 argo 본체의 동작 스위치를 패널에 담았다(기존에는 환경 변수뿐). 키 페이지에서는 각 키가 凭证库, 시작 환경, `.env` 중 어디에서 오는지 보이게 됐고, 도구 체크·타임아웃·동시성·연구 상한은 모두 저장 즉시 적용된다. 취소도 연결 수립 단계까지 도달해, AI가 중간에 멈추면 아직 뜨고 있는 argo 서브프로세스는 타임아웃을 기다리지 않고 즉시 죽는다.
|
|
@@ -479,7 +492,7 @@ v2.9.4가 고친 것은 명시 엔진 지정 경로다. --engine X를 지정하
|
|
|
479
492
|
|
|
480
493
|
## 엔진과 라우팅
|
|
481
494
|
|
|
482
|
-
설정에는 현재 **
|
|
495
|
+
설정에는 현재 **272** 소스(**235**개는 키 불필요)와 **97** 도메인이 있습니다 (`config.yaml`, `--list-engines` 참고).
|
|
483
496
|
|
|
484
497
|
### 직접·수직 (발췌)
|
|
485
498
|
|
|
@@ -493,7 +506,8 @@ v2.9.4가 고친 것은 명시 엔진 지정 경로다. --engine X를 지정하
|
|
|
493
506
|
| arxiv / semantic_scholar / openalex | 학술 | mostly free |
|
|
494
507
|
| pubchem / gbif / rfc_editor | 화학 / 종 / 표준 | free |
|
|
495
508
|
| github / stackoverflow / pypi / npm | 코드·패키지 | depends |
|
|
496
|
-
| byted / bocha / metaso / octen | 중국 웹 / AI 검색 | API /
|
|
509
|
+
| byted / bocha / metaso / octen / yuanbao | 중국 웹 / AI 검색 | API / 저비용 |
|
|
510
|
+
| hkex / shfe / cfets / defillama / gleif | 홍콩 공시 / 상기소 / 위안화 중간가 / DeFi / 법인 식별자 | 무료 |
|
|
497
511
|
| zhihu / wechat_sogou | 중국 여론 / WeChat | API / free |
|
|
498
512
|
| tavily / felo / exa | 국제 / 시맨틱 | paid or quota |
|
|
499
513
|
| twitter / reddit / xiaohongshu / bilibili / weibo | 소셜 UGC | free (some need login) |
|
|
@@ -678,126 +692,33 @@ argo/
|
|
|
678
692
|
|
|
679
693
|
## 최근 업데이트
|
|
680
694
|
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
- **여섯 번째 설정 구역 "引擎"**: argo 본체의 28개 동작 스위치를 환경 변수에서 패널로 옮김(캐시 / TF-IDF 재순위 / 수치 교차 검증 / MinHash 중복 제거 / SERP 가드, Jina / 모바일 UA / Parallel 긁기 계층, 의미 증거 계층, 헤지 여유와 꼬리 폭, 엔진 활성화 목록, 프록시, 로컬 검색 루트와 읽기 허용 목록, 웜업 / 사용 로그 / 연결 풀 / 각종 TTL). 새 volatile 설정 `argoEnv`(한 줄에 하나의 `KEY=VALUE`)로 argo 서브프로세스 env에 반영. 이름은 `ARGO_ENV_SPECS` 허용 목록을 거치고 허용 목록 밖은 apply 시점에 loud fail하므로 오타가 조용히 무효가 되는 일을 막는다. 스위치류는 즉시 반영, 숫자·텍스트·목록류는 그룹 저장. 미설정 행은 argo 기본값을 표시하고 "默认"로 표기. 인가 계열 스위치(재계산 실행, 인트라넷 URL)는 의도적으로 패널에 넣지 않음
|
|
684
|
-
- **키 출처 계층이 보이게**: "설정됨 / 미설정 + 출처 계층(凭证库 / 시작 환경 / 프로젝트 .env / 홈 .env) + 읽기 전용 상태"를 표시하고 file 계층 외에는 저장 시 덮어쓰임을 안내. `DEEPSEEK_API_KEY`는 호스트의 `web_search`와 공유임을 명기. `fetchMaxChars`는 저장 시 argo 도구 스키마 상한 50000으로 잘라 "표시값과 실효값의 불일치"를 해소
|
|
685
|
-
- **취소가 연결 수립까지 도달**: `acquireMcp`가 연결 수립 중에도 취소를 인정하게 됨. abort하면 서브프로세스를 죽이고 `WEB_ABORTED`로 마무리하며 타임아웃까지 기다리지 않음. 취소는 단발 폴백에도 관통
|
|
686
|
-
- **수정**: 증거 중복 제거가 대소문자를 삼키지 않게 됨. `effect`가 없는 구형 호스트에서 활성화가 폭발하지 않게 됨. `saveKey` / `setForward` / `toggleTool`이 실시간 스냅샷을 읽어 연속 조작의 레이스로 갱신이 유실되던 문제를 수정. `describe` 응답은 순서 뒤섞임을 방어하고 최신 요청의 응답만 인정
|
|
687
|
-
|
|
688
|
-
### v2.9.7: 아키텍처 수렴——DSH web_fetch 심 + explicit_only 계약 + 상태 계약 통일(License Apache-2.0으로)
|
|
689
|
-
|
|
690
|
-
- **License 변경**: MIT → Apache License 2.0(특허 허가가 명시되어 상용에 더 안전; 그 외 불변)
|
|
691
|
-
- **DSH 플러그인 web_fetch 심**: 호스트 web_fetch가 「이 URL을 읽는다」는 기본 경로로 argo를 완전히 우회했으나, fetch provider를 등록해 argo_fetch 체인을 흐르게 함(HTTP 우선, Cloudflare / JS 렌더링 시 반탐지 브라우저로 자동 승급); search provider와 동형의 쌍로 실행——상주 MCP 풀 우선, 전송층 고장 시에만 CLI 단발 폴백, 도구 레벨 오류와 타임아웃은 재발송 안 함(호출은 이미 끝났으니 재발송은 엔진 호출과 쿼터만 배로); 실패는 다섯 부류(타임아웃 / 차단 / 빈 결과 / 일반 / 취소)로 분류해 실행 가능 문구를 부여; 새 설정 `fetchProviderEnabled` / `fetchProviderId` / `fetchTimeoutMs`(기본 25000) / `fetchMaxChars`(기본 50000)는 기본 전체 개방·탈출구 포함; 실측: 크로스 오리진 점프(단축 링크, 프로토콜 승급, 리다이렉트 껍질)와 JS 챌린지 페이지가 호스트 구조적 실패에서 argo 성공으로, 일반 정적 페이지는 품질 불변
|
|
692
|
-
- **explicit_only 계약 수렴**: `config._routable_filter`는 환경 흑백 목록 / 키 / 차단만 걸러 explicit_only는 걸지 않아, 18개 명시 전용 엔진(유일한 유료 `deepseek_search` 포함)이 enabled 후보 풀에 누운 채 TF-IDF 주입·catch-all·backfill·폴백 등 여섯 경로 전부가 선택할 수 있었음——안 터진 건 코퍼스에 표제어가 없어서뿐, 한 줄 추가하면 auto 단에서 유료 엔진을 병렬 호출해 과금됨; 이제 후보 풀 유일 생산자 한 곳에서 걸러내고 `tests/test_explicit_only_gate.py`가 세 계약(주입 미편입 / 후보 풀 제외 / 명시 `--engine` 정상 단발)을 잠금
|
|
693
|
-
- **상태 계약 통일**: 회로 차단기는 건강 closed 상태에 카운트 0일 때 메모리 단락(파일 잠금 제로·디스크 재기록 제로), `(st_mtime_ns, st_size)`로 크로스 프로세스 변경을 감지; adaptive 부기는 `MAX(created_at)`을 단일 집약 SQL에 통합하고 `batch()` 컨텍스트 매니저로 다중 엔진 부기를 단일 트랜잭션으로; 쿼터 고갈은 유효 자격증명 지문을 기록하고 새 키 교체 시 자동 잠금 해제; route 캐시는 콤보 엔진 고갈 또는 기존 고갈 엔진 회복 시 자동 무효 재계산; `is_engine_routable` 단일 입입 술어가 backfill / tfidf / breaker_filter의 다층 필터를 수렴
|
|
694
|
-
- **스케줄과 전송**: auto / deep 단에서도 쿼터 하드 고갈 엔진을 제거(fail-open 폴백); 헤지 대기 창을 좁히고 조기 정지 판정을 완화(Wave-1 크로스 엔진 누적 충족 시 정지, Wave-2 미기동); POST 연결 풀 개통(anysearch 약 320ms / octen 약 561ms 매번 절약) + MCP 사전 연결; 기상 도메인에 `early_stop_min_results: 1` 추가
|
|
695
|
-
- **하위 기술 열경로 감산**: js-run이 SIGALRM을 MiniRacer 네이티브 timeout으로 교체해 crawl / research / mcp 작업 스레드 호출 시 반드시 던지던 `ValueError: signal only works in main thread` 붕괴를 근절; local-seek 재정렬이 매번 O(N) 읽기와 JSON 파싱을 해소; local-search가 registry를 재사용해 이중 YAML 파싱을 해소; ego-search가 auto 하에서 탐침을 필요 시 단락
|
|
696
|
-
- **검증**: 플러그인 단위 테스트 71 passed; argo 전량 회귀 4264 passed / 28 skipped; pre-commit 일곱 문 123 passed; fetch 체인 대비에서 일반 페이지 비퇴행, 크로스 오리진 점프와 JS 챌린지는 실패→성공
|
|
697
|
-
|
|
698
|
-
### v2.9.6: DeepSeek Search 엔진 + 쿼리 연산자 계약 + 传输층 연결 풀 + 라우팅 스냅샷 문
|
|
699
|
-
|
|
700
|
-
- 새 엔진 `deepseek_search`(공식 `api.deepseek.com/v1/tools/search`) 기본 활성: `DEEPSEEK_API_KEY` 없을 때만 자동 스킵, 나머지 265 소스 무영향; 실측 445-510ms(anysearch 1.7-4.5s / exa 3.7s), authority 권위 등급 / rerank_score / 발행 시각의 셋 중 유일 전항목 커버, ja/ko/es 다언어는 anysearch와 대등; 종량 과금, 도메인 combo에 안 들고, 명시 `--engine deepseek_search`가 주 경로; DSH 호스트는 네이티브 자격증명 seam으로 공식 백엔드와 같은 key 공유(web Models 페이지에서 key 교체 시 다음 홉부터 효력, 저장도 로그도 안 됨)
|
|
701
|
-
- 수정: `--since/--until` 가 deepseek_search에 조용히 무효(TIME_CAPABLE_ENGINES에 추가)
|
|
702
|
-
- 새 `query_operators.py` 쿼리 연산자 계약층: `site:` / `-site:` / `-어` / `-"구"` / `lang:` / `after:` / `before:` 가 다섯 갈래 흩어진 형태에서 구조화 연산자로 수렴; 라우트·캐시·쿼리 이해는 지령을 벗긴 clean_query만 인식; `site:` / `-site:` 가 진짜 후치 필터 실행(서브도메인 매칭, 다중 사이트 OR, 필터 수는 `site_filtered`에), 연산자는 결과 캐시 키에 편입되어 혼선 방지
|
|
703
|
-
- `evidence.py`: Agent 급 이층 요약 `summary` 필드 신설(DeepSeek Search 요약 semantics 참고)
|
|
704
|
-
- 传输층 이중 지불 제거: POST가 풀 연결 재사용(실측 같은 연결 두 번째 요청에서 anysearch 320ms / octen 561ms 절약), 대출 실패 시 재시도와 몸통 읽은 뒤 반납 포함; MCP 사전 연결; 할당량 고갈과 죽은 부정 캐시 수구
|
|
705
|
-
- 라우트: octen이 일반 폴백 사슬 2번째와 TF-IDF 헤지 슬롯에 진입(anysearch 떨림 창 p90 3273→1614ms, max 6266→1928ms, 오류 9→0; 건전 창에서는 중위값 차 없음, 꼬리 보험으로 위치), 도피 스위치 `ARGO_GENERAL_FALLBACK_LEGACY=1`
|
|
706
|
-
- RRF 궤도 격리 명차 감쇠 수정: 한 엔진의 모든 결과가 동점(실측 anysearch 5건 모두 0.017213), 출력이 「엔진 가중치 블록 이어붙이기」로 퇴화; 「같은 엔진 내 점수 엄격 단조 감소」를 잠그는 새 테스트
|
|
707
|
-
- Bing ck/a 리다이렉트 껍질이 환원되지 않아 집합층이 결과를 통째로 걸러냈던 문제 수정(최근 7일 40.2% 빈 결과): 오프라인 base64url 복호로 진링크 환원, 제로 네트워크
|
|
708
|
-
- TF-IDF 리더 combo가 `['anysearch','anysearch']` 를 병렬 두 번 실행하던 문제 수정(할당량 두 배에 wasted_ms는 0 기록): 200건 실제 쿼리 재생, 중복 combo 1→0
|
|
709
|
-
- 검색 개선: 실패 부정 캐시, Nitter 페일오버, 궤도 격리, X Article 추출, 쿼리 에코 방어(조기 정지 거부 + 회복 사슬 엔진 전환)
|
|
710
|
-
- 공학화: `scripts/pre-commit` 속문 신설(static_lint / module_size_gate / usage_doc / consistency / routing_snapshot / context_budget + engine_catalog, 실측 ≈12s); 라우팅 결정 스냅샷 문이 라우트 반전을 diff 가능한 golden으로 변환(세 주석 집합의 합, 115 쿼리, domain과 kind만 비교해 환경 잡음에 의한 오적 없음); 궤도 레지스트리 동기 테스트가 「표의 엔진명은 실등록 필수」를 잠금
|
|
711
|
-
- DSH 플러그인은 DSH 0.2.1-rc.2 대응: 실행 시 입구 듀얼 스택(`startActivation({provider, label, request, signal, delivery})` 새 / `start(provider, request)` 구), rc.2에서 `toolFilter` 제거 후 플러그인 내 tool guard가 워커의 `wide_research` 중첩 호출 차단; rc.2에서 `wide_research`(planner → 2 worker → synthesis, passed=true / 14 sources)와 네이티브 `argo_search`(count=3) 종단간 실측 통과; 0.2.1-alpha.1 호환 분지는 단위 테스트 커버; 플러그인 단위 테스트 46→50
|
|
712
|
-
- DSH 환경 버전: **DSH 0.2.1-rc.2(현행·가동 중, 종단간 실측) + DSH 0.2.1-alpha.1(호환, 구 start 분지는 단위 테스트 커버)**; 대응표는 `packages/dsh-plugin/README.md`의 Compatibility 절
|
|
713
|
-
|
|
714
|
-
### v2.9.5: 환율 전용 도메인 + 2층 중복 제거 + 순위 오진단 수정 + 체크아웃별 daemon 격리
|
|
715
|
-
|
|
716
|
-
- `config.yaml`: 새 도메인 `fx_query` — "위안/달러 환율, 중심환율, 오프쇼어" 질문이 거시 도메인 빈 회전 끝에 백과사전 항목으로 떨어지지 않고 생환율 + 매일 중심환율 뉴스를 돌려준다(실측 675ms, 수정 전은 1411ms이면서 빗나감)
|
|
717
|
-
- `search_rank.py`: 중복 제거를 2층으로 — 제목 사이트 suffix 정규화(제로 의존) + rapidfuzz 퍼지 근접중복 검사(근접 명중 대역 내에서만 가동; `ARGO_DEDUP_FUZZY=0` 으로 차단, 미설치 시 순수 minhash로 자동 폴백)
|
|
718
|
-
- 수정: 열화 리랭크의 제목 구분자 오진단 — `|` / `_` / `——` 를 포함한 제목은 일률 ×0.6으로 공식 문서가 40% 눌렸다; Bocha 키 없는 auto/deep 질문 전체가 영향(판정은 rank_signals 단일 구현으로 수렴)
|
|
719
|
-
- `query_understanding.py`: 부정 이해에 「不是X」 추가(의문형 「是不是」은 부정으로 오진단하지 않음)
|
|
720
|
-
- `daemon.py`: socket/pid/포인터 등 온디스크 이름을 체크아웃별로 격리 — 다중 worktree/clone의 daemon 쟁탈·오살·"변경이 안 먹힘" 세 고장을 근절
|
|
721
|
-
- 새 선택 의존 rapidfuzz(`pip install rapidfuzz`; install.sh가 자동 설치, 미설치여도 코어 기능에 영향 없음)
|
|
722
|
-
|
|
723
|
-
### v2.9.4: 명시적 엔진 도메인 속성 + 복구 체인 차단기 + 게이트 동기화
|
|
724
|
-
|
|
725
|
-
- `route.py`: `--engine X` 시 `match_domains` 보충으로 캐시 TTL 일괄 일반화 수정
|
|
726
|
-
- `recovery.py`: 단일 엔진에 대체 없으면 L1 빈 실행 건너뜀
|
|
727
|
-
- `config.yaml`: `org_entity`에 주주 실사 용어 추가; `fund_query`에 정책 법규 용어 추가
|
|
728
|
-
- `mcp_launch.sh`: `set -a`를 `. "$ENV_FILE"` 한 줄로 축소
|
|
729
|
-
- `sub-skills/local-search/`: 엔진 레지스트리 계층 폐쇄 및 search_v3 품질 향상
|
|
730
|
-
- 게이트 동기화: module_size_gate / ENGINE_CATALOG 정합
|
|
731
|
-
|
|
732
|
-
### v2.9.3: X 게시물 완전 패키징 + 브라우저 로그인 상태 레인 + 로컬 체인 품질·속도 수정
|
|
733
|
-
|
|
734
|
-
- **신규**: `argo tweet` — 한 번의 명령으로 지정 X 게시물의 전문·스레드/인용/리포스트·인터랙션 데이터를 패키징; 기본은 텍스트만, `--out`으로 4파일 세트(post.md/raw.json/manifest.json/CHECKLIST.md), `--media`로 이미지/동영상 필요 시 다운로드; 실패 원인은 산출물에 가시화
|
|
735
|
-
- **신규**: `argo auth` 브라우저 로그인 상태 레인 — `login/status/logout`으로 사이트별 영구 브라우저 프로필 관리; QR을 한 번 스캔하면 로그인 필수 페이지도 가져올 수 있음; 쿠키는 Chrome 자체 암호화 저장소에만 보관되며 argo가 읽지 않고, 로그인 상태 결과에는 `login_state_used`를 붙여 공유 캐시에서 제외(`ARGO_AUTH_FETCH`로 활성화)
|
|
736
|
-
- **정확성**: 중국어 로컬 체인이 Sogou/Baidu 리다이렉트 껍질을 세션 없이 실제 URL로 해석(보존 결과 1→5건); 인텐트 게이트 오잠금 수정("튜토리얼"류 쿼리가 단일 엔진에 고정되지 않음); 철도 테이블 행 식별 URL로 후보 퍼널 압축(10→1)을 실제대로 10→10으로 수정
|
|
737
|
-
- **속도**: 컨센서스 유예 적응화(충분히 전달한 첫 엔진으로 방출; 영어 디스패치 ~3.0s→2.2-2.5s); 로컬 롱테일 조기 중단; 로컬 이미지 핑거프린트를 mmap 행렬곱으로(77k장 158ms→3.9ms, 기본 비활성 `ARGO_LOCAL_IMAGE=1`); 에이전트 소비 자동 슬림화 + markdown 콘텐츠 협상, MCP 호출당 고정 오버헤드 −32%
|
|
738
|
-
- **소스**: 도메인 참조 없는 43개 엔진을 각 도메인에 배선; route_lang 언어 라우팅; 키 불필요 금융 소스 3건 추가; `--academic-deep` 원플래그 학술 멀티소스; 철도 환승·경유 조회
|
|
739
|
-
- **안정성**: js-run을 fetch 체인 첫 번째 레인으로 접선(Chrome 핑거프린트 재시도); jsrun 세션 누수와 백오프 예산 수정; 타임아웃 조임(redskill 60→15s)과 선언 정책 삼분할
|
|
740
|
-
|
|
741
|
-
### v2.9.2: DSH 0.2.1-alpha.1 호환 검증 + 라우팅/가드 수정 + js-run 서브 스킬
|
|
742
|
-
|
|
743
|
-
- **호환성**: DSH 플러그인을 최신 DSH 0.2.1-alpha.1에서 실측 검증 — 네이티브 퍼스트클래스 도구 / web_search seam / wide_research 삼형태 모두 정상 작동; `argo mcp inject`에 WorkBuddy를 추가해 7번째 호스트까지 지원
|
|
744
|
-
- **정확성**: TF-IDF 약증거 보조 소스 강등, 죽은 소스 플로어 + 서킷 브레이커 슬롯 재충전, 쿼터 소진 엔진 격리, serp_guard 오탐 수정
|
|
745
|
-
- **속도와 안정성**: engines/evidence 지연 임포트(import량 −50%), 어드미션 존재 집합 단락(open 261 → 99), MCP 진입/수치 인자 가드; 신규 서브 스킬 `sub-skills/js-run`(브라우저 없이 웹 JS 실행, P50 ≈ 1ms)
|
|
746
|
-
|
|
747
|
-
### v2.9.1: 콘텐츠 품질 최적화 + 콘텐츠 팜 대응 + 최신 환경 적응
|
|
748
|
-
|
|
749
|
-
- **깨끗함**: 콘텐츠 품질 평가를 최적화하고 콘텐츠 팜 대응 능력을 강화 — 검색 결과의 저품질·대량 생성 콘텐츠를 더 효과적으로 식별하고 필터링
|
|
750
|
-
- **호환성**: 최신 버전에 적응하여 현재 환경과 원활하게 협업
|
|
751
|
-
- **안정성**: 로컬 검색에 자체 설치 트리 가드를 추가 — 검색 결과가 argo 자신의 소스 코드로 오염되지 않도록
|
|
752
|
-
|
|
753
|
-
### v2.9.0: 소스 최적화 + 플러그인과 CLI 대등 + 소수 언어
|
|
754
|
-
|
|
755
|
-
- **충실**: 소스 237 → 253(무설정 198 → 219). 14개 소수 언어 로컬 뉴스 소스, CORE 오픈액세스 전문 소스, TinEye 역방향 이미지 검색, Bing RSS 안정 출구 등 추가; 바이두와 소고우 두 상록 소스 부활
|
|
756
|
-
- **정렬**: CLI 18개 명령과 MCP 19개 도구가 일대일 대응 — 플러그인과 CLI 검색 능력이 처음으로 완전히 대등
|
|
757
|
-
- **다국어**: 14개 소수 언어 소스(타이/아랍어/히브리어/그리스어/힌디어/베트남어/터키어/인도네시아어 등) 추가, 쿼리 언어에 따라 자동 배치
|
|
758
|
-
- **고속**: 임포트 체인 −79%, n=200 재랭킹 33ms → 1.5ms, 캐시 적중률은 약 60%에서 거의 미스 없이
|
|
759
|
-
- **신뢰성**: 쿼터 쓰기 경로의 프로세스 간 안전성 수정, 조기 중단 결과가 타임아웃으로 오기되지 않으며, `argo stats`로 검색 품질이 자체 장부를 가짐
|
|
760
|
-
|
|
761
|
-
### v2.8.9: 출력 경량화 + 더 빠르고 풍부한 검색 + 해외 미디어 및 팩트체크 소스 5개
|
|
762
|
-
|
|
763
|
-
- **경량화**: 기본 출력 −66%(같은 결과를 세 번 쓰지 않음); 반복 쿼리 −30%(라우팅 결정 캐시); 느린 네트워크 대기 −36%(주 소스가 0.8초를 넘기면 자동으로 백업 소스 추가 기동)
|
|
764
|
-
- **충실화**: 리콜 +35%, 수집 지연 −30%; 본문 구조 보존 0/6 → 6/6(제목·목록·표가 눌리지 않음); 중국어 콘텐츠가 체계적으로 저품질 판정받지 않음
|
|
765
|
-
- **추가**: 소스 232 → 237(키 불필요 194 → 198, 전부 무료 — The Guardian, France 24, DW, 팩트체크 FactCheck.org / Full Fact 미·영 양권); 죽은 소스 gdelt 폐지
|
|
766
|
-
- **신뢰성**: 숫자가 서로 모순되던 여섯 장부 결함 수정; 6단 퍼널로 0건이 어느 층에서 무너졌는지 특정 가능; 오프라인 재생 도구로 변경 효과를 당일 검증. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.8.9.md)
|
|
767
|
-
|
|
768
|
-
### v2.8.8: 실사용자 버그 수정 + 전면 속도 개선 + 소스 232개
|
|
769
|
-
|
|
770
|
-
- **수정**: 문서 추천 이름으로 키를 설정해도 엔진이 조용히 0건을 반환하던 문제(#12), 수집 체인이 프록시를 무시해 GitHub 같은 사이트가 항상 실패하던 문제(#13) — 이제 `ARGO_PROXY`, config 도메인별 규칙, 표준 프록시 환경변수가 모두 작동하고 `NO_PROXY` 존중
|
|
771
|
-
- **속도**: 명령어 콜드 스타트 2.1s → 0.55s; 프로세스 간 설정 캐시 50–82ms → 16–18ms; 매 검색에 단계별 소요 시간과 예산 소비를 출력해 어디가 느린지 추측 불필요(`--no-timing`으로 비활성화)
|
|
772
|
-
- **신규**: 소스 218 → 232(설정 없이 바로 쓰는 184 → 194, 모두 키 불필요: 중국 트렌드 보드, 보안 취약점, 오픈 액세스 학술, 스킬 디렉터리, 에이전트 검색), 직답 `argo answer`, 웹 관찰 `argo watch`, CLI/MCP 도구면 정렬
|
|
773
|
-
- **안정성**: 3개 OS의 관례 경로(`argo paths` 자기점검 신규), Python 3.9 지원, 조용히 진행되던 성능 저하를 정직하게 기록. 자세한 내용은 [릴리스 노트](docs/RELEASE_NOTES_v2.8.8.md)
|
|
774
|
-
|
|
775
|
-
### v2.8.7: 소스 218개로 확충 + 수정 일괄
|
|
776
|
-
|
|
777
|
-
- **소스 확충**: 168 → 218 소스, 72 → 89 도메인 (StackExchange Q&A, DOI 메타데이터, 취약점 인텔, 제품 수명주기 등 공식 소스 추가), 본문 획득 직통 채널 3개 추가
|
|
778
|
-
- **수정 일괄**: 멀티 엔진 라우팅, 빈 결과 폴백, 중국어 리다이렉트, 로컬 검색 열화 등; 자세한 내용은 [릴리스 노트](docs/RELEASE_NOTES_v2.8.7.md)
|
|
779
|
-
|
|
780
|
-
### v2.8.6: 검색 고속화 + 멀티 소스 분담
|
|
695
|
+
최근 세 버전만 싣습니다. 전체 이력은 [변경 이력](#변경-이력), 각 버전의 상세는 [Releases](https://github.com/taxueseek/argo/releases)에서 볼 수 있습니다.
|
|
781
696
|
|
|
782
|
-
|
|
697
|
+
### v2.9.9: 다층 보안 + 느린 소스 결과를 버리지 않음 + 오라우팅 다섯 부류 수습
|
|
783
698
|
|
|
784
|
-
|
|
699
|
+
- **고위험 본문은 컨텍스트에 들어가지 않습니다**: 콘텐츠 보안 엔진이 「채점만」에서 「격리+세척 치환」으로 올라갑니다. `risk_score ≥ 0.5` 본문은 세척본으로 대체되고 증거 점수에서 제외됩니다. 기본 활성, `ARGO_CONTENT_RISK_GATE=0`로 비상 해제
|
|
700
|
+
- **네트워크 출구 다층 방어**: 리다이렉트 홉별 검증(`ARGO_MAX_REDIRECTS`, 기본 5) + 해석 즉시 고정으로 DNS 리바인딩 창을 막습니다
|
|
701
|
+
- **조기 중단으로 버려진 느린 소스의 결과를 다시 버리지 않습니다**: 버려진 엔진은 백그라운드 회수로 넘어가고, `ARGO_TAIL_COMPLETE_S`(기본 3초, 0=끔) 안에 끝나면 평소처럼 제공되며 실제 성적이 학습기에 기록되고, 결과는 중복 제거해 캐시에 통합됩니다
|
|
702
|
+
- **오라우팅 다섯 부류 수습**: A주 금융 쿼리는 `stock_query`로, 기업 듀딜리전스/개표/사람으로 회사 찾기는 `company_search`로, 민사 실무는 `flk_law`로, 약 설명서는 「용법」에 뺏기지 않고, 논문 작성 하우투는 학술 검색으로 떨어지지 않습니다
|
|
703
|
+
- **`argo engine add`**: 새 엔진을 한 단계에 연결합니다. spec/env/검증/동기화/combo/허용 목록의 수작업 사슬을 한 명령으로
|
|
704
|
+
- **시나리오 버킷 학습 + ZCode 플러그인 패키지**: 라우팅이 「A 도메인에 강하고 B 도메인에 약함」을 구분할 수 있게 됩니다. skill+CLI 직결과 제로 토큰 패널을 zcode-plugins에 제공
|
|
785
705
|
|
|
786
|
-
|
|
787
|
-
- **MCP 기본 끔**: 3가지 접속 형태(수요 시 마운트 MCP / 기본 진입 네이티브 도구 / web_search seam); 평소 상주 토큰 비용 0, 19개 도구 전체가 필요하면 profile patch 한 장으로 엶
|
|
788
|
-
- **Windows 호환**(커뮤니티 PR #11): 임시 경로는 시스템 temp, GBK 인코딩 수정, `python3`/`python` 런타임 해석, symlink는 권한 없으면 junction으로 폴백, PowerShell 일괄 설치 `install.ps1` 추가
|
|
789
|
-
- **쿼터 자가 치유**: HTTP 200에 숨은 원격 쿼터 고갈을 감지하고, 라우팅이 해당 엔진을 제외해 백업 소스로 전환, 다음 쿼터 주기에 자동 복귀
|
|
790
|
-
- **페치 전역 deadline**: `ARGO_FETCH_DEADLINE_S`(기본 60s)로 폴백 사슬 총 시간 상한; 429/503 정지 시그널 존중; tinyfish 렌더링 + `.md` 변형 프로브
|
|
706
|
+
### v2.9.8: 라우팅 정밀도 감사 + Tencent Yuanbao 검색 + 키 불필요 소스 3종 + 구조화된 실패 목록
|
|
791
707
|
|
|
792
|
-
|
|
708
|
+
- **issue #18/#19 전부 수정**: 「latest」오분류, people_daily 기본 feed, local_bing 「2026」만 매칭, 중국어 교차 검증 항상 0, nightly 빈 로그 크래시. 동형 오탐 16개 클래스도 더 좁혔습니다
|
|
709
|
+
- **Yuanbao 검색 추가**: 중국어 1차 정보·공식 성격 소스. 중국어 범용 도메인 2순위에 두어 권위 소스 헤지로 씁니다. 키는 `ARGO_YUANBAO_API_KEY`
|
|
710
|
+
- **키 없이 쓸 수 있는 소스 3종 추가**: `tavily_free`, `keenable_free`, `exa` 익명 폴백
|
|
711
|
+
- **실패에 대응할 수 있습니다**: 실패마다 소스와 유형을 밝히고 재시도 / 소스 교체 / 키 설정과 권고를 제시하며, `meta.uncertainty` 신뢰도도 함께 옵니다
|
|
712
|
+
- **로컬 설정 오버레이 `config.local.yaml`**: 이 머신의 조정 값이 공개 설정에 더 이상 기록되지 않습니다
|
|
713
|
+
- **DSH 설정 페이지에 엔진 섹션 추가**: argo 본체의 28개 동작 스위치를 환경 변수에서 패널로 옮겼습니다
|
|
793
714
|
|
|
794
|
-
|
|
795
|
-
- **MCP 연결을 더 이상 손으로 안 고침**: `argo mcp inject`가 Claude Code / Cursor / Windsurf / Codex / OpenCode / Cline에 기록(원자 쓰기 + 백업 + 되돌리기)
|
|
796
|
-
- **간단한 쿼리는 싸게 유지**: 정규화 + 복잡도 게이트 + 소셜/플랫폼 문법 우선 + 중국어 엔진을 버려도 후보를 계속 봄
|
|
797
|
-
- **Keenable**을 무료 체험 웹 검색 소스로 추가
|
|
798
|
-
- **보안**: recompute가 외부 프로세스 출망을 차단; 호스트 경로는 설치 인지
|
|
715
|
+
### v2.9.7: 아키텍처 수렴 + 호스트 페이지 가져오기를 argo로 + License를 Apache-2.0으로
|
|
799
716
|
|
|
800
|
-
|
|
717
|
+
- **License 변경**: MIT → Apache License 2.0. 특허 허여를 명시한 것이며 사용 방식은 그대로입니다
|
|
718
|
+
- **호스트가 못 가져오던 페이지를 이제 가져옵니다**: 단축 링크 이동, 프로토콜 상향, 리다이렉트 껍질, Cloudflare / JS 챌린지 페이지를 argo의 가져오기 체인이 처리합니다(HTTP 우선, 막히면 브라우저로 자동 승격). 기본 활성, `fetchProviderEnabled`로 끌 수 있습니다
|
|
719
|
+
- **auto 모드가 유료 엔진을 잘못 호출하지 않습니다**: 명시 지정 전용 엔진 18개를 라우팅 후보 풀에서 빼고, `--engine`으로 지목할 때만 씁니다
|
|
720
|
+
- **새 키로 바꾸면 다음 홉에서 복구**: 쿼터를 소진한 엔진이 복구를 기다리지 않으며 라우팅 캐시도 다시 계산됩니다
|
|
721
|
+
- **crawl / research / MCP에서 JS를 실행해도 죽지 않습니다**
|
|
801
722
|
|
|
802
723
|
---
|
|
803
724
|
|
|
@@ -805,30 +726,32 @@ argo/
|
|
|
805
726
|
|
|
806
727
|
| 버전 | 비고 |
|
|
807
728
|
|---------|-------|
|
|
808
|
-
| **v2.9.
|
|
809
|
-
| **v2.9.
|
|
810
|
-
| **v2.9.
|
|
811
|
-
| **v2.9.
|
|
812
|
-
| **v2.9.
|
|
813
|
-
| **v2.9.
|
|
814
|
-
| **v2.9.
|
|
815
|
-
| **v2.9.
|
|
816
|
-
| **v2.
|
|
817
|
-
| **v2.
|
|
818
|
-
| **v2.8.
|
|
819
|
-
| **v2.8.
|
|
820
|
-
| **v2.8.
|
|
821
|
-
| **v2.8.
|
|
822
|
-
| **v2.8.
|
|
823
|
-
| **v2.8.
|
|
824
|
-
| **v2.8.
|
|
825
|
-
| **v2.
|
|
729
|
+
| **v2.9.9** | **다층 보안 + 느린 소스 결과를 버리지 않음 + 오라우팅 다섯 부류 수습**: 고위험 본문 격리+세척 치환(증거 점수 제외), 리다이렉트 홉별 검증과 DNS 리바인딩 차단. 조기 중단으로 버려진 느린 소스는 백그라운드 회수(`ARGO_TAIL_COMPLETE_S`)로 실제 성적을 학습기에 기록. 여섯 부류 실전 시나리오 스캔으로 학술/금융/기업/법률/의약 오라우팅을 수습. `argo engine add` 한 단계 연결, 시나리오 버킷 학습, ZCode 플러그인 패키지. 자세한 내용은 [릴리스 노트](docs/RELEASE_NOTES_v2.9.9.md). |
|
|
730
|
+
| **v2.9.8** | **라우팅 정밀도 감사 + issue #18/#19 수정 + 테스트 상태 격리**: 실제 쿼리 재생으로 16개 클래스 오탐(브랜드/제품명, 필드명, ASCII 부분 문자열)을 좁히고, SERP 커버리지 게이트와 CJK 교차 검증을 추가했습니다. nightly 빈 로그, people_daily 기본 feed, 캐시 적중 가드를 고쳤고, adaptive/breaker 상태를 테스트별로 격리했습니다. 재현과 진단을 도와준 @wpp666에게 감사합니다. 자세한 내용은 [릴리스 노트](docs/RELEASE_NOTES_v2.9.8.md). |
|
|
731
|
+
| **v2.9.7** | **아키텍처 수렴 + DSH web_fetch 심 + License Apache-2.0으로**: MIT에서 Apache License 2.0으로 바뀌었고, 호스트 web_fetch가 argo 가져오기 체인을 흐릅니다. auto 모드는 명시 지정 전용 엔진 18개를 후보 풀에서 제외합니다. |
|
|
732
|
+
| **v2.9.6** | **DeepSeek Search 엔진 + 쿼리 연산자 계약 + 전송층 연결 풀 + 라우팅 스냅샷 게이트**: 새 `deepseek_search` 엔진은 445-510ms로 합류했고, 연결 풀 재사용으로 같은 POST 재호출에서 320-561ms를 아낍니다. `site:` 연산자는 실제 후처리 필터입니다. |
|
|
733
|
+
| **v2.9.5** | **환율 전용 도메인 + 2층 중복 제거 + 순위 오진단 수정 + 체크아웃별 daemon 격리**: 환율 질문이 새 전용 도메인으로 675ms에 즉시 답하고, 중복 제거에 퍼지 재확인이 더해져 구분자 있는 제목의 공식 문서가 뒤로 밀리지 않습니다. |
|
|
734
|
+
| **v2.9.4** | **명시적 엔진 도메인 속성 + 복구 체인 차단기 + 게이트 동기화**: `--engine X`로 지정한 경로도 캐시 TTL이 도메인을 따르고, 대체 엔진이 없으면 같은 엔진을 공회전하지 않습니다. |
|
|
735
|
+
| **v2.9.3** | **X 게시물 완전 패키징 + 브라우저 로그인 상태 레인 + 로컬 체인 품질·속도 수정**: 새 `argo tweet`이 X 게시물을 한 세트로 묶고(`--out` 4파일), `argo auth`가 사이트별 로그인 상태를 유지합니다. 리다이렉트 껍질은 세션 없이 풀려 보존 1→5. |
|
|
736
|
+
| **v2.9.2** | **DSH 0.2.1-alpha.1 호환 검증 + 라우팅/가드 수정 일괄 + js-run 서브 스킬**: 플러그인 세 형태가 DSH 0.2.1-alpha.1에서 동작하고, `argo mcp inject`가 WorkBuddy까지 지원합니다. js-run은 브라우저 없이 웹 JS를 1ms에 실행합니다. |
|
|
737
|
+
| **v2.9.1** | **콘텐츠 품질 최적화 + 콘텐츠 팜 대응 + 최신 버전 적응**: 저품질 대량 생성 콘텐츠를 더 잘 걸러내고, 로컬 검색 결과가 자기 설치 트리로 오염되지 않도록 가드를 넣었습니다. |
|
|
738
|
+
| **v2.9.0** | **소스 최적화 + 플러그인과 CLI 대등 + 다국어 소수 언어**: 소스가 237→253(무설정 198→219)로 늘고 재랭킹이 33ms→1.5ms로 빨라졌습니다. 명령줄과 플러그인이 같은 기능을 쓰고 `argo stats`가 로컬 사용 로그를 보여줍니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.9.0.md) |
|
|
739
|
+
| **v2.8.9** | **출력 경량화 + 더 빠르고 풍부한 검색 + 해외 미디어 및 팩트체크 소스 5개**: 기본 출력이 15.5KB→5.2KB로 줄고(`--envelope`로 복원), 반복 쿼리는 라우팅 캐시로 30% 빨라졌습니다. 키 불필요 소스 5개가 늘어 235→237. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.8.9.md) |
|
|
740
|
+
| **v2.8.8** | **실사용자 신고 수정(#12 키 별칭 무음 실패, #13 프록시 미지원 수집) + 전면 속도 개선 + 소스 218 → 235**: 출구 디스패치를 통일해 `ARGO_PROXY`가 모든 경로에 적용되고 #12·#13 신고가 수정됐습니다. 콜드 스타트 2.1s→0.55s, 소스 218→235. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.8.8.md) |
|
|
741
|
+
| **v2.8.7** | **218 소스 / 89 도메인 + 본문 직출 3채널 + 라우팅 발화 규율 + macro 제로 결과 수정**: 소스 50개(법령·표준·보안·학술·뉴스 등)를 더하고, 가져오기 체인 앞단에 llms.txt와 `.md` 직접 출력 프로브를 넣었습니다. 중국 거시 조회는 국가통계국을 우선합니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.8.7.md) |
|
|
742
|
+
| **v2.8.6** | **hedged 레이싱 + 지후 3소스 분담 + 선언적 언어 디스패치 + 도달성 게이트 + 학술 검색 프로토콜**: 빠른 엔진은 한 번만 호출하는 헤지 레이싱이 들어가고, 지후를 3개 소스로 나눠 맡깁니다. 학술 쿼리는 논문 소스로 보내고 지리 꼬리 지연이 56% 줄었습니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.8.6.md) |
|
|
743
|
+
| **v2.8.5** | **DSH 플러그인 도구 네이티브화 + MCP 기본 끔 + Windows 호환 + 쿼터 자가 치유 + 페치 deadline**: `argo_search`/`argo_fetch`가 기본 네이티브 도구가 되고 MCP는 필요 시 켭니다. 쿼터가 소진돼도 복구되고, 가져오기 상한은 `ARGO_FETCH_DEADLINE_S`입니다. [릴리스 노트](docs/RELEASE_NOTES_v2.8.5.md) |
|
|
744
|
+
| **v2.8.4** | **로컬 데이터 융합 + 다중 클라이언트 MCP 주입 + 구조화 검색 + Keenable**: 연구가 로컬 파일을 1차 데이터로 쓰고(`--include-local`), `argo mcp inject`가 여러 클라이언트에 MCP를 주입합니다. Keenable 무료 체험도 들어왔습니다. [릴리스 노트](docs/RELEASE_NOTES_v2.8.4.md) |
|
|
745
|
+
| **v2.8.3** | **다국어 라우팅 수정 + 프로세스 내 anysearch + weighted RRF**: 일본어·한국어 질의가 해당 언어 결과를 돌려주고, 독일어·프랑스어·스페인어·이탈리아어는 프로세스 내 anysearch가 맡습니다. [릴리스 노트](docs/RELEASE_NOTES_v2.8.3.md) |
|
|
746
|
+
| **v2.8.2** | **Windows + 증거 의미 통일**: Windows에서 npm `os` 제한이 풀리고 GBK 환경 크래시를 UTF-8로 막았습니다. 증거 점수의 의미도 하나로 통일했습니다. [릴리스 노트](docs/RELEASE_NOTES_v2.8.2.md) |
|
|
747
|
+
| **v2.8.0** | **증거 루프 + 구직 v3 + 날씨 쌍소스**: `--verify`로 증거 검증 루프를 돌리고 `argo job`이 채용 정보를 모읍니다. 날씨는 wttr.in + Open-Meteo 두 소스로 확인합니다. [릴리스 노트](docs/RELEASE_NOTES_v2.8.0.md) |
|
|
748
|
+
| **v2.7.3** | TF-IDF로 수직 엔진 25개를 활성화하고, 도메인 70개의 TTL과 중국어·영어 수직 검색을 정리했습니다. [릴리스 노트](docs/RELEASE_NOTES_v2.7.3.md) |
|
|
826
749
|
| **v2.7.2** | 로그인 상태 전문 검색(ego-search, 기본 꺼짐); 한일 쿼리가 중국어 엔진에 섞이지 않음. [릴리스 노트](docs/RELEASE_NOTES_v2.7.2.md) |
|
|
827
750
|
| **v2.7.1** | SSRF 강화 + 라우팅 헬스 의미 수정. [릴리스 노트](docs/RELEASE_NOTES_v2.7.1.md) |
|
|
828
|
-
| **v2.7.0** | **수직 구조화 모달 카드**:
|
|
829
|
-
| **v2.6.2** |
|
|
830
|
-
| **v2.6.1** | v2.6.0
|
|
831
|
-
| **v2.6.0** |
|
|
751
|
+
| **v2.7.0** | **수직 구조화 모달 카드**: 기차표·유가·귀금속·만년력·별자리·휴대폰·자동차·진료 예약 같은 실시간 카드를 한 가지 형식으로 인식합니다. 내장 bocha 엔진의 파싱 결함도 고쳤습니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.7.0.md) |
|
|
752
|
+
| **v2.6.2** | 네트워크 환경 인지, 가중 RRF와 시맨틱 캐시, 적응형 엔진 비활성화, 콘텐츠 안전과 쿼리 변형, 일·한 도메인 라우팅을 한 번에 통합했습니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.6.2.md) |
|
|
753
|
+
| **v2.6.1** | v2.6.0 수정판입니다. 「capital of」 같은 질문이 팩트체크 도메인을 가로채지 않도록 라우팅을 고쳤습니다. 자세히는 [릴리스 노트](docs/RELEASE_NOTES_v2.6.1.md) |
|
|
754
|
+
| **v2.6.0** | 다국어 검색이 들어가고(언어 감지, 엔진 파라미터, 교차 언어 폴백), 영화·스포츠·지리·조직·미디어 수직과 소스 120개 이상을 확보했습니다. [릴리스 노트](docs/RELEASE_NOTES_v2.6.0.md) |
|
|
832
755
|
| **v2.5.1** | 금융/매크로/화학 답형 소스 강화; 엔진 티어 + combo 예산; [v2.5.1 notes](docs/RELEASE_NOTES_v2.5.1.md) |
|
|
833
756
|
| **v2.5.0** | 설치 스크립트 + npx; rewrite와 라우팅 분리; hot-path 캐시; compact MCP |
|
|
834
757
|
| **v2.4.0** | 저점수 라우트 폴백 + 소셜 오라우트 필터; 캐시 depth / soft hits; breakers & negative cache; `engine_outcomes` |
|