micro-models-agent 0.2.79 → 0.2.80

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.
@@ -0,0 +1,288 @@
1
+ ---
2
+ name: web-scraping
3
+ description: Web scraping and data extraction using headless browser (Playwright) and HTTP fetch. Use for parsing product catalogs, extracting structured data from websites, scraping articles, tables, and any web content. Handles dynamic SPA pages, authentication (cookies/tokens), anti-bot measures, lazy loading. Trigger on mentions of "parse", "scrape", "extract data from website", "парсинг", "спарсить", "вытасти данные с сайта".
4
+ ---
5
+
6
+ # Web Scraping & Data Extraction
7
+
8
+ 高效的 web-парсинг через headless browser (Playwright) и HTTP fetch. Минимум ходов — максимум данных.
9
+
10
+ ## Core Rule: 3-Step Pattern
11
+
12
+ Любая задача парсинга сводится к 3 шагам:
13
+
14
+ ```
15
+ Step 1: navigate → открыть страницу
16
+ Step 2: evaluate → извлечь данные через JS
17
+ Step 3: write_file → сохранить результат
18
+ ```
19
+
20
+ **Никогда не используйте** extract без предварительного evaluate. extract возвращает сырой HTML/text — вы тратите токены на обработку того, что JavaScript делает за 1 строку.
21
+
22
+ ## Decision: web_fetch vs web_browse
23
+
24
+ ```
25
+ web_fetch(url) — простой GET, нет JS-рендеринга, нет кук/авторизации
26
+ web_browse(navigate) — нужен JS, куки, авторизация, динамический контент
27
+ ```
28
+
29
+ **Правило**: если сайт — SPA (React/Vue/Angular) или требует куки/авторизации → **всегда web_browse**. web_fetch вернёт пустой HTML.
30
+
31
+ ## Playwright: Key Facts
32
+
33
+ 1. **Stateful session**: `navigate` открывает страницу, все последующие action'ы работают с ней. Закрой `close` когда закончишь.
34
+ 2. **Headless Chromium**: страница рендерится как в обычном браузере. JS выполняется.
35
+ 3. **Auto-wait**: `navigate` ждёт `domcontentloaded` + 1с. Для тяжёлых страниц — добавляй `wait` после navigate.
36
+ 4. **5-minute idle timeout**: если сессия неактивна > 5 минут, браузер закроется.
37
+ 5. **Viewport 1280x720**:某些 элементы могут скрываться за `@media` запросами.
38
+
39
+ ## Workflow: Product Catalog (товары)
40
+
41
+ ```
42
+ 1. web_browse navigate(url)
43
+ 2. web_browse evaluate: document.querySelectorAll('.selector').length // проверить сколько элементов
44
+ 3. web_browse evaluate: извлечь данные через JSON
45
+ 4. write_file результат
46
+ ```
47
+
48
+ ### Шаблон извлечения товаров
49
+
50
+ ```javascript
51
+ // Step 2: найти селектор
52
+ document.querySelectorAll('.product-card, .item, .goods-item').length
53
+
54
+ // Step 3: извлечь данные (один вызов — все товары)
55
+ JSON.stringify(
56
+ Array.from(document.querySelectorAll('.product-card')).slice(0, 10).map(el => ({
57
+ name: el.querySelector('.title, .name, h2, h3')?.textContent?.trim(),
58
+ price: el.querySelector('.price, .cost')?.textContent?.trim(),
59
+ link: el.querySelector('a')?.href,
60
+ image: el.querySelector('img')?.src,
61
+ }))
62
+ )
63
+ ```
64
+
65
+ **Ключевой момент**: один `evaluate` с `querySelectorAll` + `map` + `JSON.stringify` экономит 5-10 ходов по сравнению с `extract`.
66
+
67
+ ## Workflow: Article / Blog Post
68
+
69
+ ```
70
+ 1. web_browse navigate(url)
71
+ 2. web_browse evaluate: document.querySelector('article, .post-content, .entry-content')?.innerText
72
+ 3. write_file результат
73
+ ```
74
+
75
+ ## Workflow: Table Data
76
+
77
+ ```
78
+ 1. web_browse navigate(url)
79
+ 2. web_browse evaluate:
80
+ JSON.stringify(
81
+ Array.from(document.querySelectorAll('table tr')).map(row =>
82
+ Array.from(row.querySelectorAll('td, th')).map(cell => cell.textContent.trim())
83
+ )
84
+ )
85
+ 3. write_file результат
86
+ ```
87
+
88
+ ## Authentication & Cookies
89
+
90
+ ### Set cookies before navigate
91
+
92
+ ```javascript
93
+ // Step 1: Set cookies via evaluate (before navigate to target page)
94
+ web_browse evaluate: document.cookie = "session=abc123; path=/"
95
+
96
+ // Or set multiple cookies
97
+ web_browse evaluate: `
98
+ document.cookie = "token=xyz; path=/; max-age=3600";
99
+ document.cookie = "user_id=42; path=/";
100
+ `
101
+
102
+ // Step 2: Navigate (cookies are now set)
103
+ web_browse navigate: https://example.com/dashboard
104
+ ```
105
+
106
+ ### Login flow
107
+
108
+ ```
109
+ 1. web_browse navigate(url_of_login_page)
110
+ 2. web_browse type(selector: 'input[name="email"]', value: 'user@example.com')
111
+ 3. web_browse type(selector: 'input[name="password"]', value: 'pass')
112
+ 4. web_browse click(selector: 'button[type="submit"]')
113
+ 5. web_browse wait(condition: "window.location.href.includes('dashboard')")
114
+ 6. web_browse navigate(target_url_to_scrape)
115
+ 7. web_browse evaluate: извлечь данные
116
+ ```
117
+
118
+ ### Token-based auth (Authorization header)
119
+
120
+ ```javascript
121
+ // Set token via evaluate before navigation
122
+ web_browse evaluate: `
123
+ fetch('/api/data', {
124
+ headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
125
+ }).then(r => r.json()).then(d => JSON.stringify(d))
126
+ `
127
+ ```
128
+
129
+ ## Anti-Bot Handling
130
+
131
+ ### User-Agent (already set by default)
132
+
133
+ Playwright session uses Chrome user-agent by default. If site blocks headless:
134
+
135
+ ```javascript
136
+ // Check if page loaded correctly
137
+ web_browse evaluate: document.title + ' | ' + document.querySelectorAll('body > *').length
138
+
139
+ // If blocked (captcha, empty page), try:
140
+ web_browse evaluate: document.querySelector('.captcha, #challenge, [data-testid="challenge"]') ? 'BLOCKED' : 'OK'
141
+ ```
142
+
143
+ ### Rate limiting
144
+
145
+ Не делай больше 5 navigate подряд без паузы. Если получаешь 429/503:
146
+
147
+ ```
148
+ web_browse wait(timeout: 5000) // подождать 5 секунд
149
+ web_bavigate navigate(url) // повторить
150
+ ```
151
+
152
+ ### Cloudflare / JS challenges
153
+
154
+ ```javascript
155
+ // Wait for challenge to resolve
156
+ web_browse wait(condition: "document.querySelector('#challenge-running') === null", timeout: 15000)
157
+ ```
158
+
159
+ ## Dynamic Content (SPA / Lazy Loading)
160
+
161
+ ### Wait for content to appear
162
+
163
+ ```
164
+ 1. web_browse navigate(url)
165
+ 2. web_browse wait(selector: '.product-card', timeout: 10000) // ждём пока появятся товары
166
+ 3. web_browse evaluate: извлечь данные
167
+ ```
168
+
169
+ ### Infinite scroll
170
+
171
+ ```javascript
172
+ // Scroll to bottom to trigger lazy loading
173
+ web_browse scroll(direction: 'down')
174
+ web_browse scroll(direction: 'down')
175
+ web_browse wait(condition: "document.querySelectorAll('.item').length >= 20", timeout: 10000)
176
+ web_browse evaluate: извлечь все данные
177
+ ```
178
+
179
+ ### AJAX/API data (получить данные из network)
180
+
181
+ ```javascript
182
+ // Intercept XHR responses
183
+ web_browse evaluate: `
184
+ new Promise((resolve) => {
185
+ const origFetch = window.fetch;
186
+ window.fetch = async (...args) => {
187
+ const res = await origFetch(...args);
188
+ if (args[0].includes('/api/products')) {
189
+ const data = await res.clone().json();
190
+ resolve(JSON.stringify(data));
191
+ }
192
+ return res;
193
+ };
194
+ // Trigger reload to capture API call
195
+ location.reload();
196
+ })
197
+ `
198
+ ```
199
+
200
+ ## Common Mistakes (Чего НЕ делать)
201
+
202
+ ### DON'T: extract without knowing the structure
203
+
204
+ ```
205
+ # ПЛОХО — тратишь токены на сырой HTML
206
+ web_browse extract(format: 'html')
207
+ web_browse extract(format: 'text')
208
+ web_browse scroll(direction: 'down') # зачем?
209
+ web_browse scroll(direction: 'down') # и ещё раз?
210
+ ```
211
+
212
+ ### DON'T: write Node.js scripts for simple tasks
213
+
214
+ ```
215
+ # ПЛОХО — npm init, npm install, write_file скрипта, syntax error, ...
216
+ bash: npm init -y
217
+ bash: npm install axios
218
+ write_file: parse.js // SyntaxError: missing /
219
+ ```
220
+
221
+ ### DON'T: extract with wrong selectors repeatedly
222
+
223
+ ```
224
+ # ПЛОХО — пробуешь 5 разных селекторов
225
+ web_browse extract(selector: '.product-card')
226
+ web_browse extract(selector: '.item')
227
+ web_browse extract(selector: '.goods')
228
+ web_browse extract(selector: '.product')
229
+ ```
230
+
231
+ ### RIGHT: discover structure once, extract smart
232
+
233
+ ```
234
+ # ПРАВИЛЬНО — 1 navigate + 1 evaluate для структуры + 1 evaluate для данных
235
+ web_browse navigate(url)
236
+ web_browse evaluate: document.querySelector('body').innerHTML.substring(0, 500) // посмотреть структуру
237
+ web_browse evaluate: JSON.stringify(Array.from(document.querySelectorAll('...')).map(...))
238
+ ```
239
+
240
+ ## File Writing Rules
241
+
242
+ - **1 файл за ход**: если нужно создать несколько файлов — используй subagent
243
+ - **write_file блокируется** если > 3 файлов написано без subagent
244
+ - Если write_file заблокирован из-за синтаксической ошибки — **перепиши файл целиком**, не edit
245
+ - Для больших данных: сначала `evaluate` верни JSON, потом `write_file` сформатированный результат
246
+
247
+ ## Debugging: Если данные не извлекаются
248
+
249
+ 1. **Проверь что страница загрузилась**: `web_browse evaluate: document.title`
250
+ 2. **Проверь структуру**: `web_browse evaluate: document.querySelector('body').children.length`
251
+ 3. **Проверь конкретный селектор**: `web_browse evaluate: document.querySelectorAll('.your-selector').length`
252
+ 4. **Посмотри raw HTML**: `web_browse extract(format: 'html', maxChars: 2000)`
253
+ 5. **Проверь есть ли JS-ошибки**: `web_browse evaluate: window.onerror || 'no errors'`
254
+
255
+ ## Quick Reference: Actions
256
+
257
+ | Action | Когда использовать | Параметры |
258
+ |--------|-------------------|-----------|
259
+ | `navigate` | Открыть страницу | `url` |
260
+ | `evaluate` | Выполнить JS, получить данные | `value` (JS code) |
261
+ | `extract` | Получить text/html (редко!) | `selector`, `format`, `maxChars` |
262
+ | `click` | Кликнуть по элементу | `selector` |
263
+ | `type` | Ввести текст в поле | `selector`, `value` |
264
+ | `scroll` | Прокрутить страницу | `direction` |
265
+ | `wait` | Ждать появления элемента | `selector` или `condition`, `timeout` |
266
+ | `get_links` | Получить все ссылки | — |
267
+ | `screenshot` | Скриншот страницы | `selector` |
268
+ | `close` | Закрыть браузер | — |
269
+
270
+ ## Example: Real Task
271
+
272
+ **Задача**: Спарсить 10 велосипедов с каталога, записать в .md
273
+
274
+ ```
275
+ 1. web_browse navigate: https://shop.com/bikes
276
+ 2. web_browse evaluate: document.querySelectorAll('.product-card').length
277
+ → "27" (значит селектор правильный)
278
+ 3. web_browse evaluate: JSON.stringify(Array.from(document.querySelectorAll('.product-card')).slice(0, 10).map(el => ({
279
+ name: el.querySelector('.title')?.textContent?.trim(),
280
+ price: el.querySelector('.price')?.textContent?.trim(),
281
+ link: el.querySelector('a')?.href
282
+ })))
283
+ → JSON с 10 товарами
284
+ 4. write_file: bikes.md (отформатированный результат)
285
+ 5. web_browse close
286
+ ```
287
+
288
+ **Итого: 5 ходов** вместо 30+ как в логе выше.
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBvD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CA6BjE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAWrE;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAiB9D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAetE;AAYD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAkBzC;AA8DD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAqC1E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CASpF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBvD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CA6BjE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAWrE;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAiB9D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAetE;AAYD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAkBzC;AAsED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAqC1E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CASpF"}
@@ -176,6 +176,19 @@ let skillIndexCache = null;
176
176
  /**
177
177
  * Извлекает ключевые слова из скилла: сегменты имени + слова из описания (frontmatter).
178
178
  */
