sophhub 0.2.3 → 0.3.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 +1 -1
- package/skills/consensus/skill.json +20 -0
- package/skills/consensus/src/SKILL.md +93 -0
- package/skills/deepwiki/skill.json +20 -0
- package/skills/deepwiki/src/SKILL.md +45 -0
- package/skills/deepwiki/src/_meta.json +6 -0
- package/skills/deepwiki/src/scripts/deepwiki.js +135 -0
- package/skills/feishu-bitable/skill.json +20 -0
- package/skills/feishu-bitable/src/CHECKLIST.md +150 -0
- package/skills/feishu-bitable/src/README.md +178 -0
- package/skills/feishu-bitable/src/SKILL.md +113 -0
- package/skills/feishu-bitable/src/_meta.json +6 -0
- package/skills/feishu-bitable/src/api.js +381 -0
- package/skills/feishu-bitable/src/bin/cli.js +284 -0
- package/skills/feishu-bitable/src/description.md +143 -0
- package/skills/feishu-bitable/src/examples/create-records.json +52 -0
- package/skills/feishu-bitable/src/examples/create-table.json +64 -0
- package/skills/feishu-bitable/src/package-lock.json +324 -0
- package/skills/feishu-bitable/src/package.json +33 -0
- package/skills/feishu-bitable/src/publish-config.json +14 -0
- package/skills/feishu-bitable/src/test-simple.js +61 -0
- package/skills/feishu-bitable/src/utils.js +261 -0
- package/skills/google-maps/skill.json +20 -0
- package/skills/google-maps/src/SKILL.md +237 -0
- package/skills/google-maps/src/_meta.json +6 -0
- package/skills/google-maps/src/lib/map_helper.py +912 -0
- package/skills/large-task-router/skill.json +20 -0
- package/skills/large-task-router/src/SKILL.md +79 -0
- package/skills/large-task-router/src/templates/plan.md +74 -0
- package/skills/notes-hub-assistant/skill.json +20 -0
- package/skills/notes-hub-assistant/src/SKILL.md +233 -0
- package/skills/notes-hub-assistant/src/scripts/_resolve_lark_cli.py +48 -0
- package/skills/notes-hub-assistant/src/scripts/openclaw_meeting_minutes.py +473 -0
- package/skills/notes-hub-assistant/src/scripts/openclaw_notes_crud.py +596 -0
- package/skills/notes-hub-assistant/src/scripts/openclaw_wolai_notes_crud.py +364 -0
- package/skills/notes-hub-assistant/src/scripts/run_meeting_minutes.py +79 -0
- package/skills/notes-hub-assistant/src/scripts/run_note_crud.py +37 -0
- package/skills/notes-hub-assistant/src/scripts/run_notionbot.py +36 -0
- package/skills/notes-hub-assistant/src/scripts/run_wolai_note_crud.py +27 -0
- package/skills/skillhub/skill.json +11 -4
- package/skills/skillhub/src/SKILL.md +11 -1
- package/skills/sophnet-dailynews/skill.json +20 -0
- package/skills/sophnet-dailynews/src/SKILL.md +179 -0
- package/skills/sophnet-dailynews/src/cache.json +151 -0
- package/skills/sophnet-dailynews/src/sources.json +230 -0
- package/skills/sophnet-schedule/skill.json +20 -0
- package/skills/sophnet-schedule/src/ARCHITECTURE.md +321 -0
- package/skills/sophnet-schedule/src/IMPROVEMENTS.md +145 -0
- package/skills/sophnet-schedule/src/SKILL.md +1050 -0
- package/skills/sophnet-schedule/src/_meta.json +6 -0
- package/skills/sophnet-schedule/src/api/__init__.py +0 -0
- package/skills/sophnet-schedule/src/api/models.py +245 -0
- package/skills/sophnet-schedule/src/apps/add_event.py +237 -0
- package/skills/sophnet-schedule/src/apps/check_reminders.py +112 -0
- package/skills/sophnet-schedule/src/apps/check_roc.py +246 -0
- package/skills/sophnet-schedule/src/apps/generate_daily_plan.py +342 -0
- package/skills/sophnet-schedule/src/apps/import_events.py +216 -0
- package/skills/sophnet-schedule/src/apps/monitor_calendar_changes.py +140 -0
- package/skills/sophnet-schedule/src/apps/register_tasks.py +169 -0
- package/skills/sophnet-schedule/src/apps/sync_roc_to_gcal.py +174 -0
- package/skills/sophnet-schedule/src/compat.py +66 -0
- package/skills/sophnet-schedule/src/config/__init__.py +0 -0
- package/skills/sophnet-schedule/src/config/reminder_rules.yaml +96 -0
- package/skills/sophnet-schedule/src/config/roc_events.yaml +44 -0
- package/skills/sophnet-schedule/src/config/settings.py +133 -0
- package/skills/sophnet-schedule/src/config/task_registry.yaml +92 -0
- package/skills/sophnet-schedule/src/docs/FRONTEND_INTEGRATION_GUIDE.md +437 -0
- package/skills/sophnet-schedule/src/gcal/__init__.py +0 -0
- package/skills/sophnet-schedule/src/gcal/client.py +374 -0
- package/skills/sophnet-schedule/src/gcal/models.py +91 -0
- package/skills/sophnet-schedule/src/requirements.txt +6 -0
- package/skills/sophnet-schedule/src/scripts/setup_gcal_token.py +85 -0
- package/skills/sophnet-schedule/src/server.py +669 -0
- package/skills/sophnet-schedule/src/services/__init__.py +0 -0
- package/skills/sophnet-schedule/src/services/calendar_backend.py +139 -0
- package/skills/sophnet-schedule/src/services/conflict_detector.py +96 -0
- package/skills/sophnet-schedule/src/services/datetime_utils.py +117 -0
- package/skills/sophnet-schedule/src/services/event_classifier.py +100 -0
- package/skills/sophnet-schedule/src/services/event_diff.py +160 -0
- package/skills/sophnet-schedule/src/services/google_integration.py +500 -0
- package/skills/sophnet-schedule/src/services/job_store.py +100 -0
- package/skills/sophnet-schedule/src/services/local_event_store.py +266 -0
- package/skills/sophnet-schedule/src/services/reminder_planner.py +116 -0
- package/skills/sophnet-schedule/src/services/runtime_utils.py +31 -0
- package/skills/sophnet-schedule/src/services/table_parser.py +286 -0
- package/skills/sophnet-schedule/src/services/task_builder.py +167 -0
- package/skills/sophnet-schedule/src/services/time_window.py +72 -0
- package/skills/sophnet-stock/skill.json +20 -0
- package/skills/sophnet-stock/src/App-Plan.md +442 -0
- package/skills/sophnet-stock/src/README.md +214 -0
- package/skills/sophnet-stock/src/SKILL.md +236 -0
- package/skills/sophnet-stock/src/TODO.md +394 -0
- package/skills/sophnet-stock/src/_meta.json +6 -0
- package/skills/sophnet-stock/src/docs/ARCHITECTURE.md +408 -0
- package/skills/sophnet-stock/src/docs/CONCEPT.md +233 -0
- package/skills/sophnet-stock/src/docs/HOT_SCANNER.md +288 -0
- package/skills/sophnet-stock/src/docs/README.md +95 -0
- package/skills/sophnet-stock/src/docs/USAGE.md +465 -0
- package/skills/sophnet-stock/src/scripts/analyze_stock.py +2565 -0
- package/skills/sophnet-stock/src/scripts/dividends.py +365 -0
- package/skills/sophnet-stock/src/scripts/hot_scanner.py +582 -0
- package/skills/sophnet-stock/src/scripts/portfolio.py +548 -0
- package/skills/sophnet-stock/src/scripts/rumor_scanner.py +342 -0
- package/skills/sophnet-stock/src/scripts/test_stock_analysis.py +409 -0
- package/skills/sophnet-stock/src/scripts/watchlist.py +336 -0
- package/skills/xiaohongshu/skill.json +20 -0
- package/skills/xiaohongshu/src/SKILL.md +91 -0
- package/skills/xiaohongshu/src/_meta.json +6 -0
- package/skills/xiaohongshu/src/assets/card.html +216 -0
- package/skills/xiaohongshu/src/assets/cover.html +82 -0
- package/skills/xiaohongshu/src/assets/example.md +84 -0
- package/skills/xiaohongshu/src/assets/styles.css +318 -0
- package/skills/xiaohongshu/src/scripts/render_xhs_v2.py +737 -0
- package/skills/xiaohongshu/src/scripts/sign_server.py +158 -0
- package/skills/xiaohongshu/src/scripts/stealth.min.js +7 -0
- package/skills/xiaohongshu/src/scripts/xhs_tool.py +186 -0
- package/skills/xiaohongshu/src/workflow.py +185 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "google-maps",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"types": [
|
|
5
|
+
"store"
|
|
6
|
+
],
|
|
7
|
+
"displayName": "谷歌地图助手",
|
|
8
|
+
"description": "支持谷歌地图的搜索、路线规划、地点推荐与实时交通信息查询,并支持在提供地址或坐标时生成地图链接。",
|
|
9
|
+
"changelog": [
|
|
10
|
+
{
|
|
11
|
+
"version": "1.0.0",
|
|
12
|
+
"date": "2026-04-14",
|
|
13
|
+
"changes": [
|
|
14
|
+
"初次提交"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"createdAt": "2026-04-14",
|
|
19
|
+
"updatedAt": "2026-04-14"
|
|
20
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: google-maps
|
|
3
|
+
description: Google Maps integration with Routes API for distance calculations, directions, geocoding, and places search. Use when the user needs navigation assistance, travel time estimates, location lookups, or route planning with traffic predictions.
|
|
4
|
+
metadata: {
|
|
5
|
+
"openclaw": {
|
|
6
|
+
"emoji": "🗺️",
|
|
7
|
+
"requires": {
|
|
8
|
+
"env": ["GOOGLE_API_KEY"]
|
|
9
|
+
},
|
|
10
|
+
"install": [
|
|
11
|
+
{
|
|
12
|
+
"id": "pip",
|
|
13
|
+
"kind": "pip",
|
|
14
|
+
"package": "requests",
|
|
15
|
+
"label": "Install requests library"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Google Maps 🗺️
|
|
23
|
+
|
|
24
|
+
Google Maps integration powered by the Routes API.
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
- `GOOGLE_API_KEY` environment variable
|
|
29
|
+
- Enable in Google Cloud Console: Routes API, Places API, Geocoding API
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
| Env Variable | Default | Description |
|
|
34
|
+
|--------------|---------|-------------|
|
|
35
|
+
| `GOOGLE_API_KEY` | - | Required. Your Google Maps API key |
|
|
36
|
+
| `GOOGLE_MAPS_API_KEY` | - | Alternative to `GOOGLE_API_KEY` (fallback) |
|
|
37
|
+
| `GOOGLE_MAPS_LANG` | `en` | Response language (en, he, ja, etc.) |
|
|
38
|
+
|
|
39
|
+
Set in OpenClaw config:
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"env": {
|
|
43
|
+
"GOOGLE_API_KEY": "AIza...",
|
|
44
|
+
"GOOGLE_MAPS_LANG": "en"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Script Location
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
python3 {baseDir}/lib/map_helper.py <action> [options]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Actions
|
|
58
|
+
|
|
59
|
+
### distance - Calculate travel time
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
python3 lib/map_helper.py distance "origin" "destination" [options]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Options:**
|
|
66
|
+
| Option | Values | Description |
|
|
67
|
+
|--------|--------|-------------|
|
|
68
|
+
| `--mode` | driving, walking, bicycling, transit | Travel mode (default: driving) |
|
|
69
|
+
| `--depart` | now, +30m, +1h, 14:00, 2026-02-07 08:00 | Departure time |
|
|
70
|
+
| `--arrive` | 14:00 | Arrival time (transit only) |
|
|
71
|
+
| `--traffic` | best_guess, pessimistic, optimistic | Traffic model |
|
|
72
|
+
| `--avoid` | tolls, highways, ferries | Comma-separated |
|
|
73
|
+
|
|
74
|
+
**Examples:**
|
|
75
|
+
```bash
|
|
76
|
+
python3 lib/map_helper.py distance "New York" "Boston"
|
|
77
|
+
python3 lib/map_helper.py distance "Los Angeles" "San Francisco" --depart="+1h"
|
|
78
|
+
python3 lib/map_helper.py distance "Chicago" "Detroit" --depart="08:00" --traffic=pessimistic
|
|
79
|
+
python3 lib/map_helper.py distance "London" "Manchester" --mode=transit --arrive="09:00"
|
|
80
|
+
python3 lib/map_helper.py distance "Paris" "Lyon" --avoid=tolls,highways
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Response:**
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"distance": "215.2 mi",
|
|
87
|
+
"distance_meters": 346300,
|
|
88
|
+
"duration": "3 hrs 45 mins",
|
|
89
|
+
"duration_seconds": 13500,
|
|
90
|
+
"static_duration": "3 hrs 30 mins",
|
|
91
|
+
"duration_in_traffic": "3 hrs 45 mins"
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### directions - Turn-by-turn route
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
python3 lib/map_helper.py directions "origin" "destination" [options]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Additional options (beyond distance):**
|
|
104
|
+
| Option | Description |
|
|
105
|
+
|--------|-------------|
|
|
106
|
+
| `--alternatives` | Return multiple routes |
|
|
107
|
+
| `--waypoints` | Intermediate stops (pipe-separated) |
|
|
108
|
+
| `--optimize` | Optimize waypoint order (TSP) |
|
|
109
|
+
|
|
110
|
+
**Examples:**
|
|
111
|
+
```bash
|
|
112
|
+
python3 lib/map_helper.py directions "New York" "Washington DC"
|
|
113
|
+
python3 lib/map_helper.py directions "San Francisco" "Los Angeles" --alternatives
|
|
114
|
+
python3 lib/map_helper.py directions "Miami" "Orlando" --waypoints="Fort Lauderdale|West Palm Beach" --optimize
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Response includes:** summary, labels, duration, static_duration, warnings, steps[], optimized_waypoint_order
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### matrix - Distance matrix
|
|
122
|
+
|
|
123
|
+
Calculate distances between multiple origins and destinations:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
python3 lib/map_helper.py matrix "orig1|orig2" "dest1|dest2"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Example:**
|
|
130
|
+
```bash
|
|
131
|
+
python3 lib/map_helper.py matrix "New York|Boston" "Philadelphia|Washington DC"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Response:**
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"origins": ["New York", "Boston"],
|
|
138
|
+
"destinations": ["Philadelphia", "Washington DC"],
|
|
139
|
+
"results": [
|
|
140
|
+
{"origin_index": 0, "destination_index": 0, "distance": "97 mi", "duration": "1 hr 45 mins"},
|
|
141
|
+
{"origin_index": 0, "destination_index": 1, "distance": "225 mi", "duration": "4 hrs 10 mins"}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### geocode - Address to coordinates
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
python3 lib/map_helper.py geocode "1600 Amphitheatre Parkway, Mountain View, CA"
|
|
152
|
+
python3 lib/map_helper.py geocode "10 Downing Street, London"
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### reverse - Coordinates to address
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
python3 lib/map_helper.py reverse 40.7128 -74.0060 # New York City
|
|
159
|
+
python3 lib/map_helper.py reverse 51.5074 -0.1278 # London
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### search - Find places
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
python3 lib/map_helper.py search "coffee near Times Square"
|
|
168
|
+
python3 lib/map_helper.py search "pharmacy in San Francisco" --open
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### details - Place information
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
python3 lib/map_helper.py details "<place_id>"
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Traffic Models
|
|
180
|
+
|
|
181
|
+
| Model | Use Case |
|
|
182
|
+
|-------|----------|
|
|
183
|
+
| `best_guess` | Default balanced estimate |
|
|
184
|
+
| `pessimistic` | Important meetings (worst-case) |
|
|
185
|
+
| `optimistic` | Best-case scenario |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Regional Notes
|
|
190
|
+
|
|
191
|
+
Some features may not be available in all countries:
|
|
192
|
+
|
|
193
|
+
| Feature | Availability |
|
|
194
|
+
|---------|--------------|
|
|
195
|
+
| `--fuel-efficient` | US, EU, select countries |
|
|
196
|
+
| `--shorter` | Limited availability |
|
|
197
|
+
| `--mode=two_wheeler` | Asia, select countries |
|
|
198
|
+
|
|
199
|
+
Check [Google Maps coverage](https://developers.google.com/maps/coverage) for details.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Multilingual Support
|
|
204
|
+
|
|
205
|
+
Works with addresses in any language:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Hebrew
|
|
209
|
+
python3 lib/map_helper.py distance "תל אביב" "ירושלים"
|
|
210
|
+
python3 lib/map_helper.py geocode "דיזנגוף 50, תל אביב"
|
|
211
|
+
|
|
212
|
+
# Japanese
|
|
213
|
+
python3 lib/map_helper.py distance "東京" "大阪"
|
|
214
|
+
|
|
215
|
+
# Arabic
|
|
216
|
+
python3 lib/map_helper.py distance "دبي" "أبو ظبي"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Language configuration:**
|
|
220
|
+
|
|
221
|
+
1. Set default via env: `GOOGLE_MAPS_LANG=he` (persists)
|
|
222
|
+
2. Override per-request: `--lang=ja`
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Set Hebrew as default in OpenClaw config
|
|
226
|
+
GOOGLE_MAPS_LANG=he
|
|
227
|
+
|
|
228
|
+
# Override for specific request
|
|
229
|
+
python3 lib/map_helper.py distance "Tokyo" "Osaka" --lang=ja
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Help
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
python3 lib/map_helper.py help
|