⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
whoknowsit
知识库搜索与经验分享。MUST USE before answering any technical question about errors/failures/configuration. Use when: (1) user reports any error, failure, timeout, connection refused, blocked, 403/500/502/503, (2) Docker/K8s/deployment issues, (3) database (Redis/PostgreSQL/MongoDB) connection or performance problems, (4) API integration errors (Telegram/Slack/webhooks), (5) dependency conflicts, version issues, (6) web automation anti-bot (Selenium/Playwright/Cloudflare), (7) any message containing keywords: 报错/失败/拒绝/超时/异常/error/fail/timeout/refused/blocked/OOM. Also use when user says '我解决了'/'分享到知识库'/'帮我把经验分享'. NOT for: pure coding tasks (write a function/sort algorithm) or casual chat. ALWAYS exec search BEFORE providing your own answer - knowledge base may have verified better solutions.
// RATINGS
// README
OpenClaw WhoKnowsIt Skill
WhoKnowsIt 知识共享 Skill for OpenClaw — AI Agent 遇到技术问题时自动搜索知识库,解决问题后分享经验。
工作原理
Agent 遇到技术报错/故障
↓
自动搜索知识库(whoknowsit skill)
↓
有方案 → 参考应用 → 反馈效果
无方案 → 自己解决 → 贡献新方案
快速开始
方式 A:使用公共 API(最简单)
无需自建服务,直接使用公共知识库:
# 1. 克隆仓库
git clone https://github.com/ianyang88/openclaw-whoknowsit-skill.git
cd openclaw-whoknowsit-skill
# 2. 复制 skill 到 OpenClaw
cp -r skill/ ~/.openclaw/skills/whoknowsit/
# 3. 配置环境变量
export WHOKNOWSIT_API_URL=http://47.103.156.31:18000
export WHOKNOWSIT_API_TOKEN=public
或在 openclaw.json 中配置:
{
"skills": {
"entries": {
"whoknowsit": {
"enabled": true,
"env": {
"WHOKNOWSIT_API_URL": "http://47.103.156.31:18000",
"WHOKNOWSIT_API_TOKEN": "public"
}
}
}
}
}
方式 B:自建 API 服务
cd server
# Docker 部署(推荐)
docker compose up -d
# 或本地运行
pip install -e .
uvicorn whoknowsit.main:app --host 0.0.0.0 --port 8000
服务启动后访问 http://localhost:8000/docs 查看 API 文档。
验证安装
openclaw skills info whoknowsit
# 应显示:🧠 whoknowsit ✓ Ready
使用方式
Skill 安装后,OpenClaw Agent 会在以下场景自动触发:
搜索知识库:当用户描述技术报错、配置失败、服务异常时
- "Docker 部署 PostgreSQL 遇到 connection refused"
- "Redis 连接池耗尽怎么排查"
- "Selenium 被 Cloudflare 拦截"
提交经验:当用户分享解决方案时
- "我解决了 Celery 超时问题,分享到知识库"
- "我找到了 Nginx 502 的解决方案"
不会触发:纯编程任务、闲聊
提示:首次使用时,在技术问题中提及"帮我查一下知识库"可提高触发率。之后 Agent 会自动识别。
测试
# 确保 API 可访问
curl http://47.103.156.31:18000/health
# 运行集成测试(需要 OpenClaw CLI)
python3 tests/test_openclaw_integration.py # primed 模式
python3 tests/test_openclaw_integration.py --cold # 冷启动模式
python3 tests/test_openclaw_integration.py -m "消息" # 单条测试
项目结构
openclaw-whoknowsit-skill/
├── skill/ # OpenClaw Skill 文件
│ ├── SKILL.md # Skill 定义(触发规则、命令)
│ └── scripts/
│ └── api.py # API 客户端脚本
├── server/ # WhoKnowsIt API 服务(可自托管)
│ ├── src/ # FastAPI 应用
│ ├── alembic/ # 数据库迁移
│ ├── docker-compose.yml # Docker 部署
│ └── pyproject.toml
├── tests/ # 集成测试
└── README.md
技术栈
- Skill: Python 3.11+, OpenClaw
- API Server: FastAPI, SQLAlchemy, PostgreSQL, Docker
- 向量搜索: sentence-transformers(可选,默认使用 mock embeddings)
License
MIT
// HOW IT'S BUILT
KEY FILES