179
+ /**
180
+ * Разбивает текст на слова через Intl.Segmenter — корректно для всех языков.
181
+ */
182
+ function splitWords(text) {
183
+ const segmenter = new Intl.Segmenter('any', { granularity: 'word' });
184
+ const words = [];
185
+ for (const { segment, isWordLike } of segmenter.segment(text.toLowerCase())) {
186
+ if (isWordLike && segment.length > 1) {
187
+ words.push(segment);
188
+ }
189
+ }
190
+ return words;
191
+ }
179
192
  function getSkillKeywords(name, cwd) {
180
193
  const keywords = new Set();
181
194
  for (const seg of name.split('-')) {
@@ -189,8 +202,7 @@ function getSkillKeywords(name, cwd) {
189
202
  const descLine = fmMatch[1].split('\n').find(l => l.startsWith('description:'));
190
203
  if (descLine) {
191
204
  const desc = descLine.replace(/^description:\s*"?([^"]*)"?\s*$/, '$1').trim();
192
- const words = desc.toLowerCase().match(/\b[a-z]{3,}\b/g) || [];
193
- for (const w of words)
205
+ for (const w of splitWords(desc))
194
206
  keywords.add(w);
195
207
  }
196
208
  }
@@ -213,15 +225,10 @@ function buildSkillIndex(cwd) {
213
225
  /**
214
226
  * Извлекает поисковые термы из текста — просто слова, никакой лингвистики.
215
227
  * Матчинг работает по совпадению слов в одном языке.
216
- * Для английских запросов совпадает с английскими описаниями скиллов.
228
+ * Поддерживает все языки через Intl.Segmenter.
217
229
  */
218
230
  function extractSearchTerms(text) {
219
- const terms = new Set();
220
- const words = text.toLowerCase().match(/[\wа-яё]+/g) || [];
221
- for (const word of words) {
222
- terms.add(word);
223
- }
224
- return terms;
231
+ return new Set(splitWords(text));
225
232
  }
226
233
  /**
227
234
  * Проверяет, просит ли пользователь явно "используй скилл".
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "micro-models-agent",
3
- "version": "0.2.79",
3
+ "version": "0.2.80",
4
4
  "description": "Micro Models Agent (MMA) — LLM agent harness for small models (Qwen3.5-9B, 32K-64K context)",
5
5
  "type": "module",
6
6
  "bin": {