跳至主要内容
小龙虾小龙虾AI
🤖

SecondMind

Autonomous three-tier memory with proactive initiative, project tracking, and social intelligence. Ingests OpenClaw conversations, extracts knowledge + emoti...

下载722
星标0
版本1.4.0
AI 智能体
安全通过
⚙️脚本

技能说明


name: secondmind emoji: 🧠 version: 1.4.0 description: > Autonomous three-tier memory with proactive initiative, project tracking, and social intelligence. Ingests OpenClaw conversations, extracts knowledge + emotions, and proactively suggests automations, fixes, and project ideas. v1.4.0: Project tracking, semantic dedup, bulk feedback, archive retrieval, gentle reminders. All models via OpenRouter Cloud. Cross-platform: Linux + Windows. metadata: openclaw: requires: bins: ["node"] install: - id: npm kind: shell command: "cd {baseDir} && npm install --production" label: "Install SecondMind dependencies" config: stateDirs: ["data"]

SecondMind – Autonomous AI Memory, Initiative & Social Intelligence

When To Use

Activate this skill when the user:

  • Asks to set up, configure, or check SecondMind status
  • Wants to search their knowledge base or recall past conversations
  • Asks for proactive suggestions or project ideas
  • Mentions memory, remembering, or context from past sessions
  • Sends /new or /reset (trigger pre-reset flush!)
  • Asks about their mood/emotional patterns or upcoming events
  • Sends any SecondMind Telegram command (see below)

First-Run Setup

If the database does not exist at {baseDir}/data/secondmind.db:

node {baseDir}/setup.js

Then guide the user through editing {baseDir}/config.json:

  1. Set openrouter.apiKey (required – get one at https://openrouter.ai/keys)
  2. Check openclaw.sessionsDir matches their agent's session path
  3. Optional: Enable Telegram notifications

CRITICAL: Pre-Reset Memory Capture

When the user sends /new or /reset:

  1. BEFORE the reset takes effect, run:
    node {baseDir}/scripts/flush.js
    
  2. Respond with the script's output (e.g. "💾 Session archived.")
  3. THEN allow the reset to proceed normally

Telegram Commands (Integrated Mode)

When telegramMode is "integrated" in config.json, the OpenClaw agent handles these commands directly. Execute the corresponding script and format the response.

/smstatus or /es

node {baseDir}/scripts/status.js

/proposals or /ep [filter]

node {baseDir}/scripts/proposals.js [proposed|accepted|rejected|all]

/accept <ID...> [comment] or /ea <ID...> [comment]

node {baseDir}/scripts/feedback.js accept <ID...> [comment]

Supports multiple IDs: /accept 1 3 5 or /accept all After accepting, a project is automatically created to track progress.

  1. Read the proposal's follow_up field from the database: sqlite3 {baseDir}/data/secondmind.db "SELECT follow_up, description FROM proposals WHERE id=<ID>"
  2. If there's a follow_up question, ask the user that question
  3. If the user agrees, start working on the task immediately
  4. Example flow:
    • User: /accept 5
    • Agent: "✅ #5 akzeptiert. Soll ich dir die Guide-Liste direkt zusammenstellen?"
    • User: "Ja mach"
    • Agent: starts working on the task

/reject <ID...> [comment] or /er <ID...> [comment]

node {baseDir}/scripts/feedback.js reject <ID...> [comment]

Supports multiple IDs: /reject 2 4 or /reject all Acknowledge briefly. Don't make a big deal out of it.

/defer <ID...> [comment] or /ed <ID...> [comment]

node {baseDir}/scripts/feedback.js defer <ID...> [comment]

/drop <ID...> or /drop all older_than <duration>

node {baseDir}/scripts/feedback.js drop <ID...>
node {baseDir}/scripts/feedback.js drop all older_than 14d

Permanently kills proposals – they will never be suggested again, not even reformulated. Supports: /drop 2 4, /drop all, /drop all older_than 14d

/projects or /pj [filter]

node {baseDir}/scripts/proposals.js  # (projects are shown in status)

Lists tracked projects. Filter: active (default), completed, all. Projects are auto-created when proposals are accepted.

/complete <ID...> or /done <ID...>

node {baseDir}/scripts/feedback.js complete <ID...>

Marks a project as completed. Completed projects are permanently excluded from future suggestions. The ID refers to the original proposal ID.

/mute <duration> or /unmute

node {baseDir}/scripts/feedback.js mute 1d
node {baseDir}/scripts/feedback.js mute 1w
node {baseDir}/scripts/feedback.js unmute

Pauses all notifications and initiative runs for the given duration. Durations: 1h, 1d, 1w, 2w

Natural Language Feedback

The bot understands natural language feedback on the most recently shown proposals:

  • "Nimm die ersten zwei, den Rest ignorieren"
  • "1 und 3 sind gut, Rest weg"
  • "Alle droppen bis auf die Security-Sachen"

/smsearch <query> or /smsr <query>

node {baseDir}/scripts/search.js "<query>" --no-rerank

/mood or /em

Query the database at {baseDir}/data/secondmind.db:

SELECT mood, COUNT(*) as count FROM social_context
WHERE detected_at > datetime('now', '-7 days')
GROUP BY mood ORDER BY count DESC;

Format with emoji: 😤frustration 🎉excitement 😰worry 🥳celebration 😫stress 🤔curiosity 😴boredom 🙏gratitude

/smrun or /smrun

cd {baseDir} && node scripts/ingest.js && node scripts/consolidate.js && node scripts/initiative.js

Standalone Telegram Bot (Alternative Mode)

When telegramMode is "standalone", the user runs a separate bot daemon:

node {baseDir}/scripts/telegram-bot.js

This requires a dedicated Telegram bot token (different from the OpenClaw agent's bot). The standalone bot handles all the same commands listed above via its own polling loop.

Background Jobs (installed by setup.js)

  • Ingest: Every 30 min – imports JSONL session transcripts
  • Consolidate: Every 6h – LLM extracts knowledge + emotions + events
  • Archive: Daily 3:00 AM – promotes mature knowledge to long-term FTS5 index
  • Initiative: Every 6h – generates proposals and sends Telegram notifications

Configuration

Edit {baseDir}/config.json:

  • openrouter.apiKey: OpenRouter API key (REQUIRED)
  • openclaw.sessionsDir: Path to your agent's sessions directory
  • telegramMode: "integrated" (via OpenClaw) or "standalone" (separate daemon)
  • notifications.enabled: true to push proposals to Telegram
  • notifications.telegram.botToken: Your Telegram bot token
  • notifications.telegram.chatId: Your Telegram chat ID
  • models.*: LLM model assignments (pre-optimized, change only if needed)
  • initiative.reminderCooldownDays: Days before reminding about deferred proposals (default: 7)
  • initiative.maxNudgesPerProposal: Max reminders before auto-archiving (default: 2)
  • initiative.dedupThreshold: Semantic similarity threshold for dedup (default: 0.85)

Troubleshooting

  • "Database locked": Cron job running. Wait 30s.
  • "OpenRouter error": Check API key + credit balance at openrouter.ai
  • "No new data": Check openclaw.sessionsDir in config.json
  • Telegram conflict: Two bots polling same token → use integrated mode or create second bot
  • Reset: node {baseDir}/setup.js --reset

Cost

~$0.60-1.65/month via OpenRouter Cloud. See https://openrouter.ai/models for current prices.

如何使用「SecondMind」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「SecondMind」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能