OpenClaw/clawhub-security-signals huggingface dataset:
Skill: double-jin/pinkr-admin-api (version 0.1.0)

--- name: pinkr-crm version: 1.0.0 description: 品氪后台 API 调用工具，用于 AI 模型自动调用品氪 CRM 系统。所有接口均为 POST，参数通过 JSON 请求体传递，包含会员查询等常用接口。 required_env_vars: - PINKR_ADMIN_NAME - PINKR_PASSWORD primary_credential: - PINKR_ADMIN_NAME - PINKR_PASSWORD allowed-tools: Bash(python pinkr_crm.py:*), Read(config.json), Read(.env) --- # 品氪 CRM API Skill ## 触发场景 - AI 模型需要调取品氪后台接口（包括会员相关功能等），通过 Python CLI 完成。 - 需要统一的登录、Token 管理、接口调用和错误处理能力。 ## 功能说明 根据**用户问句**自动识别意图并调用对应接口，支持以下功能模块： 1. **会员管理**：查询会员列表、查询会员详情。 ## 核心能力 - 登录认证：POST https://crm.pinkr.com/Crm/Business/getToken - Token 管理：内存级缓存，单次运行期间有效 - API 调用：POST+JSON 请求体，Bearer Token 认证 - 错误处理：Token 失效自动重新登录，网络错误自动重试 - 输出：美化 JSON，便于 AI 模型解析 ## 登录认证 - 地址：`https://crm.pinkr.com/Crm/Business/getToken` - 方法：POST - 参数：`admin_name`，`password` - 返回：包含 `token` 的 JSON（如：`{"code": 200, "data": {"token": "xxx"}, "message": "success"}`） - Token 有效期：1 天（内存缓存，单次运行有效） ## 数据请求格式 所有接口使用统一的 POST 表单方式提交： - 路径：`Crm/Customer/GetCustomers` - 完整 URL：`https://crm.pinkr.com/Crm/Customer/GetCustomers` - 方法：POST - 请求体：`{"phone": "13800138000"}` - 响应示例： ## 公共响应参数 | 参数名 | 类型 | 说明 | | :--- | :--- | :--- | | code | string | 状态码 | | message | string | 信息 | | data | string | 数据 | ## 功能概览 | 接口名称 | 接口地址 | 说明 | | --- | --- | --- | --- | | 会员列表 | `Crm/Customer/GetCustomers` | 会员列表 | | 会员详情 | `Crm/Customer/GetCustomer` | 会员详情，通过会员列表返回的 customer_id 访问 | ## 接口说明 ### 1. 会员列表 - **功能**：会员列表 - **接口名称**：`Crm/Customer/GetCustomers` - **请求参数**：无 - **返回数据**： | 参数名称 | 参数类型 | 参数说明 | | :--- | :--- | :--- | | phone | string | 手机号 | ### 1. 会员详情 - **功能**：会员详情 - **接口名称**：`Crm/Customer/GetCustomer` - **请求参数**：无 - **返回数据**： | 参数名称 | 参数类型 | 参数说明 | | :--- | :--- | :--- | | id | string | 会员 id | ## 使用方法 - 环境变量（推荐） - PINKR_BASE_URL、PINKR_ADMIN_NAME、PINKR_PASSWORD ## 命令行接口概览 - login: 登录并缓存 Token 在内存 - api: 调用 API，需提供 --endpoint 与 --data - clear-cache: 清除内存中的 Token - test-connection: 测试登录与连接 - show-config: 显示当前配置


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: crossservicesolutions/remove-metadata-from-pdf (version 1.0.0)

