visionclaw 0.1.217-beta.8 → 0.1.217

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 (66) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +412 -0
  3. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +132 -0
  4. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +166 -0
  5. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +87 -0
  6. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +174 -0
  7. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +274 -0
  8. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +111 -0
  9. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +87 -0
  10. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +176 -0
  11. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +67 -0
  12. package/dist/builtin-skills/macos-automation/SKILL.md +132 -0
  13. package/dist/builtin-skills/transcribe-audio/SKILL.md +122 -0
  14. package/dist/builtin-skills/visionclaw-manual/SKILL.md +337 -0
  15. package/dist/obs/rdp/icons/icons/app_windows.svg +4 -0
  16. package/dist/obs/rdp/icons/icons/clip_get.svg +4 -0
  17. package/dist/obs/rdp/icons/icons/clip_send.svg +4 -0
  18. package/dist/obs/rdp/icons/icons/clip_shared.svg +4 -0
  19. package/dist/obs/rdp/icons/icons/clipboard.svg +4 -0
  20. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +4 -0
  21. package/dist/obs/rdp/icons/icons/control.svg +4 -0
  22. package/dist/obs/rdp/icons/icons/desktop.svg +4 -0
  23. package/dist/obs/rdp/icons/icons/display.svg +4 -0
  24. package/dist/obs/rdp/icons/icons/launchpad.svg +4 -0
  25. package/dist/obs/rdp/icons/icons/mission_control.svg +4 -0
  26. package/dist/obs/rdp/icons/icons/screenshot.svg +4 -0
  27. package/dist/obs/rdp/icons/icons/zoom_actual.svg +4 -0
  28. package/dist/obs/rdp/icons/icons/zoom_fit.svg +4 -0
  29. package/dist/obs/rdp/icons/icons/zoom_in.svg +4 -0
  30. package/dist/obs/rdp/icons/icons/zoom_out.svg +4 -0
  31. package/dist/realtime/assets/index.html +1058 -0
  32. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  33. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  34. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  35. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  36. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  37. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  38. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  39. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  40. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  41. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  42. package/dist-agent/assets/index.html +1058 -0
  43. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  44. package/dist-agent/assets/samples/ash.mp3 +0 -0
  45. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  46. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  47. package/dist-agent/assets/samples/coral.mp3 +0 -0
  48. package/dist-agent/assets/samples/echo.mp3 +0 -0
  49. package/dist-agent/assets/samples/marin.mp3 +0 -0
  50. package/dist-agent/assets/samples/sage.mp3 +0 -0
  51. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  52. package/dist-agent/assets/samples/verse.mp3 +0 -0
  53. package/dist-agent/bundle.cjs +2 -2
  54. package/dist-agent/playwriter-relay.cjs +95 -0
  55. package/dist-agent/realtime/assets/index.html +1058 -0
  56. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  57. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  58. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  59. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  60. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  61. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  62. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  63. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  64. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  65. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
  66. package/package.json +1 -1
