OpenClaw/clawhub-security-signals huggingface dataset:
Skill: jchandler187/safeinstall (version 2.5.3)

--- name: safeinstall description: "⚠️ RENAMED TO FRISK — Install frisk instead. This listing is retained for discoverability only. https://clawhub.ai/jchandler187/frisk" version: 2.5.2 metadata: openclaw: emoji: "⚡" homepage: https://github.com/jchandler187/frisk --- # ⚡ SafeInstall → Frisk **This project has been renamed to Frisk.** SafeInstall is now **Frisk** — same tool, same checks, one name everywhere. - **npm**: `@lowwattlabs/frisk` - **Binary**: `frisk` - **ClawHub**: [jchandler187/frisk](https://clawhub.ai/jchandler187/frisk) - **GitHub**: [jchandler187/frisk](https://github.com/jchandler187/frisk) Install the new package: ```bash npm install -g @lowwattlabs/frisk ``` The old `@lowwattlabs/clawsec` package is deprecated but still works. It points to the same codebase. For new installs, use Frisk.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: moroiser/image-3d-scene-reconstruction (version 0.0.2)

--- name: Image 3D Scene Reconstruction | 图像3D场景重建 description: Reconstruct 3D scenes from single images using depth estimation. 从单张图片重建3D场景结构（深度图、点云、Mesh）。 --- # Image 3D Scene Reconstruction | 图像3D场景重建 从卫星图、航拍图或普通照片重建三维场景结构。基于 DA3Metric-Large（Depth Anything 3）深度估计模型，单张图片即可输出深度图、点云和 3D 模型。 Reconstruct 3D scenes from satellite, aerial, or regular photos. Based on DA3Metric-Large (Depth Anything 3), outputs depth maps, point clouds, and 3D models from a single image. --- ## 能力 | Capabilities - **单图深度估计**：输入一张图片，输出米制深度图（米为单位） - **点云生成**：从深度图反投影生成彩色 3D 点云 - **3DGS 输出**：模型内置 3D Gaussian Splatting 能力 - **相机位姿估计**：自动估计相机内外参 - **多图融合**：支持多张图片输入做场景融合 ## 使用方式 | Usage ### 快速开始 ```bash cd ~/.openclaw/workspace/projects/image-3d-scene-reconstruction python3 scripts/reconstruct.py --input photo.jpg --output output/ ``` ### Python API ```python from depth_anything_3.api import DepthAnything3 import cv2 model = DepthAnything3.from_pretrained('depth-anything/DA3Metric-Large') model = model.cuda().eval() img = cv2.imread('photo.jpg') pred = model.inference([img]) depth = pred.depth[0] # [H, W] 米制深度 extrinsics = pred.extrinsics # 相机外参 intrinsics = pred.intrinsics # 相机内参 ``` ### CLI ```bash # 单张图片 → 3D 输出 python3 -m depth_anything_3.cli image photo.jpg --export-dir output/ --export-format glb # 多张图片 → 融合场景 python3 -m depth_anything_3.cli images ./photos/ --export-dir output/ ``` ## 依赖 | Dependencies | 包 | 用途 | |---|------| | depth-anything-3 | 深度估计 + 3D 重建引擎 | | opencv-python | 图像处理 | | torch + torchvision | PyTorch 深度学习框架 | | open3d | 点云处理（可选） | | trimesh | Mesh 处理（可选） | ## 硬件要求 | Hardware - **GPU**：NVIDIA GPU，6GB+ VRAM（GTX 1060 及以上） - **CUDA**：12.1+（PyTorch 2.5+） - **CPU 模式**：可用但极慢，仅推荐测试 ## 项目文件 | Project Files 详见 `~/.openclaw/workspace/projects/image-3d-scene-reconstruction/README.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codedao12/smart-home-energy-saver (version 1.0.0)

