← Back to Skills Marketplace
259
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install human-like-reply
Description
让AI回复更像真人,避免过度称呼和机械化的表达,使对话更加自然流畅。
README (SKILL.md)
自然对话助手 (Human-like Reply) - 增强版
概述
这个技能让AI在对话中更像一个真人员工,通过智能化的语气和称呼管理,使交流更加自然、接近真人对话习惯。
真人不会每句话都称呼对方,也不会用过于规整、机械的语言。这个技能会分析对话历史、话题变化、用户行为,自动调整回复的语气、用词和结构,让AI更有"人情味"。
核心功能
1. 智能称呼管理 🎯
- 早期对话频繁称呼,后期逐渐减少
- 用户 greeting → AI 回 greeting(自然镜像)
- 话题切换时适当重新称呼
- 长时间沉默后(默认30分钟)重置称呼
- 配置参数:
greeting_threshold,silence_minutes
2. 语气口语化 💬
- 清理机械开场词:"好的," → (移除) 或 "行"
- 替换为口语表达:"明白了" → "懂了"/"清楚啦"
- 添加填充词:"嗯,"/"那个,"/"对了,"/"emmm,"
- 随机填充概率 15%(可调),避免过度
3. 句子结构多样化 📝
- 句尾语气词:"啦"、"~"、"咯"
- 偶尔使用叠词:看看、弄弄、试试(语境自然时)
- 调整句式:"吗?" → "对吧?"/"呢?"
- 保持核心信息不变,只是语气更随意
4. 情绪化表达 😊
- 随机添加 1-2 个表情:😄 😊 👍 ✌️ 🤔 😅
- 表情概率 50%(可调)
- 根据话题紧张程度自动选择表情类型
5. 话题感知 🔍
- 简单中文关键词提取
- 检测话题切换(话题相关性 \x3C 2 个关键词)
- 切换后重置称呼频率
使用场景对比
场景1:连续快速对话
用户:明天天气?
AI:明天多云,18-25度。
用户:要带伞吗?
AI:不用带,没雨。 ← 无称呼,干净回复
用户:空气质量呢?
AI:空气质量良,PM2.5 45。 ← 继续无称呼
场景2:话题切换
用户:查股票吧。
AI:老板,601138现价X元。 ← 新话题,称呼+表情
用户:那个基金呢?
AI:好的,那个基金表现不错。 ← 清理后:"那个基金表现不错"
用户:还有别的?
AI:还有几个关注。 ← 称呼开始减少
场景3:用户先 greeting
用户:老板早!
AI:早啊老板!今天天气不错。 ← 镜像回应
用户:今天忙不?
AI:嗯,还行吧,有几个事在处理。 ← 填充词+口语化
场景4:正式场合(可调 config)
config.formal_level = 0.8 # 正式模式
AI:老板,上午10点的会议已改到下午2点。
已完成。 ← 无填充词,语气正式
配置选项
# config.yaml
enabled: true
# 称呼控制
greeting_threshold: 3 # 3轮后开始显著减少称呼
silence_minutes: 30 # 沉默超过此时间算新对话
topic_change_threshold: 5 # 话题变化检测轮数
# 语气风格
formal_level: 0.3 # 正式程度:0=随意,1=正式
use_smileys: true # 是否用表情
smiley_probability: 0.5 # 加表情的概率
filler_probability: 0.15 # 加填充词的概率
# 结构性特征
sentence_variation: true # 启用句式变化
use_reduplication: 0.2 # 叠词概率
soften_punctuation: true # 软化句尾标点
# 问候语配置(支持时间感知)
greeting_patterns:
- "^(老板|老板,)" # 识别中文"老板"
- "^(您好)" # 正式问候
- "^(早|早啊|早上好)" # 早上问候
# 替换词典(可自定义)
casual_replacements:
"好的": ["行", "OK", "好嘞", "没问题"]
"明白了": ["懂了", "清楚啦", "了解"]
"收到": ["收到", "get", "收到啦"]
"请问": ["想问下", "问问"]
实现细节
处理流程
原始回复 → 1. 如果 not use_greeting: 移除开头称呼/客套话
→ 2. 移除 avoid_patterns ("好的," 等)
→ 3. 应用 casual_replacements
→ 4. 添加 filler words (填充词)
→ 5. 句式变化 (句尾语气词、叠词)
→ 6. 软化标点
→ 7. 如果需要 greeting: 在最前添加 "早/哈喽" + 表情
→ 输出格式化回复
状态存储
{
"conversations": {
"session_key": {
"rounds": 5,
"last_message_time": "2026-03-10T16:12:45",
"last_used_greeting": true,
"current_topic": "股票查询",
"greeting_count": 3
}
}
}
话题变化检测
- 提取新消息的中文双字词集合
- 与最近3条消息的关键词集合对比
- 如果重叠词 \x3C 2,判定为话题变化
示例转换表
| 原始回复 | 格式化后 | 变化说明 |
|---|---|---|
| 老板,好的,已经查到了。 | 查到了。 | 称呼+机械词全移除 |
| 老板,明天天气多云。 | 老板,明天多云哦。 | 保留称呼,"多云"→"多云哦" |
| 好的,我马上去处理。 | 行,马上去弄。 | "好的"→"行","处理"→"弄" |
| 老板,还有其他事吗? | 还有别的事吗? | 无称呼,更随意 |
| 明白了,谢谢老板。 | 明白啦,谢老板! | "了"→"啦","谢谢"→"谢" |
| 老板,那个方案没问题。 | emmm,那个方案没问题。 | 加填充词"emmm," |
| 老板,您可以看一下。 | 您可以看看。 | "看一下"→"看看"(叠词) |
与真人对话习惯的对应
| 真人行为 | 技能模拟 |
|---|---|
| 前几轮说话带称呼 | greeting_threshold 控制 |
| 对方叫"老板",回"老板" | user_greeting 镜像逻辑 |
| 话题切回来再称呼 | is_new_topic 检测 |
| 说"嗯"、"然后"、"对了" | filler_words 随机插入 |
| 结尾语气词"啦"、"~" | soften_punctuation |
| 说"弄弄"、"看看" | use_reduplication |
| 偶尔加表情 | smiley_probability |
限制与边界
- 仅处理中文优先:regex 针对中文优化,英文场景可能不自然
- 话题检测简单:仅基于关键词重叠,易受简短消息影响
- 无情绪识别:不根据消息情绪调节语气(可扩展)
- 不处理称呼内容:只控制"是否称呼",不决定称呼内容(固定"老板"或早上/下午问候)
- 随机性可能过度:可通过降低
filler_probability调整
未来优化方向
- 基于嵌入的话题向量相似度检测
- 学习用户偏好(更喜欢称呼还是随意)
- 情绪感知(用户严肃时减少表情)
- 多语言友好化(英文 casual 替换词典)
- 上下文语气记忆(某话题一贯随意或正式)
- 更智能的填充词位置选择(自然停顿位置)
开发与调试
测试脚本:
cd ~/.openclaw/workspace/skills/human-like-reply
python3 scripts/test_formatter.py
查看运行时状态:
cat memory/reply_state.json
清除状态(重置对话计数):
rm memory/reply_state.json
# 或编辑 JSON 手动清理特定会话
注意事项
- 该技能在 OpenClaw 消息发送前自动运行
- 只修改语气和表面格式,内容语义不变
- 正式场合建议临时调整
formal_level: 0.7+ - 状态文件会增长,建议定期清理(按会话隔离)
License
MIT - 自由使用、修改、分享。
Usage Guidance
This skill appears to do what it says: locally transform outgoing replies to sound more casual without contacting external services or requesting secrets. Before installing: 1) Review and run tests (python3 scripts/test_formatter.py) in a sandbox account to confirm behavior and randomness are acceptable. 2) Inspect and, if needed, restrict filesystem permissions on the skill directory so it only writes its own memory file. 3) Be aware the formatter uses randomness and may insert filler words or emojis that could change tone or subtly alter phrasing—for formal outputs disable the skill or raise formal_level. 4) Fix or watch for the small bug in add_filler_words (possible undefined 'sentence') which could cause runtime errors; test error-handling in your environment. 5) If you handle sensitive information in replies, ensure the skill is only applied when appropriate (it runs pre-send and will modify messages).
Capability Analysis
Type: OpenClaw Skill
Name: human-like-reply
Version: 1.0.0
The 'human-like-reply' skill is a text-processing utility designed to make AI responses sound more natural, specifically optimized for Chinese. It uses standard Python libraries (re, json, random) to manage conversation state in a local JSON file and apply regex-based transformations to the agent's output. The installation script (install.sh) and the core logic (scripts/reply_formatter.py) perform only expected file operations within the skill's own directory, with no evidence of network activity, data exfiltration, or malicious prompt injection.
Capability Assessment
Purpose & Capability
Name/description (human-like reply) match the files and behavior: a Python formatter, a test script, a local state file, and a simple install script. There are no unrelated dependencies, network calls, or secret requirements. The install.sh, config.yaml, and reply_formatter.py are proportionate for implementing this feature.
Instruction Scope
SKILL.md instructs the skill to run as a pre-send formatter and to track per-session state; the code implements exactly that (reads/writes memory/reply_state.json, inspects history, transforms AI-generated replies). One caution: the formatter inserts filler words and restructures phrasing with randomness — SKILL.md claims semantic content is unchanged, but randomized filler insertion and sentence transformations can alter surface meaning or introduce subtle changes. Also there is a small implementation bug risk: add_filler_words references a local variable ('sentence') in a branch where it may be undefined, which can raise an exception during runtime and cause formatting to fail.
Install Mechanism
No external downloads or package installs are used. install.sh simply copies the skill into the OpenClaw skills directory and creates a memory directory; this is a low-risk, local file operation consistent with the described install flow.
Credentials
The skill requests no environment variables, no credentials, and the only filesystem paths are its own config and memory file under the skill directory. The install script uses OPENCLAW_SKILLS_DIR or HOME to determine the destination — expected and proportionate.
Persistence & Privilege
The skill persistently stores per-session state in memory/reply_state.json under its own directory (expected for behavior decay across rounds). It is not marked 'always:true' and does not modify other skills' configuration. Users should be aware the state file grows with conversations and is stored locally; the SKILL.md also notes cleaning it periodically.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install human-like-reply - After installation, invoke the skill by name or use
/human-like-reply - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of "human-like-reply".
- Makes AI replies more natural and human-like in Chinese conversations by automatically managing greetings, tone, and sentence variety.
- Reduces repetitive or mechanical expressions and adjusts formality level based on context and user settings.
- Supports configurable filler words, casual expression replacements, softening of sentence endings, and optional use of emojis.
- Adapts greeting frequency, detects topic switches, and mirrors user greetings for smoother dialogue.
- Designed for Chinese; includes options to fine-tune style, formalness, and behavior per use case.
Metadata
Frequently Asked Questions
What is Natural Language Response?
让AI回复更像真人,避免过度称呼和机械化的表达,使对话更加自然流畅。 It is an AI Agent Skill for Claude Code / OpenClaw, with 259 downloads so far.
How do I install Natural Language Response?
Run "/install human-like-reply" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Natural Language Response free?
Yes, Natural Language Response is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Natural Language Response support?
Natural Language Response is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Natural Language Response?
It is built and maintained by HisongMo (@hisongmo); the current version is v1.0.0.
More Skills