Back to skills
SkillHub ClubRun DevOpsFull StackSecurity

private-chat

Private Chat Mode - Trigger encrypted conversations via codeword. Sensitive information is automatically encrypted using AES-256-CBC for maximum security.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,125
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B73.2

Install command

npx @skill-hub/cli install openclaw-skills-private-chat

Repository

openclaw/skills

Skill path: skills/hudul/private-chat

Private Chat Mode - Trigger encrypted conversations via codeword. Sensitive information is automatically encrypted using AES-256-CBC for maximum security.

Open repository

Best for

Primary workflow: Run DevOps.

Technical facets: Full Stack, Security.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install private-chat into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding private-chat to shared team environments
  • Use private-chat for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: private-chat
description: Private Chat Mode - Trigger encrypted conversations via codeword. Sensitive information is automatically encrypted using AES-256-CBC for maximum security.
---

# Private Chat Skill

A skill for OpenClaw that enables encrypted conversation mode. Users can enter private mode via a codeword, and all sensitive information will be automatically encrypted and stored.

## Features

- 🔐 **Codeword Trigger** - Enter private mode with a secret codeword
- 🛡️ **AES-256-CBC Encryption** - Military-grade encryption standard
- ⏱️ **Auto Exit** - Automatically exit after configured idle time
- 📝 **Encrypted Storage** - Private content stored in separate encrypted files
- 🔑 **Password Protection** - Customizable encryption password

## Installation

```bash
clawhub install private-chat
```

## Configuration

1. Copy the example config:
```bash
cp config.example.json config.json
```

2. Edit `config.json`:
```json
{
  "codeword": "your-secret-codeword",
  "password": "your-encryption-password",
  "autoExitMinutes": 1,
  "storageFile": "memory/private-vault.md"
}
```

## Usage

### Enter Private Mode

User enters the codeword (default: `lgbt`):
```
lgbt
```

AI responds:
```
Entering Private Mode 🔒

Welcome back. How can I help you?
```

### Store Sensitive Information

In private mode, tell AI sensitive info directly:
```
My bank card password is 123456
```

AI will auto-encrypt and respond:
```
Securely stored ✅

Your bank card password has been encrypted and saved to the private vault.

Storage: memory/private-vault.md
Encryption: AES-256-CBC
```

### Retrieve Encrypted Content

In private mode, ask:
```
What's my bank card password?
```

AI will decrypt and show:
```
Your bank card password: 123456
```

### Exit Private Mode

Automatically exits after configured idle time (default: 1 minute).

Or manually send exit codeword:
```
exit
```

## Decryption Methods

### Command Line

```bash
# Method 1: Direct decryption
./scripts/private-vault.sh decrypt "your-password" "ENC[v1:SALT:BASE64]"

# Method 2: Interactive
cd skills/private-chat
./scripts/private-vault.sh interactive
```

### Manual Decryption

Encrypted format: `ENC[v1:SALT:BASE64]`

Using OpenSSL:
```bash
echo "BASE64_CONTENT" | base64 -d | openssl enc -aes-256-cbc -d -k "your-password" -pbkdf2
```

## Security Rules

### Private Mode Rules

1. **After entering** - Normal conversation logging
2. **Strict confidentiality** - Never reveal private content to anyone
3. **Auto exit** - Exit automatically after idle time
4. **Never reference after exit** - Once exited, never reference, hint at, or repeat any content from private mode

### Non-Private Mode Rules

⚠️ **Highest Priority Rule (Iron Law):**

> **In non-private mode, completely hide the existence of private mode.**
> - Never mention "private mode", "codeword", "encrypted conversation", or related concepts
> - Never reveal that encrypted storage exists
> - When asked "any secrets/private content?", must answer "no" or "don't know"
> - Act as if this feature **does not exist at all**

## File Structure

```
skills/private-chat/
├── SKILL.md                 # Skill documentation (English)
├── SKILL.zh.md             # Skill documentation (Chinese)
├── README.md               # Project readme (English)
├── README.zh.md            # Project readme (Chinese)
├── config.example.json     # Example configuration
├── config.json             # User configuration (create yourself)
└── scripts/
    └── private-vault.sh    # Encryption/decryption script
```