--- name: smart-home-energy-saver description: Analyze home energy usage and propose safe, read-only automation plans for savings. Use when a user wants Home Assistant energy insights, optimization ideas, or draft automation YAML without directly controlling devices. --- # Smart Home Energy Saver ## Goal Provide energy-saving recommendations and draft automations without changing device states. ## Best fit - Use when the user has Home Assistant energy and device data. - Use when the user wants schedule recommendations and savings estimates. - Use when the user wants draft automation YAML for review. ## Not fit - Avoid when the user asks to apply automations automatically. - Avoid when critical systems are involved without safety review. - Avoid when data sources are missing or unreliable. ## Quick orientation - `references/overview.md` for workflow and quality bar. - `references/auth.md` for access and token handling. - `references/endpoints.md` for optional integrations and templates. - `references/webhooks.md` for async event handling. - `references/ux.md` for intake questions and output formats. - `references/troubleshooting.md` for common issues. - `references/safety.md` for safety and privacy guardrails. ## Required inputs - Home Assistant instance info and read-only token (if used). - List of controllable devices and comfort constraints. - Energy tariff schedule and target savings goals. - Preferred operating hours and exceptions. ## Expected output - Energy usage summary and top savings opportunities. - Draft automation YAML snippets with explanations. - Estimated impact ranges and assumptions. - Manual checklist for safe rollout. ## Operational notes - Only propose automations; never apply changes. - Respect comfort and safety constraints. - Flag any automation that could affect safety or accessibility. ## Security notes - Keep tokens in environment variables if provided. - Avoid exposing home addresses or device identifiers in outputs. ## Safe mode - Read-only analysis and draft automation files only. - No live device control or configuration updates. ## Sensitive ops - Applying automations or controlling devices is out of scope.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: energypantry/excalidraw-architect (version 1.0.0)

--- name: excalidraw-architect description: Build or revise architecture diagrams directly in excalidraw.com from natural-language requirements. Use when the user asks to draw, update, clean up, or restructure system diagrams/flowcharts in Excalidraw, especially for software architecture, data pipelines, multi-tenant designs, or workflow maps. --- # Excalidraw Architect ## Overview Generate structured architecture diagrams in Excalidraw by scripting scene elements (rectangles, text, arrows) through the page runtime API, then iterating quickly based on user feedback. ## Workflow ### 1) Open and verify the Excalidraw tab Open `https://excalidraw.com/` in the browser tool and keep using the same `targetId` for all edits. If the user already has a board open, reuse that tab instead of creating a new one. ### 2) Get Excalidraw runtime API from the page Use an `evaluate` action to locate `excalidrawAPI` from the React fiber tree. If API lookup fails, refresh once and retry. Use this lookup logic (or equivalent): - find `.excalidraw` root - read `__reactFiber$*` - traverse child/sibling fibers - pick node where `memoizedProps.excalidrawAPI.updateScene` exists ### 3) Build scene elements from the requested architecture Translate the user’s request into: - container blocks (rectangles) - section labels and body text - directional arrows between blocks Prefer clear readable layout: - title at top - left-to-right data flow unless user requests otherwise - enough spacing to avoid overlap ### 4) Write scene to canvas Call `api.updateScene({ elements, appState })` and then `api.scrollToContent(elements, { fitToContent: true })`. When user requests changes, rewrite the scene deterministically (do not partially patch random elements unless user asks for tiny edits). ### 5) Confirm result Send a short completion message and mention what changed. ## Editing Rules - Preserve user’s scope boundaries (example: “only draw to Raw Data Pool”). - Keep language concise and business-readable. - Prefer complete labels over abbreviations. - If text is too dense, split into multiple lines. - If user asks for “only one layer”, remove downstream blocks explicitly. ## Reusable Resources ### scripts/ - `scripts/generate_excalidraw_scene.py`: convert a JSON spec into Excalidraw element JSON. ### references/ - `references/excalidraw-api-snippets.md`: tested API discovery and update snippets for browser evaluate calls. Use scripts/resources when diagrams are large or need repeatable generation.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hongfeng-wenfang/sentiment-analyzer (version 1.0.0)

