← Back to Skills Marketplace
Yuqing Data To Bitable
by
FrankieWay
· GitHub ↗
· v2.0.0
· MIT-0
306
Downloads
1
Stars
0
Active Installs
4
Versions
Install in OpenClaw
/install yuqing-data-to-bitable
Description
从小爱数据接口增量拉取舆情数据,自动写入飞书多维表并支持字段映射与case_id自增功能。
Usage Guidance
This package appears to implement the described sync (pull from xiaoai API and write to Feishu Bitable), but there are important inconsistencies and transparency gaps you should address before installing:
- DO NOT run it without inspecting .env: the scripts expect APP_ID, APP_SECRET (Feishu), XIAOAI_TOKEN, BITABLE_URL, FOLDER_ID, CUSTOMER_ID, etc. These are sensitive — keep them secret.
- SKILL.md is wrong/incomplete: it references a non-existent entrypoint and omits the required credentials. Confirm the runtime entrypoint (main.py) and supply credentials only when you trust the code.
- The skill writes local caches, logs, a status file, and a lock file in its directory. If you run it on a shared/privileged host, run in an isolated/sandboxed environment or container and ensure file permissions are appropriate.
- Network endpoints used are open.feishu.cn (Feishu) and http://wisers-data-service.wisersone.com.cn (xiaoai backend). If those endpoints are unexpected for your environment, do not run it.
- If you plan to deploy: test in a safe environment, verify the exact HTTP calls (you can run with a request recorder or inspect logs), and consider creating limited-scope credentials (least privilege) for Feishu.
Given the metadata/entrypoint omissions, treat this skill as untrusted until you validate the files and provide credentials in a controlled manner.
Capability Analysis
Type: OpenClaw Skill
Name: yuqing-data-to-bitable
Version: 2.0.0
The skill bundle is a legitimate data synchronization tool designed to pull data from the XiaoAi (Wisers) API and write it to Feishu Bitable. The core logic in 'excel_to_feishu_bitable.py' and 'main.py' implements standard API authentication, data deduplication via local caching, and batch processing for performance. The included shell scripts ('sync.sh' and 'monitor.sh') provide robust maintenance features such as health checks, automated retries, and log rotation. While there is a minor naming discrepancy in the 'SKILL.md' entrypoint, the code is transparent, lacks obfuscation, and restricts network activity to the specified authorized domains.
Capability Assessment
Purpose & Capability
The included Python scripts clearly implement incrementally fetching from the xiaoai API and writing to Feishu Bitable (matching the skill description). Requesting Feishu app_id/app_secret and the xiaoai token is coherent with that purpose.
Instruction Scope
SKILL.md's entrypoint references 'xiaoai_to_bitable_skill.py' which does not exist in the package; the actual runnable code is main.py and excel_to_feishu_bitable.py. SKILL.md inputs list minutes/folder_id/customer_id/bitable_url but do NOT declare the required credentials (Feishu APP_ID/APP_SECRET and XIAOAI_TOKEN) that main.py and the shell scripts expect. This mismatch means the declared runtime instructions are incorrect/insufficient and could lead to surprising behavior or misconfiguration.
Install Mechanism
No install spec (instruction-only style) and no remote downloads; files are bundled in the skill. This has lower install risk, though the package will write caches, logs, lock files to its directory when run.
Credentials
The code requires multiple sensitive secrets (Feishu APP_ID and APP_SECRET for tenant_access_token; XIAOAI_TOKEN for the data API), and these are not declared in the skill metadata's required env vars/primary credential. The shell scripts expect a .env file with APP_ID, APP_SECRET, XIAOAI_TOKEN, BITABLE_URL, etc. The omission in metadata is a red flag for transparency and least privilege.
Persistence & Privilege
always is false and the skill does not request system-wide privileges, but the bundled scripts create logs, caches (.cache/tenant_token.json, existing_keys.json), a lock file, and a status JSON in the skill directory. It also contains cron example lines — the skill is designed for periodic autonomous runs; this is expected but worth noting.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install yuqing-data-to-bitable - After installation, invoke the skill by name or use
/yuqing-data-to-bitable - Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.0
增强版 2.0.0 - 企业级可靠性:
【自动重试】
- 失败自动重试最多 3 次
- 重试间隔 60 秒
- 第 1 次重试前自动修复
【健康检查】
- Python 环境、配置文件、脚本文件检查
- 磁盘空间监控(>90% 告警)
- 缓存目录自动管理
【自动修复】
- .env URL 引号问题
- Python 缓存清理
- 死锁文件清理
- 日志文件轮转(>10MB)
【状态追踪】
- JSON 格式状态文件
- 成功率统计
- 连续失败计数
- 执行耗时记录
【失败告警】
- 连续失败≥3 次告警
- 错误日志单独记录
- 健康检查失败立即告警
【锁机制】
- 防止并发执行
- 死锁自动检测(>10 分钟)
- 异常退出自动清理
【监控工具】
- monitor.sh:状态查看、手动修复、健康检查
性能优化保持不变:Token 缓存、唯一键缓存、连接池、批量 500 条。
v1.1.1
修复 bug:
1. sync.sh 使用 '.' 代替 'source' 命令,兼容 cron 的 sh 环境
2. urllib3 版本兼容:支持 allowed_methods (新) 和 method_whitelist (旧)
性能优化(1.1.0):
- 连接池复用、批量大小 500、Token 缓存、唯一键缓存等
- 实测同步耗时约 12 秒(29 条记录)
v1.1.0
性能优化版本:
1. 连接池复用 - 使用 requests.Session 复用 TCP 连接
2. 增大批量大小 - 从 100 提升到 500(飞书 API 上限)
3. 分页优化 - 从 100 提升到 500,减少请求次数
4. Token 缓存 - tenant_access_token 缓存 2 小时
5. 唯一键缓存 - 已有记录缓存 5 分钟,避免全表读取(最大性能提升!)
6. 字段列表优化 - 只调用一次,避免重复请求
7. 重试机制 - 添加 HTTP 重试策略
8. 性能日志 - 记录各阶段耗时
预期性能提升:首次同步 30-50%,后续同步(缓存命中)70-80%
v1.0.0
yuqing-data-to-bitable1.0
Metadata
Frequently Asked Questions
What is Yuqing Data To Bitable?
从小爱数据接口增量拉取舆情数据,自动写入飞书多维表并支持字段映射与case_id自增功能。 It is an AI Agent Skill for Claude Code / OpenClaw, with 306 downloads so far.
How do I install Yuqing Data To Bitable?
Run "/install yuqing-data-to-bitable" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Yuqing Data To Bitable free?
Yes, Yuqing Data To Bitable is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Yuqing Data To Bitable support?
Yuqing Data To Bitable is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Yuqing Data To Bitable?
It is built and maintained by FrankieWay (@frankieway); the current version is v2.0.0.
More Skills