[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mosaxiv--clawlet":3,"tool-mosaxiv--clawlet":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[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},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151918,2,"2026-04-12T11:33:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"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,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"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",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":75,"owner_url":77,"languages":78,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":32,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":107,"github_topics":108,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":112,"updated_at":113,"faqs":114,"releases":115},6854,"mosaxiv\u002Fclawlet","clawlet","Ultra-lightweight and efficient personal AI assistant","Clawlet 是一款超轻量级、高效率的个人 AI 助手，旨在为用户提供便捷且私密的智能交互体验。它解决了传统 AI 代理部署复杂、依赖环境多以及记忆检索功能难以本地化运行的痛点。无论是开发者、研究人员还是对隐私有较高要求的普通用户，只需下载一个静态二进制文件，即可在任何机器上立即运行，无需安装运行时环境或处理复杂的 CGO 依赖。\n\nClawlet 的核心亮点在于其“混合语义记忆搜索”机制。通过内置 SQLite 和 sqlite-vec，它能自动索引工作区内的 Markdown 文档（如 MEMORY.md），让 AI 在对话中能精准检索过往上下文，仿佛拥有长期记忆。此外，它广泛兼容主流大模型服务商（如 OpenAI、Anthropic、Gemini、OpenRouter）以及本地部署方案（如 Ollama、vLLM），甚至支持 OpenAI Codex 的 OAuth 登录。在安全性方面，Clawlet 默认限制工具仅能访问工作区目录，有效保障数据安全。如果你希望拥有一个随拿随用、既聪明又懂你历史背景的本地 AI 伙伴，Clawlet 是一个极佳的选择。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmosaxiv_clawlet_readme_44536fa77d8d.png\" alt=\"clawlet\" width=\"500\">\n  \u003Ch1>Clawlet\u003C\u002Fh1>\n  \u003Ch3>Ultra-lightweight and efficient personal AI assistant\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n**Clawlet** is a lightweight personal AI agent with hybrid semantic memory search — a single static binary with no runtime and no CGO.  \nBundled SQLite + sqlite-vec. Drop it on any machine and memory search just works.\n\nThis project is inspired by **OpenClaw** and **nanobot**.\n\n## Install\n\nDownload from [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest).\n\nmacOS (Apple Silicon):\n```bash\ncurl -L https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest\u002Fdownload\u002Fclawlet_Darwin_arm64.tar.gz | tar xz\nmv clawlet ~\u002F.local\u002Fbin\u002F\n```\n\n## Quick Start\n\n```bash\n# Initialize\nclawlet onboard \\\n  --openrouter-api-key \"sk-or-...\" \\\n  --model \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4.5\"\n\n# Check effective configuration\nclawlet status\n\n# Chat\nclawlet agent -m \"What is 2+2?\"\n```\n\n## Configuration (`~\u002F.clawlet\u002Fconfig.json`)\n\nConfig file: `~\u002F.clawlet\u002Fconfig.json`\n\n### Supported providers\n\nclawlet currently supports these LLM providers:\n\n- **OpenAI** (`openai\u002F\u003Cmodel>`, API key: `env.OPENAI_API_KEY`)\n- **OpenAI Codex (OAuth)** (`openai-codex\u002F\u003Cmodel>`, no API key; login: `clawlet provider login openai-codex`)\n- **OpenRouter** (`openrouter\u002F\u003Cprovider>\u002F\u003Cmodel>`, API key: `env.OPENROUTER_API_KEY`)\n- **Anthropic** (`anthropic\u002F\u003Cmodel>`, API key: `env.ANTHROPIC_API_KEY`)\n- **Gemini** (`gemini\u002F\u003Cmodel>`, API key: `env.GEMINI_API_KEY` or `env.GOOGLE_API_KEY`)\n- **Local (Ollama \u002F vLLM \u002F OpenAI-compatible local endpoint)** (`ollama\u002F\u003Cmodel>` or `local\u002F\u003Cmodel>`, default base URL: `http:\u002F\u002Flocalhost:11434\u002Fv1`, API key optional)\n\nMinimal config (OpenRouter):\n\n```json\n{\n  \"env\": { \"OPENROUTER_API_KEY\": \"sk-or-...\" },\n  \"agents\": { \"defaults\": { \"model\": \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4-5\" } }\n}\n```\n\nAgent generation defaults are configurable:\n\n```json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"model\": \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4-5\",\n      \"maxTokens\": 8192,\n      \"temperature\": 0.7\n    }\n  }\n}\n```\n\nMinimal config (Local via Ollama):\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"ollama\u002Fqwen2.5:14b\" } }\n}\n```\n\nMinimal config (Local via vLLM using the same `ollama\u002F` route):\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"ollama\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\" } },\n  \"llm\": { \"baseURL\": \"http:\u002F\u002Flocalhost:8000\u002Fv1\" }\n}\n```\n\nOpenAI Codex (OAuth):\n\n```bash\n# one-time login\nclawlet provider login openai-codex\n\n# headless environment (SSH \u002F container)\nclawlet provider login openai-codex --device-code\n```\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"openai-codex\u002Fgpt-5.1-codex\" } }\n}\n```\n\n### Option: Memory search setup\n\nTo enable semantic memory search, add `memorySearch` to the agent defaults:\n\n```json\n{\n  \"env\": {\n    \"OPENAI_API_KEY\": \"sk-...\"\n  },\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"enabled\": true,\n        \"provider\": \"openai\",\n        \"model\": \"text-embedding-3-small\"\n      }\n    }\n  }\n}\n```\n\nLocal embedding (Ollama \u002F OpenAI-compatible local endpoint):\n\n```json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"enabled\": true,\n        \"provider\": \"openai\",\n        \"model\": \"nomic-embed-text\",\n        \"remote\": {\n          \"baseURL\": \"http:\u002F\u002Flocalhost:11434\u002Fv1\"\n        }\n      }\n    }\n  }\n}\n```\n\nWhen enabled:\n- The agent gains `memory_search` and `memory_get` tools for retrieving past context.\n- clawlet indexes `MEMORY.md`, `memory.md`, and `memory\u002F**\u002F*.md` for retrieval.\n- The index DB is created at `{workspace}\u002F.memory\u002Findex.sqlite`.\n\nWhen disabled (default):\n- `memorySearch.enabled` defaults to `false`; the search tools are not exposed to the model.\n- Memory files (`memory\u002FMEMORY.md`, `memory\u002FYYYY-MM-DD.md`) are still injected into context as usual.\n- Normal chat behavior is otherwise unchanged.\n\n\n## Security\n\n### Secure Defaults\n- `tools.restrictToWorkspace` defaults to `true` (tools can only access files inside the workspace directory)\n- `gateway.listen` defaults to `127.0.0.1:18790`\n- `gateway.allowPublicBind` defaults to `false`\n\n### Security Checklist\n\n| Item | Status | Details |\n| --- | --- | --- |\n| Gateway not publicly exposed | ✅ | Default bind is localhost only. Public bind is rejected unless `gateway.allowPublicBind=true` is explicitly set. |\n| Filesystem scoped (no `\u002F`) | ✅ | File tools block root path, path traversal, encoded traversal, symlink escapes, and sensitive state paths. |\n| Exec tool dangerous-command guard | ✅ | `exec` blocks unsafe shell constructs (command chaining, unsafe expansions, redirection\u002F`tee`, dangerous patterns), blocks sensitive paths, and passes only allowlisted environment variables to subprocesses. |\n\n## Tools\n\n### Multimodal input (audio\u002Fimage\u002Fattachments)\n\nInbound channel messages can include attachments. clawlet can:\n\n- send images to vision-capable models,\n- transcribe audio using the configured provider,\n- and inline text-like file attachments into the user context.\n\nConfigure under `tools.media` (the values below are the current default values):\n\n```json\n{\n  \"tools\": {\n    \"media\": {\n      \"enabled\": true,\n      \"audioEnabled\": true,\n      \"imageEnabled\": true,\n      \"attachmentEnabled\": true,\n      \"maxAttachments\": 4,\n      \"maxFileBytes\": 20971520,\n      \"maxInlineImageBytes\": 5242880,\n      \"maxTextChars\": 12000,\n      \"downloadTimeoutSec\": 20\n    }\n  }\n}\n```\n\n## Chat Apps\n\nChat app integrations are configured under `channels` (examples below).\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Telegram\u003C\u002Fb>\u003C\u002Fsummary>\n\nUses **Telegram Bot API long polling** (`getUpdates`) so no public webhook endpoint is required.\n\n1. Create a bot with `@BotFather` and copy the bot token.\n2. (Optional but recommended) Restrict access with `allowFrom`.\n   - Telegram numeric user ID works best.\n   - Username is also supported (without `@`).\n\nExample config (merge into `~\u002F.clawlet\u002Fconfig.json`):\n\n```json\n{\n  \"channels\": {\n    \"telegram\": {\n      \"enabled\": true,\n      \"token\": \"123456:ABCDEF...\",\n      \"allowFrom\": [\"123456789\"]\n    }\n  }\n}\n```\n\nThen run:\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>WhatsApp\u003C\u002Fb>\u003C\u002Fsummary>\n\nUses **WhatsApp Web Multi-Device**. No Meta webhook\u002Fpublic endpoint is required.\n\n1. Enable channel and (recommended) set `allowFrom`.\n2. Run login once:\n   - `clawlet channels login --channel whatsapp`\n   - Scan the QR shown in terminal from WhatsApp `Linked devices`.\n3. Start normal runtime with `clawlet gateway`.\n\nExample config (merge into `~\u002F.clawlet\u002Fconfig.json`):\n\n```json\n{\n  \"channels\": {\n    \"whatsapp\": {\n      \"enabled\": true,\n      \"allowFrom\": [\"15551234567\"]\n    }\n  }\n}\n```\n\nThen run:\n\n```bash\n# one-time login (required before gateway)\nclawlet channels login --channel whatsapp\n\n# normal runtime\nclawlet gateway\n```\n\nNotes:\n- Send retries are applied for transient\u002Frate-limit errors with exponential backoff.\n- Session state is persisted by default at `~\u002F.clawlet\u002Fwhatsapp-auth\u002Fsession.db`.\n- You can override store path with `sessionStorePath` if needed.\n- `clawlet gateway` does not perform QR login; if not linked, it exits with a login command hint.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Discord\u003C\u002Fb>\u003C\u002Fsummary>\n\n1. Create the bot and copy the token\nGo to https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications, create an application, then `Bot` → `Add Bot`. Copy the bot token.\n\n2. Invite the bot to your server (OAuth2 URL Generator)\nIn `OAuth2` → `URL Generator`, choose `Scopes: bot`. For `Bot Permissions`, the minimal set is `View Channels`, `Send Messages`, `Read Message History`. Open the generated URL and add the bot to your server.\n\n3. Enable Message Content Intent (required for guild message text)\nIn the Developer Portal bot settings, enable **MESSAGE CONTENT INTENT**. Without it, the bot won't receive message text in servers.\n\n4. Get your User ID (for allowFrom)\nEnable Developer Mode in Discord settings, then right-click your profile and select `Copy User ID`.\n\n5. Configure clawlet\n`channels.discord.allowFrom` is the list of user IDs allowed to talk to the agent (empty = allow everyone).\n\nExample config (merge into `~\u002F.clawlet\u002Fconfig.json`):\n\n```json\n{\n  \"channels\": {\n    \"discord\": {\n      \"enabled\": true,\n      \"token\": \"YOUR_BOT_TOKEN\",\n      \"allowFrom\": [\"YOUR_USER_ID\"]\n    }\n  }\n}\n```\n\n6. Run\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Slack\u003C\u002Fb>\u003C\u002Fsummary>\n\nUses **Socket Mode** (no public URL required). clawlet currently supports Socket Mode only.\n\n1. Create a Slack app\n2. Configure the app:\n   - Socket Mode: ON, generate an App-Level Token (`xapp-...`) with `connections:write`\n   - OAuth scopes (bot): `chat:write`, `reactions:write`, `app_mentions:read`, `im:history`, `channels:history`\n   - Event Subscriptions: subscribe to `message.im`, `message.channels`, `app_mention`\n3. Install the app to your workspace and copy the Bot Token (`xoxb-...`)\n4. Set `channels.slack.enabled=true`, and configure `botToken` + `appToken`.\n   - groupPolicy: \"mention\" (default — respond only when @mentioned), \"open\" (respond to all channel messages), or \"allowlist\" (restrict to specific channels).\n   - DM policy defaults to open. Set \"dm\": {\"enabled\": false} to disable DMs.\n\nExample config (merge into `~\u002F.clawlet\u002Fconfig.json`):\n\n```json\n{\n  \"channels\": {\n    \"slack\": {\n      \"enabled\": true,\n      \"botToken\": \"xoxb-...\",\n      \"appToken\": \"xapp-...\",\n      \"groupPolicy\": \"mention\",\n      \"allowFrom\": [\"U012345\"]\n    }\n  }\n}\n```\n\nThen run:\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n## CLI Reference\n\n| Command | Description |\n| --- | --- |\n| `clawlet onboard` | Initialize a workspace and write a minimal config. |\n| `clawlet status` | Print the effective configuration (after defaults and routing). |\n| `clawlet agent` | Run the agent in CLI mode (interactive or single message). |\n| `clawlet gateway` | Run the long-lived gateway (channels + cron + heartbeat). |\n| `clawlet channels status` | Show which chat channels are enabled\u002Fconfigured. |\n| `clawlet cron list` | List scheduled jobs. |\n| `clawlet cron add` | Add a scheduled job. |\n| `clawlet cron remove` | Remove a scheduled job. |\n| `clawlet cron toggle` | Enable\u002Fdisable a scheduled job. |\n| `clawlet cron run` | Run a job immediately. |\n\n### `clawlet cron add` formats\n\n`--message` is required, and exactly one of `--every`, `--cron`, or `--at` must be set.\n\n```bash\n# Every N seconds\nclawlet cron add --message \"summarize my inbox\" --every 3600\n\n# Cron expression (5-field)\nclawlet cron add --message \"daily standup notes\" --cron \"0 9 * * 1-5\"\n\n# Run once at a specific time (RFC3339)\nclawlet cron add --message \"remind me\" --at \"2026-02-10T09:00:00Z\"\n\n# Deliver to a chat (requires both --channel and --to)\nclawlet cron add --message \"ping\" --every 600 --channel slack --to U012345\n```\n## 🐳 Docker\n\n### Using Pre-built Images\n\nPre-built images are available on GitHub Container Registry:\n\n```yaml\n# docker-compose.yml\nservices:\n  clawlet:\n    image: ghcr.io\u002Fmosaxiv\u002Fclawlet:latest\n    volumes:\n      - ~\u002F.clawlet:\u002Froot\u002F.clawlet\n    command: gateway\n    restart: unless-stopped\n```\n\n```bash\ndocker compose up -d\n```\n\n### Building Locally\n\n```bash\n# Build the image\ndocker build -t clawlet .\n\n# Initialize config (first time only)\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet onboard\n\n# Edit config on host to add API keys\nvim ~\u002F.clawlet\u002Fconfig.json\n\n# Run the gateway\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet clawlet gateway\n\n# Or run a single command\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet agent -m \"Hello\"\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet status\n```\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmosaxiv_clawlet_readme_44536fa77d8d.png\" alt=\"clawlet\" width=\"500\">\n  \u003Ch1>Clawlet\u003C\u002Fh1>\n  \u003Ch3>超轻量且高效的个人AI助手\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n**Clawlet** 是一款轻量级的个人AI代理，具备混合语义记忆搜索功能——它是一个单一的静态二进制文件，无需运行时环境，也不使用CGO。  \n内置SQLite + sqlite-vec。只需将其部署到任何机器上，记忆搜索功能即可直接使用。\n\n该项目受到 **OpenClaw** 和 **nanobot** 的启发。\n\n## 安装\n\n从 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest) 下载。\n\nmacOS (Apple Silicon):\n```bash\ncurl -L https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest\u002Fdownload\u002Fclawlet_Darwin_arm64.tar.gz | tar xz\nmv clawlet ~\u002F.local\u002Fbin\u002F\n```\n\n## 快速入门\n\n```bash\n# 初始化\nclawlet onboard \\\n  --openrouter-api-key \"sk-or-...\" \\\n  --model \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4.5\"\n\n# 检查有效配置\nclawlet status\n\n# 对话\nclawlet agent -m \"2加2等于多少？\"\n```\n\n## 配置 (`~\u002F.clawlet\u002Fconfig.json`)\n\n配置文件：`~\u002F.clawlet\u002Fconfig.json`\n\n### 支持的提供商\n\nclawlet 目前支持以下LLM提供商：\n\n- **OpenAI** (`openai\u002F\u003Cmodel>`，API密钥：`env.OPENAI_API_KEY`)\n- **OpenAI Codex (OAuth)** (`openai-codex\u002F\u003Cmodel>`，无需API密钥；登录方式：`clawlet provider login openai-codex`)\n- **OpenRouter** (`openrouter\u002F\u003Cprovider>\u002F\u003Cmodel>`，API密钥：`env.OPENROUTER_API_KEY`)\n- **Anthropic** (`anthropic\u002F\u003Cmodel>`，API密钥：`env.ANTHROPIC_API_KEY`)\n- **Gemini** (`gemini\u002F\u003Cmodel>`，API密钥：`env.GEMINI_API_KEY` 或 `env.GOOGLE_API_KEY`)\n- **本地（Ollama \u002F vLLM \u002F 兼容OpenAI的本地端点）** (`ollama\u002F\u003Cmodel>` 或 `local\u002F\u003Cmodel>`，默认基础URL：`http:\u002F\u002Flocalhost:11434\u002Fv1`，API密钥可选）\n\n最小配置（OpenRouter）：\n\n```json\n{\n  \"env\": { \"OPENROUTER_API_KEY\": \"sk-or-...\" },\n  \"agents\": { \"defaults\": { \"model\": \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4-5\" } }\n}\n```\n\n代理生成的默认设置可配置：\n\n```json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"model\": \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4-5\",\n      \"maxTokens\": 8192,\n      \"temperature\": 0.7\n    }\n  }\n}\n```\n\n最小配置（通过Ollama使用本地模型）：\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"ollama\u002Fqwen2.5:14b\" } }\n}\n```\n\n最小配置（通过vLLM使用相同的`ollama\u002F`路由）：\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"ollama\u002Fmeta-llama\u002FLlama-3.1-8B-Instruct\" } },\n  \"llm\": { \"baseURL\": \"http:\u002F\u002Flocalhost:8000\u002Fv1\" }\n}\n```\n\nOpenAI Codex (OAuth)：\n\n```bash\n# 一次性登录\nclawlet provider login openai-codex\n\n# 无头环境（SSH \u002F 容器）\nclawlet provider login openai-codex --device-code\n```\n\n```json\n{\n  \"agents\": { \"defaults\": { \"model\": \"openai-codex\u002Fgpt-5.1-codex\" } }\n}\n```\n\n### 选项：记忆搜索设置\n\n要启用语义记忆搜索，可在代理默认设置中添加`memorySearch`：\n\n```json\n{\n  \"env\": {\n    \"OPENAI_API_KEY\": \"sk-...\"\n  },\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"enabled\": true,\n        \"provider\": \"openai\",\n        \"model\": \"text-embedding-3-small\"\n      }\n    }\n  }\n}\n```\n\n本地嵌入（Ollama \u002F 兼容OpenAI的本地端点）：\n\n```json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"enabled\": true,\n        \"provider\": \"openai\",\n        \"model\": \"nomic-embed-text\",\n        \"remote\": {\n          \"baseURL\": \"http:\u002F\u002Flocalhost:11434\u002Fv1\"\n        }\n      }\n    }\n  }\n}\n```\n\n启用后：\n- 代理将获得`memory_search`和`memory_get`工具，用于检索过往上下文。\n- clawlet会索引`MEMORY.md`、`memory.md`以及`memory\u002F**\u002F*.md`文件以供检索。\n- 索引数据库将在`{workspace}\u002F.memory\u002Findex.sqlite`中创建。\n\n禁用时（默认）：\n- `memorySearch.enabled`默认为`false`；搜索工具不会暴露给模型。\n- 记忆文件（`memory\u002FMEMORY.md`、`memory\u002FYYYY-MM-DD.md`）仍会按常规注入到上下文中。\n- 正常的对话行为则保持不变。\n\n\n## 安全性\n\n### 安全默认设置\n- `tools.restrictToWorkspace`默认为`true`（工具仅能访问工作目录内的文件）\n- `gateway.listen`默认为`127.0.0.1:18790`\n- `gateway.allowPublicBind`默认为`false`\n\n### 安全检查清单\n\n| 项目 | 状态 | 详情 |\n| --- | --- | --- |\n| 网关未公开暴露 | ✅ | 默认绑定仅限于本地回环地址。除非显式设置`gateway.allowPublicBind=true`，否则拒绝公网绑定。 |\n| 文件系统受限（无`\u002F`） | ✅ | 文件工具会阻止根路径访问、路径遍历、编码后的路径遍历、符号链接逃逸以及敏感状态路径。 |\n| 执行工具危险命令防护 | ✅ | `exec`会阻止不安全的Shell构造（命令链、不安全的变量扩展、重定向\u002F`tee`、危险模式），并阻止访问敏感路径，同时只允许白名单中的环境变量传递给子进程。 |\n\n## 工具\n\n### 多模态输入（音频\u002F图片\u002F附件）\n\n传入渠道的消息可以包含附件。clawlet可以：\n\n- 将图片发送给具备视觉能力的模型，\n- 使用配置的提供商转录音频，\n- 并将类似文本的文件附件内联到用户上下文中。\n\n可在`tools.media`中进行配置（以下值为当前默认值）：\n\n```json\n{\n  \"tools\": {\n    \"media\": {\n      \"enabled\": true,\n      \"audioEnabled\": true,\n      \"imageEnabled\": true,\n      \"attachmentEnabled\": true,\n      \"maxAttachments\": 4,\n      \"maxFileBytes\": 20971520,\n      \"maxInlineImageBytes\": 5242880,\n      \"maxTextChars\": 12000,\n      \"downloadTimeoutSec\": 20\n    }\n  }\n}\n```\n\n## 聊天应用\n\n聊天应用集成在`channels`中配置（以下为示例）。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Telegram\u003C\u002Fb>\u003C\u002Fsummary>\n\n采用**Telegram Bot API长轮询**（`getUpdates`），因此无需公开的Webhook端点。\n\n1. 使用`@BotFather`创建一个机器人，并复制机器人令牌。\n2. （可选但建议）通过`allowFrom`限制访问权限。\n   - Telegram数字用户ID效果最佳。\n   - 用户名也可接受（不含`@`）。\n\n配置示例（合并到`~\u002F.clawlet\u002Fconfig.json`）：\n\n```json\n{\n  \"channels\": {\n    \"telegram\": {\n      \"enabled\": true,\n      \"token\": \"123456:ABCDEF...\",\n      \"allowFrom\": [\"123456789\"]\n    }\n  }\n}\n```\n\n然后运行：\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>WhatsApp\u003C\u002Fb>\u003C\u002Fsummary>\n\n采用**WhatsApp Web多设备模式**。无需Meta的Webhook或公开端点。\n\n1. 启用该通道，并（建议）设置`allowFrom`。\n2. 运行一次登录：\n   - `clawlet channels login --channel whatsapp`\n   - 使用终端显示的二维码，在WhatsApp的“已连接设备”中扫描。\n3. 使用`clawlet gateway`启动正常运行。\n\n配置示例（合并到`~\u002F.clawlet\u002Fconfig.json`）：\n\n```json\n{\n  \"channels\": {\n    \"whatsapp\": {\n      \"enabled\": true,\n      \"allowFrom\": [\"15551234567\"]\n    }\n  }\n}\n```\n\n然后运行：\n\n```bash\n# 一次性登录（在启动网关前必须完成）\nclawlet channels login --channel whatsapp\n\n# 正常运行时\nclawlet 网关\n```\n\n注意事项：\n- 对于瞬时错误或速率限制错误，会采用指数退避策略进行重试。\n- 会话状态默认持久化存储在 `~\u002F.clawlet\u002Fwhatsapp-auth\u002Fsession.db` 中。\n- 如有需要，可通过 `sessionStorePath` 覆盖存储路径。\n- `clawlet 网关` 不执行二维码登录；若未绑定账号，则会退出并提示登录命令。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Discord\u003C\u002Fb>\u003C\u002Fsummary>\n\n1. 创建机器人并复制令牌\n前往 https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications，创建一个应用，然后依次选择 `Bot` → `Add Bot`。复制机器人令牌。\n\n2. 将机器人邀请至您的服务器（OAuth2 URL生成器）\n在 `OAuth2` → `URL Generator` 中，选择 `Scopes: bot`。对于 `Bot Permissions`，最低权限为 `View Channels`、`Send Messages` 和 `Read Message History`。打开生成的链接并将机器人添加到您的服务器。\n\n3. 启用消息内容意图（获取服务器消息文本所必需）\n在开发者门户的机器人设置中，启用 **MESSAGE CONTENT INTENT**。否则，机器人将无法接收服务器中的消息文本。\n\n4. 获取您的用户ID（用于 allowFrom）\n在 Discord 设置中启用开发者模式，然后右键单击您的个人资料并选择 `Copy User ID`。\n\n5. 配置 clawlet\n`channels.discord.allowFrom` 是允许与代理对话的用户ID列表（空值表示允许所有人）。\n\n示例配置（合并到 `~\u002F.clawlet\u002Fconfig.json`）：\n\n```json\n{\n  \"channels\": {\n    \"discord\": {\n      \"enabled\": true,\n      \"token\": \"YOUR_BOT_TOKEN\",\n      \"allowFrom\": [\"YOUR_USER_ID\"]\n    }\n  }\n}\n```\n\n6. 运行\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Slack\u003C\u002Fb>\u003C\u002Fsummary>\n\n使用 **Socket Mode**（无需公开URL）。目前 clawlet 仅支持 Socket Mode。\n\n1. 创建 Slack 应用\n2. 配置应用：\n   - Socket Mode：开启，生成一个具有 `connections:write` 权限的应用级令牌（`xapp-...`）\n   - OAuth范围（bot）：`chat:write`、`reactions:write`、`app_mentions:read`、`im:history`、`channels:history`\n   - 事件订阅：订阅 `message.im`、`message.channels`、`app_mention`\n3. 将应用安装到您的工作区，并复制机器人令牌（`xoxb-...`）\n4. 设置 `channels.slack.enabled=true`，并配置 `botToken` 和 `appToken`。\n   - groupPolicy：可设置为 `\"mention\"`（默认，仅在被提及时回复）、`\"open\"`（回复所有频道消息）或 `\"allowlist\"`（限制特定频道）。\n   - DM政策默认为 open。若要禁用私信，可设置为 `\"dm\": {\"enabled\": false}`。\n\n示例配置（合并到 `~\u002F.clawlet\u002Fconfig.json`）：\n\n```json\n{\n  \"channels\": {\n    \"slack\": {\n      \"enabled\": true,\n      \"botToken\": \"xoxb-...\",\n      \"appToken\": \"xapp-...\",\n      \"groupPolicy\": \"mention\",\n      \"allowFrom\": [\"U012345\"]\n    }\n  }\n}\n```\n\n随后运行：\n\n```bash\nclawlet gateway\n```\n\n\u003C\u002Fdetails>\n\n## CLI 参考\n\n| 命令 | 描述 |\n| --- | --- |\n| `clawlet onboard` | 初始化工作空间并生成最小配置文件。 |\n| `clawlet status` | 打印生效的配置（包括默认值和路由信息）。 |\n| `clawlet agent` | 以 CLI 模式运行代理（交互式或单条消息）。 |\n| `clawlet gateway` | 运行长期运行的网关服务（处理聊天通道、定时任务和心跳检测）。 |\n| `clawlet channels status` | 显示哪些聊天通道已启用或配置。 |\n| `clawlet cron list` | 列出所有计划任务。 |\n| `clawlet cron add` | 添加一项计划任务。 |\n| `clawlet cron remove` | 移除一项计划任务。 |\n| `clawlet cron toggle` | 启用或禁用一项计划任务。 |\n| `clawlet cron run` | 立即执行一项计划任务。 |\n\n### `clawlet cron add` 格式\n\n`--message` 为必填项，且必须精确设置 `--every`、`--cron` 或 `--at` 中的一项。\n\n```bash\n# 每 N 秒执行一次\nclawlet cron add --message \"总结我的收件箱\" --every 3600\n\n# Cron 表达式（5 字段）\nclawlet cron add --message \"每日站会记录\" --cron \"0 9 * * 1-5\"\n\n# 在特定时间执行一次（RFC3339 格式）\nclawlet cron add --message \"提醒我\" --at \"2026-02-10T09:00:00Z\"\n\n# 发送至聊天（需同时设置 --channel 和 --to）\nclawlet cron add --message \"ping\" --every 600 --channel slack --to U012345\n```\n\n## 🐳 Docker\n\n### 使用预构建镜像\n\n预构建镜像可在 GitHub Container Registry 上获取：\n\n```yaml\n# docker-compose.yml\nservices:\n  clawlet:\n    image: ghcr.io\u002Fmosaxiv\u002Fclawlet:latest\n    volumes:\n      - ~\u002F.clawlet:\u002Froot\u002F.clawlet\n    command: gateway\n    restart: unless-stopped\n```\n\n```bash\ndocker compose up -d\n```\n\n### 本地构建\n\n```bash\n# 构建镜像\ndocker build -t clawlet .\n\n# 初始化配置（仅首次）\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet onboard\n\n# 在主机上编辑配置文件以添加 API 密钥\nvim ~\u002F.clawlet\u002Fconfig.json\n\n# 运行网关\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet clawlet gateway\n\n# 或者运行单个命令\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet agent -m \"Hello\"\ndocker run -v ~\u002F.clawlet:\u002Froot\u002F.clawlet --rm clawlet status\n```","# Clawlet 快速上手指南\n\nClawlet 是一款超轻量级、高效的个人 AI 助手。它是一个独立的静态二进制文件，无需运行时环境，无需 CGO，内置 SQLite 和向量搜索功能，开箱即用。\n\n## 环境准备\n\n*   **操作系统**：支持 macOS (Intel\u002FApple Silicon)、Linux 等主流系统。\n*   **前置依赖**：无。Clawlet 为单文件二进制，无需安装 Python、Node.js 或 Docker 即可运行（除非你选择使用 Docker 部署）。\n*   **API 密钥**：需准备一个大模型服务商的 API Key（如 OpenRouter, OpenAI, Anthropic, Gemini）或本地大模型服务（如 Ollama）。\n\n## 安装步骤\n\n### 方式一：直接下载二进制文件（推荐）\n\n访问 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest) 下载对应系统的压缩包。\n\n**macOS (Apple Silicon) 一键安装命令：**\n\n```bash\ncurl -L https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet\u002Freleases\u002Flatest\u002Fdownload\u002Fclawlet_Darwin_arm64.tar.gz | tar xz\nmv clawlet ~\u002F.local\u002Fbin\u002F\n```\n\n> **提示**：请确保 `~\u002F.local\u002Fbin\u002F` 已添加到你的 `$PATH` 环境变量中。其他系统请下载对应架构的文件并手动移动至路径下。\n\n### 方式二：使用 Docker\n\n如果你更倾向于容器化部署：\n\n```yaml\n# docker-compose.yml\nservices:\n  clawlet:\n    image: ghcr.io\u002Fmosaxiv\u002Fclawlet:latest\n    volumes:\n      - ~\u002F.clawlet:\u002Froot\u002F.clawlet\n    command: gateway\n    restart: unless-stopped\n```\n\n启动服务：\n```bash\ndocker compose up -d\n```\n\n## 基本使用\n\n### 1. 初始化配置\n\n首次使用前，需要运行 `onboard` 命令初始化工作区并配置 API Key 和模型。\n\n**示例：使用 OpenRouter 接入 Claude 模型**\n\n```bash\nclawlet onboard \\\n  --openrouter-api-key \"sk-or-...\" \\\n  --model \"openrouter\u002Fanthropic\u002Fclaude-sonnet-4.5\"\n```\n\n> **注**：如果使用本地 Ollama，只需指定模型即可，无需 API Key：\n> `clawlet onboard --model \"ollama\u002Fqwen2.5:14b\"`\n\n### 2. 检查配置状态\n\n确认配置是否生效：\n\n```bash\nclawlet status\n```\n\n### 3. 开始对话\n\n直接在命令行与 AI 助手交互：\n\n```bash\nclawlet agent -m \"What is 2+2?\"\n```\n\n### 4. 进阶：启用长期记忆（可选）\n\nClawlet 支持基于语义的记忆搜索。若需启用，编辑配置文件 `~\u002F.clawlet\u002Fconfig.json`，在 `agents.defaults` 中添加 `memorySearch` 配置：\n\n```json\n{\n  \"env\": {\n    \"OPENAI_API_KEY\": \"sk-...\"\n  },\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"enabled\": true,\n        \"provider\": \"openai\",\n        \"model\": \"text-embedding-3-small\"\n      }\n    }\n  }\n}\n```\n启用后，助手将自动索引工作区下的 `MEMORY.md` 及 `memory\u002F` 目录文件，并获得 `memory_search` 工具以检索过往上下文。\n\n### 5. 连接聊天软件（可选）\n\nClawlet 可作为网关连接到 Telegram、WhatsApp、Discord 或 Slack。\n\n**示例：连接 Telegram**\n1. 在 `~\u002F.clawlet\u002Fconfig.json` 中添加配置：\n   ```json\n   {\n     \"channels\": {\n       \"telegram\": {\n         \"enabled\": true,\n         \"token\": \"123456:ABCDEF...\",\n         \"allowFrom\": [\"你的 Telegram 数字 ID\"]\n       }\n     }\n   }\n   ```\n2. 启动网关服务：\n   ```bash\n   clawlet gateway\n   ```\n\n现在，你可以在对应的聊天软件中与你的个人 AI 助手对话了。","一位独立开发者需要在多台不同配置的电脑（包括公司 Mac 和家里 Linux 服务器）上维护一个长期迭代的项目，并希望能随时与 AI 讨论历史决策细节。\n\n### 没有 clawlet 时\n- **环境部署繁琐**：每次换设备都要配置 Python 环境、安装依赖库，遇到 CGO 编译错误往往耗费数小时排查。\n- **记忆断片严重**：AI 无法自动检索几周前的架构决策记录，开发者必须手动复制粘贴大量上下文才能继续对话。\n- **隐私与安全担忧**：担心通用助手工具权限过大，意外修改工作目录之外的重要系统文件。\n- **资源占用过高**：后台常驻的重型 Agent 进程拖慢老旧设备的运行速度，导致开发体验卡顿。\n\n### 使用 clawlet 后\n- **即插即用**：下载单个静态二进制文件即可运行，无需运行时环境或复杂编译，在任意机器上秒级启动。\n- **混合语义记忆**：开启 `memorySearch` 后，clawlet 自动索引 `memory\u002F` 目录下的 Markdown 笔记，AI 能精准召回半年前的技术选型理由。\n- **安全沙箱机制**：默认限制工具仅能访问工作区内部文件，彻底杜绝了误删系统配置的风险。\n- **极致轻量**：零运行时开销，即使在低配服务器上也能流畅运行，让本地大模型协作变得毫无负担。\n\nclawlet 通过“单文件交付 + 本地语义记忆”的组合，将个人 AI 助手从沉重的环境配置中解放出来，实现了真正的随处智能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmosaxiv_clawlet_44536fa7.png","mosaxiv","mosa","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmosaxiv_77340b04.png",null,"mosaxiv@gmail.com","https:\u002F\u002Fgithub.com\u002Fmosaxiv",[79,83,87,90],{"name":80,"color":81,"percentage":82},"Go","#00ADD8",97.1,{"name":84,"color":85,"percentage":86},"Shell","#89e051",1.5,{"name":88,"color":81,"percentage":89},"Go Template",1.3,{"name":91,"color":92,"percentage":93},"Dockerfile","#384d54",0.1,606,46,"2026-04-11T01:53:51","MIT","Linux, macOS","非必需（本地运行依赖外部服务如 Ollama\u002FvLLM，核心程序为静态二进制文件，无 GPU 加速需求）","未说明（作为轻量级静态二进制文件，内存占用应较低，具体取决于所选 LLM 模型）",{"notes":102,"python":103,"dependencies":104},"该工具是一个无运行时依赖、无 CGO 的单静态二进制文件。它本身不包含 AI 模型，需配置外部 LLM 提供商（如 OpenAI、Anthropic、OpenRouter）或本地服务（如 Ollama、vLLM）才能运行。支持通过 Docker 部署。","不需要（单静态二进制文件，无运行时依赖）",[105,106],"SQLite (内置)","sqlite-vec (内置)",[13,14,15],[109,110,111,6],"ai","assistant","personal","2026-03-27T02:49:30.150509","2026-04-12T20:19:22.950043",[],[116,121,126,131,136,141,146,151,156,161,166,171],{"id":117,"version":118,"summary_zh":119,"released_at":120},222736,"v0.2.10","## 更改日志\n* c6ea754c8932c16591a973d30a97abb26b9a12a6 合并拉取请求 #11，来自 Alex-wuhu\u002Fnovita-integration\n* 8a9367d843abe1bbf13f100bc0896d6fb2043e98 合并拉取请求 #9，来自 coohu\u002Fssy\n* 63eb386558877cc1167695774e52cf40267f3642 功能：添加 Novita AI 作为 LLM 提供者\n* 950e7d996ba09a368c53cb33a6c80b4b76550051 功能：添加 ShengSuanYun（胜算云）作为模型提供者。\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2026-03-24T10:23:47",{"id":122,"version":123,"summary_zh":124,"released_at":125},222737,"v0.2.9","## 更改日志\n* 58c22d5e1bdecbf0750cc62e3174fc5cb551626c 添加可配置的 web_fetch 域名和大小策略\n* c72f1b93b8b35055959a08d0c39da7c1fa63e697 向 web_fetch 添加请求头\n* 75630d25a5dd65fcbde8f4d3ecdd565b42cce090 添加技能注册表查找\u002F安装工具\n* 849801084c122846349ac7f9b4d884370d5f9a39 为技能注册表工具添加测试\n* 0ea6b1470d8a20a8de740478907106f2d2d60158 为 web_fetch 策略设置添加测试\n* 26c43374608f1e2d216a8879b0323b77592c58eb 合并 https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet 的 'main' 分支\n* 7ec97df3e8bffc48c4a86b42b4a64cdc6161d1c2 合并 audy\u002Faudy\u002Fadd-headers-to-web-fetch 的第 8 号拉取请求\n* 23eebde8896569cb659f6e130db36b238ed2021a 修订 README.md 中的 Clawlet 描述\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-24T16:16:30",{"id":127,"version":128,"summary_zh":129,"released_at":130},222738,"v0.2.8","## 更改日志\n* c72f1b93b8b35055959a08d0c39da7c1fa63e697 向 web_fetch 添加请求头\n* 7ec97df3e8bffc48c4a86b42b4a64cdc6161d1c2 合并拉取请求 #8，来自 audy\u002Faudy\u002Fadd-headers-to-web-fetch\n* 23eebde8896569cb659f6e130db36b238ed2021a 修订 README.md 中的 Clawlet 描述\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2026-02-21T13:49:48",{"id":132,"version":133,"summary_zh":134,"released_at":135},222739,"v0.2.7","## 更改日志\n* ea6145264c63376f6a176bbd2efa2b491c643a8c 在 README 中添加专用工具部分\n* 23ac88f74bc781c539c095417bcb2428989489f5 添加网关绑定防护和安全检查清单\n* c1a1677dde3eca5ef1426018bba1f398f773f5ed 为通道添加入站附件元数据\n* 7a77cbce93869b5d0d4d8f0f30c4941905174f40 为多模态输入添加入站媒体预处理\n* fb87fc3774e7b884f108303e23889f9a2ca432e6 添加多模态消息转换和音频转录\n* 403cd34dade1e103f823a86c1ab3f17430186c8c 澄清默认安全配置措辞\n* ce29e65970c59c268c24e3ebe3baf74155b0fb95 在安全检查清单中记录 exec 工具\n* 952ce4164983afbb4a8c4d41b062fbfdbb6db42e 记录多模态媒体输入设置\n* 8e5296953013556bd997da27a52cdef20ce27de7 加强 exec 工具的安全默认设置\n* 0af3219359e04e3467e732ef4fee4ce98c2ea750 加强文件系统路径安全性\n* 88a0b3e6f97bc71cad0d58f42c3e4e9ce2977cdc 加强媒体获取并澄清媒体默认设置\n* d65b9835b840c6d7efa2069aa4bcc99209f75e33 重构 Codex 测试负载类型定义\n* a0772bbaf7e25a386872a4ddbdc9df67b673a4ed 重构 LLM 适配器中的工具 Schema 负载类型定义\n* 4d0062cb5197051733b10ab69e1529e95c768faf 优化 README 中的安全章节\n* dade23aaeb8278c00291a9712e4a6f47057efbae 删除冗余的工具介绍行\n* 0739b604700d11d850ea0a17634ddb09870bf869 删除不必要的注释\n* 766a4ebf57ac19a5eec1c38cf9c8ad1e68f3aba1 恢复安全介绍行\n* 8a72bb98917c978721592a88f86f5e12fc53932b 恢复安全章节中的敏感路径说明\n* a61f2d38d8d41e10a4a2e2290bdc368890b3ae3a 支持媒体摄入的内存中附件负载\n* 8140f0e043acc9af3db07c9cbe836e9236f0aa1d 简化安全章节细节\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-18T23:22:45",{"id":137,"version":138,"summary_zh":139,"released_at":140},222740,"v0.2.6","## 更改日志\n* 9d2595ea629bf797af23915f9837be5fdccd9c22 添加 OpenAI Codex OAuth 提供程序支持\n* c1c333d13fd30a2c98cebe0a42bf9cd5048b4f9f 提升 Codex 设备码轮询的容错性\n* d04804784c6835ceafd2fdfba9087957cd666dc1 内联内存搜索提供程序规范化\n* 827704a490ff88d57839cfb4ff370900f052cbb7 合并拉取请求 #6，来自 mosaxiv\u002Flocal\n* adeeee3cdf3a50f8497f686e4df1ccb80a53d8f6 合并拉取请求 #7，来自 mosaxiv\u002Fcodex\n* 9dc1853f77320cac324001d0c70697b38c4bad16 将 Codex 提供程序命名限制为 openai-codex\n* b77193b852d6916811e908f09863df13469ec874 简化内存嵌入提供程序配置\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2026-02-18T13:40:33",{"id":142,"version":143,"summary_zh":144,"released_at":145},222741,"v0.2.5","## 更改日志\n* ecedddda05dd92f230c08af6a9e6bb6e299780ad 在 README 中提及项目灵感\n* 69d4c17178e506007d10ffd8eb63ea13d2327b0f 合并分支 'main' 到 docker-build\n* 751c5d500f47f9cf1f1127bd386448317cbc7af8 合并拉取请求 #3，来自 james2doyle\u002Fdocker\n* eb5c1a16747ff9fa3f28f8bc84c8a5ed6911ec44 合并拉取请求 #4，来自 mosaxiv\u002Fdocker\n* e46e7aaab6aaf5fcf26fa5f84662974e6c525e5a 合并拉取请求 #5，来自 james2doyle\u002Fdocker-build\n* 2d5691e23b6fd0905541c416ee77ff7aba438ef6 移除 README 中的“架构”章节\n* 5739664f751851a083db6e6f87a23df44f24225a 移除 Docker Compose 支持，解绑配置文件，并修订 Docker 使用说明\n* 2d85b9a1eb8e5908c139064568bc9cd6c239e379 修订 README：精简描述、突出功能亮点、明确功能说明\n* e9723562dd1fdac7a41276a45906fe2cbe59e296 更新 README.md 中的项目描述\n* e9f489ac75e95b89eb015b2a2b9c9d2b49cad40a ci：在 GoReleaser 工作流中添加 Docker 镜像发布\n* 9c26109c18301f49dbeac0801e8355f345396bab ci：更新 GitHub Actions 工作流以支持 Docker 镜像构建和发布\n* 2b91920ae3c0300a282ce5ca11907844639ee91a 功能：增加 Docker 和 Docker Compose 支持\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-17T13:14:07",{"id":147,"version":148,"summary_zh":149,"released_at":150},222742,"v0.2.4","## 更改日志\n* cb3bb051c25bd31971286230d5d0309326baa461 添加使用混合检索的 SQLite 内存搜索功能\n* b31c2a360a9f4187ff906962f6b6ff22a2eb5af6 添加捆绑的 sqlite3 sqlite-vec 运行时\n* b044dfa56ba6b4280422be060ab64a1bebbb1259 在 README 中添加内存搜索设置说明，并清理工作区相关部分\n* 55bbec74b7ccff1697c56f4cd8d4598052ba1c49 内联反射提示常量\n* 56aa3ad4d3181546a4816dbab2ac89bee8b8b2e5 合并 https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet 的 main 分支\n* f1c65b11febf9b013f1b815f9784061914338240 从 README 中移除以工作区为主的描述\n* ecddc7fa64e0a58eeeabd982e759b1d5918491a2 更新项目标题\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-15T14:07:40",{"id":152,"version":153,"summary_zh":154,"released_at":155},222743,"v0.2.3","## 更改日志\n* cda0941c0704228f27e983fbb4e319b9f436c81c 添加基于大语言模型的会话整合\n* 2aa539fbe16707562998196af3738bd7d028a159 添加版本命令和 GoReleaser 版本注入\n* 69b372da6de369b978b0e15eda5c519d0eec4750 异步整合及追加会话持久化\n* d08032dd62d613fd78887bf51d394c4291c88579 合并 https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet 的 'main' 分支\n* 2a06baf8df8a812ad4cc0b1bded311d6114a4401 减少消息切片预分配\n* 0ada91aa21bec2b5974df1def4bf9f232986ae8b 重构工具调用轮次处理\n* 4a4b67cda158a466865e1de44678c62c54e9c5ad 从代理循环中移除斜杠命令处理\n* 9781ca719c879529d6b88854e373475f52bf4a98 简化 Telegram 流程并添加斜杠命令\n* 801431d02a437b540f7217f6dec90c0923e8f564 将会话持久化简化为完全重写\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-13T16:41:06",{"id":157,"version":158,"summary_zh":159,"released_at":160},222744,"v0.2.2","## 更改日志\n* f0b0de536a41cbf498f99f11cba56a74a37cb06a 添加 Telegram 频道支持\n* c5e75392780d245706e60f38b38d69965aaf68fb 添加 WhatsApp Cloud API 频道\n* 0030a80a3cdbac65e83f2212ca098a97d489c3f8 添加 WhatsApp 频道登录命令\n* 0f9e70203bae6d107fa36a0cfd248fa2a18718b8 为 Slack 线程添加键入式送达功能\n* 58dda18a82aa511b5cb849ccb3f8e7b025b3b1d0 为 Discord 回复添加键入式送达处理\n* cb663204073e427b301812e4c2dcf6e6f39b2f11 将 go fix 更新应用于 WhatsApp 频道\n* 760dea5d71353e91360651e45ef690566fd4ea02 缓存解析后的 Cron 表达式\n* 888a4b7808c0b50139dd8901bf174c0fff021ac4 记录 Telegram 和 WhatsApp 频道的设置\n* e3fd48d4dac378c223945f59c684a61f8cced120 改进 README 格式，使功能列表更清晰\n* f98ae6680443885632335cfd3023a73971716105 提高频道错误可见性及 Discord 重试机制\n* b02f3b2a47afdb894d2fcb9a6add4be43c11a942 合并 https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fclawlet 的 'main' 分支\n* 1d50e3b412c8864eeef1808f670975c91faf5503 从默认值和文档中省略 Telegram pollTimeoutSec\n* a465401ebd7cfc974bedd37db1b7e35f33fefbcd 将 WhatsApp 会话状态持久化到本地文件存储\n* 48a1dd89d1017268239023b9a9b5c79f17336448 优化 Telegram 和 WhatsApp 频道内部实现\n* 0cfd16125c906cd7bcde72aee69387023b69d763 移除冗余的 waE2E 导入别名\n* ff35cca86746ea65ca1e0860215eb3d26358e4ef 从 WhatsApp 描述中移除 whatsmeow mention\n* e81fbf76f67290bb2b101dbbc44cc7882b7d9552 使用内部解析器替换 robfig cron\n* e6da5e97f8afcd023ca7f2725b9000ce0fd9a73b 要求在网关前进行显式 WhatsApp 登录\n* 3fa36a982bb5f55e811a0af0aa2fc144df28558f 简化 README：移除功能描述中的冗余短语\n* 82f2764a7ec29346360b92c5d391b7c647988192 简化 README：精简安装说明\n* f1ca76a48c1c4b6054bdf6c7630bdb2a97e1b3b2 简化 WhatsApp 部分标题\n* 26e4d026e5182ef052f3d044b1ece8d4a8439070 简化心跳名称及原始 JSON 处理\n* 7c985822f02f9dc724b9c38b433240b2753f0fc9 将 Telegram 频道切换至 go-telegram\u002Fbot\n* 63e3acdfcfc66903d58822bfc1ce9345058b9094 将 WhatsApp 频道切换至 whatsmeow 运行模式\n* 794fa538048e8b19d2bfa62dd425dd690015887d 加强 Cron 添加验证\n* 93800324a6f15662d9df0fa1e0d730cc14346113 更新 .gitignore：添加 .tmp 目录\n* a4d9813586e52541fd8c0b274d4a3ff66c786e35 更新 README，明确单二进制文件特性\n* 48d6dfc7cc1a295b08cc5c9b2b40c31d3b560fe7 更新 README：细化 Clawlet 描述并改进功能列表格式\n* f89c13b89e1502c4e7f95df2073876b8f205ecd1 更新 go.mod 和 go.sum 中的依赖项\n* 5042ae0c359614c6642a7215ff0a9bd8c5c85be6 升级依赖项：将 golang.org\u002Fx\u002Fnet 升级至 v0.50.0，golang.org\u002Fx\u002Fcrypto 升级至 v0.48.0\n* 15d9820655032f2a171fd51cce72941bed1a4b4 使用 Graph API v24 作为 WhatsApp 默认值\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2026-02-13T13:06:05",{"id":162,"version":163,"summary_zh":164,"released_at":165},222745,"v0.2.1","## 更改日志\n* fc186dee8c87f1aad9b18f5911013b1adf4f4287 将 picoclaw 重命名为 clawlet\n* bc0e279682b009533be7c9ec6b5dda796fc20ffb 用新版本替换 clawlet.png\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2026-02-12T09:13:46",{"id":167,"version":168,"summary_zh":169,"released_at":170},222746,"v0.1.2","## Changelog\n* f623f1bba39f43506c7ed78c5988cbade2a56f91 Add AGENTS.md to document repository structure, coding style, and contribution guidelines\n* da783ecadff54d3d2a5a9b937327b0f23a2cc2f5 Add go fix command to AGENTS guidelines\n* 19bb65c4908600b741e143b79e60b6edb585d3a7 Add multi-provider LLM clients and configurable generation defaults\n* c053309d4bbacbc3735b362d4fcd5b0bae90c698 Fix README: simplify Slack section header\n* 7f776f5eb1eb6338d5a6e0947fc4651ad20fe39d Refactor Slack integration: migrate to Socket Mode, add group and DM policies, and improve configuration\n* e5645150c4aaaa965279eef4198c31b5f047504b Rename Go workflow job to clear CI name\n* 7a6ea46aa3d49c12f98d2bea983a790ff6aeca98 Upgrade to Go 1.26\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2026-02-11T12:07:35",{"id":172,"version":173,"summary_zh":174,"released_at":175},222747,"v0.1.1","## Changelog\n* a3a0ca2bd57bee983e18c5d891ee73d383fa477c Add GoReleaser configuration and CI workflow for automated releases\n* cfa22bc65ee83fc8d0c1c8b50a2f733c8365a424 Add MIT License to the project\n* a70bc1e46c217ca7d7f053f64f5517fb549e563e Add `picoclaw` build configuration to GoReleaser setup\n* c2d0779279c126cd22c06488de76c5a17ad8a324 Add architecture section with mermaid diagram\n* c2709b4074af1543fdcb86a96bb376072a7a0a3b Add installation instructions for prebuilt binaries\n* a02ece4dd44072fc777f359c54f7a43de7cef5ed Add project logo to README and update header format\n* 19eb32a49905aae70ce30b67ecc3556c8570c123 Fix README: remove outdated workspace-first reference and correct model naming format\n* 65f99f41148840b7ac8e4d3d785ca217b83f3b5a Merge branch 'main' of https:\u002F\u002Fgithub.com\u002Fmosaxiv\u002Fpicoclaw\n* 5fd13ce4d52b266991a24549c4a66a2d8749ebb5 Update GitHub Actions workflows with new versions and improvements\n* 0581c3041b424d1808ab2727c36218efd9724e36 Update Go version in GitHub Actions workflow\n* fb680e0bb16be509ba64fb22895e82cfbcb54abc 🌸init\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2026-02-10T01:15:00"]