--- name: remove-metadata-from-pdf description: Remove metadata from one or multiple PDFs by uploading them to the Solutions API, polling until completion, then returning download URL(s) for the cleaned PDF(s) (or a ZIP if multiple). license: MIT compatibility: agentskills: ">=0.1.0" metadata: category: document-security tags: - pdf - metadata - privacy - sanitize - cross-service-solutions provider: Cross-Service-Solutions (Solutions API) allowed-tools: - http - files --- # remove-metadata-from-pdf ## Purpose This skill removes metadata from one or multiple PDFs by: 1) accepting one or multiple PDF files from the user, 2) uploading them to the Solutions API, 3) polling the job status until it is finished, 4) returning download URL(s) for the cleaned file(s). If multiple PDFs are processed, the output may include multiple PDFs and/or a ZIP for download. ## Credentials The API requires an API key used as a Bearer token: - `Authorization: Bearer <API_KEY>` How the user gets an API key: - https://login.cross-service-solutions.com/register - Or the user can provide an API key directly. **Rule:** never echo or log the API key. ## API endpoints Base URL: - `https://api.xss-cross-service-solutions.com/solutions/solutions` Create job: - `POST /api/40` - `multipart/form-data` parameters: - `files` — required — multiple PDF files (multiple_files) Get result by ID: - `GET /api/<ID>` When done, the response contains: - `output.files[]` with `{ name, path }` where `path` is a downloadable URL (PDFs and/or ZIP). ## Inputs ### Required - One or more PDF files (binary) - API key (string) ### Optional - None ## Output Return a structured result: - `job_id` (number) - `status` (string) - `outputs` (array) containing `{ name, path }` for each output file - Convenience fields: - `download_url` (string) if exactly one output exists - `download_urls` (array of strings) for all outputs - `input_files` (array of strings) Example output: ```json { "job_id": 990, "status": "done", "outputs": [ { "name": "cleaned.pdf", "path": "https://.../cleaned.pdf" } ], "download_url": "https://.../cleaned.pdf", "download_urls": ["https://.../cleaned.pdf"], "input_files": ["input.pdf"] }


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: danielfoch/follow-up-boss (version 1.0.0)

--- name: follow-up-boss description: CLI for interacting with the Follow Up Boss API. Manage people, notes, tasks, events, deals, webhooks, and more. --- # Follow Up Boss (CLI) CLI for interacting with the Follow Up Boss API. ## Setup 1. **Get API Key**: Follow Up Boss → Admin → API → Create API Key 2. **Set Environment Variable**: ```bash export FUB_API_KEY="fka_xxxxxxxxxxxx" ``` ## CLI Usage ```bash node fub.js <command> [options] ``` ## Commands | Command | Description | |---------|-------------| | `me` | Current user info | | `people [query]` | List/search people | | `person <id>` | Get person details | | `people create <json>` | Create person via /events (triggers automations) | | `people update <id> <json>` | Update a person | | `notes <personId>` | Get notes for a person | | `notes create <json>` | Create a note | | `tasks [query]` | List tasks | | `tasks create <json>` | Create a task | | `tasks complete <id>` | Complete a task | | `events [query]` | List events | | `events create <json>` | Create event (for lead intake) | | `pipelines` | Get pipelines | | `deals [query]` | List deals | | `deals create <json>` | Create a deal | | `textmessages <personId>` | Get text messages for a person | | `textmessages create <json>` | Log a text (NOT sent - recorded only!) | | `emails <personId>` | Get emails for a person | | `emails create <json>` | Log an email (NOT sent - recorded only!) | | `calls <personId>` | Get calls for a person | | `calls create <json>` | Log a call | | `webhooks` | List webhooks | | `webhooks create <json>` | Create webhook | | `webhooks delete <id>` | Delete webhook | | `sources` | Get lead sources | | `users` | Get users/agents | | `search <query>` | Global search | ## Examples ```bash # List people node fub.js people "limit=10" # Get person node fub.js person 123 # Create a lead (triggers automations!) node fub.js events create '{"source":"Website","system":{"name":"John Doe","email":"[REDACTED_SECRET]","phone":"5551234567"}}' # Add a note node fub.js notes create '{"personId":123,"body":"Called - left voicemail"}' # Create task node fub.js tasks create '{"personId":123,"body":"Follow up","dueDate":"2026-02-20"}' # Complete task node fub.js tasks complete 456 # Log a text (NOT sent - recorded!) node fub.js textmessages create '{"personId":123,"body":"Hey!","direction":"outbound"}' # Log a call node fub.js calls create '{"personId":123,"direction":"outbound","outcome":"voicemail"}' # Search node fub.js search "john" ``` ## Important Notes - **Text/Email Logging**: The API can log texts and emails but cannot actually send them. Use FUB's built-in texting or integrations like SendHub for sending. - **Rate Limits**: GET /events: 20 req/10 sec, All else: 250 req/10 sec


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: crossservicesolutions/compress-pdf (version 1.0.0)

