@xbrowser/cli 1.4.6 → 1.4.7
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.md +3 -3
- package/dist/cli.js +4 -2
- package/dist/index.js +4 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
## 特性
|
|
11
11
|
|
|
12
|
-
- **
|
|
12
|
+
- **51 浏览器命令** — 导航、交互、查询、存储、截图,覆盖常见自动化场景
|
|
13
13
|
- **命令链** — 用 `&&`、`,`、`+`、`->`、`;` 串联多个命令,一行搞定复杂流程
|
|
14
14
|
- **管道 & Heredoc** — 支持 stdin 管道和 heredoc 批量执行
|
|
15
15
|
- **录制 / 回放** — 录制浏览器操作为 YAML,随时回放,可转换为 JS/Python/Bash 脚本
|
|
@@ -854,7 +854,7 @@ npm run validate
|
|
|
854
854
|
```
|
|
855
855
|
xbrowser/
|
|
856
856
|
├── src/
|
|
857
|
-
│ ├── commands/ #
|
|
857
|
+
│ ├── commands/ # 51 个浏览器命令定义
|
|
858
858
|
│ ├── builtins/ # CLI 内置命令(config, plugin, session, create)
|
|
859
859
|
│ ├── recorder/ # 录制引擎(录制器 + 回放器)
|
|
860
860
|
│ ├── session/ # 会话管理
|
|
@@ -883,7 +883,7 @@ xbrowser/
|
|
|
883
883
|
| **Setup** | `npm i -g` — 0 config | Install + browser download | Install + browser download | Install + WebDriver + drivers |
|
|
884
884
|
| **Web Scraping** | Built-in (`scrape`, `crawl`, `map`) | Write custom scripts | Write custom scripts | Write custom scripts |
|
|
885
885
|
| **Search** | Built-in multi-engine (`search`) | No | No | No |
|
|
886
|
-
| **Plugin Ecosystem** |
|
|
886
|
+
| **Plugin Ecosystem** | 70+ plugins | Limited | Limited | No |
|
|
887
887
|
| **No Code Required** | ✅ CLI commands | ❌ Must write JS/TS | ❌ Must write JS/TS | ❌ Must write code |
|
|
888
888
|
| **Headless Mode** | ✅ Default | ✅ | ✅ | ✅ |
|
|
889
889
|
| **Record/Replay** | ✅ Built-in (`record`/`replay`) | ✅ Codegen | ❌ | ❌ |
|
package/dist/cli.js
CHANGED
|
@@ -11859,7 +11859,8 @@ function printChainResult(chainResult) {
|
|
|
11859
11859
|
}
|
|
11860
11860
|
if (step.tips?.length) {
|
|
11861
11861
|
for (const tip of step.tips) {
|
|
11862
|
-
|
|
11862
|
+
const text = typeof tip === "string" ? tip : tip.message;
|
|
11863
|
+
if (text) console.log(` \u{1F4A1} ${text}`);
|
|
11863
11864
|
}
|
|
11864
11865
|
}
|
|
11865
11866
|
} else {
|
|
@@ -12655,7 +12656,8 @@ async function routeCommand(argvIn, stdinCommands) {
|
|
|
12655
12656
|
}
|
|
12656
12657
|
if (step.tips?.length) {
|
|
12657
12658
|
for (const tip of step.tips) {
|
|
12658
|
-
|
|
12659
|
+
const text = typeof tip === "string" ? tip : tip.message;
|
|
12660
|
+
if (text) console.log(` \u{1F4A1} ${text}`);
|
|
12659
12661
|
}
|
|
12660
12662
|
}
|
|
12661
12663
|
} else {
|
package/dist/index.js
CHANGED
|
@@ -12199,7 +12199,8 @@ function printChainResult(chainResult) {
|
|
|
12199
12199
|
}
|
|
12200
12200
|
if (step.tips?.length) {
|
|
12201
12201
|
for (const tip of step.tips) {
|
|
12202
|
-
|
|
12202
|
+
const text = typeof tip === "string" ? tip : tip.message;
|
|
12203
|
+
if (text) console.log(` \u{1F4A1} ${text}`);
|
|
12203
12204
|
}
|
|
12204
12205
|
}
|
|
12205
12206
|
} else {
|
|
@@ -12995,7 +12996,8 @@ async function routeCommand(argvIn, stdinCommands) {
|
|
|
12995
12996
|
}
|
|
12996
12997
|
if (step.tips?.length) {
|
|
12997
12998
|
for (const tip of step.tips) {
|
|
12998
|
-
|
|
12999
|
+
const text = typeof tip === "string" ? tip : tip.message;
|
|
13000
|
+
if (text) console.log(` \u{1F4A1} ${text}`);
|
|
12999
13001
|
}
|
|
13000
13002
|
}
|
|
13001
13003
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xbrowser/cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.7",
|
|
4
4
|
"description": "Browser automation CLI for web scraping, headless browsing, SEO analysis, and AI agent workflows. A command-line alternative to Playwright, Puppeteer, and Selenium.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|