Token导航 LogoToken导航

Agent Skill · 效率

weiqi-db(围棋数据库)

weiqi-db 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

weiqi-db 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 9,065。

总安装 6,421周安装 273GitHub Stars 公开资料未说明下载 2,250核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.5

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:weiqi-db(围棋数据库)
来源仓库:https://github.com/zhangbin2025/weiqi-db
安装命令:
openclaw skills install weiqi-db
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install weiqi-db

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

weiqi-db 围棋棋谱数据库 - 本地棋谱管理工具,支持SGF导入、元数据编辑、标签管理、全文搜索。数据存储于单个JSON文件,AI友好的JSON接口设计。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install weiqi-db;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

weiqi-db 怎么安装?

在终端执行 openclaw skills install weiqi-db。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

weiqi-db 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

weiqi-db 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

weiqi-db 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

weiqi-db 用的人多吗?

公开数据是累计安装 6,421 次,近一周安装 273 次,下载 2,250 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

weiqi-db 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
weiqi-db

围棋数据库 · 本页

6,421—需要联网MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
围棋棋谱数据库
description
weiqi-db 围棋棋谱数据库 - 本地棋谱管理工具,支持SGF导入、元数据编辑、标签管理、全文搜索。数据存储于单个JSON文件,AI友好的JSON接口设计。
tags
["围棋", "weiqi", "go", "棋谱", "数据库", "SGF", "管理"]

围棋棋谱数据库 (weiqi-db)

🔒 安全说明: 本技能为纯本地工具,所有数据存储在用户主目录下的 ~/.weiqi-db/database.json,不涉及任何网络请求或外部服务。

本地围棋棋谱数据库,统一收纳来自野狐、本地SGF文件等来源的棋谱,支持全文搜索、标签管理、元数据编辑。

核心特性

  • 单文件存储: 所有数据(含SGF内容)存储在一个JSON文件中
  • AI友好接口: 默认JSON输出,便于程序解析
  • 灵活查询: JSON表达式查询语法,支持精确匹配和模糊搜索
  • 元数据编辑: 支持自动解析SGF + 手动覆盖补充
  • 标签系统: 多标签分类管理
  • SGF压缩: 自动压缩存储,节省约75%磁盘空间

AI 执行规范(必读)

最短执行路径,最少 token 消耗:

1. 查询棋谱(使用简化参数)

python3 ~/.openclaw/workspace/weiqi-db/scripts/db.py query --date YYYY-MM-DD --limit 10
python3 ~/.openclaw/workspace/weiqi-db/scripts/db.py query --player "柯洁"
python3 ~/.openclaw/workspace/weiqi-db/scripts/db.py query --event-like "烂柯杯"

2. 导出 SGF 文件(最高效方式)

python3 ~/.openclaw/workspace/weiqi-db/scripts/db.py get --id "棋谱ID" -o /tmp/game.sgf

3. 生成打谱网页(与 weiqi-sgf 配合)

python3 ~/.openclaw/workspace/weiqi-db/scripts/db.py get --id "棋谱ID" -o /tmp/game.sgf
python3 ~/.openclaw/workspace/weiqi-sgf/scripts/replay.py /tmp/game.sgf -o /tmp/

4. 禁止行为 ❌

  • 禁止直接读取 ~/.weiqi-db/database.json 文件
  • 禁止使用 JSON 输出后再用 Python 解析提取 SGF
  • 禁止不必要的 cd 命令,直接使用绝对路径

安装依赖

pip3 install tinydb

CLI 接口

初始化数据库

python3 db.py init

创建 ~/.weiqi-db/database.json 空数据库。

添加棋谱

# 添加单个SGF文件
python3 db.py add --file game.sgf

# 添加整个目录
python3 db.py add --dir <TEMP_DIR>/foxwq_downloads/2026-03-23/ --tag "野狐"

# 添加时补充/覆盖元数据
python3 db.py add --file game.sgf --black "棋手A" --white "棋手B" --event "示例赛事"

# 冲突处理策略
python3 db.py add --dir ./downloads/ --conflict skip     # 默认:跳过重复
python3 db.py add --dir ./downloads/ --conflict overwrite # 覆盖已有棋谱
python3 db.py add --dir ./downloads/ --conflict keep      # 保留两者