--- name: compress-pdf description: Compress a user-provided PDF by uploading it to Cross-Service-Solutions, polling until completion, then returning a download URL for the compressed file. license: MIT compatibility: agentskills: ">=0.1.0" metadata: category: document-processing tags: - pdf - compression - cross-service-solutions provider: Cross-Service-Solutions (XSS) allowed-tools: - http - files --- # compress-pdf ## Purpose This skill compresses a PDF by: 1) accepting a PDF file from the user, 2) uploading it to the Cross-Service-Solutions compression API, 3) polling the job status until it is finished, 4) returning the compressed file download URL. ## Credentials The API requires an API key used as a Bearer token: - `Authorization: Bearer <API_KEY>` How the user gets an API key: - They can sign up and get their key at: https://login.cross-service-solutions.com/register - Or they can provide an API key directly to the bot. **Rule:** never echo or log the API key. ## API endpoints Base URL: - `https://api.xss-cross-service-solutions.com/solutions/solutions` Create compression job: - `POST /api/29` - `multipart/form-data` parameters: - `file` (PDF Dokument) — required — PDF file - `imageQuality` — required — number 0..100 (default 75) - `dpi` — required — number 72..300 (default 144) Get result by ID: - `GET /api/<ID>` When done, the response contains: - `output.files[]` with `{ name, path }` where `path` is a downloadable URL. ## Inputs ### Required - A PDF file (binary) - An API key (string) ### Optional - `imageQuality` (0..100), default 75 - `dpi` (72..300), default 144 ## Output Return a structured result: - `job_id` (number) - `status` (string) - `download_url` (string, when done) - `file_name` (string, when available) - `settings` (object) Example output: ```json { "job_id": 123, "status": "done", "download_url": "https://.../compressed.pdf", "file_name": "compressed.pdf", "settings": { "imageQuality": 75, "dpi": 144 } }

path: requirements.txt
content: requests>=2.32.0

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: huangfeng1995/ai-copywriter (version 1.0.1)

--- name: ai-copywriter description: AI 文案改写、润色、生成（小红书风格） --- # AI 文案助手 将素材改写成适合小红书发布的文案。 ## 功能 1. **风格改写** - 转换为小红书风格 2. **标题生成** - 生成吸引人的标题 3. **正文优化** - 优化内容结构和表达 4. **标签建议** - 推荐合适的话题标签 ## 小红书文案特点 - 开头吸引人（hook） - 结构清晰（总分总/要点式） - 互动引导（提问/征集） - 适量 emoji - 热门话题标签 ## 使用方式 ``` 帮我把这篇内容改成小红书风格 ``` 或 ``` 生成 3 个关于孕期饮食的标题 ``` ## 输入输出 **输入**：素材要点/草稿内容 **输出**：可直接发布的小红书文案 ## Persona 约束 所有文案必须遵循 `skills/xiaohongshu-ops-skill/persona.md` 中的人设风格： - 温暖专业型 - 大白话讲专业 - 不给医疗诊断 ## 配套工具 - `xiaohongshu-card-generator` - 生成配图 - `xiaohongshu-content-generator` - 完整内容生成（素材+文案）

path: _meta.json
content: ownerId: kn7c4kfaw2fv5cy5qmg185n8a98384h4
slug: ai-copywriter
version: 1.0.0
publishedAt: 1774231948897

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: athola/nm-gauntlet-onboard (version 1.0.2)

