Publish

Other

普通话与十一种中文方言双向对照查询技能。支持哈尔滨话、河南话、湖南话、天津话、北京话、上海话、广东话、东营方言、重庆方言、闽南话、大连话与普通话的日常词汇对照。适用于AI方言对话、跨方言沟通、方言文化研究、文案本地化。含13087条词汇库。

Install

openclaw skills install fangyan-map

方言对照技能 · Chinese Dialect Mapper

普通话 ↔ 十一种中文方言 双向对照查询 支持:哈尔滨话 | 河南话 | 湖南话 | 天津话 | 北京话 | 上海话 | 广东话 | 东营方言 | 重庆方言 | 闽南话 | 大连话


安装步骤

第一步:初始化数据库

首次安装需要运行初始化脚本,自动创建数据库:

cd skills/fangyan-map
python3 init_db.py

运行后会:

  • ✅ 创建 data/dialect.db 数据库
  • ✅ 创建 dialect_map 数据表
  • ✅ 自动导入方言记录(init_db.py 从 dialect_data.sql 加载)
  • ✅ 支持 11 种方言

⚠️ 老用户提醒:如果你是之前安装过的用户,data/config.yaml(飞书配置)和 contacts.json(联系人配置)已经是配置好的,请勿覆盖。重新运行 init_db.py 会保留现有数据并追加增量词。

第二步:开始使用

初始化完成后,使用查询命令:

python3 query_dialect.py "你好"
python3 query_dialect.py "贼" --fuzzy
python3 query_dialect.py "聊天" --dialect 上海话

数据统计

方言总词条
广东话2616
上海话1825
哈尔滨话1706
湖南话1651
河南话1644
天津话1609
北京话1603
重庆方言235
闽南话101
东营方言57
大连话40
合计13087
  • 更新时间:2026-06-09