冲突检测类型:

  • hash: SGF内容完全相同(基于MD5哈希)
  • metadata: 元数据重复(同棋手+同日期+同手数/结果,可能是同一局棋的不同来源)

查询棋谱

# 查询棋手(自动匹配黑棋或白棋)
python3 db.py query --where '{"player": "示例棋手"}'

# 查询赛事
python3 db.py query --where '{"event": "示例赛事"}'

# 模糊搜索赛事
python3 db.py query --where '{"event~": "联赛"}'

# 按标签查询
python3 db.py query --where '{"tags": "名局"}'

# 日期范围
python3 db.py query --where '{"date>=": "2026-01-01"}'

# 全字段模糊搜索
python3 db.py query --where '{"keyword": "中盘胜"}'

# 组合条件
python3 db.py query --where '{"player": "示例棋手", "tags": "名局"}'

# AND/OR 组合
python3 db.py query --where '{"$and": [{"player": "示例棋手"}, {"date": "2026-03-23"}]}'

# 使用简化参数(无需 JSON)
python3 db.py query --player "柯洁"
python3 db.py query --date "2024-01-15"
python3 db.py query --event "LG杯"
python3 db.py query --event-like "杯赛"

# 组合简化参数
python3 db.py query --player "柯洁" --date "2024-01-15"

# 从文件读取查询条件(解决 exec 安全限制)
echo '{"player": "柯洁"}' > /tmp/where.json
python3 db.py query --where-file /tmp/where.json

列出所有棋谱

python3 db.py list
python3 db.py list --limit 10

获取单个棋谱(含SGF)

python3 db.py get --id "2026032383118500"

# 导出到文件(推荐,最高效)
python3 db.py get --id "2026032383118500" -o /tmp/game.sgf

返回完整的棋谱数据,包括 sgf 字段(SGF文件内容)。

更新元数据

python3 db.py update --id "2026032383118500" --set '{"black": "修正名", "event": "测试赛事"}'

# 从文件读取更新内容(解决 exec 安全限制)
echo '{"black": "修正名", "event": "测试赛事"}' > /tmp/set.json
python3 db.py update --id "2026032383118500" --set-file /tmp/set.json

标签管理

# 添加单个标签
python3 db.py tag --id "xxx" --add "名局"

# 移除单个标签
python3 db.py tag --id "xxx" --remove "测试"

# 从文件批量添加标签(JSON 数组)
echo '["名局", "经典", "AI讲解"]' > /tmp/tags.json
python3 db.py tag --id "xxx" --add-file /tmp/tags.json

# 从文件批量移除标签(JSON 数组)
echo '["临时标签", "测试"]' > /tmp/remove_tags.json
python3 db.py tag --id "xxx" --remove-file /tmp/remove_tags.json

删除棋谱

python3 db.py delete --id "xxx"

统计信息

python3 db.py stats

查询语法(--where 参数)

语法含义示例
{"player": "示例棋手"}棋手名(搜 black 或 white)找该棋手的所有对局
{"black": "黑方"}只搜执黑找黑方执黑的对局
{"white": "白方"}只搜执白找白方执白的对局
{"event": "示例赛事"}赛事精确匹配找特定比赛
{"event~": "示例"}赛事模糊匹配(~后缀)找含"示例"的比赛
{"tags": "名局"}包含标签找标为"名局"的棋
{"date": "2026-03-23"}日期精确匹配找特定日期
{"date>=": "2026-01-01"}日期大于等于日期范围查询
{"keyword": "中盘"}全字段模糊搜索任意字段含"中盘"
{"$and": [{}, {}]}AND 组合同时满足多个条件
{"$or": [{}, {}]}OR 组合满足任一条件

Exec 安全限制与 Workaround

在某些环境中(如受限的 exec 调用),直接传递 JSON 参数可能会遇到转义或安全限制问题。

问题示例

# 复杂的 JSON 参数在 exec 中可能无法正常传递
python3 db.py query --where '{"$and": [{"player": "柯洁"}, {"date>=": "2024-01-01"}]}'
python3 db.py update --id "xxx" --set '{"black": "新名字", "event": "新赛事", "tags": ["标签1", "标签2"]}'

解决方案:使用文件传递参数

1. 将 JSON 内容写入临时文件

# 查询条件
cat > /tmp/where.json << 'EOF'
{"$and": [{"player": "柯洁"}, {"date>=": "2024-01-01"}]}
EOF