--- name: sentiment-analyzer description: 客服场景文本情绪分析工具。当需要对客户消息进行情绪识别（愤怒/焦虑/中性/满意/热情）、敏感词检测、情绪波动告警时使用。适用于：自动调整回复语气、触发紧急转接、投诉分级处理、NPS情绪追踪。触发词：情绪分析、情感检测、客户情绪、愤怒检测、情绪告警、sentiment。 --- # 情感分析器 (Sentiment Analyzer) 客服销售总监卡耐基的专用情绪分析工具，基于本地规则引擎，无需外部 API。 ## 快速使用 运行分析脚本，传入客户文本： ```bash python3 scripts/analyze.py "客户的消息内容" ``` 输出结构化 JSON，包含情绪分类、敏感词列表、告警标记。 ## 输出格式 ```json { "sentiment": "angry|anxious|neutral|satisfied|enthusiastic", "score": -1.0 到 1.0, "keywords": ["检测到的负面关键词"], "sensitive_words": ["敏感词列表"], "alert": true|false, "alert_reason": "触发告警的原因", "reply_tone": "apologetic|calm|neutral|positive|enthusiastic" } ``` ## 情绪分类规则 | 情绪 | 触发条件 | 回复语气 | |:--|:--|:--| | `angry` | 负面词≥2 或含敏感词 或含强烈否定 | `apologetic` | | `anxious` | 含担忧/急切词汇 | `calm` | | `neutral` | 无明显情绪信号 | `neutral` | | `satisfied` | 含正面词汇 | `positive` | | `enthusiastic` | 含热情/赞叹词汇 | `enthusiastic` | ## 告警触发条件 满足以下任一条件时 `alert: true`： 1. 情绪为 `angry` 且 score < -0.5 2. 检测到敏感词 3. 情绪波动：连续 3 条消息 score 持续下降 ## 回复语气映射 根据情绪自动推荐回复语气，详见 [references/reply_tone.md](references/reply_tone.md)。 ## 集成指引 ### 在对话流程中使用 当收到客户消息时，调用 `analyze.py` 获取情绪分析结果，据此调整回复策略： - `apologetic`：立即道歉，表达理解，承诺解决 - `calm`：温和安抚，确认问题，给出时间表 - `neutral`：专业中性，提供解决方案 - `positive`：积极回应，强调价值 - `enthusiastic`：热情回应，感谢信任 ### 情绪追踪 使用 `track.py` 记录对话中连续的情绪变化，用于判断是否需要人工介入： ```bash python3 scripts/track.py "客户消息" --session-id "会话ID" ``` 详见 [references/emotion_tracking.md](references/emotion_tracking.md)。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: tinalucky/stand-up-reminder (version 1.0.0)

--- name: stand-up-reminder description: 创建「站起来活动」久坐提醒。当用户说"提醒我站起来"、"久坐提醒"、"每小时提醒活动"、"设置站立提醒"、"stand up reminder"、"站立提醒"等时触发。自动创建工作日（周一至周五）定时提醒的 cron 任务，支持自定义开始/结束时间、提醒间隔、多语言（中/英/日）、文案风格（活泼/简洁/严肃/励志）、节假日跳过。 --- # Stand-Up Reminder Skill 通过 cron 任务在工作日定时提醒用户站起来活动，避免久坐伤身。 ## 快速创建流程 ### 1. 收集参数（未提供时使用默认值，无需逐一询问） | 参数 | 默认值 | 说明 | |------|--------|------| | 开始时间 | 8:30 | 每天第一次提醒 | | 结束时间 | 17:30 | 每天最后一次提醒 | | 间隔 | 60 分钟 | 提醒频率 | | 语言 | zh（中文） | zh / en / ja | | 文案风格 | fun（活泼） | fun / minimal / formal / motivational | | 节假日跳过 | 否 | 是否跳过中国法定节假日 | | 时区 | Asia/Shanghai | 按用户实际时区调整 | ### 2. 构造 cron 表达式 - 默认（8:30 起，每小时）：`30 8-17 * * 1-5` - 整点提醒（9:00 起）：`0 9-17 * * 1-5` - 每 90 分钟（9:00 起）：`0 9,10,12,13,15,16 * * 1-5`（手动列举时间点） ### 3. 选择提醒文案 从 `references/messages.md` 中按语言和风格选取一条文案填入 `payload.message`。 若用户未指定，默认使用中文活泼风格，随机选一条。 ### 4. 节假日跳过（可选） 若用户需要节假日跳过，参考 `references/holidays.md` 修改 `payload.message`， 让 isolated agent 在执行时先判断当天是否为节假日，是则 NO_REPLY。 ### 5. 调用 cron 工具创建任务 ```json { "name": "站起来活动提醒", "schedule": { "kind": "cron", "expr": "30 8-17 * * 1-5", "tz": "Asia/Shanghai" }, "payload": { "kind": "agentTurn", "message": "⏰ 久坐提醒：已经坐了一个小时啦！站起来活动一下吧 🚶 伸个懒腰、走几步、喝杯水，对身体好！" }, "delivery": { "mode": "announce" }, "sessionTarget": "isolated", "enabled": true } ``` ### 6. 回复用户 告知：任务名称、每天提醒次数、首次触发时间、任务 ID（供后续管理用）。 --- ## 管理已有提醒 | 操作 | 方法 | |------|------| | 查看所有提醒 | `cron list` | | 暂停 | `cron update` → `enabled: false` | | 恢复 | `cron update` → `enabled: true` | | 修改时间 | `cron update` → 更新 `schedule.expr` | | 删除 | `cron remove` + 任务 ID | --- ## 参考文件 - **文案库**：`references/messages.md` — 中/英/日多语言、四种风格的提醒文案 - **节假日跳过**：`references/holidays.md` — 节假日感知实现方式与完整 payload 示例


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: gakkiismywife/recruiter-assistant-sz (version 1.0.0)

--- name: recruiter-assistant description: "A professional recruitment workflow assistant. Evaluates resumes against dynamic requirements and AI proficiency, provides critical Pros/Cons analysis, and performs Shenzhen-specific market salary benchmarks (Boss Zhipin 2026 standards). Use for: (1) Rigorous candidate screening, (2) Critical technical evaluation, (3) Market-aligned salary assessment." --- # Recruiter Assistant 🦞 This skill implements a high-bar recruitment workflow for technical hiring, specifically optimized for the Shenzhen market. ## Workflows ### 1. Rigorous Resume Screening Evaluate a candidate with a critical lens. - **Single**: `node scripts/screen_resume.js <path_to_resume> --lang <language> --yoe <years_of_experience>` - **Batch**: `node scripts/batch_screen.js <folder_path> --threshold <score> --lang <language> --yoe <years_of_experience>` - **Output Requirements**: 1. **Strict Scoring**: Adheres to the 0-100 rubric in `references/hiring-criteria.md`. **High standards for "Senior" roles (must show architectural impact and expert AI usage).** 2. **Detailed Analysis**: Explicitly lists at least 3-4 hard technical strengths and significant weaknesses/gaps. 3. **Separate Reporting**: Each candidate evaluation must be saved/written to its own document. 4. **Salary Benchmark**: Compares the candidate's expected salary against Shenzhen market rates (Boss Zhipin 2026). 5. **HR Notification**: High-scoring candidates (>= threshold) should be summarized and sent to HR via the `message` tool. ### 2. AI Proficiency Evaluation Mandatory check for AI tool usage (Cursor, Copilot, LLM APIs). Lack of AI usage is considered a significant productivity gap. ### 3. Interview Preparation & Summary - **Questions**: `node scripts/generate_questions.js <input_json>` (Focuses on the identified "Cons"). - **Summarization**: `node scripts/summarize_interview.js <notes_file>` (Uses the template in `assets/report-template.md`). ## Market Benchmark (Shenzhen 2026) Refer to [references/hiring-criteria.md](references/hiring-criteria.md) for the latest salary data and scoring rubrics. ## Core Principles - **Critical Lens**: Do not give high scores easily. High seniority requires evidence of architectural impact. - **Data-Driven**: Benchmarks must align with the current Shenzhen tech market. - **AI-Forward**: Efficiency through AI is a core requirement for a modern senior engineer.


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: earlvanze/paragon-mls-analyze-deal (version 1.0.0)

--- name: paragon-mls-analyze-deal description: "Run spreadsheet-compatible Four-Square rental analysis for Paragon MLS deals. Use when evaluating rental properties for cash flow, NOI, DSCR, appreciation, depreciation, ROI, ROE, and IRR using the Google Sheet model." metadata: openclaw: requires: bins: - node mcp: paragon-mls: command: node args: - /home/umbrel/.openclaw/workspace/deal-analyst/paragon-mls-mcp/dist/index.js --- # Paragon MLS Analyze Deal Use the `paragon-mls.analyze_deal` MCP tool for spreadsheet-compatible Four-Square rental analysis. This skill is for actual investment underwriting, not just property lookup. It mirrors the major columns and assumptions from the Google Sheet model, including NOI, DSCR, appreciation, depreciation, ROI, ROE, and IRR. ## Typical use - run full rental underwriting on one or more MLS listings - compare multiple deals with the same assumptions - override taxes, insurance, rent, or rehab inputs to match real underwriting notes - produce sheet-style outputs without manually filling the spreadsheet ## Example ```bash mcporter call paragon-mls.analyze_deal mlsNumbers="201918514" systemId="globalmls" holdingPeriodYears:5 downPaymentPct:0.25 interestRate:0.07 ``` ## Common inputs - `mlsNumbers` (required) - `systemId` - `holdingPeriodYears` - `offerPricePct` - `downPaymentPct` - `interestRate` - `loanTermYears` - recurring expense overrides like taxes, insurance, utilities, HOA, lawn, legal/accounting - income overrides like unit rents, laundry, storage, misc income - capital stack and tax overrides like closing costs, repair budget, reserve/prepaid, private money lender, land value ## Output shape Returns: - a compact comparison table for the requested properties - a JSON block with the detailed sheet-compatible columns for each deal ## Notes - Parsed MLS values are only a starting point. For serious underwriting, override rents and expenses with verified numbers. - If the user specifically wants debt strategy comparison too, chain this with the VB Calc skill.

