browser-web-search 0.1.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/README.md +132 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +691 -0
- package/dist/index.js.map +1 -0
- package/package.json +45 -0
- package/sites/36kr/newsflash.js +76 -0
- package/sites/baidu/search.js +62 -0
- package/sites/bilibili/comments.js +74 -0
- package/sites/bilibili/feed.js +79 -0
- package/sites/bilibili/history.js +43 -0
- package/sites/bilibili/me.js +45 -0
- package/sites/bilibili/popular.js +44 -0
- package/sites/bilibili/ranking.js +42 -0
- package/sites/bilibili/search.js +46 -0
- package/sites/bilibili/trending.js +32 -0
- package/sites/bilibili/video.js +73 -0
- package/sites/bing/search.js +40 -0
- package/sites/boss/detail.js +38 -0
- package/sites/boss/search.js +44 -0
- package/sites/cnblogs/search.js +68 -0
- package/sites/csdn/search.js +51 -0
- package/sites/douban/comments.js +58 -0
- package/sites/douban/movie-hot.js +64 -0
- package/sites/douban/movie-top.js +65 -0
- package/sites/douban/movie.js +117 -0
- package/sites/douban/search.js +90 -0
- package/sites/douban/top250.js +73 -0
- package/sites/github/fork.js +38 -0
- package/sites/github/issue-create.js +42 -0
- package/sites/github/issues.js +32 -0
- package/sites/github/me.js +22 -0
- package/sites/github/pr-create.js +55 -0
- package/sites/github/repo.js +27 -0
- package/sites/google/search.js +54 -0
- package/sites/toutiao/hot.js +107 -0
- package/sites/toutiao/search.js +146 -0
- package/sites/xiaohongshu/comments.js +56 -0
- package/sites/xiaohongshu/feed.js +50 -0
- package/sites/xiaohongshu/me.js +49 -0
- package/sites/xiaohongshu/note.js +63 -0
- package/sites/xiaohongshu/search.js +56 -0
- package/sites/xiaohongshu/user_posts.js +53 -0
- package/sites/zhihu/hot.js +36 -0
- package/sites/zhihu/me.js +43 -0
- package/sites/zhihu/question.js +62 -0
- package/sites/zhihu/search.js +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Browser Web Search (BWS)
|
|
2
|
+
|
|
3
|
+
**把任何网站变成命令行 API**
|
|
4
|
+
|
|
5
|
+
## 项目特点
|
|
6
|
+
|
|
7
|
+
### 🎯 专为 OpenClaw 设计
|
|
8
|
+
- **零配置**:无需 Chrome Extension、无需 Daemon,开箱即用
|
|
9
|
+
- **深度集成**:直接使用 OpenClaw 浏览器,与其他 Skill 共享登录态
|
|
10
|
+
- **轻量精简**:核心代码仅 22KB,无运行时依赖
|
|
11
|
+
|
|
12
|
+
### 🔐 复用登录态
|
|
13
|
+
- **无需 API Key**:使用你在浏览器中的登录状态
|
|
14
|
+
- **绕过反爬**:请求来自真实浏览器,不会被封禁
|
|
15
|
+
- **隐私安全**:数据在本地处理,不经过第三方服务器
|
|
16
|
+
|
|
17
|
+
### 📦 内置 Adapter
|
|
18
|
+
- **13 个平台,41 个命令**:开箱即用
|
|
19
|
+
- **可扩展**:支持添加私有 adapter 到 `~/.bws/sites/`
|
|
20
|
+
- **易维护**:adapter 是简单的 JS 文件,易于修改和调试
|
|
21
|
+
|
|
22
|
+
### 🤖 AI Agent 友好
|
|
23
|
+
- **结构化输出**:所有命令返回 JSON,便于 AI 解析
|
|
24
|
+
- **jq 过滤**:内置 jq 支持,精确提取所需数据
|
|
25
|
+
- **错误提示**:清晰的错误信息和修复建议
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g browser-web-search
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 快速开始
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# 查看所有可用命令
|
|
37
|
+
bws site list
|
|
38
|
+
|
|
39
|
+
# 运行
|
|
40
|
+
bws site zhihu/hot # 知乎热榜
|
|
41
|
+
bws site xiaohongshu/search "旅行" # 小红书搜索
|
|
42
|
+
bws site github/repo owner/repo # GitHub 仓库信息
|
|
43
|
+
bws site bilibili/popular # B站热门视频
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 内置平台
|
|
47
|
+
|
|
48
|
+
| 分类 | 平台 | 命令数 |
|
|
49
|
+
|-----|-----|-------|
|
|
50
|
+
| **搜索** | Google, Baidu, Bing | 3 |
|
|
51
|
+
| **社交** | 小红书, 知乎 | 10 |
|
|
52
|
+
| **新闻** | 36kr, 今日头条 | 3 |
|
|
53
|
+
| **开发** | GitHub, CSDN, 博客园 | 8 |
|
|
54
|
+
| **视频** | Bilibili | 9 |
|
|
55
|
+
| **娱乐** | 豆瓣 | 6 |
|
|
56
|
+
| **招聘** | BOSS直聘 | 2 |
|
|
57
|
+
|
|
58
|
+
## 命令
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
bws site list # 列出所有 adapter
|
|
62
|
+
bws site search <query> # 搜索 adapter
|
|
63
|
+
bws site info <name> # 查看 adapter 详情
|
|
64
|
+
bws site <name> [args...] # 运行 adapter
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 选项
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
--json # JSON 格式输出
|
|
71
|
+
--jq <expr> # jq 过滤表达式
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 示例
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# 获取知乎热榜
|
|
78
|
+
bws site zhihu/hot
|
|
79
|
+
|
|
80
|
+
# 搜索小红书并过滤标题
|
|
81
|
+
bws site xiaohongshu/search "美食" --jq '.notes[].title'
|
|
82
|
+
|
|
83
|
+
# 获取 B站热门视频
|
|
84
|
+
bws site bilibili/popular --json
|
|
85
|
+
|
|
86
|
+
# 搜索 GitHub 仓库
|
|
87
|
+
bws site github/repo facebook/react
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 登录态管理
|
|
91
|
+
|
|
92
|
+
adapter 运行在 OpenClaw 浏览器中。如果网站需要登录:
|
|
93
|
+
|
|
94
|
+
1. 命令会返回 401/403 错误
|
|
95
|
+
2. 在 OpenClaw 浏览器中打开网站并登录:
|
|
96
|
+
```bash
|
|
97
|
+
openclaw browser open https://xiaohongshu.com
|
|
98
|
+
```
|
|
99
|
+
3. 重试命令
|
|
100
|
+
|
|
101
|
+
## 添加私有 Adapter
|
|
102
|
+
|
|
103
|
+
将自定义 adapter 放到 `~/.bws/sites/` 目录:
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
/* @meta
|
|
107
|
+
{
|
|
108
|
+
"name": "mysite/search",
|
|
109
|
+
"description": "搜索我的网站",
|
|
110
|
+
"domain": "mysite.com",
|
|
111
|
+
"args": { "query": { "required": true, "description": "搜索关键词" } },
|
|
112
|
+
"example": "bws site mysite/search 关键词"
|
|
113
|
+
}
|
|
114
|
+
*/
|
|
115
|
+
async function(args) {
|
|
116
|
+
// 在浏览器上下文中执行
|
|
117
|
+
const results = document.querySelectorAll('.result');
|
|
118
|
+
return Array.from(results).map(el => ({
|
|
119
|
+
title: el.querySelector('.title').textContent,
|
|
120
|
+
url: el.querySelector('a').href
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## 环境要求
|
|
126
|
+
|
|
127
|
+
- Node.js >= 18
|
|
128
|
+
- OpenClaw 环境
|
|
129
|
+
|
|
130
|
+
## License
|
|
131
|
+
|
|
132
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|