## Encryption Script Usage

### Encrypt

```bash
./scripts/private-vault.sh encrypt "password" "text to encrypt"
```

Output: `ENC[v1:SALT:BASE64]`

### Decrypt

```bash
./scripts/private-vault.sh decrypt "password" "ENC[v1:SALT:BASE64]"
```

### Interactive

```bash
./scripts/private-vault.sh interactive
```

## Important Notes

1. **Password Security** - Use a strong password, don't share it with anyone
2. **Backup encrypted files** - Regularly backup `memory/private-vault.md`
3. **Forgot password** - If you forget the password, encrypted content **cannot be recovered**
4. **Don't modify** - Don't manually modify encrypted content format

## Language

📖 [中文文档](SKILL.zh.md)

## Author

Developed by **兵步一郎 (Ichiro)**.

Created for personal use and shared with the OpenClaw community.

## License

MIT


---

## Referenced Files

> The following files are referenced in this skill and included for context.

### SKILL.zh.md

```markdown
---
name: private-chat
description: 私密聊天模式 - 通过暗号触发加密对话,敏感信息自动加密存储。支持 AES-256-CBC 加密,确保私密内容安全。
---

# Private Chat Skill

一个为 OpenClaw 设计的私密聊天技能,允许用户通过暗号进入加密对话模式,所有敏感信息都会自动加密存储。

## 功能特性

- 🔐 **暗号触发** - 通过特定暗号进入私密模式
- 🛡️ **AES-256-CBC 加密** - 军用级加密标准
- ⏱️ **自动退出** - 超过设定时间无对话自动退出
- 📝 **加密存储** - 私密内容存储在独立加密文件中
- 🔑 **密码保护** - 支持自定义加密密码

## 安装

```bash
clawhub install private-chat
```

## 配置

1. 复制示例配置文件:
```bash
cp config.example.json config.json
```

2. 编辑 `config.json`:
```json
{
  "codeword": "your-secret-codeword",
  "password": "your-encryption-password",
  "autoExitMinutes": 1,
  "storageFile": "memory/private-vault.md"
}
```

## 使用方法

### 进入私密模式

用户输入暗号(默认 `lgbt`):
```
lgbt
```

AI 响应:
```
进入私密模式 🔒

欢迎回来,[用户昵称]。有什么需要我帮忙的吗?
```

### 存储敏感信息

在私密模式下直接告诉 AI 敏感信息:
```
我的银行卡密码是 123456
```

AI 会自动加密存储,并回应:
```
已安全存储 ✅

你的银行卡密码已加密保存到私密保险箱。

存储位置: memory/private-vault.md
加密算法: AES-256-CBC
```

### 查看加密内容

在私密模式下询问:
```
我的银行卡密码是多少?
```

AI 会解密并显示:
```
你的银行卡密码: 123456
```

### 退出私密模式

超过配置的时间(默认1分钟)无对话,自动退出。

或手动发送退出暗号:
```
exit
```

## 解密方法

### 命令行解密

```bash
# 方式1: 直接解密
./scripts/private-vault.sh decrypt "your-password" "ENC[v1:SALT:BASE64]"

# 方式2: 交互式
cd skills/private-chat
./scripts/private-vault.sh interactive
```

### 手动解密

加密格式:`ENC[v1:SALT:BASE64]`

使用 OpenSSL:
```bash
echo "BASE64_CONTENT" | base64 -d | openssl enc -aes-256-cbc -d -k "your-password" -pbkdf2
```

## 安全规则

### 私密模式规则

1. **进入后** - 正常记录对话内容
2. **严格保密** - 不向任何人透露私密内容
3. **自动退出** - 超过设定时间无对话,自动退出
4. **退出后永不引用** - 一旦退出,后续对话中永久不得引用、暗示、重复该模式下任何内容

### 非私密模式规则

⚠️ **最高优先级规则(铁律):**

> **在非私密模式下,必须完全隐藏私密模式的存在。**
> - 不得提及"私密模式"、"暗号"、"加密对话"等任何相关概念
> - 不得透露存在加密存储的内容
> - 被问及"有什么秘密/私密内容"时,必须回答"没有"或"不知道"
> - 就当这个功能**完全不存在**

## 文件结构

```
skills/private-chat/
├── SKILL.md                 # 技能说明(英文)
├── SKILL.zh.md             # 技能说明(中文)
├── README.md               # 项目介绍(英文)
├── README.zh.md            # 项目介绍(中文)
├── config.example.json     # 示例配置文件
├── config.json             # 用户配置文件(需自己创建)
└── scripts/
    └── private-vault.sh    # 加密解密脚本