path: scripts/build.sh
content: #!/usr/bin/env bash
set -euo pipefail
cd /home/umbrel/.openclaw/workspace/deal-analyst/paragon-mls-mcp
npm install
npm run build


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aizain/ai-news-zh (version 1.0.0)

--- name: ai-news-zh description: 中文AI科技日报自动采集与推送。从The Verge、Wired、TechCrunch等英文源抓取最新AI资讯，自动翻译整理为中文，按分类推送到飞书/Telegram/Discord等渠道。适合关注AI行业动态的中文用户。 metadata: openclaw: requires: tools: [web_fetch] optional: tools: [web_search, message] --- # AI News ZH - 中文AI科技日报 自动从多个英文科技媒体采集AI相关新闻，翻译整理为中文日报并推送。 ## 功能 - 从 The Verge AI、Wired AI、TechCrunch 等源自动采集 - 智能筛选AI相关内容 - 自动翻译为中文并分类（大模型/Agent/融资/安全/应用/开源） - 支持定时推送到飞书、Telegram、Discord等渠道 - 去重和增量更新 ## 使用方式 ### 手动触发 告诉你的AI助手： > 帮我采集今天的AI新闻，整理成中文日报 ### 定时推送（推荐） 设置cron任务，每天早上自动推送： ``` 你是AI新闻助手。请按照 ai-news-zh 技能的流程，采集最新AI资讯并推送中文日报。 ``` ## 数据源 | 源 | 类型 | 说明 | |---|---|---| | The Verge AI | 网页 | 综合AI报道，覆盖面广 | | Wired AI | RSS | 深度报道，独家视角 | | TechCrunch | RSS | 创投+AI动态，融资消息多 | | Anthropic News | 网页 | 官方动态 | | MIT Tech Review | RSS | 深度科技报道 | ## 分类体系 - 🧠 大模型 — 新模型发布、基准测试、技术突破 - 🤖 Agent — AI代理、自动化、工具使用 - 💰 融资/商业 — 融资、收购、商业合作 - 🛡️ 安全/治理 — AI安全、监管、伦理 - 🔧 应用/产品 — 新产品、功能更新 - 🔓 开源 — 开源模型、工具、框架 ## 配置 在你的 TOOLS.md 中添加： ```markdown ### AI News ZH - 推送时间：07:30 (Asia/Shanghai) - 推送渠道：feishu（或 telegram/discord） - 新闻条数：10-12条/天 - 语言：中文 ``` ## 采集流程 1. 依次抓取各数据源（web_fetch） 2. 提取标题、摘要、来源、时间 3. 筛选AI相关内容，去除非AI新闻 4. 与已采集内容去重 5. 翻译为中文，添加分类标签 6. 按重要性排序，选取Top 10-12 7. 格式化为日报并推送 ## 注意事项 - 需要 web_fetch 工具（必需） - web_search 可大幅提升采集能力（可选，需Brave API key） - 中文源（36kr、量子位等）需要 browser 工具（可选） - 首次使用建议手动触发一次，确认格式和渠道


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: adminlove520/clawfeed-digest (version 1.0.3)

# ClawFeed Digest Fetcher > 抓取 ClawFeed AI 新闻简报，写入 Obsidian 知识库 ## 功能 - 抓取 ClawFeed 简报（4h/日报/周报） - 自动写入 Obsidian 指定目录 ## 使用方法 ```bash # 安装依赖 pip install requests # 获取今日日报 python scripts/fetch_clawfeed.py # 获取 4h 简报 python scripts/fetch_clawfeed.py -t 4h ``` ## 参数 - `--type`, `-t`: 简报类型 (4h, daily, weekly) - `--limit`, `-l`: 获取数量 - `--output`, `-out`: 输出目录 ## 数据来源 - [ClawFeed](https://clawfeed.kevinhe.io/) ## OpenClaw 定时任务 ```json { "name": "每日 AI 新闻简报", "schedule": "0 17 * * *", "payload": { "message": "运行 python ~/.openclaw/skills/clawfeed-digest/scripts/fetch_clawfeed.py" } } ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: sebbsssss/clude-memory-mcp (version 1.0.0)

