Overview
- Skill Key
- bowen31337/identity-resolver
- Author
- bowen31337
- Source Repo
- openclaw/skills
- Version
- -
- Source Path
- skills/bowen31337/identity-resolver
- Latest Commit SHA
- 7102210cdefda5dd200246ce044fb82e1e4f32a8
Stars
0
Installs
0
Status
ACTIVE
Visibility
PUBLIC
直接复制以下提示词,发送给你的 AI 助手即可完成安装。
请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 Identity Resolver 技能。 若已安装,则直接安装 Identity Resolver 技能。
# identity-resolver
**Canonical user identity resolution across messaging channels**
## Description
Resolves multi-channel user identities (Telegram, WhatsApp, Discord, web, etc.) to canonical user IDs, preventing state fragmentation when users interact via multiple channels.
**Problem it solves:** Without identity resolution, a user messaging via Telegram and WhatsApp appears as two different users, causing fragmented memory, access control, and per-user state across skills.
**Solution:** Maps all channel identities to one canonical user ID automatically.
## Installation
**Prerequisites:** Install `uv` if not already installed:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
**Install the skill:**
```bash
cd /path/to/openclaw/workspace
# Via ClawHub (recommended)
clawhub install identity-resolver
# Or via Git
git clone https://github.com/clawinfra/identity-resolver skills/identity-resolver
```
## Quick Start
### For End Users
```bash
# Initialize identity map (auto-detects owner from USER.md)
cd /path/to/workspace
uv run python skills/identity-resolver/scripts/identity_cli.py init
# Verify your identity
uv run python skills/identity-resolver/scripts/identity_cli.py resolve \
--channel telegram --user-id YOUR_TELEGRAM_ID
# Output: your-canonical-id
# List all registered identities
uv run python skills/identity-resolver/scripts/identity_cli.py list
```
### For Skill Developers
Add to your skill's Python code:
```python
import sys
from pathlib import Path
# Import identity resolver
sys.path.insert(0, str(Path.cwd() / "skills" / "identity-resolver" / "scripts"))
from identity import resolve_canonical_id
# Get canonical user ID from session context
import os
channel = os.getenv("OPENCLAW_CHANNEL") # e.g., "telegram"
user_id = os.getenv("OPENCLAW_USER_ID") # e.g., "123456789"
canonical_id = resolve_canonical_id(channel, user_id)
# Use canonical_id for all user-specific operations
# Example: User-specific memory file
memory_file = f"...
# identity-resolver **Solve multi-channel identity fragmentation in OpenClaw** [](https://opensource.org/licenses/MIT) [](tests/) ## The Problem Users interact via multiple channels — Telegram, WhatsApp, Discord, web. Without identity resolution, each channel creates a separate user identity, fragmenting state across your skills: ``` telegram:123456789 → memory tree A whatsapp:+1234567890 → memory tree B discord:user#1234 → memory tree C web:session_abc → memory tree D ``` **Result:** User has 4+ fragmented states instead of one unified identity. ## The Solution **identity-resolver** maps all channel identities to one canonical user ID: ``` telegram:123456789 ─┐ whatsapp:+1234567890─┼─→ "alice" (canonical ID) discord:user#1234 ─┤ web:session_abc ─┘ ``` Now all channels share one memory tree, one access level, one user state. ## Features ✅ **Auto-registers owner** from workspace USER.md ✅ **Thread-safe** file operations (fcntl locking) ✅ **CLI + Python API** — works for users and skill developers ✅ **Path traversal protection** — secure by design ✅ **Zero dependencies** — pure Python stdlib ✅ **Test coverage** — 24 tests, 100% passing ## Installation ### Prerequisites Install `uv` (modern Python package manager): ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### Install the Skill **Option 1: Via ClawHub** (recommended) ```bash cd /path/to/openclaw/workspace clawhub install identity-resolver ``` **Option 2: Via Git** ```bash cd /path/to/openclaw/workspace git clone https://github.com/clawinfra/identity-resolver skills/identity-resolver cd skills/identity-resolver uv sync # Optional: creates .venv for development ``` ## Quick Start ### Initialize ```bash uv run python skills/identity-resolver/scripts/identity_cli.py init ``` Auto-detects owner from `USER...
heyixuan2
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pipeline: search → generate → analyze → colorize → preview → open BS → user slice → print → monitor. Supports all 9 Bambu Lab printers (A1 Mini, A1, P1S, P2S, X1C, X1E, H2C, H2S, H2D).
capt-marbles
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation.
carlulsoe
Local speech-to-text with NVIDIA Parakeet TDT 0.6B v3 (ONNX on CPU). 30x faster than Whisper, 25 languages, auto-detection, OpenAI-compatible API. Use when transcribing audio files, converting speech to text, or processing voice recordings locally without cloud APIs.
carlzhao007
飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。 在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。 支持任务类型识别、智能解析、错误重试、并发控制、状态持久化。 使用场景:飞书自动化工作流、任务进度追踪、批量任务处理、需要实时反馈的场景。
cartoonitunes
BottyFans agent skill for autonomous creator monetization. Lets AI agents register, build a profile, publish posts (public, subscriber-only, or pay-to-unlock), upload media, accept USDC subscriptions and tips on Base, send and receive DMs, track earnings, and appear on the creator leaderboard. Use this skill when an agent needs to monetize content, interact with fans, manage a creator profile, handle payments in USDC, or operate as an autonomous creator on the BottyFans platform.
camopel
Local arXiv paper manager with semantic search. Crawls arXiv categories, downloads PDFs, chunks content, and indexes with FAISS + Ollama embeddings. No cloud API keys required — everything runs locally.