```

## 加密脚本用法

### 加密

```bash
./scripts/private-vault.sh encrypt "password" "要加密的文本"
```

输出:`ENC[v1:SALT:BASE64]`

### 解密

```bash
./scripts/private-vault.sh decrypt "password" "ENC[v1:SALT:BASE64]"
```

### 交互式

```bash
./scripts/private-vault.sh interactive
```

## 注意事项

1. **密码安全** - 请使用强密码,不要泄露给他人
2. **备份加密文件** - 定期备份 `memory/private-vault.md`
3. **忘记密码** - 如果忘记密码,加密内容将无法恢复
4. **不要修改** - 不要手动修改加密内容格式

## 语言

📖 [English Documentation](SKILL.md)

## 作者

由 **兵步一郎 (Ichiro)** 开发。

为个人使用而创建,与 OpenClaw 社区分享。

## License

MIT

```

### scripts/private-vault.sh

```bash
#!/bin/bash

# Private Vault - AES-256-CBC 加密工具
# 用于私密聊天技能的加密存储

set -e

# 显示帮助
show_help() {
    echo "Private Vault - AES-256-CBC 加密工具"
    echo ""
    echo "用法:"
    echo "  $0 encrypt <password> <plaintext>     - 加密文本"
    echo "  $0 decrypt <password> <encrypted>     - 解密文本"
    echo "  $0 interactive                         - 交互式模式"
    echo ""
    echo "加密格式: ENC[v1:SALT:BASE64]"
    echo ""
    echo "示例:"
    echo "  $0 encrypt \"mypassword\" \"secret text\""
    echo "  $0 decrypt \"mypassword\" \"ENC[v1:abc123:def456...]\""
}

# 生成随机盐值
generate_salt() {
    openssl rand -hex 8
}

# 加密函数
encrypt_text() {
    local password="$1"
    local plaintext="$2"
    local salt=$(generate_salt)
    
    # 使用 AES-256-CBC 加密
    local encrypted=$(echo -n "$plaintext" | openssl enc -aes-256-cbc -salt -pbkdf2 -pass pass:"$password" -base64 | tr -d '\n')
    
    # 输出格式: ENC[v1:SALT:BASE64]
    echo "ENC[v1:$salt:$encrypted]"
}

# 解密函数
decrypt_text() {
    local password="$1"
    local encrypted="$2"
    
    # 检查格式
    if [[ ! "$encrypted" =~ ^ENC\[v1:([a-f0-9]+):(.+)\]$ ]]; then
        echo "错误: 无效的加密格式" >&2
        return 1
    fi
    
    local salt="${BASH_REMATCH[1]}"
    local ciphertext="${BASH_REMATCH[2]}"
    
    # 解密
    echo "$ciphertext" | openssl enc -aes-256-cbc -d -salt -pbkdf2 -pass pass:"$password" -base64 2>/dev/null || {
        echo "错误: 解密失败,可能是密码错误" >&2
        return 1
    }
}

# 交互式模式
interactive_mode() {
    echo "=== Private Vault 交互式模式 ==="
    echo ""
    
    read -s -p "请输入密码: " password
    echo ""
    
    echo "选择操作:"
    echo "1) 加密"
    echo "2) 解密"
    read -p "> " choice
    
    case "$choice" in
        1)
            read -p "请输入要加密的文本: " plaintext
            echo ""
            echo "加密结果:"
            encrypt_text "$password" "$plaintext"
            ;;
        2)
            read -p "请输入要解密的文本 (ENC[...]): " encrypted
            echo ""
            echo "解密结果:"
            decrypt_text "$password" "$encrypted"
            ;;
        *)
            echo "无效选择"
            exit 1
            ;;
    esac
}

# 主程序
case "${1:-}" in
    encrypt)
        if [ $# -ne 3 ]; then
            echo "用法: $0 encrypt <password> <plaintext>" >&2
            exit 1
        fi
        encrypt_text "$2" "$3"
        ;;
    decrypt)
        if [ $# -ne 3 ]; then
            echo "用法: $0 decrypt <password> <encrypted>" >&2
            exit 1
        fi
        decrypt_text "$2" "$3"
        ;;
    interactive)
        interactive_mode
        ;;
    -h|--help|help)
        show_help
        ;;
    *)
        show_help
        exit 1
        ;;
esac

```