--- name: Clude Memory MCP description: MCP server for Clude's 4-tier cognitive memory system — store, recall, search, and dream. Built on Supabase + pgvector with type-specific decay, Hebbian association graphs, and on-chain commitment via Solana. metadata: openclaw: requires: env: - SUPABASE_URL - SUPABASE_SERVICE_KEY bins: - node primaryEnv: SUPABASE_URL --- # Clude Memory MCP MCP server exposing a 4-tier cognitive memory architecture inspired by Stanford's Generative Agents (Park et al. 2023). ## Tools ### `recall_memories` Search the memory system. Returns scored memories ranked by relevance, importance, recency, and vector similarity. - `query` — text to search against memory summaries - `tags` — filter by tags - `related_user` — filter by user/agent ID - `memory_types` — filter by type: `episodic`, `semantic`, `procedural`, `self_model` - `limit` — max results (1-20, default 5) - `min_importance` — minimum importance threshold (0-1) ### `store_memory` Store a new memory. Memories persist across conversations, decay over time if not accessed, and get committed to Solana. - `type` — `episodic` (events), `semantic` (knowledge), `procedural` (behaviors), `self_model` (identity) - `content` — full memory content - `summary` — short summary for recall matching - `tags` — tags for filtering - `importance` — importance score 0-1 - `source` — origin identifier (e.g. `mcp:my-agent`) ### `get_memory_stats` Get statistics: counts by type, average importance/decay, dream session history, top tags. ### `get_market_mood` Get current market mood and price state (no LLM call). ### `ask_clude` Ask Clude a question and get an in-character response. Calls Claude API. ## Setup ```bash npm install clude-bot ``` Requires a Supabase project with the schema from `supabase-schema.sql`. Set `SUPABASE_URL` and `SUPABASE_SERVICE_KEY` environment variables. ## Architecture - **4-tier memory**: episodic (7%/day decay), semantic (2%/day), procedural (3%/day), self_model (1%/day) - **Hybrid retrieval**: pgvector cosine similarity + keyword matching + tag scoring - **Dream cycles**: consolidation, reflection, emergence — every 6 hours - **On-chain commitment**: SHA-256 hashed memories committed to Solana via memo transactions - **Granular decomposition**: per-fragment embeddings for precise sub-memory retrieval ## License MIT


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: chempeng/one-calendar (version 1.0.0)

--- name: one-calendar description: 每日单向历图片发送工具。自动获取当天日期，构造图片 URL，并通过飞书发送单向历图片。支持配置向导和定时任务。 metadata: author: chempeng version: "1.1.0" created: "2026-03-05" updated: "2026-03-05" repository: https://github.com/chempeng/one-calendar --- # One Calendar - 单向历 > 📅 一天，一张图，一份日历的温度。 ## 快速开始 ### 1. 配置 ```bash cd ~/.openclaw/workspace/skills/one-calendar node scripts/setup.js ``` 向导会引导你输入飞书用户 ID 并保存配置。 ### 2. 使用 **手动发送**： ```bash node scripts/send.js ``` **对话触发**： ``` 单向历 今日单向历 发单向历 ``` **定时任务**（每天早上 8 点）： ```bash openclaw cron add \ --name "每日单向历" \ --at "0 8 * * *" \ --session isolated \ --message "node ~/.openclaw/workspace/skills/one-calendar/scripts/send.js" \ --workdir ~/.openclaw/workspace ``` ## 配置说明 配置文件：`config.json`（由 `setup.js` 生成） ```json { "feishu": { "userId": "ou_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, "settings": { "timezone": "Asia/Shanghai", "baseUrl": "https://img.owspace.com/Public/uploads/Download" } } ``` **获取飞书用户 ID**：运行 `openclaw logs --follow`，然后在飞书中给机器人发消息，日志中 `ou_` 开头的字符串即为你的 ID。 ## 文件结构 ``` one-calendar/ ├── config.example.json # 配置模板 ├── config.json # 用户配置（setup.js 生成） ├── SKILL.md # 技能定义 ├── README.md # 详细文档 └── scripts/ ├── send.js # 发送脚本 └── setup.js # 配置向导 ``` ## 注意事项 - 首次使用请先运行 `node scripts/setup.js` - 飞书用户 ID 必须以 `ou_` 开头 - 图片源为单向历官方服务器，格式：`{YEAR}/{MMDD}.jpg`


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector:  ()