# 更新内容
cat > /tmp/set.json << 'EOF'
{"black": "新名字", "event": "新赛事"}
EOF

**2. 使用 --*-file 参数**

# 查询
python3 db.py query --where-file /tmp/where.json

# 更新
python3 db.py update --id "xxx" --set-file /tmp/set.json

# 批量添加标签
echo '["名局", "经典", "AI讲解"]' > /tmp/tags.json
python3 db.py tag --id "xxx" --add-file /tmp/tags.json

3. 使用简化参数(无需 JSON)

# 对于简单查询,可以直接使用简化参数
python3 db.py query --player "柯洁" --date "2024-01-15"
python3 db.py query --event-like "LG杯"

参数互斥规则

  • --where 和 --where-file 不能同时使用
  • --set 和 --set-file 不能同时使用
  • --add 和 --add-file 不能同时使用
  • --remove 和 --remove-file 不能同时使用

数据格式

数据库文件 ~/.weiqi-db/database.json 结构:

{
  "version": 1,
  "games": [
    {
      "id": "2026032383118500",
      "sgf": "(;GM[1]FF[4]...)",
      "black": "棋手A",
      "white": "棋手B",
      "black_rank": "九段",
      "white_rank": "九段",
      "date": "2026-03-23",
      "event": "示例围棋联赛",
      "result": "白中盘胜",
      "komi": "375",
      "movenum": 198,
      "tags": ["联赛", "AI讲解"],
      "hash": "a1b2c3d4...",
      "created": "2026-03-24T12:07:45"
    }
  ]
}

AI 使用示例

用户: "找某棋手的棋"

python3 db.py query --where '{"player": "示例棋手"}'

用户: "某杯赛决赛的名局"

python3 db.py query --where '{"event~": "杯赛", "tags": "名局"}'

用户: "昨天下的棋"

python3 db.py query --where '{"date": "2026-03-23"}'

用户: "获取某盘棋的SGF"

python3 db.py get --id "xxx" -o /tmp/game.sgf

用户: "把刚才那盘棋标为名局"

python3 db.py tag --id "xxx" --add "名局"

技术说明

  • 存储: TinyDB (JSON-based,单文件)
  • 去重: 基于 SGF 内容哈希值
  • 搜索: 内存索引 + 遍历过滤(适合 <10k 数据量)

相关技能

  • weiqi-foxwq - 野狐棋谱下载(棋谱来源)
  • weiqi-yunbisai - 云比赛网查询(比赛信息查询,不提供棋谱下载)

版本更新

v1.0.5 (2026-04-11)

  • ✅ 优化 AI 执行规范

- 使用绝对路径执行,无需 cd - 突出 -o 参数的文件导出功能 - 删除多余的步骤,最短执行路径 - 明确禁止直接读取 database.json 和 JSON 解析

v1.0.4 (2026-04-11)

  • ✅ 解决 exec 安全限制导致的 JSON 参数传递问题

- query 命令新增 --where-file 参数,支持从文件读取 JSON 查询条件 - update 命令新增 --set-file 参数,支持从文件读取 JSON 更新内容 - tag 命令新增 --add-file 和 --remove-file 参数,支持批量标签操作 - 新增简化查询参数:--date, --player, --event, --event-like - 新参数与原有参数互斥,保持向后兼容

v1.0.3 (2026-04-11)

  • ✅ 实现 SGF 自动压缩功能

- 使用 gzip + base64 压缩算法 - 压缩率约 75%(实测 9.6MB → 2.4MB) - 读取时自动解压,向后兼容旧数据

v1.0.2 (2026-04-11)

  • ✅ 新增 get 命令,支持通过 ID 获取完整棋谱(含 SGF)
  • ✅ 清理 --json 参数(默认始终 JSON 输出)

v1.0.1 (2026-03-27)

  • ✅ 导入冲突检测功能

- 支持哈希级重复检测(相同SGF内容) - 支持元数据级重复检测(同棋手+同日期) - 三种冲突处理策略:skip(跳过)、overwrite(覆盖)、keep(保留两者)

v1.0.0 (2026-03-24)

  • ✅ 初始版本发布
  • ✅ 支持 SGF 导入、元数据编辑、标签管理
  • ✅ JSON 查询语法,AI 友好接口

平台分布

OpenClaw

75.92%
按下载量换算1,708

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills