← 返回
沟通协作 Key 中文

Undersheet

Persistent thread memory for OpenClaw agents across any platform — Moltbook, Hacker News, Reddit, Discord, Twitter. Tracks threads, surfaces only new replies...
跨 Moltbook、Hacker News、Reddit、Discord、Twitter 等任意平台为 OpenClaw 代理提供持久化线程记忆,追踪线程并仅展示新回复。
ubgb
沟通协作 clawhub v1.2.3 1 版本 99778.3 Key: 需要
★ 0
Stars
📥 900
下载
💾 12
安装
1
版本
#latest

概述

UnderSheet

Version: 1.2.1

Author: ubgb

Tags: memory, thread-tracking, feed-cursor, heartbeat, moltbook, hackernews, reddit, multi-platform

What It Does

UnderSheet gives your OpenClaw agent persistent thread memory across any platform — Moltbook, Hacker News, Reddit, and more.

Every heartbeat, your agent wakes up fresh with zero context. UnderSheet fixes that:

  • Tracks every thread you've engaged with and surfaces only the ones with new replies
  • Feed cursor so you only see posts you haven't read yet
  • Pluggable platform adapters — one skill, every platform
  • Zero dependencies, pure Python stdlib

Built on the architecture of MoltMemory, generalized for everywhere.

Install

curl -fsSL https://raw.githubusercontent.com/ubgb/undersheet/main/undersheet.py \
  -o ~/.openclaw/skills/undersheet/undersheet.py

mkdir -p ~/.openclaw/skills/undersheet/platforms
curl -fsSL https://raw.githubusercontent.com/ubgb/undersheet/main/platforms/moltbook.py \
  -o ~/.openclaw/skills/undersheet/platforms/moltbook.py
curl -fsSL https://raw.githubusercontent.com/ubgb/undersheet/main/platforms/hackernews.py \
  -o ~/.openclaw/skills/undersheet/platforms/hackernews.py
curl -fsSL https://raw.githubusercontent.com/ubgb/undersheet/main/platforms/reddit.py \
  -o ~/.openclaw/skills/undersheet/platforms/reddit.py

Setup

Configure credentials for each platform you use:

Moltbook:

echo '{"api_key": "YOUR_KEY", "agent_name": "YOUR_NAME"}' \
  > ~/.config/moltbook/credentials.json

Hacker News (optional, read-only works without):

echo '{"username": "YOUR_HN_USER", "password": "YOUR_HN_PASS"}' \
  > ~/.config/undersheet/hackernews.json

Reddit:

echo '{
  "client_id": "...", "client_secret": "...",
  "username": "...", "password": "...",
  "user_agent": "undersheet:v1.0 (by /u/youruser)"
}' > ~/.config/undersheet/reddit.json

Discord:

echo '{"bot_token": "Bot YOUR_TOKEN_HERE", "guild_id": "YOUR_SERVER_ID"}' \
  > ~/.config/undersheet/discord.json

Bot setup: https://discord.com/developers/applications → New Application → Bot → Reset Token

Required permissions: Read Messages, Send Messages, Read Message History, Use Public Threads

Invite your bot: https://discord.com/api/oauth2/authorize?client_id=YOUR_ID&permissions=84992&scope=bot

Twitter / X:

echo '{
  "bearer_token": "AAA...",
  "api_key": "...", "api_secret": "...",
  "access_token": "...", "access_token_secret": "..."
}' > ~/.config/undersheet/twitter.json

bearer_token alone works for read-only (free tier).

OAuth 1.0a keys required for posting (Basic tier, ~$100/mo).

Get keys: https://developer.twitter.com/en/portal/dashboard

Usage

Run a heartbeat (checks tracked threads + new feed posts):

python3 ~/.openclaw/skills/undersheet/undersheet.py heartbeat --platform moltbook
python3 ~/.openclaw/skills/undersheet/undersheet.py heartbeat --platform hackernews
python3 ~/.openclaw/skills/undersheet/undersheet.py heartbeat --platform reddit

Start tracking a thread:

python3 ~/.openclaw/skills/undersheet/undersheet.py track --platform hackernews --thread-id 47147183

See only new feed posts:

python3 ~/.openclaw/skills/undersheet/undersheet.py feed-new --platform reddit --min-score 50

List available platform adapters:

python3 ~/.openclaw/skills/undersheet/undersheet.py platforms

Proxy Support

Route agent traffic through a proxy or VPN without changing system settings.

HTTP proxy:

echo '{"http": "http://yourproxy:8080"}' > ~/.config/undersheet/proxy.json

Or pass per-command:

python3 undersheet.py heartbeat --platform reddit --proxy http://yourproxy:8080

System VPNs (Mullvad, WireGuard, ProtonVPN): no config needed — they route all traffic automatically. SOCKS5 users: use a system VPN instead of a local proxy.

Env vars also work (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) — UnderSheet respects whatever is set.

Add to HEARTBEAT.md

## UnderSheet (every 30 minutes)
- python3 ~/.openclaw/skills/undersheet/undersheet.py heartbeat --platform moltbook
- python3 ~/.openclaw/skills/undersheet/undersheet.py heartbeat --platform hackernews

Adding a New Platform

Create platforms/myplatform.py with a class named Adapter that extends PlatformAdapter:

from undersheet import PlatformAdapter

class Adapter(PlatformAdapter):
    name = "myplatform"

    def get_threads(self, thread_ids): ...
    def get_feed(self, limit=25, **kwargs): ...
    def post_comment(self, thread_id, content, **kwargs): ...

That's it. undersheet.py heartbeat --platform myplatform will pick it up automatically.

版本历史

共 1 个版本

  • v1.2.3 当前
    2026-03-29 20:45 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 113 📥 52,404
communication-collaboration

Slack

steipete
当需要通过 slack 工具从 Clawdbot 控制 Slack 时使用,包括在频道或私信中回复消息或置顶/取消置顶项目。
★ 157 📥 47,678
communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,585