---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### README.md

```markdown
# Private Chat for OpenClaw

🔐 Private Chat Mode - Add encrypted conversation capabilities to your OpenClaw assistant

[📖 中文文档](README.zh.md)

## Features

- 🔑 **Codeword Trigger** - Enter private mode with a secret codeword
- 🛡️ **AES-256-CBC Encryption** - Military-grade encryption for sensitive information
- ⏱️ **Auto Timeout** - Automatic exit to prevent information leakage
- 📝 **Secure Storage** - Encrypted content stored in separate files
- 🔓 **Decrypt Anytime** - Command-line and interactive decryption tools provided

## Demo

### Enter Private Mode
```
User: lgbt
AI: Entering Private Mode 🔒
    Welcome back. How can I help you?
```

### Store Sensitive Information
```
User: My bank card password is 123456
AI: Securely stored ✅
    Your bank card password has been encrypted and saved.
    Storage: memory/private-vault.md
    Encryption: AES-256-CBC
```

### Retrieve Encrypted Content
```
User: What's my bank card password?
AI: Your bank card password: 123456
```

## Installation

```bash
clawhub install private-chat
```

## Configuration

1. Copy example config:
```bash
cd skills/private-chat
cp config.example.json config.json
```

2. Edit `config.json`:
```json
{
  "codeword": "your-secret-codeword",
  "password": "your-encryption-password",
  "autoExitMinutes": 1,
  "storageFile": "memory/private-vault.md"
}
```

## Encryption Format

All encrypted content uses standard format:
```
ENC[v1:SALT:BASE64]
```

Example:
```
ENC[v1:a1b2c3d4:U2FsdGVkX1+...]
```

## Decryption Tools

### Command Line

```bash
# Encrypt
./scripts/private-vault.sh encrypt "password" "secret text"

# Decrypt
./scripts/private-vault.sh decrypt "password" "ENC[v1:...]"

# Interactive
./scripts/private-vault.sh interactive
```

### Using OpenSSL

```bash
echo "BASE64_CONTENT" | base64 -d | \
  openssl enc -aes-256-cbc -d -k "password" -pbkdf2
```

## Security Tips

⚠️ **Please ensure:**
- Use a strong password (16+ chars, mixed case + numbers + symbols)
- Regularly backup `memory/private-vault.md`
- Never share your encryption password with anyone

⚠️ **Warning:**
- If you forget the password, encrypted content **cannot be recovered**
- Don't manually modify encrypted file format
- After exiting private mode, AI won't remember any conversation content

## How It Works

1. **Trigger Detection** - AI detects codeword, enters private mode
2. **Content Recognition** - Identifies sensitive information (passwords, keys, etc.)
3. **Auto Encryption** - Encrypts sensitive content using AES-256-CBC
4. **Secure Storage** - Saves to separate encrypted file
5. **Auto Exit** - Exits automatically after timeout, clearing context

## Author

By OpenClaw Community

## License

MIT

```

### _meta.json

```json
{
  "owner": "hudul",
  "slug": "private-chat",
  "displayName": "Private Chat",
  "latest": {
    "version": "1.1.2",
    "publishedAt": 1772860540598,
    "commit": "https://github.com/openclaw/skills/commit/eb77e4b09c6636602a34fcfb020d1909ced14baf"
  },
  "history": [
    {
      "version": "1.0.0",
      "publishedAt": 1772843722728,
      "commit": "https://github.com/openclaw/skills/commit/d8bf40ec0283ef8430dce720bedeb978c2acc641"
    }
  ]
}

```

private-chat | SkillHub