@@ -0,0 +1,337 @@
1
+ ---
2
+ description: Use this skill when the user asks how VisionClaw works, what commands are available, how to interact with the agent, or needs help understanding the agent's features and behavior. Covers commands, messaging channels, wake/sleep cycle, Telegram Mini Apps, realtime voice, WeChat login, tools, memory, skills, and the Cloudflare Tunnel runtime.
3
+ ---
4
+
5
+ # VisionClaw User Manual
6
+
7
+ This document describes how VisionClaw works and how the owner can interact with it.
8
+
9
+ ## What is VisionClaw?
10
+
11
+ VisionClaw is a personal desktop agent that runs as a long-lived process on macOS or Windows. It owns and controls the computer it runs on: it can execute terminal commands, control GUI applications, browse the web, manage files, send emails, use calendars, and interact with desktop/mobile apps. It is powered by the Claude Agent SDK and can be configured with different model providers.
12
+
13
+ The agent has its own identity: a dedicated Gmail account, Google Calendar, Google Drive, Telegram bot, and optional app accounts such as WeChat and GitHub. It acts autonomously on behalf of its owner, while keeping the owner reachable through Telegram and other enabled channels.
14
+
15
+ ## Communication Channels
16
+
17
+ ### Command Channel: Telegram
18
+
19
+ Telegram is the primary command channel. Telegram messages wake the agent immediately and are processed with highest priority. When the agent is sleeping, a Telegram message wakes it. When the agent is busy, the message is injected into the active turn and the fast responder may immediately acknowledge it.
20
+
21
+ Any normal text message sent by the owner via Telegram is treated as a command or task for the agent to execute.
22
+
23
+ ### Telegram Slash Commands
24
+
25
+ Owner-only commands:
26
+
27
+ | Command | Description |
28
+ |---|---|
29
+ | `/help` | Show the live command list. |
30
+ | `/status` | Open the status Mini App when available, or send a cached text status report. |
31
+ | `/status refresh` | Force fresh service health checks and send a text status report. |
32
+ | `/stop` | Stop the agent's current task and return to sleep. |
33
+ | `/sleep <minutes>` | Change the proactive wake interval, 1–1440 minutes. Example: `/sleep 30`. |
34
+ | `/console` | Deprecated; check tunnel status or use onboarding Admin for logs/transcripts. |
35
+ | `/restart` | Restart the agent process after a short delay. Useful after configuration changes or when the agent is stuck. |
36
+ | `/tunnel restart` | Restart the tunnel connection without restarting the agent. |
37
+ | `/screenshot` | Take a desktop screenshot and send it back via Telegram. |
38
+ | `/rdp [minutes]` | Generate a temporary browser-based remote desktop link. Defaults to 30 minutes; max 480 minutes. |
39
+ | `/realtime` | Open the realtime voice Telegram Mini App. |
40
+ | `/settings` | Open settings for language/timezone changes. |
41
+ | `/backup` | Create a ZIP backup of memories, skills, sessions, and profile data. |
42
+ | `/subscribe` | Show subscription status and billing management options. |
43
+ | `/usage` | Show a tool-call usage report with recent trends. |
44
+ | `/silent [on\|off]` | Toggle silent context compaction mode. |
45
+ | `/refresh` | Force context compaction to recover from a confused/corrupted session. |
46
+ | `/weixin` or `/wechat` | Start WeChat QR login from Telegram. |
47
+ | `/android-use on\|off` | Toggle Android-use tools. Requires restart to fully take effect. |
48
+ | `/upgrade_beta` | Upgrade to the latest beta release. |
49
+ | `/upgrade_dev <tag>` | Upgrade to a dev release by npm dist-tag. |
50
+
51
+ Telegram's slash-command menu intentionally shows only the most common commands, including `/stop`, `/restart`, `/screenshot`, `/status`, `/subscribe`, `/refresh`, `/realtime`, and `/settings`. Hidden commands such as `/rdp`, `/weixin`, `/upgrade_beta`, and `/upgrade_dev` still work when typed manually.
52
+
53
+ Unknown slash commands are rejected with a short help message instead of being forwarded to the main agent. Natural-language messages that do not start with `/` are unaffected.
54
+
55
+ ### Unknown Telegram Chat Approval
56
+
57
+ When a new Telegram DM or group that has not been approved yet contacts the agent:
58
+
59
+ - The chat is marked as pending.
60
+ - The owner receives a notification with the chat name, preview, and Approve / Block inline buttons.
61
+ - The owner can manage requests with `/requests`, `/approve <id>`, `/block <id>`, and `/chats`.
62
+ - Messages from that chat are held until approval instead of being delivered immediately.
63
+ - Once approved, held messages are released to the agent automatically.
64
+ - Non-owner chats cannot use owner-only slash commands.
65
+
66
+ ### Realtime Voice Mini App (`/realtime`)
67
+
68
+ `/realtime` sends an inline Telegram Web App button that opens VisionClaw's realtime voice interface. The Mini App is served from the existing observability tunnel at `/realtime`; no separate port or DNS setup is needed.
69
+
70
+ The realtime voice interface is designed for short, live conversations with the verified owner:
71
+
72
+ - It uses Telegram Mini App init-data verification, so only the Telegram owner can create a voice session.
73
+ - It creates a short-lived realtime session and connects to OpenAI's realtime voice model.
74
+ - It has a compact snapshot of the main agent's state and live activity summary at session start.
75
+ - It can answer conversationally and use a small set of safe realtime tools.
76
+ - It stores each completed voice transcript under the profile's `voice-transcripts` data and in a SQLite voice session table.
77
+ - After the call ends, VisionClaw summarizes the voice transcript. Open follow-up requests are injected back into the normal agent message path so the main desktop agent can handle work that was outside the realtime interface.
78
+
79
+ Realtime voice capabilities are intentionally narrower than the main desktop agent. It can use tools such as calendar, web/news/local/hotel/flight/finance search, Gmail list/send, persistent memory, stock quotes, Telegram self-message, and quick reminders. It cannot control the desktop, run terminal commands, edit files, automate chat apps, manage MCP servers, restart/upgrade/reconfigure the main agent, or access the full historical context. For anything outside its realtime tool list, it should briefly acknowledge the request and hand it off to the main agent through the post-call summary.
80
+
81
+ Requirements and caveats:
82
+
83
+ - The Cloudflare Tunnel must be available; otherwise `/realtime` reports that the Mini App is unavailable.
84
+ - Telegram bot token and owner Telegram chat ID must be configured.
85
+ - An OpenAI API key must be configured for the realtime model.
86
+ - Voice session links are short-lived and tied to the verified Telegram session.
87
+
88
+ ### WeChat Login (`/weixin` / `/wechat`)
89
+
90
+ `/weixin` and `/wechat` start the WeChat login flow from Telegram:
91
+
92
+ 1. VisionClaw asks the WeChat/OpenClaw service to start a QR-code login session.
93
+ 2. It renders the login URL as a QR image and sends the image to the owner in Telegram.
94
+ 3. The owner scans the QR code with WeChat.
95
+ 4. VisionClaw waits for login completion for up to about 8 minutes.
96
+ 5. On success, it saves the WeChat account credentials into the current VisionClaw profile, enables the WeChat channel configuration, registers the account ID, and schedules a restart so the new configuration is loaded.
97
+
98
+ There is also a CLI command, `visionclaw weixin-login`, for standalone QR authentication. The CLI and Telegram flows store WeChat state under VisionClaw's profile directory rather than a global OpenClaw directory.
99
+
100
+ ### Other Channels
101
+
102
+ - **Gmail** — Always available when configured. The agent can send, receive, search, and manage email as its Gmail identity.
103
+ - **Discord** — Optional. Can be enabled in configuration.
104
+ - **WeChat and other chat apps** — Can be used through configured integrations, browser automation, mobile automation, or desktop control depending on the environment. They are not as privileged as the owner Telegram command channel.
105
+ - **System/internal messages** — Some subsystems, such as realtime voice summaries or restart markers, enqueue internal messages into the same wake/interrupt path as user messages.
106
+
107
+ ### Message Priority
108
+
109
+ - Telegram owner messages and commands → instant wake or active-turn interrupt.
110
+ - Internal system messages → normal queue path; can wake or interrupt depending on agent state.
111
+ - Gmail / Discord messages → queued and processed by the message queue.
112
+ - Desktop/app notifications → observed through screenshots or explicit automation during wake cycles.
113
+
114
+ ## Wake / Sleep Cycle
115
+
116
+ VisionClaw operates on an infinite wake/sleep loop:
117
+
118
+ 1. **Sleep** — The agent idles, waiting for a new message, an internal event, or the heartbeat timer.
119
+ 2. **Wake** — The agent gathers context, including desktop screenshot, upcoming calendar events, queued messages, memory, active realtime voice session metadata, and other configured context.
120
+ 3. **Act** — The agent decides what to do and executes tasks using tools such as browser automation, terminal, desktop control, email/calendar/drive, and memory.
121
+ 4. **Report** — The agent notifies the owner of meaningful results or blockers.
122
+ 5. **Finish** — The agent calls `finish` and returns to sleep.
123
+
124
+ If a new message arrives while the agent is busy, the fast responder may send a quick acknowledgement, and the message is injected into the active context. The main agent is still single-threaded: it can only perform one active task step at a time.
125
+
126
+ ## Sessions and Context
127
+
128
+ ### Single-Threaded Execution
129
+
130
+ VisionClaw can only operate one active desktop/browser/terminal workflow at a time. If multiple requests arrive, the agent decides whether to switch tasks, queue work, or finish its current step first.
131
+
132
+ ### Dual-Session Architecture (Optional)
133
+
134
+ When enabled, VisionClaw keeps separate conversation sessions:
135
+
136
+ - **General session** — Conversations, quick tasks, questions, scheduling, status checks, and non-coding work.
137
+ - **Coding session** — Complex coding tasks such as refactors, debugging, and multi-file implementation.
138
+
139
+ Only one session is active at a time. The `switch_session` tool hands off between sessions with a memo containing progress and decisions.
140
+
141
+ ### Context Maintenance
142
+
143
+ VisionClaw may compact or refresh context to stay within model limits. `/refresh` forces compaction when the agent seems confused. `/silent on` suppresses routine compaction notifications; `/silent off` restores them.
144
+
145
+ ## Available Tools
146
+
147
+ ### Communication
148
+
149
+ - **notify_user** — Send text, images, files, and screenshots back to the owner through enabled channels.
150
+ - **Telegram command handling** — Stop, status, realtime, RDP, backup, settings, subscription, WeChat login, and maintenance commands are handled directly without asking the main LLM to improvise.
151
+
152
+ ### Desktop, Browser, and Remote Access
153
+
154
+ - **computer_use_click / move / scroll / drag / type / key / screenshot** — Control mouse and keyboard for desktop applications using AI-powered coordinate resolution.
155
+ - **Playwright MCP tools** (when browser runtime is available) — Browser automation: navigate, click, fill forms, inspect pages, execute JavaScript, and capture snapshots. Prefer Playwright for browser work; use computer-use tools for desktop apps or fallback cases.
156
+ - **remote desktop (`/rdp`)** — Generate a temporary browser-based desktop stream link through the OBS tunnel.
157
+ - **Chrome Remote Desktop / Windows RDP** — The owner can also connect directly when configured.
158
+
159
+ ### Productivity
160
+
161
+ - **manage_calendar** — Create, get, update, delete, list events, and find free time. `list_events` returns description previews; use `get_event` with `event_id` for full provider fields and to verify updates. Google instance IDs read individual occurrences; use a returned `recurringEventId` to read the parent series' rule. For recurring events in Zoho and the internal calendar, `get_event` reads the series master; individual occurrence lookup is not supported. Internal `list_events` repeats the series ID for each occurrence, so `get_event` returns the series' original start/end, not the later occurrence's times. Use a bounded `list_events` window to inspect those occurrence times. Missing provider fields are returned as `null`. Set `description: ""` to clear notes. `recurrence` is create-only; updates containing it fail without changing the event.
162
+ - **manage_email** — Send, read, search, and manage Gmail.
163
+ - **manage_drive** — Upload, download, list, and manage Google Drive files.
164
+ - **web_fetch** — Fetch URL content in readable form.
165
+ - **Search tools** — Web/news/local/hotel/flight/finance and stock quote tools are available in the main agent and a safe subset is available to realtime voice.
166
+
167
+ ### Memory & Knowledge
168
+
169
+ - **memory** — Persistent storage under `/memories` that survives context compaction. The agent should proactively save important owner preferences, durable facts, project state, and long-running task notes.
170
+ - **Transcript memory** — Realtime voice sessions are summarized and stored separately so actionable follow-ups can reach the main agent.
171
+
172
+ ### Skills
173
+
174
+ - **manage_skills** — Create, update, delete, list, browse catalog, and install reusable `SKILL.md` instruction sets.
175
+ - **Skill invocation** — The SDK can invoke installed skills when a task pattern matches.
176
+
177
+ ### MCP Server Management
178
+
179
+ - **manage_mcp_servers** — Add, remove, or list external MCP servers at runtime. Supported transport types include stdio, HTTP, and SSE. Added servers persist across restarts and are hot-loaded into the current session where possible.
180
+
181
+ ### System and Maintenance
182
+
183
+ - **screenshot** — Capture the current desktop.
184
+ - **wait** — Pause execution.
185
+ - **finish** — Signal task completion and return to sleep.
186
+ - **upgrade** — Self-update VisionClaw.
187
+ - **backup / restore / reset / reconfigure** — Profile maintenance is available through CLI commands, and backup can be requested from Telegram.
188
+
189
+ ## Tunnel, Mini Apps, and Self-Monitoring
190
+
191
+ VisionClaw includes a minimal tunnel-backed runtime gateway. Logs and transcripts are viewed in the onboarding Admin UI; `/console` is deprecated.
192
+
193
+ The legacy `/console` command now reports the Cloudflare Tunnel URL only. It does not open an operator console. Use the onboarding Admin UI for logs, transcripts, and Agent Feedback. The tunnel-backed runtime still serves `/obs/health`, remote desktop support, channel-claim callbacks, and the Telegram Mini App when enabled.
194
+ ### Agent Self-Inspection
195
+
196
+ The supervisor differs by platform, so prefer the platform-neutral CLI, which dispatches to whichever one is in use:
197
+
198
+ - `visionclaw daemon logs` — Tail the agent's stdout/stderr.
199
+ - `visionclaw daemon status` — Show whether the service is running.
200
+
201
+ Your own system prompt names the detected process manager under "Self-Awareness". If you need to
202
+ drive it directly, match the command to that supervisor — **do not assume pm2**:
203
+
204
+ - **pm2** (typical on macOS): `pm2 logs visionclaw --nostream --lines 200`, `pm2 logs visionclaw --err --lines 50`.
205
+ - **systemd** (Linux agents, unit `visionclaw.service`): `journalctl --user -u visionclaw -n 200`,
206
+ `systemctl --user status visionclaw`. pm2 is **not** installed on these hosts — `pm2 logs` exits `127`.
207
+
208
+ CLI status helpers:
209
+
210
+ - `visionclaw agent status` — Show agent status, process info, and config.
211
+ - `visionclaw ctx status` — Show context window usage and session info.
212
+ - `visionclaw ctx compact` — Trigger manual context compaction while the agent is stopped.
213
+ - `visionclaw ctx refresh` — Rotate current sessions and force new sessions on next start.
214
+
215
+ ### Pre-Installed System Utilities
216
+
217
+ - **pm2** — Process manager for VisionClaw and other long-running services. Present on macOS hosts; **not installed on Linux agents**, which use systemd instead. Verify with `command -v pm2` before relying on it.
218
+ - **cloudflared** — Cloudflare Tunnel client. The onboarding service provisions the tunnel. Do not run `cloudflared tunnel login`, create a replacement tunnel, or overwrite credentials unless explicitly instructed by maintainers.
219
+
220
+ ## Memory System
221
+
222
+ The agent maintains a persistent memory directory (`/memories`). Since the model context window is finite, important information should be saved there proactively.
223
+
224
+ Memory should be used for:
225
+
226
+ - Owner preferences and durable facts.
227
+ - Long-running task state.
228
+ - Credentials metadata or account notes, but never raw secrets unless explicitly designed for secure storage.
229
+ - Project conventions and recurring workflows.
230
+
231
+ At wake time, the agent checks memory for relevant prior context. During work, it records status updates and important facts to preserve continuity across compaction and restarts.
232
+
233
+ ## Skills System
234
+
235
+ Skills are reusable `SKILL.md` files that teach the agent specialized procedures. Built-in skills are installed automatically, and the agent can create or install additional skills for repeated tasks. Skills should contain operational guidance, not ephemeral task notes.
236
+
237
+ ## CLI Commands
238
+
239
+ Main user/operator commands include:
240
+
241
+ | Command | Description |
242
+ |---|---|
243
+ | `visionclaw` | Start the agent using the selected profile. |
244
+ | `visionclaw prepare` | Auto-detect platform and run preparation steps. |
245
+ | `visionclaw prepare-mac` | Prepare a fresh Mac: dependencies, desktop settings, permissions. |
246
+ | `visionclaw prepare-mac-power` | Run only macOS power/screen settings. |
247
+ | `visionclaw prepare-windows` | Prepare a fresh Windows machine. |
248
+ | `visionclaw setup [VCS2-code]` | Bootstrap from a one-time VCS2 code; prompts securely when omitted and also supports `--code-stdin`. |
249
+ | `visionclaw set-owner` | Set the owner email/name for post-ship onboarding. |
250
+ | `visionclaw reconfigure` | Update an existing profile without starting the agent. |
251
+ | `visionclaw backup` | Create and upload a ZIP backup to TOS (default) or Drive (`--provider gdrive`). |
252
+ | `visionclaw restore` | Restore from a backup ZIP or signed HTTP URL. |
253
+ | `visionclaw reset --owner` | Clear owner data, memories, skills, and DBs while preserving config/logs. |
254
+ | `visionclaw reset --machine` | Delete the entire profile directory and system Chrome/Chromium user profiles for a fresh setup. |
255
+ | `visionclaw reinstall-skills` | Reinstall built-in skills. |
256
+ | `visionclaw weixin-login` | Authenticate WeChat via QR code scan. |
257
+ | `visionclaw daemon start\|stop\|restart\|status\|logs` | Manage the daemon (pm2/LaunchAgent on macOS, systemd user service on Linux). |
258
+ | `visionclaw daemon install\|uninstall` | Install or remove auto-start (macOS login item, or Linux systemd user unit). |
259
+ | `visionclaw ctx status\|compact\|refresh` | Inspect or manage context/session state. |
260
+ | `visionclaw agent status` | Show agent/process/config status. |
261
+
262
+ Data-processing and internal maintenance commands also exist for log sanitization, restructuring, batch processing, transcript expansion, and memory backfill.
263
+
264
+ Global options:
265
+
266
+ - `--profile <name>` — Use a specific profile; default is `default`.
267
+ - `-d`, `--debug` — Enable debug logging.
268
+ - `-v`, `--version` — Print version.
269
+ - `-h`, `--help` — Show CLI help.
270
+
271
+ ## Proactive Behavior
272
+
273
+ During heartbeat wakes, VisionClaw may:
274
+
275
+ - Review upcoming calendar events.
276
+ - Follow up on pending tasks.
277
+ - Check queued messages and internal events.
278
+ - Observe desktop/app state.
279
+ - Perform maintenance such as update checks or context/memory housekeeping.
280
+
281
+ ## Error Handling
282
+
283
+ - Retryable errors such as transient network problems, rate limits, and server errors are retried with exponential backoff.
284
+ - Fatal errors such as authentication or billing problems are reported to the owner and retried later.
285
+ - Repeated failures trigger owner notifications with details.
286
+ - Telegram administrative commands such as `/stop`, `/restart`, and `/screenshot` are designed to remain available even when the main agent is otherwise impaired.
287
+
288
+ ## Remote Desktop Access
289
+
290
+ The owner can take direct control of the agent's machine.
291
+
292
+ ### Browser-Based RDP Link
293
+
294
+ Use `/rdp [minutes]` in Telegram to generate a temporary remote desktop link served through the OBS tunnel. This is useful for quick visual inspection or intervention without opening a separate remote desktop product.
295
+
296
+ ### Chrome Remote Desktop / Native RDP
297
+
298
+ On macOS, Chrome Remote Desktop is commonly configured. On Windows, native RDP or Chrome Remote Desktop may be available.
299
+
300
+ How to connect with Chrome Remote Desktop:
301
+
302
+ 1. Log in to the same Google account the agent uses.
303
+ 2. Open [Chrome Remote Desktop](https://remotedesktop.google.com/access).
304
+ 3. Select the agent machine.
305
+ 4. Enter the connection PIN from onboarding.
306
+
307
+ Important notes:
308
+
309
+ - The owner and the agent share the same screen. Manual mouse/keyboard activity may interfere with the agent. Use `/stop` before taking control when possible.
310
+ - Use `/screenshot` and `/status` for lighter-weight inspection before taking over.
311
+
312
+ ## Subscription & Billing
313
+
314
+ VisionClaw uses a subscription-based billing model. Each agent requires an active subscription to operate.
315
+
316
+ Subscription states:
317
+
318
+ - **Active** — The agent processes messages normally.
319
+ - **Expired / cancelled** — The agent stops processing normal tasks, but Telegram administrative commands continue to work where possible.
320
+
321
+ Use `/subscribe` in Telegram to view subscription status and billing options. Owners can also manage subscription, payment methods, invoices, cancellation, or resubscription through the Stripe customer portal:
322
+
323
+ [Manage Subscription](https://billing.stripe.com/p/login/dR65nN0KEf6z1Og8ww)
324
+
325
+ ## Tips for Owners
326
+
327
+ 1. Use Telegram for urgent commands; it is the fastest control path.
328
+ 2. Use `/status` to see what the agent is currently doing before interrupting it.
329
+ 3. Use `/status` for a quick dashboard and `/status refresh` for fresh health checks.
330
+ 4. Use `/realtime` for short live voice conversations; longer or desktop-heavy work will be handed off to the main agent after the call.
331
+ 5. Use `/weixin` when WeChat needs to be logged in or refreshed.
332
+ 6. Use `/stop` before taking over the desktop manually.
333
+ 7. Use `/restart` if the process is misbehaving and `/tunnel restart` if public links stop working.
334
+ 8. Use `/rdp` or Chrome Remote Desktop for hands-on intervention.
335
+ 9. Use `/sleep 5` for frequent check-ins or `/sleep 60` for quieter operation.
336
+ 10. Send images, documents, audio, and voice messages through Telegram when useful; the agent can process multimodal inputs.
337
+ 11. Let the agent save durable preferences to memory so you do not need to repeat context.
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>macwindow.on.rectangle</title>
3
+ <path transform="matrix(0.7202572347266881, 0, 0, 0.7202572347266881, -1.739549839228296, 48.250803858520904)" d="M19.13-5.38L23.41-5.38L23.41-2.06C23.41 5.03 27.44 9.09 34.56 9.09L75.22 9.09C81.88 9.09 85.72 5.03 85.72-2.06L85.72-28.59C85.72-35.69 81.88-39.75 75.22-39.75L70.28-39.75L70.28-43.06C70.28-50.16 66.44-54.22 59.78-54.22L19.13-54.22C12-54.22 7.97-50.16 7.97-43.06L7.97-16.53C7.97-9.41 12-5.38 19.13-5.38ZM19.13-10.41C15.19-10.41 13-12.59 13-16.53L13-43.03C13-46.97 15.19-49.16 19.13-49.16L59.09-49.16C63.03-49.16 65.22-46.97 65.22-43.03L65.22-39.75L34.56-39.75C27.44-39.75 23.41-35.69 23.41-28.59L23.41-10.41ZM34.56 4.06C30.63 4.06 28.44 1.88 28.44-2.06L28.44-28.56C28.44-32.50 30.63-34.69 34.56-34.69L74.53-34.69C78.47-34.69 80.66-32.50 80.66-28.56L80.66-2.06C80.66 1.88 78.47 4.06 74.53 4.06ZM36.91-23.69C38.41-23.69 39.63-24.97 39.63-26.41C39.63-27.84 38.41-29.13 36.91-29.13C35.41-29.13 34.19-27.84 34.19-26.41C34.19-24.97 35.41-23.69 36.91-23.69ZM45.63-23.69C47.13-23.69 48.38-24.97 48.38-26.41C48.38-27.84 47.13-29.13 45.63-29.13C44.13-29.13 42.91-27.84 42.91-26.41C42.91-24.97 44.13-23.69 45.63-23.69ZM54.38-23.69C55.88-23.69 57.09-24.97 57.09-26.41C57.09-27.84 55.88-29.13 54.38-29.13C52.88-29.13 51.66-27.84 51.66-26.41C51.66-24.97 52.88-23.69 54.38-23.69Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>tray.and.arrow.down</title>
3
+ <path transform="matrix(0.7599660729431722, 0, 0, 0.7599660729431722, -2.0559796437659035, 51.4147582697201)" d="M34.22-34.34C32.91-34.34 31.97-33.41 31.97-32.16C31.97-31.47 32.22-30.97 32.69-30.50L43-20.56C43.63-19.94 44.19-19.75 44.81-19.75C45.47-19.75 46-19.94 46.63-20.56L56.94-30.50C57.41-30.97 57.66-31.47 57.66-32.16C57.66-33.41 56.69-34.34 55.38-34.34C54.78-34.34 54.13-34.09 53.69-33.59L48.88-28.44L47.09-26.56L47.31-31.28L47.31-59.06C47.31-60.38 46.16-61.50 44.81-61.50C43.47-61.50 42.34-60.38 42.34-59.06L42.34-31.28L42.56-26.56L40.75-28.44L35.94-33.59C35.50-34.09 34.81-34.34 34.22-34.34ZM53.16-42.97L53.16-38.56L58.63-38.56C60.91-38.56 62.66-37.81 64.19-35.88L75.81-21.22C76.31-20.56 76.13-19.69 75.09-19.69L54.47-19.69C52.84-19.69 52.09-18.44 52.09-17.16L52.09-17.03C52.09-13.41 49.25-9.59 44.81-9.59C40.41-9.59 37.56-13.41 37.56-17.03L37.56-17.16C37.56-18.44 36.78-19.69 35.16-19.69L14.56-19.69C13.53-19.69 13.31-20.56 13.84-21.22L25.44-35.88C26.97-37.81 28.72-38.56 31-38.56L36.47-38.56L36.47-42.97L31.38-42.97C25.81-42.97 24.22-41.59 20.56-37.09L9.75-23.72C8.38-22.03 7.97-20.63 7.97-17.78L7.97 0.72C7.97 7.16 11.25 10.41 17.78 10.41L71.84 10.41C78.41 10.41 81.66 7.16 81.66 0.72L81.66-17.78C81.66-20.63 81.28-22.03 79.88-23.72L69.09-37.09C65.44-41.59 63.81-42.97 58.25-42.97ZM17.84 5.38C14.72 5.38 13 3.69 13 0.44L13-15.09L32.81-15.09C33.56-9.25 38.47-4.94 44.81-4.94C51.16-4.94 56.06-9.28 56.81-15.09L76.63-15.09L76.63 0.44C76.63 3.69 74.88 5.38 71.78 5.38Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>tray.and.arrow.up</title>
3
+ <path transform="matrix(0.7596439169139466, 0, 0, 0.7596439169139466, -2.0415430267062344, 52.09495548961424)" d="M44.81-20.69C46.16-20.69 47.31-21.78 47.31-23.09L47.31-51.78L47.09-56.50L48.88-54.59L53.69-49.44C54.13-48.94 54.78-48.69 55.38-48.69C56.69-48.69 57.66-49.63 57.66-50.91C57.66-51.56 57.41-52.06 56.94-52.53L46.63-62.47C46-63.09 45.47-63.31 44.81-63.31C44.19-63.31 43.63-63.09 43-62.47L32.69-52.53C32.22-52.06 31.97-51.56 31.97-50.91C31.97-49.63 32.91-48.69 34.22-48.69C34.81-48.69 35.50-48.94 35.94-49.44L40.75-54.59L42.56-56.50L42.34-51.78L42.34-23.09C42.34-21.78 43.47-20.69 44.81-20.69ZM53.16-42.97L53.16-38.56L58.63-38.56C60.91-38.56 62.66-37.81 64.19-35.88L75.81-21.22C76.31-20.56 76.13-19.69 75.09-19.69L54.47-19.69C52.84-19.69 52.09-18.44 52.09-17.16L52.09-17.03C52.09-13.41 49.25-9.59 44.81-9.59C40.41-9.59 37.56-13.41 37.56-17.03L37.56-17.16C37.56-18.44 36.78-19.69 35.16-19.69L14.56-19.69C13.53-19.69 13.31-20.56 13.84-21.22L25.44-35.88C26.97-37.81 28.72-38.56 31-38.56L36.47-38.56L36.47-42.97L31.38-42.97C25.81-42.97 24.22-41.59 20.56-37.09L9.75-23.72C8.38-22.03 7.97-20.63 7.97-17.78L7.97 0.72C7.97 7.16 11.25 10.41 17.78 10.41L71.84 10.41C78.41 10.41 81.66 7.16 81.66 0.72L81.66-17.78C81.66-20.63 81.28-22.03 79.88-23.72L69.09-37.09C65.44-41.59 63.81-42.97 58.25-42.97ZM17.84 5.38C14.72 5.38 13 3.69 13 0.44L13-15.09L32.81-15.09C33.56-9.25 38.47-4.94 44.81-4.94C51.16-4.94 56.06-9.28 56.81-15.09L76.63-15.09L76.63 0.44C76.63 3.69 74.88 5.38 71.78 5.38Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>document.on.clipboard</title>
3
+ <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.22-46.31 7.97-43.03 7.97-36.50ZM39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19ZM13 6.81L13-36.44C13-39.50 14.66-41.28 17.91-41.28L28.16-41.28L28.16-23.16C28.16-19.22 30.16-17.25 34.03-17.25L51.69-17.25L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM34.63-21.97C33.38-21.97 32.88-22.47 32.88-23.72L32.88-40.13L50.72-21.97Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>document.on.clipboard</title>
3
+ <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.22-46.31 7.97-43.03 7.97-36.50ZM39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19ZM13 6.81L13-36.44C13-39.50 14.66-41.28 17.91-41.28L28.16-41.28L28.16-23.16C28.16-19.22 30.16-17.25 34.03-17.25L51.69-17.25L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM34.63-21.97C33.38-21.97 32.88-22.47 32.88-23.72L32.88-40.13L50.72-21.97Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>arrow.trianglehead.2.clockwise.rotate.90.page.on.clipboard</title>
3
+ <path transform="matrix(0.712241653418124, 0, 0, 0.712241653418124, 3.565977742448334, 48.092209856915744)" d="M7.97 6.91C7.97 13.44 11.19 16.72 17.66 16.72L47.03 16.72C53.50 16.72 56.72 13.41 56.72 6.91L56.72 1.13L62.19 1.13C68.63 1.13 71.88-2.19 71.88-8.69L71.88-52.09C71.88-58.59 68.63-61.91 62.19-61.91L32.81-61.91C26.38-61.91 23.13-58.63 23.13-52.09L23.13-46.31L17.66-46.31C11.19-46.31 7.97-43.06 7.97-36.50ZM37.88-53.03L37.88-53.69C37.88-54.66 38.50-55.53 39.88-55.53L55.13-55.53C56.47-55.53 57.13-54.66 57.13-53.69L57.13-53.03C57.13-52.09 56.47-51.19 55.13-51.19L39.88-51.19C38.50-51.19 37.88-52.09 37.88-53.03ZM13 6.81L13-36.44C13-39.53 14.66-41.28 17.88-41.28L46.78-41.28C50-41.28 51.69-39.53 51.69-36.44L51.69 6.81C51.69 9.94 50 11.69 46.78 11.69L17.88 11.69C14.66 11.69 13 9.94 13 6.81ZM32.44-28.56C29.19-28.56 26.19-27.41 24.09-25.69C22.88-24.78 22.84-23.50 23.44-22.72C24-22 25.13-21.72 26.38-22.59C28-23.88 30.06-24.72 32.44-24.72C37.13-24.72 41.06-21.41 42.06-17L39.88-17C38.72-17 38.47-15.91 39.09-15.03L43.09-9.50C43.75-8.59 44.88-8.53 45.56-9.50L49.50-15.03C50.13-15.91 49.84-17 48.75-17L46-17C44.94-23.56 39.25-28.56 32.44-28.56ZM16.09-12.63L18.84-12.63C19.91-6.06 25.59-1.06 32.44-1.06C35.66-1.06 38.66-2.22 40.75-3.94C41.97-4.84 42-6.13 41.41-6.91C40.84-7.63 39.72-7.91 38.47-7.03C36.84-5.75 34.78-4.91 32.44-4.91C27.72-4.91 23.78-8.22 22.78-12.63L24.97-12.63C26.13-12.63 26.38-13.72 25.75-14.59L21.75-20.13C21.09-21.03 19.97-21.09 19.28-20.13L15.34-14.59C14.72-13.72 15-12.63 16.09-12.63Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 38" width="41" height="38">
2
+ <title>cursorarrow.square</title>
3
+ <image width="41" height="38" href="data:image/png;base64,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nXSenQxGYEf1xCcJnp3gmtz3z3A3GowOHZla4Hxt2WQirb7tParPp/enINCVgH81c7Ni9bnY5PF3umo8+0lb4O3BE8uT0heI8un/KQi0LeC/WJYrmiTDcdt+pO2GU38eAi9sYXJ5wvksKH+n2ERBQSBawH/+vl/hS02MS3BNly2NbjD15StwQ0uTzJP0fsVHFbsoKAg0FfB7jR9Q3KdomgTn2/7nqnt9BWWWQMm/uTxFDqfPsmjr7o9U8dcU1ytuV/j9Sl+u1EcBEeemVDWUAQj4tegE5aNEv7+4ROE/pX9Hsaui7fLP2sGJbe8kt/pLTpCba7CcrNbLbdBoLwItCPjL5t9sod6sqyz5S84/08hdmPXo0XgEYgT8dhPJcYxlyQnSHB9S8GfumInBoqIEPlhUb2t0tvQEeZOszq3hxaoIDE3A743zl9Q8o1rye5AVyY66c6Nig2oBtwgUJHCw+npFQf2t1dW1a609zJUfULf8qTLndxzm+NKr+QXO1FMfn/9pnuEIctUcsMN/KfZnSiBQiMAd6ufuihWF9Heqbpb+HmSF5i/PHqu4q1rALQIDFvAJVo5WkBzXMMgkyGeBfCblwxQ/f3YR9xAYnIC/teGzj183uJ610CES5CiqP6x5rYIkOerCo2EI+FwBb1dcNIzutN8L3oMcb7yHFl+q8E++KAgMQeARdeIYxcVD6ExXfeAIcry0L6Wwr+Lq8U+zFIGsBHw+gAMUJMeaw8bXfOYH85/ZZytWKnyeR6yEQMlO4Ay1+EjF8uxaToOzEfDZVPxrA3/aTWCQwxy4RnP1AAUFgc4EfEGjSxR+szuHFwltLG+crtXc5HLEQogofEgzneL22syfBh6nWKKgINCngM9MdZ7C53T0++eUIAESZHNI//ntnyk69lZsqqAg0KaAP5H2BbYuV1ym+JbC32+kBAuQIINBVd0Oij0Vuym2nRWb675PiLF45pYT9QqCMiLwhB75Q8FHZ27v161/wOATOztuVjgx3qogIQqBggACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCOQi8P9KumlzKYrIkQAAAABJRU5ErkJggg=="/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>menubar.dock.rectangle</title>
3
+ <path transform="matrix(0.7599660729431722, 0, 0, 0.7599660729431722, -2.0559796437659035, 49.13486005089059)" d="M21.16 6.22L69.25 6.22C77.13 6.22 81.66 1.47 81.66-6.97L81.66-38.09C81.66-46.53 77.13-51.31 69.25-51.31L21.16-51.31C12.75-51.31 7.97-46.53 7.97-38.09L7.97-6.97C7.97 1.47 12.75 6.22 21.16 6.22ZM21.19-46.28L68.44-46.28C72.66-46.28 75.44-44.31 76.31-40.78L13.31-40.78C14.19-44.31 16.97-46.28 21.19-46.28ZM21.19 1.19C16 1.19 13-1.78 13-6.97L13-36.38L76.63-36.38L76.63-6.97C76.63-1.78 73.63 1.19 68.44 1.19ZM21.41-6.47C21.41-4.84 22.53-3.75 24.19-3.75L65.53-3.75C67.19-3.75 68.31-4.84 68.31-6.47L68.31-11.16C68.31-12.78 67.19-13.88 65.53-13.88L24.19-13.88C22.53-13.88 21.41-12.78 21.41-11.16Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>display</title>
3
+ <path transform="matrix(0.7516778523489933, 0, 0, 0.7516778523489933, -1.9899328859060406, 48.125838926174495)" d="M15.16-1.06L35.34-1.06L35.34 4.97L35.16 4.97C33.78 4.97 32.63 6.09 32.63 7.50C32.63 8.91 33.78 10.03 35.16 10.03L55.28 10.03C56.66 10.03 57.78 8.91 57.78 7.50C57.78 6.09 56.66 4.97 55.28 4.97L55.09 4.97L55.09-1.06L75.25-1.06C79.75-1.06 82.47-3.78 82.47-8.28L82.47-45.75C82.47-50.25 79.75-52.94 75.25-52.94L15.16-52.94C10.69-52.94 7.97-50.25 7.97-45.75L7.97-8.28C7.97-3.78 10.69-1.06 15.16-1.06ZM15.25-6.09C13.88-6.09 13-6.97 13-8.34L13-45.66C13-47.06 13.88-47.91 15.25-47.91L75.19-47.91C76.56-47.91 77.44-47.06 77.44-45.66L77.44-8.34C77.44-6.97 76.56-6.09 75.19-6.09Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>square.grid.3x3</title>
3
+ <path transform="matrix(0.9138194798572157, 0, 0, 0.9138194798572157, -3.2819989801121876, 52.66088730239674)" d="M13.38-34.91L20.28-34.91C23.69-34.91 25.69-36.91 25.69-40.44L25.69-47.09C25.69-50.63 23.69-52.63 20.28-52.63L13.38-52.63C9.97-52.63 7.97-50.63 7.97-47.09L7.97-40.44C7.97-36.91 9.97-34.91 13.38-34.91ZM35.13-34.91L42.06-34.91C45.47-34.91 47.44-36.91 47.44-40.44L47.44-47.09C47.44-50.63 45.47-52.63 42.06-52.63L35.13-52.63C31.72-52.63 29.75-50.63 29.75-47.09L29.75-40.44C29.75-36.91 31.72-34.91 35.13-34.91ZM56.94-34.91L63.84-34.91C67.25-34.91 69.25-36.91 69.25-40.44L69.25-47.09C69.25-50.63 67.25-52.63 63.84-52.63L56.94-52.63C53.53-52.63 51.53-50.63 51.53-47.09L51.53-40.44C51.53-36.91 53.53-34.91 56.94-34.91ZM13.97-39.19C12.84-39.19 12.28-39.78 12.28-40.97L12.28-46.56C12.28-47.72 12.84-48.31 13.97-48.31L19.69-48.31C20.78-48.31 21.41-47.72 21.41-46.56L21.41-40.97C21.41-39.78 20.78-39.19 19.69-39.19ZM35.72-39.19C34.59-39.19 34.03-39.78 34.03-40.97L34.03-46.56C34.03-47.72 34.59-48.31 35.72-48.31L41.47-48.31C42.56-48.31 43.16-47.72 43.16-46.56L43.16-40.97C43.16-39.78 42.56-39.19 41.47-39.19ZM57.53-39.19C56.41-39.19 55.81-39.78 55.81-40.97L55.81-46.56C55.81-47.72 56.41-48.31 57.53-48.31L63.25-48.31C64.34-48.31 64.94-47.72 64.94-46.56L64.94-40.97C64.94-39.78 64.34-39.19 63.25-39.19ZM13.38-13.75L20.28-13.75C23.69-13.75 25.69-15.72 25.69-19.25L25.69-25.94C25.69-29.47 23.69-31.47 20.28-31.47L13.38-31.47C9.97-31.47 7.97-29.47 7.97-25.94L7.97-19.25C7.97-15.72 9.97-13.75 13.38-13.75ZM35.13-13.75L42.06-13.75C45.47-13.75 47.44-15.72 47.44-19.25L47.44-25.94C47.44-29.47 45.47-31.47 42.06-31.47L35.13-31.47C31.72-31.47 29.75-29.47 29.75-25.94L29.75-19.25C29.75-15.72 31.72-13.75 35.13-13.75ZM56.94-13.75L63.84-13.75C67.25-13.75 69.25-15.72 69.25-19.25L69.25-25.94C69.25-29.47 67.25-31.47 63.84-31.47L56.94-31.47C53.53-31.47 51.53-29.47 51.53-25.94L51.53-19.25C51.53-15.72 53.53-13.75 56.94-13.75ZM13.97-18.03C12.84-18.03 12.28-18.63 12.28-19.81L12.28-25.44C12.28-26.59 12.84-27.19 13.97-27.19L19.69-27.19C20.78-27.19 21.41-26.59 21.41-25.44L21.41-19.81C21.41-18.63 20.78-18.03 19.69-18.03ZM35.72-18.03C34.59-18.03 34.03-18.63 34.03-19.81L34.03-25.44C34.03-26.59 34.59-27.19 35.72-27.19L41.47-27.19C42.56-27.19 43.16-26.59 43.16-25.44L43.16-19.81C43.16-18.63 42.56-18.03 41.47-18.03ZM57.53-18.03C56.41-18.03 55.81-18.63 55.81-19.81L55.81-25.44C55.81-26.59 56.41-27.19 57.53-27.19L63.25-27.19C64.34-27.19 64.94-26.59 64.94-25.44L64.94-19.81C64.94-18.63 64.34-18.03 63.25-18.03ZM13.38 7.41L20.28 7.41C23.69 7.41 25.69 5.41 25.69 1.88L25.69-4.78C25.69-8.31 23.69-10.31 20.28-10.31L13.38-10.31C9.97-10.31 7.97-8.31 7.97-4.78L7.97 1.88C7.97 5.41 9.97 7.41 13.38 7.41ZM35.13 7.41L42.06 7.41C45.47 7.41 47.44 5.41 47.44 1.88L47.44-4.78C47.44-8.31 45.47-10.31 42.06-10.31L35.13-10.31C31.72-10.31 29.75-8.31 29.75-4.78L29.75 1.88C29.75 5.41 31.72 7.41 35.13 7.41ZM56.94 7.41L63.84 7.41C67.25 7.41 69.25 5.41 69.25 1.88L69.25-4.78C69.25-8.31 67.25-10.31 63.84-10.31L56.94-10.31C53.53-10.31 51.53-8.31 51.53-4.78L51.53 1.88C51.53 5.41 53.53 7.41 56.94 7.41ZM13.97 3.09C12.84 3.09 12.28 2.50 12.28 1.34L12.28-4.25C12.28-5.44 12.84-6.03 13.97-6.03L19.69-6.03C20.78-6.03 21.41-5.44 21.41-4.25L21.41 1.34C21.41 2.50 20.78 3.09 19.69 3.09ZM35.72 3.09C34.59 3.09 34.03 2.50 34.03 1.34L34.03-4.25C34.03-5.44 34.59-6.03 35.72-6.03L41.47-6.03C42.56-6.03 43.16-5.44 43.16-4.25L43.16 1.34C43.16 2.50 42.56 3.09 41.47 3.09ZM57.53 3.09C56.41 3.09 55.81 2.50 55.81 1.34L55.81-4.25C55.81-5.44 56.41-6.03 57.53-6.03L63.25-6.03C64.34-6.03 64.94-5.44 64.94-4.25L64.94 1.34C64.94 2.50 64.34 3.09 63.25 3.09Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>rectangle.3.group</title>
3
+ <path transform="matrix(0.6363636363636364, 0, 0, 0.6363636363636364, -1.0710227272727275, 46.39772727272727)" d="M15.16-23.84L43.91-23.84C48.69-23.84 51.09-26.16 51.09-30.97L51.09-43.94C51.09-48.72 48.69-51.03 43.91-51.03L15.16-51.03C10.38-51.03 7.97-48.72 7.97-43.94L7.97-30.97C7.97-26.16 10.38-23.84 15.16-23.84ZM68.38 2.13L88.78 2.13C93.56 2.13 95.97-0.19 95.97-5L95.97-39.72C95.97-44.50 93.56-46.81 88.78-46.81L68.38-46.81C63.59-46.81 61.19-44.50 61.19-39.72L61.19-5C61.19-0.19 63.59 2.13 68.38 2.13ZM15.53-28.56C13.69-28.56 12.69-29.53 12.69-31.47L12.69-43.41C12.69-45.38 13.69-46.31 15.53-46.31L43.53-46.31C45.38-46.31 46.38-45.38 46.38-43.41L46.38-31.47C46.38-29.53 45.38-28.56 43.53-28.56ZM68.72-2.59C66.91-2.59 65.91-3.56 65.91-5.50L65.91-39.19C65.91-41.16 66.91-42.09 68.72-42.09L88.38-42.09C90.25-42.09 91.25-41.16 91.25-39.19L91.25-5.50C91.25-3.56 90.25-2.59 88.38-2.59ZM23.13 5.78L47.78 5.78C52.56 5.78 54.97 3.44 54.97-1.34L54.97-10.16C54.97-14.94 52.56-17.25 47.78-17.25L23.13-17.25C18.34-17.25 15.94-14.94 15.94-10.16L15.94-1.34C15.94 3.44 18.34 5.78 23.13 5.78ZM23.50 1.06C21.66 1.06 20.66 0.09 20.66-1.84L20.66-9.66C20.66-11.59 21.66-12.53 23.50-12.53L47.38-12.53C49.25-12.53 50.25-11.59 50.25-9.66L50.25-1.84C50.25 0.09 49.25 1.06 47.38 1.06Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>camera</title>
3
+ <path transform="matrix(0.7296416938110749, 0, 0, 0.7296416938110749, -1.8143322475570036, 49.18078175895765)" d="M17.78 6.25L74.91 6.25C81.41 6.25 84.72 3 84.72-3.44L84.72-36.16C84.72-42.59 81.41-45.81 74.91-45.81L65.97-45.81C63.50-45.81 62.75-46.31 61.34-47.88L58.84-50.69C57.28-52.41 55.69-53.34 52.47-53.34L40-53.34C36.78-53.34 35.19-52.41 33.63-50.69L31.13-47.88C29.72-46.34 28.94-45.81 26.50-45.81L17.78-45.81C11.25-45.81 7.97-42.59 7.97-36.16L7.97-3.44C7.97 3 11.25 6.25 17.78 6.25ZM17.84 1.22C14.78 1.22 13-0.44 13-3.69L13-35.88C13-39.13 14.78-40.78 17.84-40.78L27.75-40.78C30.56-40.78 32.09-41.31 33.66-43.06L36.09-45.81C37.88-47.81 38.81-48.31 41.56-48.31L50.91-48.31C53.66-48.31 54.59-47.81 56.38-45.81L58.81-43.06C60.38-41.31 61.91-40.78 64.72-40.78L74.81-40.78C77.91-40.78 79.69-39.13 79.69-35.88L79.69-3.69C79.69-0.44 77.91 1.22 74.81 1.22ZM46.34-3.28C55.78-3.28 63.38-10.84 63.38-20.38C63.38-29.88 55.81-37.44 46.34-37.44C36.88-37.44 29.28-29.88 29.28-20.38C29.28-10.84 36.88-3.28 46.34-3.28ZM70-29.38C72.13-29.38 73.88-31.13 73.88-33.25C73.88-35.41 72.13-37.13 70-37.13C67.84-37.13 66.13-35.41 66.13-33.25C66.13-31.13 67.84-29.38 70-29.38ZM46.34-8.03C39.56-8.03 34-13.50 34-20.38C34-27.22 39.53-32.72 46.34-32.72C53.16-32.72 58.66-27.22 58.66-20.38C58.66-13.50 53.16-8.03 46.34-8.03Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>1.magnifyingglass</title>
3
+ <path transform="matrix(0.9082615306639635, 0, 0, 0.9082615306639635, -2.258489609731373, 52.478459199189054)" d="M7.19-28.44C7.19-14.69 18.38-3.50 32.13-3.50C37.56-3.50 42.53-5.25 46.63-8.19L62 7.22C62.72 7.94 63.66 8.28 64.66 8.28C66.78 8.28 68.25 6.69 68.25 4.59C68.25 3.59 67.88 2.69 67.22 2.03L51.94-13.34C55.16-17.53 57.06-22.75 57.06-28.44C57.06-42.19 45.88-53.38 32.13-53.38C18.38-53.38 7.19-42.19 7.19-28.44ZM12.53-28.44C12.53-39.25 21.31-48.03 32.13-48.03C42.94-48.03 51.72-39.25 51.72-28.44C51.72-17.63 42.94-8.84 32.13-8.84C21.31-8.84 12.53-17.63 12.53-28.44ZM33.47-16.81C34.75-16.81 35.66-17.38 35.66-18.75L35.66-37.94C35.66-39.41 34.69-40.41 33.16-40.41C32.06-40.41 31.44-40.16 30.22-39.31L26.03-36.38C25.19-35.81 24.94-35.31 24.94-34.53C24.94-33.59 25.75-32.84 26.59-32.84C27.19-32.84 27.47-33.03 28-33.41L31.09-35.59L31.31-35.59L31.31-19.06C31.31-17.66 32.19-16.81 33.47-16.81Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>arrow.up.left.and.down.right.magnifyingglass</title>
3
+ <path transform="matrix(0.9082615306639635, 0, 0, 0.9082615306639635, -2.258489609731373, 52.478459199189054)" d="M7.19-28.44C7.19-14.69 18.38-3.50 32.13-3.50C37.56-3.50 42.53-5.25 46.63-8.19L62 7.22C62.72 7.94 63.66 8.28 64.66 8.28C66.78 8.28 68.25 6.69 68.25 4.59C68.25 3.59 67.88 2.69 67.22 2.03L51.94-13.34C55.16-17.53 57.06-22.75 57.06-28.44C57.06-42.19 45.88-53.38 32.13-53.38C18.38-53.38 7.19-42.19 7.19-28.44ZM12.53-28.44C12.53-39.25 21.31-48.03 32.13-48.03C42.94-48.03 51.72-39.25 51.72-28.44C51.72-17.63 42.94-8.84 32.13-8.84C21.31-8.84 12.53-17.63 12.53-28.44ZM23.81-28.69L26.47-31.28L34.84-22.91L32.13-20.22C31.16-19.28 31.47-17.53 33.16-17.53L41.25-17.53C42.38-17.53 43-18.25 43-19.53L43-27.22C43-28.91 41.22-29.13 40.31-28.25L37.69-25.69L29.31-34.09L32-36.72C32.97-37.66 32.66-39.41 30.97-39.41L22.88-39.41C21.75-39.41 21.13-38.69 21.13-37.41L21.13-29.72C21.13-28.03 22.91-27.81 23.81-28.69Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>plus.magnifyingglass</title>
3
+ <path transform="matrix(0.9082615306639635, 0, 0, 0.9082615306639635, -2.258489609731373, 52.478459199189054)" d="M7.19-28.44C7.19-14.69 18.38-3.50 32.13-3.50C37.56-3.50 42.53-5.25 46.63-8.19L62 7.22C62.72 7.94 63.66 8.28 64.66 8.28C66.78 8.28 68.25 6.69 68.25 4.59C68.25 3.59 67.88 2.69 67.22 2.03L51.94-13.34C55.16-17.53 57.06-22.75 57.06-28.44C57.06-42.19 45.88-53.38 32.13-53.38C18.38-53.38 7.19-42.19 7.19-28.44ZM12.53-28.44C12.53-39.25 21.31-48.03 32.13-48.03C42.94-48.03 51.72-39.25 51.72-28.44C51.72-17.63 42.94-8.84 32.13-8.84C21.31-8.84 12.53-17.63 12.53-28.44ZM24.09-26.16L29.84-26.16L29.84-20.41C29.84-19.13 30.84-18.13 32.13-18.13C33.41-18.13 34.44-19.13 34.44-20.41L34.44-26.16L40.16-26.16C41.44-26.16 42.44-27.16 42.44-28.44C42.44-29.72 41.44-30.75 40.16-30.75L34.44-30.75L34.44-36.47C34.44-37.75 33.41-38.75 32.13-38.75C30.84-38.75 29.84-37.75 29.84-36.47L29.84-30.75L24.09-30.75C22.81-30.75 21.81-29.72 21.81-28.44C21.81-27.16 22.81-26.16 24.09-26.16Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <title>minus.magnifyingglass</title>
3
+ <path transform="matrix(0.9082615306639635, 0, 0, 0.9082615306639635, -2.258489609731373, 52.478459199189054)" d="M7.19-28.44C7.19-14.69 18.38-3.50 32.13-3.50C37.56-3.50 42.53-5.25 46.63-8.19L62 7.22C62.72 7.94 63.66 8.28 64.66 8.28C66.78 8.28 68.25 6.69 68.25 4.59C68.25 3.59 67.88 2.69 67.22 2.03L51.94-13.34C55.16-17.53 57.06-22.75 57.06-28.44C57.06-42.19 45.88-53.38 32.13-53.38C18.38-53.38 7.19-42.19 7.19-28.44ZM12.53-28.44C12.53-39.25 21.31-48.03 32.13-48.03C42.94-48.03 51.72-39.25 51.72-28.44C51.72-17.63 42.94-8.84 32.13-8.84C21.31-8.84 12.53-17.63 12.53-28.44ZM24.09-26.16L40.16-26.16C41.41-26.16 42.44-27.19 42.44-28.44C42.44-29.69 41.41-30.75 40.16-30.75L24.09-30.75C22.84-30.75 21.78-29.69 21.78-28.44C21.78-27.19 22.84-26.16 24.09-26.16Z" fill="currentColor"/>
4
+ </svg>