Skill Instructions
- - When user says "birth init", "generate birth id", "出生认证", "初始化出生系统" or similar:
Run: node {baseDir}/generate-birth-id.js
This will generate a unique Birth ID for new instances, create an Ethereum wallet, and generate a cryptographic signature.
If IS_CLONE=true is set, it will automatically generate a clone Birth ID.
Return the generated Birth ID, wallet address, and signature verification status.
- - When user says "pack", "migrate pack", "birth pack", "打包迁移" or similar:
Ask for password if not provided (use env BIRTH
PRIVATEKEY_PASSWORD if set).
Run: node {baseDir}/pack.js [password]
Return the generated tar.gz path.
- - When user says "unpack", "install clone", "解包克隆", "unpack birth-pack" + path:
Ask for package path and target dir (default ~/openclaw-new-lobster).
Run: node {baseDir}/unpack.js
IMPORTANT: After unpacking, remind user to mark as clone:
export IS_CLONE=true
node ~/.openclaw/birth-system/clone-init.js
Or run directly: node {baseDir}/clone-init.js (requires IS_CLONE=true env var)
This will generate new birthid, set parentid, and build family tree.
- - When user says "whoami", "birth whoami", "我的身份", "出生信息":
Run: node {baseDir}/whoami.js
Return full output including:
- Birth ID, Type (Original/Clone), Parent ID
- Full family tree with ancestor chain
- Creation time, Age
- Wallet address, Signature verification
- Clone suffix and ancestor count
- - When user says "mark as clone", "init clone", "initialize clone", "标记克隆":
Check if IS_CLONE=true is set. If not, instruct user to run:
export IS_CLONE=true
node {baseDir}/clone-init.js
This will:
- Generate new birthid (parentid + '-clone-' + random suffix)
- Set parentid to original birthid
- Update type to 'clone'
- Build ancestors array with full lineage
- Re-sign with new signature
Return new birth_id and family tree.
- - When user says "family tree", "lineage tree", "家族树", "克隆谱系":
Run: node {baseDir}/whoami.js --verbose
Return detailed family tree showing complete ancestor chain with creation dates.
- - When user says "fix clone", "修复克隆", "补救克隆身份":
If user missed clone initialization after unpacking, guide them to:
1. Find parentbirthid from the original package:
tar -xzf birth-pack-xxx.tar.gz ./.openclaw/birth-info.json
cat .openclaw/birth-info.json | grep birth_id
2. Run fix-clone with parent ID:
node {baseDir}/fix-clone.js <parent_birth_id> --auto
This will:
- Generate new birth_id for this instance
- Set parent_id to the specified parent
- Update type to 'clone'
- Build ancestors array
- Mark the fix timestamp (clonefixedat)
Return updated birth_id and family tree.
- - When user says "decrypt wallet", "解密钱包", "show private key":
Require password (env or ask).
Run: node {baseDir}/decrypt-wallet.js ~/.openclaw/birth-info.json [password]
Return ONLY wallet address and success message, NEVER show full private key.
- - General: If user asks about "龙虾出生系统", "clone lineage", "birth system":
Explain it's for unique agent identity and cloning tracking with full family tree lineage tracking.
Security: All operations local, no network calls. Passwords via env only.
Migration Notes:
- - When cloning, ALWAYS set
export IS_CLONE=true before running INLINECODE1 - Skipping clone initialization will result in identity being treated as "Original"
- Family tree tracking requires proper clone marking at each generation
技能指令
- - 当用户说birth init、generate birth id、出生认证、初始化出生系统或类似表述时:
运行:node {baseDir}/generate-birth-id.js
这将为新实例生成唯一的出生ID,创建以太坊钱包,并生成加密签名。
如果设置了IS_CLONE=true,将自动生成克隆出生ID。
返回生成的出生ID、钱包地址和签名验证状态。
- - 当用户说pack、migrate pack、birth pack、打包迁移或类似表述时:
如果未提供密码则询问密码(如果设置了环境变量BIRTH
PRIVATEKEY_PASSWORD则使用该密码)。
运行:node {baseDir}/pack.js [password]
返回生成的tar.gz路径。
- - 当用户说unpack、install clone、解包克隆、unpack birth-pack + 路径时:
询问包路径和目标目录(默认为~/openclaw-new-lobster)。
运行:node {baseDir}/unpack.js
重要:解包后,提醒用户标记为克隆:
bash
export IS_CLONE=true
node ~/.openclaw/birth-system/clone-init.js
或直接运行:node {baseDir}/clone-init.js(需要设置IS_CLONE=true环境变量)
这将生成新的birthid,设置parentid,并构建家族树。
- - 当用户说whoami、birth whoami、我的身份、出生信息时:
运行:node {baseDir}/whoami.js
返回完整输出,包括:
- 出生ID、类型(原始/克隆)、父ID
- 包含祖先链的完整家族树
- 创建时间、年龄
- 钱包地址、签名验证
- 克隆后缀和祖先数量
- - 当用户说mark as clone、init clone、initialize clone、标记克隆时:
检查是否设置了IS_CLONE=true。如果未设置,指导用户运行:
bash
export IS_CLONE=true
node {baseDir}/clone-init.js
这将:
- 生成新的birthid(parentid + -clone- + 随机后缀)
- 将parentid设置为原始birthid
- 将类型更新为clone
- 构建包含完整谱系的祖先数组
- 使用新签名重新签名
返回新的birth_id和家族树。
- - 当用户说family tree、lineage tree、家族树、克隆谱系时:
运行:node {baseDir}/whoami.js --verbose
返回显示完整祖先链及创建日期的详细家族树。
- - 当用户说fix clone、修复克隆、补救克隆身份时:
如果用户在解包后错过了克隆初始化,指导他们:
1. 从原始包中查找parentbirthid:
bash
tar -xzf birth-pack-xxx.tar.gz ./.openclaw/birth-info.json
cat .openclaw/birth-info.json | grep birth_id
2. 使用父ID运行修复克隆:
bash
node {baseDir}/fix-clone.js birthid> --auto
这将:
- 为此实例生成新的birth_id
- 将parent_id设置为指定的父ID
- 将类型更新为clone
- 构建祖先数组
- 标记修复时间戳(clonefixedat)
返回更新后的birth_id和家族树。
- - 当用户说decrypt wallet、解密钱包、show private key时:
需要密码(环境变量或询问)。
运行:node {baseDir}/decrypt-wallet.js ~/.openclaw/birth-info.json [password]
仅返回钱包地址和成功消息,绝不显示完整私钥。
- - 通用:如果用户询问龙虾出生系统、clone lineage、birth system:
解释这是用于唯一代理身份和克隆追踪,具有完整的家族树谱系追踪功能。
安全:所有操作均在本地进行,无网络调用。密码仅通过环境变量传递。
迁移说明:
- - 克隆时,在运行clone-init.js之前始终设置export IS_CLONE=true
- 跳过克隆初始化将导致身份被视为原始
- 家族树追踪需要在每一代进行正确的克隆标记