mcpField
F
feishu-bitable-task-manager

feishu-bitable-task-manager

github.com/httprunner生产力2103 次安装35 周前更新
代码仓库

关于 feishu-bitable-task-manager

feishu-bitable-task-manager 是通过命令行读写 Feishu Bitable 任务表的技能,兼顾表结构约定与多工作进程安全认领。它还支持从源多维表格派生任务。

主要功能

  1. 01查询、认领、更新和创建任务
  2. 02按任务 ID、状态、场景和日期筛选
  3. 03支持批量输入及字段映射
  4. 04从源多维表格同步生成任务
  5. 05读取剧集表并规范化元数据

适用场景

  1. 01按条件获取 Feishu Bitable 中的待处理任务
  2. 02多个工作进程安全认领任务
  3. 03批量创建或更新任务表记录
  4. 04从来源表格生成去重后的任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/httprunner/skills --skill feishu-bitable-task-manager

安装后在 Claude Code 中输入/feishu-bitable-task-manager确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package-lock.json
package.json
tsconfig.json
references/
feishu-integration.md
task-claim.md
task-create.md
task-fetch.md
task-update.md
scripts/
bitable_common.ts
bitable_task.ts
drama_fetch.ts
drama_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_SECRET
  • TASK_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