[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ComposioHQ--secure-openclaw":3,"tool-ComposioHQ--secure-openclaw":64},[4,18,26,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,2,"2026-04-10T01:20:03",[13,14,15,16],"插件","Agent","图像","开发框架","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[13,16],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":10,"last_commit_at":32,"category_tags":33,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85052,"2026-04-08T11:03:08",[15,34,35,13,14,36,37,16,38],"数据工具","视频","其他","语言模型","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":17},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70918,3,"2026-04-09T23:08:27",[37,14,16,13],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":17},51,"gstack","garrytan\u002Fgstack","gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置，旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战，gstack 提供了一套标准化解决方案，帮助开发者实现堪比二十人团队的高效产出。\n\n这套配置特别适合希望提升交付效率的创始人、技术负责人，以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具，涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令（如 `\u002Freview` 进行代码审查、`\u002Fqa` 执行测试、`\u002Fplan-ceo-review` 规划功能），即可自动化处理从需求分析到部署上线的全链路任务。\n\n所有操作基于 Markdown 和斜杠命令，无需复杂配置，完全免费且遵循 MIT 协议。gstack 不仅是一套工具集，更是一种现代化的软件工厂实践，让单人开发者也能拥有严谨的工程流程。",68319,"2026-04-09T23:08:01",[14,13],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":17},3074,"gpt4free","xtekky\u002Fgpt4free","gpt4free 是一个由社区驱动的开源项目，旨在聚合多种可访问的大型语言模型（LLM）和媒体生成接口，让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点，通过统一的标准将不同提供商的资源整合在一起。\n\n无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员，还是想免费体验最新技术的普通用户，都能从中受益。gpt4free 提供了丰富的使用方式：既包含易于上手的 Python 和 JavaScript 客户端库，也支持部署本地图形界面（GUI），更提供了兼容 OpenAI 标准的 REST API，方便无缝替换现有应用后端。\n\n其技术亮点在于强大的多提供商支持架构，能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源，并支持 Docker 一键部署及本地推理。项目秉持社区优先原则，在降低使用门槛的同时，也为贡献者提供了扩展新接口的便利框架，是探索和利用多样化 AI 资源的实用工具。",65970,"2026-04-04T01:02:03",[13,37,14],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":114,"github_topics":115,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":17,"created_at":125,"updated_at":126,"faqs":127,"releases":128},6084,"ComposioHQ\u002Fsecure-openclaw","secure-openclaw","A personal 24x7 AI assistant like OpenClaw that runs on your messaging platforms. Send a message on WhatsApp, Telegram, Signal, or iMessage and get responses from Claude with full tool access, persistent memory, scheduled reminders, and integrations with 500+ apps.","Secure OpenClaw 是一款能让您在微信、Telegram、Signal 或 iMessage 等常用聊天软件中，随时召唤的私人 AI 助手。它基于强大的 Claude 大模型构建，核心目标是打破传统 AI 仅局限于网页或独立应用的束缚，让您像给朋友发消息一样，随时随地获取智能帮助。\n\n这款工具主要解决了 AI 助手“难以触达”和“能力孤立”的痛点。用户无需切换应用，即可在熟悉的聊天界面中享受全天候服务。它不仅拥有持久记忆功能，能记住您的偏好与上下文，还具备强大的工具调用能力：通过集成 Composio 生态，它能连接 Gmail、Slack、GitHub 等超过 500 款主流应用，帮您执行发送邮件、管理日程、查询代码库等复杂操作，甚至能设置定时提醒。\n\nSecure OpenClaw 特别适合希望将 AI 深度融入日常工作流的开发者、效率追求者以及技术爱好者。对于普通用户而言，只要具备基础的环境配置能力，也能轻松搭建属于自己的私有化智能助理。其技术亮点在于灵活的架构设计，支持本地部署以保障隐私安全，同时兼容 Claude Code 等多种后端提供者，并允许用户在需要时对敏","Secure OpenClaw 是一款能让您在微信、Telegram、Signal 或 iMessage 等常用聊天软件中，随时召唤的私人 AI 助手。它基于强大的 Claude 大模型构建，核心目标是打破传统 AI 仅局限于网页或独立应用的束缚，让您像给朋友发消息一样，随时随地获取智能帮助。\n\n这款工具主要解决了 AI 助手“难以触达”和“能力孤立”的痛点。用户无需切换应用，即可在熟悉的聊天界面中享受全天候服务。它不仅拥有持久记忆功能，能记住您的偏好与上下文，还具备强大的工具调用能力：通过集成 Composio 生态，它能连接 Gmail、Slack、GitHub 等超过 500 款主流应用，帮您执行发送邮件、管理日程、查询代码库等复杂操作，甚至能设置定时提醒。\n\nSecure OpenClaw 特别适合希望将 AI 深度融入日常工作流的开发者、效率追求者以及技术爱好者。对于普通用户而言，只要具备基础的环境配置能力，也能轻松搭建属于自己的私有化智能助理。其技术亮点在于灵活的架构设计，支持本地部署以保障隐私安全，同时兼容 Claude Code 等多种后端提供者，并允许用户在需要时对敏感操作进行二次确认，兼顾了自动化的高效与人为控制的安全性。","\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">Secure OpenClaw\u003C\u002Fh1>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fplatform.composio.dev?utm_source=github&utm_medium=gif&utm_campaign=2101&utm_content=secure-openclaw\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FComposioHQ_secure-openclaw_readme_8a90d8114358.gif\" alt=\"Secure OpenClaw Demo\" width=\"800\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.composio.dev\u002Ftool-router\u002Foverview\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FComposio-Tool%20Router-orange\" alt=\"Composio\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Foverview\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude-Agent%20SDK-blue\" alt=\"Claude Agent SDK\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20by-Claude%20Code-purple\" alt=\"Claude Code\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fcomposio\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow%20on-X-black?logo=x&logoColor=white\" alt=\"Follow on X\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  A personal 24x7 AI assistant that runs on your messaging platforms. Send a message on WhatsApp, Telegram, Signal, or iMessage and get responses from Claude with full tool access, persistent memory, scheduled reminders, and integrations with 500+ apps.\n  \u003Cbr>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fplatform.composio.dev?utm_source=github&utm_medium=description&utm_campaign=2101&utm_content=secure-openclaw\">\n    \u003Cb>Get your free API key to get started →\u003C\u002Fb>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Table of Contents\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Deploying Remotely](#deploying-remotely)\n- [Providers](#providers)\n- [Configuration](#configuration)\n- [Messaging Platforms](#messaging-platforms)\n- [Tool Approvals](#tool-approvals)\n- [Memory System](#memory-system)\n- [Scheduling and Reminders](#scheduling-and-reminders)\n- [App Integrations](#app-integrations)\n- [Commands](#commands)\n- [Troubleshooting](#troubleshooting)\n- [Directory Structure](#directory-structure)\n- [Contributing](#contributing)\n- [Resources](#resources)\n- [Community](#community)\n\n---\n\n## Requirements\n\n- Node.js 18+\n- macOS, Linux, or Windows\n- Anthropic API key (`ANTHROPIC_API_KEY`)\n- Composio API key (`COMPOSIO_API_KEY`)\n- **Claude Code** — required if using the Claude provider\n- **Opencode** — required if using the Opencode provider\n\nPlatform-specific:\n- WhatsApp: a phone with WhatsApp installed\n- Telegram: a bot token from @BotFather\n- Signal: signal-cli installed and registered\n- iMessage: macOS only, requires the `imsg` CLI tool\n\n---\n\n## Installation\n\n### 1. Clone and install dependencies\n\n```bash\ngit clone \u003Crepo-url> secure-openclaw\ncd secure-openclaw\nnpm install\n```\n\n### 2. Install a provider\n\nYou need at least one AI provider installed on the machine.\n\n**Claude Code** (for the Claude provider):\n\n```bash\nnpm install -g @anthropic-ai\u002Fclaude-code\n```\n\n**Opencode** (for the Opencode provider):\n\n```bash\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\nYou can install both. The CLI lets you switch between them.\n\nAfter installing Claude Code, authenticate it locally:\n\n```bash\nclaude\n# Follow the OAuth prompts to log in with your Anthropic account\n```\n\nOn remote\u002FDocker deployments, authentication is handled by the `ANTHROPIC_API_KEY` environment variable instead — no interactive login needed.\n\n### 3. API keys\n\n**Anthropic** — get your key from https:\u002F\u002Fconsole.anthropic.com\u002F\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\n```\n\n**Composio** — provides 500+ app integrations (Gmail, Slack, GitHub, etc.)\n\n```bash\ncurl -fsSL https:\u002F\u002Fcomposio.dev\u002Finstall | bash\ncomposio login\ncomposio whoami   # shows your API key\nexport COMPOSIO_API_KEY=your-key\n```\n\nAdd all exports to your shell profile (`~\u002F.zshrc` or `~\u002F.bashrc`) to make them permanent.\n\n---\n\n## Quick Start\n\n```bash\nnode cli.js\n```\n\nThis opens the interactive menu:\n\n```\n1) Terminal chat      — talk to the assistant in your terminal\n2) Start gateway      — run the messaging gateway\n3) Setup adapters     — configure WhatsApp, Telegram, etc.\n4) Show current config\n5) Test connection\n6) Change provider\n7) Exit\n```\n\nOr run directly:\n\n```bash\nnode cli.js chat     # terminal chat\nnode cli.js start    # start the gateway\n```\n\n---\n\n## Deploying Remotely\n\nThe gateway can run on a remote server. Terminal chat is local only.\n\n### DigitalOcean (Recommended)\n\nA $6\u002Fmonth DigitalOcean droplet. No ID verification, just sign up and go.\n\n#### 1. Create a droplet\n\n1. Sign up at [digitalocean.com](https:\u002F\u002Fwww.digitalocean.com\u002F)\n2. **Create** > **Droplets**\n3. Pick a region, select **Ubuntu 24.04**, choose the **$6\u002Fmo** plan (1 GB RAM)\n4. Set a **root password**\n5. Click **Create Droplet** and copy the **public IP** from the dashboard\n\n#### 2. Set up the server\n\n```bash\n# SSH in\nssh root@YOUR_DROPLET_IP\n\n# Add swap (the build needs more than 1 GB)\nfallocate -l 2G \u002Fswapfile && chmod 600 \u002Fswapfile && mkswap \u002Fswapfile && swapon \u002Fswapfile\necho '\u002Fswapfile none swap sw 0 0' >> \u002Fetc\u002Ffstab\n\n# Install Docker\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\n\n# Clone the repo (use a GitHub PAT if private)\ngit clone https:\u002F\u002Fgithub.com\u002FYOUR_USERNAME\u002Fsecure-openclaw.git\ncd secure-openclaw\n```\n\n#### 3. Add your keys\n\n```bash\ncp .env.example .env\nnano .env\n```\n\nFill in `ANTHROPIC_API_KEY`, `COMPOSIO_API_KEY`, and whichever platforms you want. Save with `Ctrl+O`, exit with `Ctrl+X`.\n\n#### 4. Deploy\n\n```bash\ndocker compose up -d --build\nufw allow 4096\n```\n\nThat's it. Docker Compose reads your `.env`, builds the image (installs Claude Code + Opencode inside), and starts the gateway. WhatsApp auth and memory are persisted in Docker volumes automatically.\n\n#### 5. Connect WhatsApp\n\nOpen `http:\u002F\u002FYOUR_DROPLET_IP:4096\u002Fqr` in your browser and scan with WhatsApp > Linked Devices.\n\n#### After deploy\n\n```bash\ndocker compose logs -f                          # live logs\ndocker compose down && docker compose up -d      # restart\ndocker compose exec openclaw sh                  # shell into container\ngit pull && docker compose up -d --build         # update\n```\n\n- **Health check:** `http:\u002F\u002FYOUR_DROPLET_IP:4096\u002F`\n- **Telegram:** works immediately if you set `TELEGRAM_BOT_TOKEN` in `.env`\n\n#### Troubleshooting deployment\n\n**Build gets killed (exit code 137):** Out of memory. Make sure you added swap (step 2).\n\n**Can't access `http:\u002F\u002FYOUR_IP:4096`:** Run `ufw allow 4096`. Also make sure you're using the **public IP** from the DigitalOcean dashboard, not the internal\u002Fprivate one (starts with `10.`).\n\n**WhatsApp QR page says \"Waiting...\":** The gateway is still starting. Check logs with `docker compose logs -f` and wait for `[Gateway] Ready`.\n\n**Claude exits with code 1:** Your `ANTHROPIC_API_KEY` is missing or wrong. Check with `docker compose exec openclaw env | grep ANTHROPIC`.\n\n**Private repo clone fails:** GitHub doesn't support password auth. Use a Personal Access Token: `git clone https:\u002F\u002FYOUR_TOKEN@github.com\u002F...`\n\n**Checking logs:**\n\n```bash\ndocker compose logs -f                          # all logs, live\ndocker compose logs -f --tail 50                # last 50 lines, then follow\ndocker compose logs openclaw 2>&1 | grep ERROR  # filter for errors\n```\n\n### Other VPS providers\n\nAny Linux VPS works (Hetzner, Vultr, AWS Lightsail). Same steps — SSH in, add swap if \u003C 2 GB RAM, install Docker, clone, `docker compose up`.\n\n### What Runs Where\n\n| Feature | Local | Remote |\n|---------|-------|--------|\n| Terminal chat | Yes | No |\n| Gateway (WhatsApp, Telegram, etc.) | Yes | Yes |\n| Memory | Yes | Yes (needs volume) |\n| Cron\u002Freminders | Yes | Yes |\n| Composio integrations | Yes | Yes |\n\n---\n\n## Providers\n\nSecure OpenClaw supports two AI providers:\n\n**Claude Agent SDK** — Anthropic's SDK. Uses your `ANTHROPIC_API_KEY`. Requires Claude Code installed. Models: Opus 4.6, Sonnet 4.5, Haiku 4.5.\n\n**Opencode** — open-source alternative. Requires Opencode installed. Runs a local server or connects to an existing one. Models: GPT-5 Nano, Big Pickle, GLM-4.7, Grok Code, MiniMax M2.1.\n\nSwitch providers from the CLI menu (option 7) or in `config.js`:\n\n```javascript\nagent: {\n  provider: 'claude',    \u002F\u002F or 'opencode'\n}\n```\n\nWhen using Opencode, the provider auto-detects whether a server is already running on the configured port. If one exists, it connects. If not, it starts one.\n\nUse `\u002Fmodel` during terminal chat to switch models within the active provider.\n\n---\n\n## Configuration\n\nAll settings live in `config.js`. Edit directly or use the setup wizard.\n\n```javascript\n{\n  agentId: 'secure-openclaw',\n\n  whatsapp: { enabled: true, allowedDMs: [...], allowedGroups: [...] },\n  telegram: { enabled: false, token: '', ... },\n  signal:   { enabled: false, phoneNumber: '', ... },\n  imessage: { enabled: false, ... },\n\n  agent: {\n    workspace: '~\u002Fsecure-openclaw',\n    maxTurns: 100,\n    allowedTools: ['Read', 'Write', 'Edit', 'Bash', 'Glob', 'Grep'],\n    provider: 'claude',\n    opencode: {\n      model: 'opencode\u002Fgpt-5-nano',\n      hostname: '127.0.0.1',\n      port: 4096\n    }\n  },\n\n}\n```\n\n### Security\n\nEach platform has an allowlist for DMs and groups. Set to `['*']` to allow all, or list specific IDs.\n\n```javascript\nwhatsapp: {\n  allowedDMs: ['+1234567890'],     \u002F\u002F only this number can DM\n  allowedGroups: ['*'],            \u002F\u002F all groups allowed\n  respondToMentionsOnly: true      \u002F\u002F in groups, only respond when @mentioned\n}\n```\n\nMessages from unrecognized senders are silently dropped.\n\n---\n\n## Messaging Platforms\n\n### WhatsApp\n\nUses QR code authentication. No bot token needed.\n\n1. Enable in config or run the setup wizard\n2. Start the gateway\n3. Scan the QR code that appears in your terminal (WhatsApp > Settings > Linked Devices)\n4. Session saves to `auth_whatsapp\u002F` — you only scan once\n\n### Telegram\n\n1. Message @BotFather on Telegram, send `\u002Fnewbot`, copy the token\n2. Add the token to config:\n\n```javascript\ntelegram: {\n  enabled: true,\n  token: 'YOUR_BOT_TOKEN',\n  allowedDMs: ['*'],\n}\n```\n\n3. Start the gateway, then message your bot\n\n### Signal\n\nRequires signal-cli to be installed and registered.\n\n```bash\nsignal-cli -u +1234567890 register\nsignal-cli -u +1234567890 verify CODE\n```\n\nThen configure:\n\n```javascript\nsignal: {\n  enabled: true,\n  phoneNumber: '+1234567890',\n  signalCliPath: 'signal-cli',\n}\n```\n\n### iMessage\n\nmacOS only. Requires the `imsg` CLI tool.\n\n```bash\nbrew install steipete\u002Fformulae\u002Fimsg\n```\n\nEnable in config. Make sure Messages.app is open and signed in.\n\n---\n\n## Tool Approvals\n\nThe gateway runs with permission mode `default`, which means the assistant asks for approval before using certain tools. When a tool needs approval:\n\n**In terminal chat:** the spinner pauses, the tool name and details are printed, and you type `y` or `n` to approve or deny.\n\n**On messaging platforms:** the assistant sends you a message like \"Claude wants to use Bash. Reply Y to allow, N to deny.\" Your next reply resolves the approval.\n\nIf the assistant uses `AskUserQuestion` to ask clarifying questions, these are formatted as numbered options. Reply with a number or type your answer.\n\nApprovals time out after 2 minutes with no response.\n\n---\n\n## Memory System\n\nPersistent memory stored at `~\u002Fsecure-openclaw\u002F`.\n\n```\n~\u002Fsecure-openclaw\u002F\n  MEMORY.md              — long-term: preferences, people, decisions\n  memory\u002F\n    YYYY-MM-DD.md        — daily logs\n    [topic].md           — topic-specific notes\n```\n\nMemory is loaded at the start of each conversation. The assistant writes to memory when you ask it to remember something. It does not proactively write memory on every message.\n\nUse the `\u002Fmemory` command in chat to view or search memories.\n\n---\n\n## Scheduling and Reminders\n\nThe assistant can schedule messages using cron tools.\n\n- \"Remind me in 30 minutes to check the oven\" — one-time delay\n- \"Every day at 9am, send me a standup reminder\" — cron expression `0 9 * * *`\n- \"Every weekday at 8am\" — cron expression `0 8 * * 1-5`\n\nJobs persist in `~\u002F.secure-openclaw\u002Fcron-jobs.json` and execute while the gateway is running.\n\n---\n\n## App Integrations\n\nComposio provides access to 500+ apps:\n\n- Gmail, Google Calendar, Google Sheets, Google Drive\n- Slack, Discord\n- GitHub, GitLab, Jira, Linear\n- Notion, Trello, Asana\n- Salesforce, HubSpot\n- Twitter\u002FX, LinkedIn\n- And many more\n\nJust ask: \"Send an email to john@example.com\", \"Create a GitHub issue for the login bug\", \"Add an event to my calendar for tomorrow at 3pm\".\n\nOn first use of an app, Composio provides an auth link. Click it to authorize, then the assistant can use that app going forward.\n\n---\n\n## Commands\n\n### CLI\n\n```bash\nnode cli.js              # interactive menu\nnode cli.js chat         # terminal chat\nnode cli.js start        # start gateway\nnode cli.js setup        # setup wizard\nnode cli.js config       # show config\nnode cli.js help         # help\n```\n\n### In Chat\n\n| Command | Description |\n|---------|-------------|\n| `\u002Fnew`, `\u002Freset` | Start a fresh conversation |\n| `\u002Fstatus` | Show session info |\n| `\u002Fmemory` | Show memory summary |\n| `\u002Fmemory list` | List all memory files |\n| `\u002Fmemory search \u003Cquery>` | Search memories |\n| `\u002Fmodel` | Switch model (terminal only) |\n| `\u002Fqueue` | Message queue status |\n| `\u002Fstop` | Stop current operation |\n| `\u002Fhelp` | Show commands |\n\n---\n\n## Troubleshooting\n\n**\"ANTHROPIC_API_KEY not set\"** — export the key in your shell or `.env` file.\n\n**\"claude: command not found\"** — Claude Code is not installed. Run `curl -fsSL https:\u002F\u002Fclaude.ai\u002Finstall.sh | bash`.\n\n**\"opencode: command not found\"** — Opencode is not installed. Run `curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash`.\n\n**Composio not working** — make sure `COMPOSIO_API_KEY` is set. Run `composio login` and `composio whoami` to get your key.\n\n**WhatsApp QR not appearing** — delete `auth_whatsapp\u002F` and restart.\n\n**Telegram bot not responding** — verify the token, make sure you sent `\u002Fstart` to your bot, check `enabled: true`.\n\n**Signal not working** — verify signal-cli is installed, phone number is registered and includes country code.\n\n**iMessage not working** — macOS only. Check that Messages.app is open, imsg is installed (`which imsg`), and accessibility permissions are granted.\n\n**Opencode server failing** — if port 4096 is already in use from a previous run, kill the old process: `kill $(lsof -ti :4096)`. The provider auto-detects running servers, so usually this resolves itself.\n\n**Memory not persisting on remote** — make sure you have a persistent volume mounted at `\u002Fhome\u002Fclaw\u002Fsecure-openclaw`.\n\n---\n\n## Directory Structure\n\n```\nsecure-openclaw\u002F\n  config.js              configuration\n  cli.js                 CLI entry point (menu, terminal chat)\n  gateway.js             gateway process (messaging platforms)\n  Dockerfile             container build for remote deployment\n  adapters\u002F\n    base.js              base adapter class\n    whatsapp.js          WhatsApp via Baileys\n    telegram.js          Telegram via node-telegram-bot-api\n    signal.js            Signal via signal-cli\n    imessage.js          iMessage via imsg (macOS)\n  agent\u002F\n    claude-agent.js      agent with memory, cron, system prompt\n    runner.js            queue + run coordinator\n  providers\u002F\n    base-provider.js     provider interface\n    claude-provider.js   Claude Agent SDK provider\n    opencode-provider.js Opencode provider\n    index.js             provider registry\n  memory\u002F\n    manager.js           memory file management\n  tools\u002F\n    cron.js              scheduling tools\n    gateway.js           gateway MCP tools (send_message, etc.)\n  commands\u002F\n    handler.js           slash command handlers\n  sessions\u002F\n    manager.js           session tracking\n\n~\u002Fsecure-openclaw\u002F       workspace (created on first use)\n  MEMORY.md              long-term memory\n  memory\u002F                daily logs and topic files\n```\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how to get started:\n\n1. Fork the repo\n2. Create a branch (`git checkout -b feat\u002Fmy-feature`)\n3. Make your changes and commit (`git commit -m 'Add my feature'`)\n4. Push to your branch (`git push origin feat\u002Fmy-feature`)\n5. Open a Pull Request\n\nPlease keep PRs focused on a single change. If you're fixing a bug, include steps to reproduce. If you're adding a feature, explain the use case.\n\n---\n\n## Resources\n\n- [Claude Agent SDK Docs](https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Foverview)\n- [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code)\n- [Composio Docs](https:\u002F\u002Fdocs.composio.dev)\n- [Composio Tool Router](https:\u002F\u002Fdocs.composio.dev\u002Ftool-router\u002Foverview)\n- [Baileys (WhatsApp)](https:\u002F\u002Fgithub.com\u002FWhiskeySockets\u002FBaileys)\n\n---\n\n## Community\n\n- [Discord](https:\u002F\u002Fdiscord.gg\u002Fcomposio) — ask questions, share what you've built\n- [X \u002F Twitter](https:\u002F\u002Fx.com\u002Fcomposio) — follow for updates\n- [GitHub Issues](https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fsecure-openclaw\u002Fissues) — bug reports and feature requests\n- [GitHub Discussions](https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fsecure-openclaw\u002Fdiscussions) — ideas and Q&A\n\n---\n\n## License\n\nMIT\n","\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">安全的 OpenClaw\u003C\u002Fh1>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fplatform.composio.dev?utm_source=github&utm_medium=gif&utm_campaign=2101&utm_content=secure-openclaw\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FComposioHQ_secure-openclaw_readme_8a90d8114358.gif\" alt=\"Secure OpenClaw 演示\" width=\"800\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.composio.dev\u002Ftool-router\u002Foverview\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FComposio-Tool%20Router-orange\" alt=\"Composio\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Foverview\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude-Agent%20SDK-blue\" alt=\"Claude Agent SDK\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20by-Claude%20Code-purple\" alt=\"Claude Code\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fcomposio\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow%20on-X-black?logo=x&logoColor=white\" alt=\"关注 X\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  一款可在您的消息平台上全天候运行的个人 AI 助手。您只需在 WhatsApp、Telegram、Signal 或 iMessage 上发送一条消息，即可获得 Claude 的回复——它具备完整的工具访问权限、持久化记忆、定时提醒功能，并可与 500 多款应用集成。\n  \u003Cbr>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fplatform.composio.dev?utm_source=github&utm_medium=description&utm_campaign=2101&utm_content=secure-openclaw\">\n    \u003Cb>立即获取免费 API 密钥，开始使用 →\u003C\u002Fb>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## 目录\n\n- [要求](#requirements)\n- [安装](#installation)\n- [快速入门](#quick-start)\n- [远程部署](#deploying-remotely)\n- [提供商](#providers)\n- [配置](#configuration)\n- [消息平台](#messaging-platforms)\n- [工具审批](#tool-approvals)\n- [记忆系统](#memory-system)\n- [计划与提醒](#scheduling-and-reminders)\n- [应用集成](#app-integrations)\n- [命令](#commands)\n- [故障排除](#troubleshooting)\n- [目录结构](#directory-structure)\n- [贡献](#contributing)\n- [资源](#resources)\n- [社区](#community)\n\n---\n\n## 要求\n\n- Node.js 18+\n- macOS、Linux 或 Windows\n- Anthropic API 密钥（`ANTHROPIC_API_KEY`）\n- Composio API 密钥（`COMPOSIO_API_KEY`）\n- **Claude Code** — 如果使用 Claude 提供商则必需\n- **Opencode** — 如果使用 Opencode 提供商则必需\n\n平台特定要求：\n- WhatsApp：需安装 WhatsApp 的手机\n- Telegram：需从 @BotFather 处获取机器人令牌\n- Signal：需安装并注册 signal-cli\n- iMessage：仅限 macOS，需要 `imsg` CLI 工具\n\n---\n\n## 安装\n\n### 1. 克隆并安装依赖项\n\n```bash\ngit clone \u003Crepo-url> secure-openclaw\ncd secure-openclaw\nnpm install\n```\n\n### 2. 安装提供商\n\n您需要在机器上至少安装一个 AI 提供商。\n\n**Claude Code**（用于 Claude 提供商）：\n\n```bash\nnpm install -g @anthropic-ai\u002Fclaude-code\n```\n\n**Opencode**（用于 Opencode 提供商）：\n\n```bash\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\n您可以同时安装两者。CLI 允许您在它们之间切换。\n\n安装 Claude Code 后，请在本地进行身份验证：\n\n```bash\nclaude\n# 按照 OAuth 提示登录您的 Anthropic 账户\n```\n\n在远程\u002FDocker 部署中，身份验证将由环境变量 `ANTHROPIC_API_KEY` 处理，无需交互式登录。\n\n### 3. API 密钥\n\n**Anthropic** — 请从 https:\u002F\u002Fconsole.anthropic.com 获取您的密钥\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\n```\n\n**Composio** — 提供 500 多种应用集成（Gmail、Slack、GitHub 等）\n\n```bash\ncurl -fsSL https:\u002F\u002Fcomposio.dev\u002Finstall | bash\ncomposio login\ncomposio whoami   # 显示您的 API 密钥\nexport COMPOSIO_API_KEY=您的密钥\n```\n\n将所有导出语句添加到您的 shell 配置文件（`~\u002F.zshrc` 或 `~\u002F.bashrc`），以使其永久生效。\n\n---\n\n## 快速入门\n\n```bash\nnode cli.js\n```\n\n这将打开交互式菜单：\n\n```\n1) 终端聊天      — 在终端中与助手对话\n2) 启动网关      — 运行消息网关\n3) 设置适配器     — 配置 WhatsApp、Telegram 等\n4) 显示当前配置\n5) 测试连接\n6) 更改提供商\n7) 退出\n```\n\n或者直接运行：\n\n```bash\nnode cli.js chat     # 终端聊天\nnode cli.js start    # 启动网关\n```\n\n---\n\n## 远程部署\n\n网关可以在远程服务器上运行。而终端聊天仅限本地。\n\n### DigitalOcean（推荐）\n\n每月 6 美元的 DigitalOcean 实例。无需身份验证，只需注册即可使用。\n\n#### 1. 创建实例\n\n1. 访问 [digitalocean.com](https:\u002F\u002Fwww.digitalocean.com\u002F) 并注册\n2. 点击 **创建** > **Droplets**\n3. 选择区域，选择 **Ubuntu 24.04**，然后选择 **6 美元\u002F月** 的套餐（1 GB 内存）\n4. 设置 **root 密码**\n5. 点击 **创建 Droplet**，并从控制面板复制 **公共 IP 地址**\n\n#### 2. 设置服务器\n\n```bash\n# SSH 登录\nssh root@YOUR_DROPLET_IP\n\n# 添加交换空间（构建过程需要超过 1 GB）\nfallocate -l 2G \u002Fswapfile && chmod 600 \u002Fswapfile && mkswap \u002Fswapfile && swapon \u002Fswapfile\necho '\u002Fswapfile none swap sw 0 0' >> \u002Fetc\u002Ffstab\n\n# 安装 Docker\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\n\n# 克隆仓库（如果是私有仓库，请使用 GitHub PAT）\ngit clone https:\u002F\u002Fgithub.com\u002FYOUR_USERNAME\u002Fsecure-openclaw.git\ncd secure-openclaw\n```\n\n#### 3. 添加你的密钥\n\n```bash\ncp .env.example .env\nnano .env\n```\n\n填写 `ANTHROPIC_API_KEY`、`COMPOSIO_API_KEY`，以及你想要使用的平台。使用 `Ctrl+O` 保存，`Ctrl+X` 退出。\n\n#### 4. 部署\n\n```bash\ndocker compose up -d --build\nufw allow 4096\n```\n\n就是这样。Docker Compose 会读取你的 `.env` 文件，构建镜像（在容器内安装 Claude Code 和 Opencode），并启动网关。WhatsApp 的认证信息和记忆数据会自动保存在 Docker 卷中。\n\n#### 5. 连接 WhatsApp\n\n在浏览器中打开 `http:\u002F\u002FYOUR_DROPLET_IP:4096\u002Fqr`，然后用 WhatsApp > 已链接设备扫描二维码。\n\n#### 部署后\n\n```bash\ndocker compose logs -f                          # 实时日志\ndocker compose down && docker compose up -d      # 重启\ndocker compose exec openclaw sh                  # 进入容器的 Shell\ngit pull && docker compose up -d --build         # 更新\n```\n\n- **健康检查:** `http:\u002F\u002FYOUR_DROPLET_IP:4096\u002F`\n- **Telegram:** 如果你在 `.env` 中设置了 `TELEGRAM_BOT_TOKEN`，则会立即生效。\n\n#### 部署故障排除\n\n**构建被终止（退出代码 137）:** 内存不足。请确保已添加交换空间（步骤 2）。\n\n**无法访问 `http:\u002F\u002FYOUR_IP:4096`:** 运行 `ufw allow 4096`。另外，请确保使用的是 DigitalOcean 控制台中的 **公共 IP**，而不是以 `10.` 开头的内部\u002F私有 IP。\n\n**WhatsApp QR 页面显示“等待中…”:** 网关仍在启动中。使用 `docker compose logs -f` 查看日志，等待出现 `[Gateway] Ready`。\n\n**Claude 以代码 1 退出:** 你的 `ANTHROPIC_API_KEY` 丢失或错误。可以使用 `docker compose exec openclaw env | grep ANTHROPIC` 进行检查。\n\n**私有仓库克隆失败:** GitHub 不支持密码认证。请使用个人访问令牌：`git clone https:\u002F\u002FYOUR_TOKEN@github.com\u002F...`\n\n**查看日志:**\n\n```bash\ndocker compose logs -f                          # 所有日志，实时\ndocker compose logs -f --tail 50                # 最后 50 行，然后继续跟踪\ndocker compose logs openclaw 2>&1 | grep ERROR  # 过滤错误日志\n```\n\n### 其他 VPS 提供商\n\n任何 Linux VPS 都可以使用（Hetzner、Vultr、AWS Lightsail）。步骤相同——SSH 登录，如果内存小于 2 GB，则添加交换空间，安装 Docker，克隆仓库，然后运行 `docker compose up`。\n\n### 各功能的运行位置\n\n| 功能           | 本地       | 远程     |\n|----------------|------------|----------|\n| 终端聊天       | 是         | 否       |\n| 网关（WhatsApp、Telegram 等） | 是         | 是       |\n| 记忆           | 是         | 是（需要卷） |\n| 定时任务\u002F提醒  | 是         | 是       |\n| Composio 集成   | 是         | 是       |\n\n---\n\n## 供应商\n\nSecure OpenClaw 支持两种 AI 供应商：\n\n**Claude Agent SDK** — Anthropic 的 SDK。使用你的 `ANTHROPIC_API_KEY`。需要安装 Claude Code。模型：Opus 4.6、Sonnet 4.5、Haiku 4.5。\n\n**Opencode** — 开源替代方案。需要安装 Opencode。可以运行本地服务器，也可以连接到现有服务器。模型：GPT-5 Nano、Big Pickle、GLM-4.7、Grok Code、MiniMax M2.1。\n\n可以通过 CLI 菜单（选项 7）或在 `config.js` 中切换供应商：\n\n```javascript\nagent: {\n  provider: 'claude',    \u002F\u002F 或 'opencode'\n}\n```\n\n使用 Opencode 时，系统会自动检测配置的端口上是否已有服务器运行。如果有，则连接；如果没有，则启动一个。\n\n在终端聊天中使用 `\u002Fmodel` 命令可以在当前供应商下切换模型。\n\n---\n\n## 配置\n\n所有设置都位于 `config.js` 中。可以直接编辑，也可以使用设置向导。\n\n```javascript\n{\n  agentId: 'secure-openclaw',\n\n  whatsapp: { enabled: true, allowedDMs: [...], allowedGroups: [...] },\n  telegram: { enabled: false, token: '', ... },\n  signal:   { enabled: false, phoneNumber: '', ... },\n  imessage: { enabled: false, ... },\n\n  agent: {\n    workspace: '~\u002Fsecure-openclaw',\n    maxTurns: 100,\n    allowedTools: ['Read', 'Write', 'Edit', 'Bash', 'Glob', 'Grep'],\n    provider: 'claude',\n    opencode: {\n      model: 'opencode\u002Fgpt-5-nano',\n      hostname: '127.0.0.1',\n      port: 4096\n    }\n  },\n\n}\n```\n\n### 安全性\n\n每个平台都有允许的私信和群组白名单。设置为 `['*']` 表示允许所有，或者列出特定的 ID。\n\n```javascript\nwhatsapp: {\n  allowedDMs: ['+1234567890'],     \u002F\u002F 只允许这个号码发送私信\n  allowedGroups: ['*'],            \u002F\u002F 允许所有群组\n  respondToMentionsOnly: true      \u002F\u002F 在群组中，仅在被提及时回复\n}\n```\n\n来自未识别发件人的消息会被静默丢弃。\n\n---\n\n## 消息平台\n\n### WhatsApp\n\n使用二维码认证。无需机器人令牌。\n\n1. 在配置中启用，或运行设置向导。\n2. 启动网关。\n3. 扫描终端中显示的二维码（WhatsApp > 设置 > 已链接设备）。\n4. 会话会保存到 `auth_whatsapp\u002F` 目录——只需扫描一次。\n\n### Telegram\n\n1. 在 Telegram 上联系 @BotFather，发送 `\u002Fnewbot`，复制令牌。\n2. 将令牌添加到配置中：\n\n```javascript\ntelegram: {\n  enabled: true,\n  token: 'YOUR_BOT_TOKEN',\n  allowedDMs: ['*'],\n}\n```\n\n3. 启动网关，然后给你的机器人发送消息。\n\n### Signal\n\n需要安装并注册 signal-cli。\n\n```bash\nsignal-cli -u +1234567890 register\nsignal-cli -u +1234567890 verify CODE\n```\n\n然后进行配置：\n\n```javascript\nsignal: {\n  enabled: true,\n  phoneNumber: '+1234567890',\n  signalCliPath: 'signal-cli',\n}\n```\n\n### iMessage\n\n仅限 macOS。需要 `imsg` CLI 工具。\n\n```bash\nbrew install steipete\u002Fformulae\u002Fimsg\n```\n\n在配置中启用。确保 Messages.app 已打开并登录。\n\n---\n\n## 工具审批\n\n网关以默认权限模式运行，这意味着助理在使用某些工具之前会请求批准。当需要批准时：\n\n**在终端聊天中:** 加载动画会暂停，工具名称和详细信息会显示出来，你需要输入 `y` 或 `n` 来批准或拒绝。\n\n**在消息平台上:** 助理会发送一条消息，例如“Claude 想要使用 Bash。回复 Y 允许，N 拒绝。”你的下一条回复将决定是否批准。\n\n如果助理使用 `AskUserQuestion` 来询问澄清问题，这些问题会以编号选项的形式呈现。你可以回复数字，也可以直接输入答案。\n\n如果没有响应，审批将在 2 分钟后超时。\n\n---\n\n## 记忆系统\n\n持久化记忆存储在 `~\u002Fsecure-openclaw\u002F` 目录下。\n\n```\n~\u002Fsecure-openclaw\u002F\n  MEMORY.md              — 长期记忆：偏好、人物、决策\n  memory\u002F\n    YYYY-MM-DD.md        — 每日日志\n    [topic].md           — 主题相关的笔记\n```\n\n每次对话开始时都会加载记忆。当你要求助理记住某些事情时，它会写入记忆。但助理不会在每条消息后主动写入记忆。\n\n在聊天中使用 `\u002Fmemory` 命令可以查看或搜索记忆。\n\n---\n\n## 定时与提醒\n\n助理可以使用 cron 工具安排消息。\n\n- “30 分钟后提醒我检查一下烤箱” — 一次性延迟\n- “每天早上 9 点给我发送一个站会提醒” — cron 表达式 `0 9 * * *`\n- “每周工作日早上 8 点” — cron 表达式 `0 8 * * 1-5`\n\n这些任务会保存在 `~\u002F.secure-openclaw\u002Fcron-jobs.json` 中，并在网关运行期间执行。\n\n---\n\n## 应用集成\n\nComposio 提供对 500 多款应用的访问：\n\n- Gmail、Google 日历、Google 表格、Google 云端硬盘\n- Slack、Discord\n- GitHub、GitLab、Jira、Linear\n- Notion、Trello、Asana\n- Salesforce、HubSpot\n- Twitter\u002FX、LinkedIn\n- 以及更多\n\n只需说出：“给 john@example.com 发送一封邮件”、“为登录 bug 创建一个 GitHub 问题”、“在我的日历上添加一个明天下午 3 点的事件”。\n\n首次使用某款应用时，Composio 会提供一个授权链接。点击该链接进行授权后，助手即可继续使用该应用。\n\n---\n\n## 命令\n\n### CLI\n\n```bash\nnode cli.js              # 交互式菜单\nnode cli.js chat         # 终端聊天\nnode cli.js start        # 启动网关\nnode cli.js setup        # 设置向导\nnode cli.js config       # 显示配置\nnode cli.js help         # 帮助\n```\n\n### 聊天中\n\n| 命令 | 描述 |\n|---------|-------------|\n| `\u002Fnew`、`\u002Freset` | 开始一次新的对话 |\n| `\u002Fstatus` | 显示会话信息 |\n| `\u002Fmemory` | 显示记忆摘要 |\n| `\u002Fmemory list` | 列出所有记忆文件 |\n| `\u002Fmemory search \u003Cquery>` | 搜索记忆 |\n| `\u002Fmodel` | 切换模型（仅限终端） |\n| `\u002Fqueue` | 消息队列状态 |\n| `\u002Fstop` | 停止当前操作 |\n| `\u002Fhelp` | 显示命令 |\n\n---\n\n## 故障排除\n\n**“ANTHROPIC_API_KEY 未设置”** — 请在您的 shell 或 `.env` 文件中导出密钥。\n\n**“claude: 命令未找到”** — Claude Code 尚未安装。请运行 `curl -fsSL https:\u002F\u002Fclaude.ai\u002Finstall.sh | bash`。\n\n**“opencode: 命令未找到”** — Opencode 尚未安装。请运行 `curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash`。\n\n**Composio 无法正常工作** — 请确保已设置 `COMPOSIO_API_KEY`。运行 `composio login` 和 `composio whoami` 获取您的密钥。\n\n**WhatsApp 的二维码未显示** — 请删除 `auth_whatsapp\u002F` 并重新启动。\n\n**Telegram 机器人无响应** — 请验证令牌是否正确，确保您已向机器人发送 `\u002Fstart` 命令，并检查 `enabled: true` 是否启用。\n\n**Signal 无法使用** — 请确认已安装 signal-cli，手机号码已注册并包含国家代码。\n\n**iMessage 无法使用** — 仅适用于 macOS。请检查 Messages.app 是否已打开，imsg 是否已安装（`which imsg`），以及是否已授予辅助功能权限。\n\n**Opencode 服务器崩溃** — 如果端口 4096 已被之前的运行占用，请终止旧进程：`kill $(lsof -ti :4096)`。提供商能够自动检测正在运行的服务器，因此通常问题会自行解决。\n\n**远程存储中的记忆无法持久化** — 请确保已在 `\u002Fhome\u002Fclaw\u002Fsecure-openclaw` 挂载了持久化卷。\n\n---\n\n## 目录结构\n\n```\nsecure-openclaw\u002F\n  config.js              配置文件\n  cli.js                 CLI 入口点（菜单、终端聊天）\n  gateway.js             网关进程（消息平台）\n  Dockerfile             用于远程部署的容器构建文件\n  adapters\u002F\n    base.js              基础适配器类\n    whatsapp.js          通过 Baileys 使用 WhatsApp\n    telegram.js          通过 node-telegram-bot-api 使用 Telegram\n    signal.js            通过 signal-cli 使用 Signal\n    imessage.js          通过 imsg 使用 iMessage（macOS）\n  agent\u002F\n    claude-agent.js      带有记忆、计划任务和系统提示词的代理\n    runner.js            队列与执行协调器\n  providers\u002F\n    base-provider.js     提供商接口\n    claude-provider.js   Claude Agent SDK 提供商\n    opencode-provider.js Opencode 提供商\n    index.js             提供商注册表\n  memory\u002F\n    manager.js           记忆文件管理\n  tools\u002F\n    cron.js              计划任务工具\n    gateway.js           网关 MCP 工具（send_message 等）\n  commands\u002F\n    handler.js           斜杠命令处理器\n  sessions\u002F\n    manager.js           会话跟踪\n~\u002Fsecure-openclaw\u002F       工作空间（首次使用时创建）\n  MEMORY.md              长期记忆\n  memory\u002F                每日日志和主题文件\n```\n\n---\n\n## 贡献\n\n我们欢迎各位贡献！以下是开始的方法：\n\n1. 分支仓库\n2. 创建分支（`git checkout -b feat\u002Fmy-feature`）\n3. 进行更改并提交（`git commit -m '添加我的功能'`）\n4. 推送到您的分支（`git push origin feat\u002Fmy-feature`）\n5. 打开拉取请求\n\n请确保每个 PR 只专注于一项更改。如果您正在修复错误，请附上复现步骤；如果您正在添加新功能，请说明其使用场景。\n\n---\n\n## 资源\n\n- [Claude Agent SDK 文档](https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Foverview)\n- [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code)\n- [Composio 文档](https:\u002F\u002Fdocs.composio.dev)\n- [Composio 工具路由器](https:\u002F\u002Fdocs.composio.dev\u002Ftool-router\u002Foverview)\n- [Baileys (WhatsApp)](https:\u002F\u002Fgithub.com\u002FWhiskeySockets\u002FBaileys)\n\n---\n\n## 社区\n\n- [Discord](https:\u002F\u002Fdiscord.gg\u002Fcomposio) — 提问、分享您的成果\n- [X \u002F Twitter](https:\u002F\u002Fx.com\u002Fcomposio) — 关注以获取最新动态\n- [GitHub Issues](https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fsecure-openclaw\u002Fissues) — 错误报告和功能请求\n- [GitHub Discussions](https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fsecure-openclaw\u002Fdiscussions) — 思路交流和问答\n\n---\n\n## 许可证\n\nMIT","# Secure OpenClaw 快速上手指南\n\nSecure OpenClaw 是一个运行在消息平台上的个人 24\u002F7 AI 助手。你可以通过 WhatsApp、Telegram、Signal 或 iMessage 发送消息，获得由 Claude 驱动的回复，支持工具调用、持久记忆、定时提醒以及 500+ 应用集成。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: macOS, Linux, 或 Windows\n- **Node.js**: 版本 18 或更高\n- **AI 提供商依赖** (二选一或全选):\n  - **Claude Code**: 使用 Anthropic 官方模型 (Opus, Sonnet, Haiku)\n  - **Opencode**: 开源替代方案 (支持 GPT-5 Nano, Grok 等)\n\n### 前置账号与密钥\n在开始之前，请准备好以下密钥：\n1. **Anthropic API Key**: 从 [console.anthropic.com](https:\u002F\u002Fconsole.anthropic.com\u002F) 获取。\n2. **Composio API Key**: 用于连接 Gmail, Slack, GitHub 等 500+ 应用。\n3. **消息平台凭证**:\n   - **WhatsApp**: 需安装 WhatsApp 的手机（用于扫码）。\n   - **Telegram**: 从 @BotFather 获取 Bot Token。\n   - **Signal**: 需安装并注册 `signal-cli`。\n   - **iMessage**: 仅限 macOS，需安装 `imsg` CLI 工具。\n\n---\n\n## 安装步骤\n\n### 1. 克隆项目并安装依赖\n\n```bash\ngit clone \u003Crepo-url> secure-openclaw\ncd secure-openclaw\nnpm install\n```\n\n### 2. 安装 AI 提供商\n\n你需要至少安装一个 AI 提供商。\n\n**选项 A: 安装 Claude Code (推荐)**\n```bash\nnpm install -g @anthropic-ai\u002Fclaude-code\n```\n安装后本地认证（远程部署可跳过此步，直接使用环境变量）：\n```bash\nclaude\n# 按照提示完成 OAuth 登录\n```\n\n**选项 B: 安装 Opencode**\n```bash\ncurl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n```\n\n### 3. 配置 API 密钥\n\n设置环境变量以便程序读取。建议将其添加到你的 shell 配置文件 (`~\u002F.zshrc` 或 `~\u002F.bashrc`) 中永久生效。\n\n**设置 Anthropic Key:**\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\n```\n\n**设置 Composio Key:**\n```bash\n# 安装 Composio CLI 并登录\ncurl -fsSL https:\u002F\u002Fcomposio.dev\u002Finstall | bash\ncomposio login\ncomposio whoami   # 查看你的 API Key\n\n# 导出变量\nexport COMPOSIO_API_KEY=your-key-here\n```\n\n---\n\n## 基本使用\n\n### 启动交互式菜单\n\n运行以下命令进入主菜单：\n\n```bash\nnode cli.js\n```\n\n你将看到如下选项：\n```\n1) Terminal chat      — 在终端中与助手对话\n2) Start gateway      — 启动消息网关 (WhatsApp\u002FTelegram 等)\n3) Setup adapters     — 配置消息平台适配器\n4) Show current config\n5) Test connection\n6) Change provider\n7) Exit\n```\n\n### 常用快捷命令\n\n**直接在终端聊天:**\n```bash\nnode cli.js chat\n```\n\n**启动消息网关:**\n```bash\nnode cli.js start\n```\n*启动后，根据提示配置对应的消息平台（如扫描 WhatsApp 二维码或输入 Telegram Token），即可通过手机消息与应用交互。*\n\n### 核心功能简述\n- **工具审批**: 当 AI 需要执行敏感操作（如 Bash 命令）时，会在终端暂停等待你输入 `y\u002Fn`，或在聊天软件中发消息请求确认。\n- **记忆系统**: 自动将重要信息保存到 `~\u002Fsecure-openclaw\u002FMEMORY.md`，跨会话持久化。\n- **定时任务**: 支持自然语言设置提醒（例如：\"每工作日早上 8 点提醒我\"）。","自由开发者李明正在同时处理多个客户项目，需要频繁切换沟通软件并手动同步任务进度到各类管理工具中。\n\n### 没有 secure-openclaw 时\n- **沟通割裂严重**：客户需求分散在 WhatsApp、Telegram 和邮件中，李明必须不停切换应用查看消息，极易遗漏重要指令。\n- **手动操作繁琐**：收到“创建 GitHub 议题”或“发送会议纪要到 Slack\"的请求时，需暂停对话，手动登录对应网页后台操作，打断心流。\n- **记忆依赖人工**：跨天数的项目细节全靠个人记忆或翻找聊天记录，缺乏持久化记忆辅助，容易混淆不同项目的上下文。\n- **提醒机制缺失**：承诺客户的交付节点只能靠手机闹钟粗略提醒，无法根据聊天内容自动设定精确的日程回调。\n\n### 使用 secure-openclaw 后\n- **统一入口响应**：李明只需在常用的 WhatsApp 或 Telegram 发送消息，secure-openclaw 即刻调用 Claude 内核回复，无需切换任何应用。\n- **指令直达工具**：直接回复“把刚才的 Bug 描述建个 GitHub Issue 并通知团队”，secure-openclaw 自动通过 Composio 连接 500+ 应用完成全套动作。\n- **上下文自动留存**：secure-openclaw 拥有持久化记忆，能主动关联上周关于该项目的讨论细节，让对话像与老搭档交流般流畅。\n- **智能日程管理**：聊到“下周三前提交代码”时，secure-openclaw 自动设置定时提醒，并在截止前通过原聊天窗口主动推送通知。\n\nsecure-openclaw 将分散的通讯软件升级为全能指挥中心，让开发者通过自然语言即可驱动复杂工作流，真正实现 24 小时待命的私人智能助理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FComposioHQ_secure-openclaw_f35f1be3.png","ComposioHQ","Composio","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FComposioHQ_9e53ff0f.png","Composio equips agents with well-crafted tools empowering them to tackle complex tasks",null,"hello@composio.dev","composio","https:\u002F\u002Fcomposio.dev","https:\u002F\u002Fgithub.com\u002FComposioHQ",[86,90,94],{"name":87,"color":88,"percentage":89},"JavaScript","#f1e05a",98.4,{"name":91,"color":92,"percentage":93},"Dockerfile","#384d54",0.8,{"name":95,"color":96,"percentage":93},"Shell","#89e051",1214,171,"2026-04-09T12:25:06","MIT",4,"macOS, Linux, Windows","未说明","最低 1GB (远程部署建议配置交换分区以应对构建需求)",{"notes":106,"python":103,"dependencies":107},"该工具基于 Node.js 运行，非 Python 项目。核心依赖为 Anthropic API Key 和 Composio API Key。若使用 Claude 提供商需安装 'Claude Code'，若使用 Opencode 提供商需安装 'Opencode'。不同消息平台有特定系统要求：WhatsApp 需手机扫码，Telegram 需 Bot Token，Signal 需安装 signal-cli，iMessage 仅限 macOS 且需安装 imsg 工具。远程部署推荐使用 Ubuntu 24.04 并配置至少 2GB 交换分区以防构建时内存不足。",[108,109,110,111,112,113],"Node.js 18+","@anthropic-ai\u002Fclaude-code","Opencode","signal-cli (Signal 平台必需)","imsg (iMessage 平台必需)","Docker (远程部署必需)",[13],[116,117,118,119,120,121,122,123,124],"clawdbot","clawdbot-security","moltbot","moltbot-skills","openclaw","openclaw-plugin","openclaw-security","openclaw-skills","openclawd","2026-03-27T02:49:30.150509","2026-04-10T11:23:16.570728",[],[]]