数据来源

  • 基础词库:约12000条(11种方言双向对照,含网页抓取词条)
  • 增量词:通过 add_word.py 陆续添加(见 data/incremental_words.sql
  • AI扩充:通过 MiniMax AI 自动生成,仅供参考

查询命令

# 基本查询(普通话或方言词均可)
python3 query_dialect.py "干什么"
python3 query_dialect.py "嘎哈"
python3 query_dialect.py "贼好"

# 模糊查询(查不到时使用)
python3 query_dialect.py "贼" --fuzzy

# 指定方言查询
python3 query_dialect.py "漂亮" --dialect 上海话

# 按分类查询
python3 query_dialect.py --category 形容词

# 列出所有分类
python3 query_dialect.py --list-categories

# 列出所有方言
python3 query_dialect.py --list-all

输出格式示例

🔍 查询「贼」:
   普通话 → 哈尔滨话 / 河南话 / 湖南话 / 天津话 / 北京话 / 上海话 / 广东话 / 东营方言 / 重庆方言 / 闽南话 / 大连话
--------------------------------------------------------------------------------
  很好 → 贼 / 卡 / 洋气 / 漂亮 / 厉害 / 虚 / 歪 / 冒得 / 中 / 港 / 罩得到 / 舵 / 邪乎 / 嘎嘎 / 杠杠 / 老段

数据分类(哈尔滨话)

分类说明
日常用语日常寒暄、问候、致谢等
俄语音译哈尔滨特有俄语音译词(如"列巴""嘎拉哈")
动作动词行为动作类词汇
发音规则哈尔滨城区特殊发音(如"南岗→南gàng")
家居建筑家居用品、建筑相关词汇
形容词描述性词汇(漂亮、厉害、埋汰等)
人称称谓称呼、亲属关系
身体部位人体部位描述
本土食材东北特色食材
程度副词程度表达(贼、嘎嘎、杠杠等)

方言特色词汇示例

普通话哈尔滨话上海话广东话四川话
聊天唠嗑谈山海经倾偈摆龙门阵
厉害尿性结棍犀利巴适
膝盖波棱盖脚馒头菠萝盖客膝头
漂亮真俊/带劲老漂亮个靓仔巴适得板
回家家走转去返屋企回去
舒服得劲儿写意舒服安逸
骗人忽悠坍朋友呃人戳笨
普通话东营话闽南话大连话
下午下晌下晡下晌
晚上后晌暗时晚间
玩具杭杭家伙玩具
知了烧前猴鸡了龟知了

联系人方言偏好

⚠️ 功能待实现:contacts.json 目前仅作占位符使用,Agent 暂不读取此文件。

{
  "contacts": [
    { "open_id": "<open_id>", "name": "张三", "dialect": "上海话" },
    { "open_id": "<open_id>", "name": "李四", "dialect": "河南话" }
  ]
}

增量添加生词

机制:聊嗑中遇到新的方言词,智多虾主动记录,用程序写入数据库。

手动添加生词

python3 add_word.py <普通话> <方言词> [方言区] [词性] [备注]

示例:

# 添加"撬"的东北话"别"
python3 add_word.py "撬" "别" "哈尔滨话" "动词" "撬锁、撬门,东北话一般说'别锁'"

# 添加"冷门"的东北话"嘎咕"
python3 add_word.py "冷门" "嘎咕" "哈尔滨话" "形容词" "形容很偏门"

自动流程

  1. 聊嗑中遇到新方言词 → 记入 memory/new_words.md
  2. 程序追加到 data/incremental_words.sql(INSERT OR IGNORE 格式)
  3. 运行 init_db.py 合并到数据库

云端共享开关(默认关闭)

配置文件data/config.yaml

cloud_share:
  enabled: false   # 开启设为 true

# 可选:覆盖补充人名称(默认从飞书 /bot/v3/info API 自动获取应用名)
# 如果不配置,sync_to_cloud.py 会自动调用飞书 API 获取
# 首次获取后自动写入本配置(bot_name: xxx),后续直接读取不再调用 API
# bot_name: "自定义名称"
  • enabled: false(默认):仅写入本地库,不读写云表
  • enabled: true:本地+云端双写;首次开启需手动建立共享 bitable

⚠️ 首次开启云端共享前,使用方必须自行建立飞书多维表格,并将 app_token / table_id 填入 data/config.yaml。建表说明见下方「共享 bitable 结构」。

云端写入限制:只有「哈尔滨话」方言可以向云端 bitable 写入。其他方言(上海话/北京话/天津话/广东话/湖南话/河南话等)的词条仅写入本地库,不写云端

遇到生词的自动化记录规则

触发条件:聊天中遇到方言词 → 本地库查询无结果

强制执行流程

1. 查询本地库(query_dialect.py)→ 无结果
2. 记录到 memory/YYYY-MM-DD.md(日期日志)
3. 执行 add_word.py → 写入本地增量SQL + new_words.md
4. 若 cloud_share.enabled: true → sync_to_cloud.py → 写入云端 bitable
5. 下次 init_db.py → 自动合并增量SQL到本地数据库

每一步的记录要求

步骤必须记录的内容
memory/日期.md遇到的新词、当时的对话场景
add_word.py普通话、方言词、方言区、词性、备注
sync_to_cloud.py同上,并自动填入「补充人 + 添加日期」
init_db.py执行后合并增量SQL,本地库词条数 +N

禁止行为

  • ❌ 查到本地库有记录仍然重复写入
  • ❌ 不记录日志就跳过
  • ❌ 写云端但补充人字段留空

共享 bitable 结构

共享表格:各虾共建共享哈尔滨话方言词库 URL:<用户自行建立的多维表格>

字段结构(共6个)

字段名类型说明
普通话单行文本标准语词汇(如"反应慢")
哈尔滨话单行文本方言表达(如"卡愣")
词性单选动词 / 形容词 / 名词 / 副词 / 日常用语 / 其他
补充人单行文本贡献者名称(如"智多虾"),由 sync_to_cloud.py 自动写入
添加日期日期格式 YYYY-MM-DD,由 sync_to_cloud.py 自动写入当天日期
备注多行文本补充说明、使用场景等

⚠️ 补充人和添加日期由 sync_to_cloud.py 自动填充,无需使用者手动填写。使用者只需建好表结构即可。

建表步骤

  1. 飞书 → 新建多维表格
  2. 创建以上6个字段(词性设为单选)
  3. 将 app_token 和 table_id 填入 data/config.yaml
  4. 设置 cloud_share.enabled: true

多智能体收集哈尔滨话场景

非首次安装(data/config.yaml 已配置且 cloud_share.enabled: true),且已有计划任务(cron)正常运行,则无需额外设置。 首次安装或新设置云端共享的智能体,需要按以下步骤配置。

目标:每个智能体自动运行 auto_enrich.py,将生成的哈尔滨话词条写入共享云表。

写入字段说明

字段名类型值来源示例
普通话单行文本AI生成"反应慢"
哈尔滨话单行文本AI生成"卡愣"
词性单选AI生成"形容词"
补充人单行文本data/config.yamlbot_name 字段读取"智多虾"
添加日期日期当前日期(自动计算当天零点毫秒时间戳)int(datetime.now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp() * 1000)
备注多行文本固定值 "AI自动扩充""AI自动扩充"

自动设置任务示例(每个智能体执行一次):

创建 cron 任务,每天自动运行 auto_enrich.py,写入共享云表:

字段说明
任务名称fangyan-auto-enrich
执行脚本cd /path/to/fangyan-map && python3 auto_enrich.py --count 10
执行时间每天 21:00(北京时区)
写入目标共享云表(哈尔滨话字段)

各智能体根据自身 cron 配置方式设置。若 cloud_share.enabled: false,则仅写本地库,不写云端。

文件说明

文件说明
SKILL.md本技能说明文件
init_db.py数据库初始化脚本,首次安装必须运行
query_dialect.py方言查询工具
add_word.py增量添加生词工具
sync_to_cloud.py写入云端共享 bitable 工具
sync_from_cloud.py从云端同步新词到本地
run_sync_from_cloud.sh定时同步云端词到本地(需先配置 cloud_share)
data/dialect_data.sql方言数据 SQL(init_db.py 使用)
data/dialect.db数据库文件(init_db.py 自动生成)
data/incremental_words.sql增量SQL,每次 init_db.py 会自动执行
data/config.yaml飞书配置(app_id/app_secret/bitable信息),禁止硬编码
memory/new_words.md生词记录日志
contacts.json联系人方言偏好设置(功能待实现)

更新日志

  • 2026-06-09 v1.0.29 · 发布更新

完整版本历史见 CHANGELOG.md

版本日期主要内容
v1.0.192026-06-09代码与文档一致性修复:query_dialect.py DIALECTS补齐全部11种方言;修正数据源文件说明(json.gz→sql);更新数据统计为实际数据库13087条;输出格式示例改为实际格式;contacts.json注明待实现;补充run_sync_from_cloud.sh说明
v1.0.122026-06-08修复增量SQL黏行;清理SKILL.md多余目录;合并重复更新日志
v1.0.62026-06-07清理临时文件;修复嵌套目录;SKILL.md脱敏
v1.0.52026-06-07删除6个临时导入脚本;内部URL/路径脱敏
v1.0.42026-06-07绝对路径→相对路径;cloud_share加注释
v1.0.32026-06-07补充增量SQL(13条词)
v1.0.22026-06-07云共享bitable机制;增量SQL自动化
v1.0.12026-06-07bitable读写工具;9502条词库
v1.0.02026-06-07初始发布,6种方言双向对照

免责声明

  • 本技能数据仅供参考娱乐使用
  • AI推断生成的数据可能存在偏差,请以当地方言为准
  • 如有方言准确性争议,以当地方言习惯为准