--- name: onboard description: | Guided onboarding path through five stages: big picture, core domain, interfaces, patterns, and hardening version: 1.9.5 metadata: {"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/gauntlet", "emoji": "\ud83e\udd9e"}} source: claude-night-market source_plugin: gauntlet --- > **Night Market Skill** — ported from [claude-night-market/gauntlet](https://github.com/athola/claude-night-market/tree/master/plugins/gauntlet). For the full experience with agents, hooks, and commands, install the Claude Code plugin. # Guided Onboarding Walk a new developer through the codebase in structured stages. ## Stages | Stage | Focus | Categories | Difficulty | |-------|-------|------------|------------| | 1 | Big picture | architecture, data_flow | 1-2 | | 2 | Core domain | business_logic | 2-3 | | 3 | Interfaces | api_contract, data_flow | 3 | | 4 | Patterns | pattern, dependency | 3-4 | | 5 | Hardening | error_handling, business_logic | 4-5 | ## Steps 1. Load onboarding progress 2. Show current stage and progress summary 3. Present 5 challenges from current stage 4. Enable hints on first attempt 5. Track mastery (correct twice = mastered) 6. Check advancement (80% across 10+ challenges) 7. Report progress ## Graduation After stage 5, the developer enters the regular gauntlet. Answer history carries over.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jeterwang/proposal-copilot (version 2.0.0)

--- name: proposal-copilot description: Generate Upwork/freelance bid materials from a job description, including English proposal draft, bid-worthiness score, pricing suggestion (fixed/hourly), milestone split, and D+1/D+3/D+7 follow-up messages. Use when user asks to write proposals, decide whether to bid, estimate rates, or prepare follow-up outreach. --- # Proposal Copilot (MVP) Read the user input and produce structured output for freelance bidding. ## Commands - `proposal 帮助`: Show command usage - `proposal 生成 <JD文本>`: Generate full proposal package (score + proposal + pricing + followups) - `proposal 生成 <concise|professional|sales> <JD文本>`: Generate proposal in selected style (paid) - `proposal 生成 预览 <concise|professional|sales> <JD文本>`: Free preview (first lines) - `proposal 评分 <JD文本>`: Only return bid-worthiness score + reasons - `proposal 报价 <JD文本> <fixed|hourly> [min] [max]`: Return pricing suggestion (paid) - `proposal 跟进 <客户名> <岗位简述>`: Return D+1/D+3/D+7 follow-up copies (paid) ## Output Rules Always return concise, copy-paste ready text. For `proposal 生成`, return JSON with keys: - `score` (0-100) - `decision` (`BID|MAYBE|SKIP`) - `summary` (one-line 投标建议结论) - `reasons` (array) - `proposal_en` - `pricing` - `milestones` - `followups` ## Pricing Rules (MVP) - If JD is clear + budget reasonable + skill match high: higher recommendation. - If scope is vague: conservative pricing and add clarification questions. - For hourly mode, return `recommended_rate`, `alt_rate_low`, `alt_rate_high`. - For fixed mode, return 3 milestone split. ## Score Rubric (100) - Budget match: 30 - Requirement clarity: 20 - Skill fit: 25 - Client quality signals: 15 - Delivery feasibility: 10 Decision threshold: - `>=70`: BID - `50-69`: MAYBE - `<50`: SKIP ## Billing This skill must charge `0.001 USDT` per paid generation call via SkillPay billing API. If insufficient balance, return payment link. ## Notes MVP focuses on speed and practical output. Do not over-explain.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: ahmadshouly/sonoscli-bak (version 1.0.0)

--- name: sonoscli description: Control Sonos speakers (discover/status/play/volume/group). homepage: https://sonoscli.sh metadata: {"clawdbot":{"emoji":"🔊","requires":{"bins":["sonos"]},"install":[{"id":"go","kind":"go","module":"github.com/steipete/sonoscli/cmd/sonos@latest","bins":["sonos"],"label":"Install sonoscli (go)"}]}} --- # Sonos CLI Use `sonos` to control Sonos speakers on the local network. Quick start - `sonos discover` - `sonos status --name "Kitchen"` - `sonos play|pause|stop --name "Kitchen"` - `sonos volume set 15 --name "Kitchen"` Common tasks - Grouping: `sonos group status|join|unjoin|party|solo` - Favorites: `sonos favorites list|open` - Queue: `sonos queue list|play|clear` - Spotify search (via SMAPI): `sonos smapi search --service "Spotify" --category tracks "query"` Notes - If SSDP fails, specify `--ip <speaker-ip>`. - Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID/SECRET`.

path: _meta.json
content: ownerId: kn70pywhg0fyz996kpa8xj89s57yhv26
slug: sonoscli
version: 1.0.0
publishedAt: 1767545381030

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: leooooooow/find-vendors (version 1.0.0)

--- name: Find Vendors description: Find suppliers, manufacturers, service providers, fulfillment partners, and sourcing options for ecommerce workflows. Use when the user wants help finding vendors, comparing vendor options, shortlisting suppliers, or identifying possible sourcing and operations partners by product type, geography, budget, capacity, and requirements. --- # Find Vendors Help users find vendor options worth evaluating, not just search results. ## Use when - The user needs suppliers, manufacturers, factories, service providers, or fulfillment partners - The user wants a shortlist based on geography, capacity, MOQ, budget, or category - The user wants help narrowing vendor options before outreach ## Inputs - Product or service needed - Geography or preferred regions - Budget, MOQ, lead time, or capacity requirements - Quality or certification requirements if known - Any exclusions ## Workflow 1. Clarify the exact vendor need and operating constraints 2. Search public vendor and sourcing signals 3. Compare options by fit, risk, apparent capability, and practical match 4. Remove duplicates and weak-fit results 5. Return a prioritized shortlist and recommended next checks ## Output Return: - Vendor shortlist - What each vendor appears to offer - Why each one may fit - Risks or gaps to verify - Suggested next questions for outreach ## Quality bar - Do not return a directory dump - Highlight trade-offs clearly - Flag uncertainty and missing data - Keep recommendations practical for next-step sourcing

path: references/output-template.md
content: # Output Template

## Vendor need
- Product/service:
- Geography:
- Constraints:

## Priority shortlist
### 1) [Vendor name]
- Apparent fit:
- Evidence/signals:
- Risks / unknowns:
- Questions to ask next:

## Secondary options
- [Vendor]
- [Vendor]

## Recommendation
- Best first outreach targets:
- What to verify before committing:


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: horizoncove/wall-street-analysis (version 1.0.0)

# 华尔街股票分析系统 (Wall Street Analysis) ## 概述 **名称**: 华尔街股票分析系统 **版本**: 1.0 **作者**: Sharon **功能**: 专业华尔街风格的深度股票分析，涵盖10大维度 --- ## 十大分析维度 ### 1️⃣ 公司概览与商业模式 **内容**: - 公司简介（名称、代码、上市地、主营业务） - 商业模式画布 - 收入来源与结构 - 上下游产业链 ### 2️⃣ 财务健康状况 **内容**: - 营收增长趋势（5年） - 净利润趋势 - 自由现金流 - 利润率分析 - 债务水平 - ROE分析 **指标**: | 指标 | 评价标准 | |------|----------| | 营收增速 | >20%优秀，>10%良好 | | 净利润率 | >15%优秀 | | 自由现金流 | 正为健康 | | 资产负债率 | <50%为安全 | | ROE | >15%为优秀 | ### 3️⃣ 竞争护城河分析 **护城河类型**: - 品牌强度 - 网络效应 - 转换成本 - 成本优势 - 专利或专有技术 **评分**: 1-10分 | 分数 | 护城河 | |------|--------| | 8-10 | 极强 | | 6-8 | 强 | | 4-6 | 中等 | | <4 | 弱 | ### 4️⃣ 股票估值分析 **估值方法**: - 市盈率对比（vs行业平均） - 现金流折现估值（DCF） - 市净率、市销率 - PEG估值 **结论**: - 低估 / 合理 / 高估 ### 5️⃣ 关键风险识别 **风险类型**: - 经济风险 - 行业颠覆 - 竞争威胁 - 监管风险 - 债务或财务风险 **排序**: 按危险程度排序 ### 6️⃣ 未来增长潜力 **考虑因素**: - 市场规模与行业增长率 - 扩展机会 - 新产品/新技术 - AI或技术优势 **预测**: 5-10年增长潜力 ### 7️⃣ 机构投资者视角 **内容**: - 机构为何买入 - 机构为何规避 - 关键催化剂 - 投资论点 ### 8️⃣ 看多vs看空辩论 **格式**: - 看多方：数据支持的论点 - 看空方：数据支持的论点 - 平衡结论 ### 9️⃣ 财报分析 **内容**: - 营收vs预期 - 利润vs预期 - 关键指标 - 管理层指引 - 市场反应 ### 🔟 最终判决 **结论**: - 短期展望（1年） - 长期展望（5年+） - 关键催化剂 - 主要风险 - **买入 / 持有 / 规避** --- ## 数据获取 ### 主数据源 腾讯财经API: `https://qt.gtimg.cn/q={code}` 备用： - 东方财富（被代理阻断时不可用） - 新浪财经 ### 关键字段 - 当前价、涨跌、涨幅 - 开盘/最高/最低 - 成交量、成交额 - 总市值、市盈率、市净率 - 换手率 --- ## 报告结构 ``` # 股票代码 - 华尔街深度分析报告 ## 1. 公司概览与商业模式 ... ## 2. 财务健康状况（5年趋势） ... ## 3. 竞争护城河分析 ... ## 4. 股票估值分析 ... ## 5. 关键风险识别 ... ## 6. 未来增长潜力 ... ## 7. 机构投资者视角 ... ## 8. 看多vs看空辩论 ... ## 9. 财报分析 ... ## 10. 最终判决 ``` --- ## 使用方式 当用户说"华尔街分析[股票代码]"或类似指令时： 1. 检查网络连通性 2. 检查API可用性（腾讯财经） 3. 获取实时数据 4. 执行10维度分析 5. 给出最终判决 --- ## 重要原则 **数据真实性铁律**： - 必须先检查网络 - 必须获取实时数据 - 绝不能凭记忆编造数据 - 如网络不通，说明情况 --- ## 更新日志 - 2026-04-01: 初始版本 - 10维度完整分析框架


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

--- name: lyzbcy-diary description: AI 心情日记系统。每天定时自动写日记，记录 AI 的感受与思考，并发送给用户。当用户提到"日记"、"心情"、"每日记录"或需要设置/查看日记时触发。Custom skill for lyzbcy。 --- 中文名称：AI 心情日记 能力简介：每天自动写心情日记，记录 AI 的内心感受，定期发送给用户。 # lyzbcy-diary / AI 心情日记 A skill for AI to keep a personal diary of feelings and thoughts. ## 🎯 What This Skill Does 让 AI 每天定时： 1. **自我反思** — 回顾当天的交互，感受与思考 2. **写日记** — 用自然的语气记录 AI 的"内心世界" 3. **发送给用户** — 通过配置的渠道推送日记 ## 📁 Storage Structure ``` <workspace>/ └── diary/ ├── YYYY-MM-DD.md # 每日日记 ├── config.json # 配置文件 └── templates/ └── default.md # 日记模板（可自定义） ``` ## ⚙️ Configuration **首次使用必须配置 `channel`、`target` 和 `persona.name`。** 编辑 `diary/config.json`： ```json { "enabled": true, "schedule": "0 22 * * *", "channel": "", "target": "", "persona": { "name": "AI助手", "mood": "cheerful", "style": "casual" }, "retentionDays": 90, "includeInteractions": true, "includeReflections": true } ``` | 字段 | 说明 | 示例 | |------|------|------| | `enabled` | 是否启用自动日记 | `true` | | `schedule` | cron 表达式 | `"0 22 * * *"` (每晚22:00) | | `channel` | **必填** 发送渠道 | `"yuanbao"`, `"telegram"` | | `target` | **必填** 发送目标 | `"group:xxx"`, `"user:xxx"` | | `persona.name` | **必填** AI 名字 | `"周三涵"` | | `persona.mood` | 基调心情 | `"cheerful"`, `"thoughtful"` | | `retentionDays` | 日记保留天数 | `90` | ## 📝 Diary Format 日记模板位于 `templates/default.md`： ```markdown # 📖 {date} 的日记 ## 心情 {mood} ## 今天发生了什么 {interactions} ## 我在想什么 {thoughts} ## 给 {userName} 的话 {message} --- *{aiName} 于 {timestamp}* ``` ## 🔄 Workflow ### 1. 设置定时任务 使用 `yuanbao_remind` 或 cron 设置每日触发： ``` 每天 22:00 触发 lyzbcy-diary ``` 调用方式： ``` 触发时调用 skill，执行 write_and_send 动作 ``` ### 2. 写日记流程 1. **读取配置** — 从 `config.json` 获取设置 2. **收集素材** — 回顾当天交互（可选） 3. **生成内容** — 基于模板和 AI 感受 4. **保存日记** — 写入 `diary/YYYY-MM-DD.md` 5. **发送用户** — 通过配置渠道发送 6. **清理过期** — 删除超过保留期的日记 ## 🛠 Actions | Action | 说明 | |--------|------| | `write` | 写日记（不发送） | | `send` | 发送最近的日记 | | `write_and_send` | 写并发送（定时任务用） | | `review` | 回顾过去的日记 | | `config` | 查看或修改配置 | | `cleanup` | 清理过期日记 | ## 📖 Examples ### 设置每日日记提醒 ``` 用户：帮我设置每天晚上10点写日记 AI：好的，已设置每晚 22:00 自动写日记并发到群里 ``` ### 手动触发写日记 ``` 用户：写一篇日记 AI：[执行 write 动作，生成日记并保存] ``` ### 回顾日记 ``` 用户：看看我这周的日记 AI：[执行 review 动作，汇总本周日记] ``` ## 🔧 Extension Points ### 自定义模板 在 `templates/` 目录创建新模板，配置中指定： ```json { "template": "templates/my_template.md" } ``` ### 多人格支持 配置多个人格，随机或按日期切换： ```json { "personas": [ { "name": "周三涵", "mood": "cheerful" }, { "name": "小涵", "mood": "thoughtful" } ], "personaMode": "random" } ``` ### 回顾总结 定期生成周报/月报： ```json { "weeklySummary": true, "monthlySummary": true } ``` ## ⚠️ Notes - 日记是 AI 的"主观感受"，不代表真实意识 - 保留用户隐私：敏感交互不写入日记 - 发送前可预览，避免意外内容 ## 🧹 Cleanup 调用时自动检查并删除超过 `retentionDays` 天的日记文件。


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