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.
Files changed (117) hide show
  1. package/package.json +1 -1
  2. package/skills/consensus/skill.json +20 -0
  3. package/skills/consensus/src/SKILL.md +93 -0
  4. package/skills/deepwiki/skill.json +20 -0
  5. package/skills/deepwiki/src/SKILL.md +45 -0
  6. package/skills/deepwiki/src/_meta.json +6 -0
  7. package/skills/deepwiki/src/scripts/deepwiki.js +135 -0
  8. package/skills/feishu-bitable/skill.json +20 -0
  9. package/skills/feishu-bitable/src/CHECKLIST.md +150 -0
  10. package/skills/feishu-bitable/src/README.md +178 -0
  11. package/skills/feishu-bitable/src/SKILL.md +113 -0
  12. package/skills/feishu-bitable/src/_meta.json +6 -0
  13. package/skills/feishu-bitable/src/api.js +381 -0
  14. package/skills/feishu-bitable/src/bin/cli.js +284 -0
  15. package/skills/feishu-bitable/src/description.md +143 -0
  16. package/skills/feishu-bitable/src/examples/create-records.json +52 -0
  17. package/skills/feishu-bitable/src/examples/create-table.json +64 -0
  18. package/skills/feishu-bitable/src/package-lock.json +324 -0
  19. package/skills/feishu-bitable/src/package.json +33 -0
  20. package/skills/feishu-bitable/src/publish-config.json +14 -0
  21. package/skills/feishu-bitable/src/test-simple.js +61 -0
  22. package/skills/feishu-bitable/src/utils.js +261 -0
  23. package/skills/google-maps/skill.json +20 -0
  24. package/skills/google-maps/src/SKILL.md +237 -0
  25. package/skills/google-maps/src/_meta.json +6 -0
  26. package/skills/google-maps/src/lib/map_helper.py +912 -0
  27. package/skills/large-task-router/skill.json +20 -0
  28. package/skills/large-task-router/src/SKILL.md +79 -0
  29. package/skills/large-task-router/src/templates/plan.md +74 -0
  30. package/skills/notes-hub-assistant/skill.json +20 -0
  31. package/skills/notes-hub-assistant/src/SKILL.md +233 -0
  32. package/skills/notes-hub-assistant/src/scripts/_resolve_lark_cli.py +48 -0
  33. package/skills/notes-hub-assistant/src/scripts/openclaw_meeting_minutes.py +473 -0
  34. package/skills/notes-hub-assistant/src/scripts/openclaw_notes_crud.py +596 -0
  35. package/skills/notes-hub-assistant/src/scripts/openclaw_wolai_notes_crud.py +364 -0
  36. package/skills/notes-hub-assistant/src/scripts/run_meeting_minutes.py +79 -0
  37. package/skills/notes-hub-assistant/src/scripts/run_note_crud.py +37 -0
  38. package/skills/notes-hub-assistant/src/scripts/run_notionbot.py +36 -0
  39. package/skills/notes-hub-assistant/src/scripts/run_wolai_note_crud.py +27 -0
  40. package/skills/skillhub/skill.json +11 -4
  41. package/skills/skillhub/src/SKILL.md +11 -1
  42. package/skills/sophnet-dailynews/skill.json +20 -0
  43. package/skills/sophnet-dailynews/src/SKILL.md +179 -0
  44. package/skills/sophnet-dailynews/src/cache.json +151 -0
  45. package/skills/sophnet-dailynews/src/sources.json +230 -0
  46. package/skills/sophnet-schedule/skill.json +20 -0
  47. package/skills/sophnet-schedule/src/ARCHITECTURE.md +321 -0
  48. package/skills/sophnet-schedule/src/IMPROVEMENTS.md +145 -0
  49. package/skills/sophnet-schedule/src/SKILL.md +1050 -0
  50. package/skills/sophnet-schedule/src/_meta.json +6 -0
  51. package/skills/sophnet-schedule/src/api/__init__.py +0 -0
  52. package/skills/sophnet-schedule/src/api/models.py +245 -0
  53. package/skills/sophnet-schedule/src/apps/add_event.py +237 -0
  54. package/skills/sophnet-schedule/src/apps/check_reminders.py +112 -0
  55. package/skills/sophnet-schedule/src/apps/check_roc.py +246 -0
  56. package/skills/sophnet-schedule/src/apps/generate_daily_plan.py +342 -0
  57. package/skills/sophnet-schedule/src/apps/import_events.py +216 -0
  58. package/skills/sophnet-schedule/src/apps/monitor_calendar_changes.py +140 -0
  59. package/skills/sophnet-schedule/src/apps/register_tasks.py +169 -0
  60. package/skills/sophnet-schedule/src/apps/sync_roc_to_gcal.py +174 -0
  61. package/skills/sophnet-schedule/src/compat.py +66 -0
  62. package/skills/sophnet-schedule/src/config/__init__.py +0 -0
  63. package/skills/sophnet-schedule/src/config/reminder_rules.yaml +96 -0
  64. package/skills/sophnet-schedule/src/config/roc_events.yaml +44 -0
  65. package/skills/sophnet-schedule/src/config/settings.py +133 -0
  66. package/skills/sophnet-schedule/src/config/task_registry.yaml +92 -0
  67. package/skills/sophnet-schedule/src/docs/FRONTEND_INTEGRATION_GUIDE.md +437 -0
  68. package/skills/sophnet-schedule/src/gcal/__init__.py +0 -0
  69. package/skills/sophnet-schedule/src/gcal/client.py +374 -0
  70. package/skills/sophnet-schedule/src/gcal/models.py +91 -0
  71. package/skills/sophnet-schedule/src/requirements.txt +6 -0
  72. package/skills/sophnet-schedule/src/scripts/setup_gcal_token.py +85 -0
  73. package/skills/sophnet-schedule/src/server.py +669 -0
  74. package/skills/sophnet-schedule/src/services/__init__.py +0 -0
  75. package/skills/sophnet-schedule/src/services/calendar_backend.py +139 -0
  76. package/skills/sophnet-schedule/src/services/conflict_detector.py +96 -0
  77. package/skills/sophnet-schedule/src/services/datetime_utils.py +117 -0
  78. package/skills/sophnet-schedule/src/services/event_classifier.py +100 -0
  79. package/skills/sophnet-schedule/src/services/event_diff.py +160 -0
  80. package/skills/sophnet-schedule/src/services/google_integration.py +500 -0
  81. package/skills/sophnet-schedule/src/services/job_store.py +100 -0
  82. package/skills/sophnet-schedule/src/services/local_event_store.py +266 -0
  83. package/skills/sophnet-schedule/src/services/reminder_planner.py +116 -0
  84. package/skills/sophnet-schedule/src/services/runtime_utils.py +31 -0
  85. package/skills/sophnet-schedule/src/services/table_parser.py +286 -0
  86. package/skills/sophnet-schedule/src/services/task_builder.py +167 -0
  87. package/skills/sophnet-schedule/src/services/time_window.py +72 -0
  88. package/skills/sophnet-stock/skill.json +20 -0
  89. package/skills/sophnet-stock/src/App-Plan.md +442 -0
  90. package/skills/sophnet-stock/src/README.md +214 -0
  91. package/skills/sophnet-stock/src/SKILL.md +236 -0
  92. package/skills/sophnet-stock/src/TODO.md +394 -0
  93. package/skills/sophnet-stock/src/_meta.json +6 -0
  94. package/skills/sophnet-stock/src/docs/ARCHITECTURE.md +408 -0
  95. package/skills/sophnet-stock/src/docs/CONCEPT.md +233 -0
  96. package/skills/sophnet-stock/src/docs/HOT_SCANNER.md +288 -0
  97. package/skills/sophnet-stock/src/docs/README.md +95 -0
  98. package/skills/sophnet-stock/src/docs/USAGE.md +465 -0
  99. package/skills/sophnet-stock/src/scripts/analyze_stock.py +2565 -0
  100. package/skills/sophnet-stock/src/scripts/dividends.py +365 -0
  101. package/skills/sophnet-stock/src/scripts/hot_scanner.py +582 -0
  102. package/skills/sophnet-stock/src/scripts/portfolio.py +548 -0
  103. package/skills/sophnet-stock/src/scripts/rumor_scanner.py +342 -0
  104. package/skills/sophnet-stock/src/scripts/test_stock_analysis.py +409 -0
  105. package/skills/sophnet-stock/src/scripts/watchlist.py +336 -0
  106. package/skills/xiaohongshu/skill.json +20 -0
  107. package/skills/xiaohongshu/src/SKILL.md +91 -0
  108. package/skills/xiaohongshu/src/_meta.json +6 -0
  109. package/skills/xiaohongshu/src/assets/card.html +216 -0
  110. package/skills/xiaohongshu/src/assets/cover.html +82 -0
  111. package/skills/xiaohongshu/src/assets/example.md +84 -0
  112. package/skills/xiaohongshu/src/assets/styles.css +318 -0
  113. package/skills/xiaohongshu/src/scripts/render_xhs_v2.py +737 -0
  114. package/skills/xiaohongshu/src/scripts/sign_server.py +158 -0
  115. package/skills/xiaohongshu/src/scripts/stealth.min.js +7 -0
  116. package/skills/xiaohongshu/src/scripts/xhs_tool.py +186 -0
  117. 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
@@ -0,0 +1,6 @@
1
+ {
2
+ "ownerId": "kn77700wny92h2kvpav2am1yjx80ewfp",
3
+ "slug": "google-maps",
4
+ "version": "3.1.2",
5
+ "publishedAt": 1771088042020
6
+ }