关于 feishu-bitable-task-manager
feishu-bitable-task-manager 是通过命令行读写 Feishu Bitable 任务表的技能,兼顾表结构约定与多工作进程安全认领。它还支持从源多维表格派生任务。
主要功能
- 01查询、认领、更新和创建任务
- 02按任务 ID、状态、场景和日期筛选
- 03支持批量输入及字段映射
- 04从源多维表格同步生成任务
- 05读取剧集表并规范化元数据
适用场景
- 01按条件获取 Feishu Bitable 中的待处理任务
- 02多个工作进程安全认领任务
- 03批量创建或更新任务表记录
- 04从来源表格生成去重后的任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ httprunner/ skills --skill feishu-bitable-task-manager安装后在 Claude Code 中输入/feishu-bitable-task-manager确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package-lock.jsonpackage.jsontsconfig.jsonreferences/feishu-integration.mdtask-claim.mdtask-create.mdtask-fetch.mdtask-update.mdscripts/bitable_common.tsbitable_task.tsdrama_fetch.tsdrama_sync_task.ts详细介绍
Feishu Bitable 任务管理器
使用此技能读取/写入 Feishu Bitable“任务状态表”中的任务,同时遵循其架构约定。
路径约定
规范的安装和执行目录:~/.agents/skills/feishu-bitable-task-manager/。请从此目录运行命令:
cd ~/.agents/skills/feishu-bitable-task-manager
单次运行(可在任意工作目录的脚本/循环中安全使用):
(cd ~/.agents/skills/feishu-bitable-task-manager && npx tsx scripts/bitable_task.ts --help)
快速开始
运行:
npx tsx scripts/bitable_task.ts <subcommand> [flags]
必需的环境变量
FEISHU_APP_ID、FEISHU_APP_SECRETTASK_BITABLE_URL- 可选:
FEISHU_BASE_URL - 可选:
TASK_FIELD_*(覆盖任务表的列名)
主要默认规则(兼容性规则)
- 将日期预设视为字面字符串:
Today、Yesterday、Any(Any表示不限制日期)。 - 尽可能优先通过
--task-id/--biz-task-id获取(这会覆盖--app/--scene/--status/--date)。 - 默认忽略视图筛选;仅在明确启用时使用视图筛选(见
references/task-fetch.md)。 - 仅保留解码后
TaskID != 0且至少包含Params/ItemID/BookID/URL/UserID/UserName之一的行。 --status/--scene支持逗号分隔的优先级列表。fetch支持--limit;设置--limit时,会优先填入靠前的场景/状态值。claim仅支持单个任务;不要使用--limit。--candidate-limit仅控制候选项尝试次数(见references/task-claim.md)。fetch和claim都会拆分逗号分隔的--scene值,并按顺序查询每个场景(不要将完整的 CSV 视为一个字面场景)。- 导入 JSON/JSONL 时,透传与列名匹配的键;存在
CDNURL/cdn_url时,将其映射到Extra。
命令
获取
npx tsx scripts/bitable_task.ts fetch --app com.smile.gifmaker --scene 综合页搜索 --status pending --date Today --limit 10
npx tsx scripts/bitable_task.ts fetch --task-id "1326,1327" --raw
npx tsx scripts/bitable_task.ts fetch --biz-task-id ext-20240101-001 --raw
领取(支持多工作进程安全操作)
npx tsx scripts/bitable_task.ts claim \
--app com.tencent.mm \
--scene 个人页搜索,综合页搜索 \
--device-serial <serial> \
--status pending,failed \
--date Today \
--candidate-limit 5
领取行为详情见 references/task-claim.md。
更新
npx tsx scripts/bitable_task.ts update --task-id 180413 --status running --device-serial <serial> --dispatched-at now
npx tsx scripts/bitable_task.ts update --input updates.jsonl
创建
npx tsx scripts/bitable_task.ts create \
--input tasks.jsonl \
--app com.smile.gifmaker \
--scene 单个链接采集 \
--status pending \
--date YYYY-MM-DD \
--skip-existing BizTaskID
剧集获取(只读)
按可选的 BookID 筛选条件,从源剧集 Bitable 获取行。当调用方需要规范化的剧集元数据字段时,请使用 --format meta:
npx tsx scripts/drama_fetch.ts --bitable-url "<DRAMA_BITABLE_URL>" --book-id "id1,id2" --format meta
从源 Bitable(原始多维表格)派生任务
sync 接受 --input 或 --bitable-url(可选附带 --book-id),并负责创建任务:
npx tsx scripts/drama_sync_task.ts \
--bitable-url "https://.../base/SOURCE_APP?table=SOURCE_TABLE" \
--task-url "https://.../base/TASK_APP?table=TASK_TABLE" \
--app com.smile.gifmaker \
--extra "test" \
--params-list \
--limit 10 \
--skip-existing \
--date 2026-02-10
--date YYYY-MM-DD 用于设置所创建记录的任务日期,以及 --skip-existing 去重筛选所用的日期。省略时默认为今天。
Params 模式标志(互斥):
--params-list— 每个源行创建一个任务;Params是包含所有搜索词的 JSON 数组,例如["好一个乖乖女","段休冥 鹿鸣于"]。--params-split— 每个搜索词创建一个任务;使用与--params-list相同的去重逻辑,但会分别创建任务,每个任务的Params都是普通字符串。--params-actor— 每个源行创建一个任务;Params仅使用主角名。
资源
- 阅读
references/task-fetch.md,了解筛选、分页、验证和字段映射。 - 阅读
references/task-claim.md,了解跨机器安全领取任务。 - 阅读
references/task-update.md,了解状态更新、时间字段和批量更新规则。 - 阅读
references/task-create.md,了解创建负载规则和批量创建行为。 - 阅读
references/feishu-integration.md,了解 Feishu API 端点及请求/响应负载。 - 将
scripts/bitable_task.ts/scripts/drama_fetch.ts/scripts/drama_sync_task.ts作为标志和行为的权威来源。
评论
支持 Markdown