Use when user mentions item locations, asks where something is, records where they put things, or manages personal belongings. Trigger on: XX在哪、放在哪、找不到XX、东西放哪了、记录位置、物品清单、钥匙、护照、充电器等物品词+位置词。
前置条件: 需要已安装 lark-cli 并完成认证(
lark-cli auth login)。如果环境中有 lark-shared 或 lark-base 相关的 Skill/Rule,可先阅读以了解认证和权限处理。
帮用户记录"什么东西放在哪里",数据存储在飞书多维表格中。
按以下优先级查找配置文件:
~/.config/airtag/config.json(全局,推荐).airtag-config.json(项目级,向后兼容)base_token 和 table_id,跳到步骤 2"你已经有一个飞书多维表格用来存物品位置数据吗?如果有,请发链接给我;如果没有,我帮你创建一个。"
base_token(格式:https://xxx.feishu.cn/base/BASE_TOKEN 或 https://xxx.feishu.cn/wiki/WIKI_TOKEN)lark-cli wiki spaces get_node 解析真实 tokenlark-cli base +table-list --base-token <token> --as user 列出表,让用户选择或确认目标表lark-cli base +field-list --base-token <token> --table-id <id> --as user 检查字段是否匹配# Step 1: 创建 Base
lark-cli base +base-create --name "AirTag 物品位置" --as user
# Step 2: 从返回结果中获取 base_token,创建数据表和字段
lark-cli base +table-create \
--base-token <base_token> \
--name "物品位置" \
--fields '[{"name":"物品名称","type":"text"},{"name":"位置","type":"text"},{"name":"备注","type":"text"},{"name":"记录时间","type":"date"}]' \
--as user
将 base_token 和 table_id 写入全局配置 ~/.config/airtag/config.json(目录不存在则创建):
{
"base_token": "app_xxx",
"table_id": "tbl_xxx"
}
用户说出物品和位置后,用以下命令写入记录:
lark-cli base +record-upsert \
--base-token <base_token> \
--table-id <table_id> \
--json '{"物品名称":"<物品>","位置":"<位置>","备注":"<备注>","记录时间":"<YYYY-MM-DD HH:mm:ss>"}' \
--as user
解析用户输入的规则:
用户问"XX在哪"时:
lark-cli base +record-list \
--base-token <base_token> \
--table-id <table_id> \
--as user
从返回结果中搜索匹配的物品,返回最近一条位置记录给用户。
如果用户说物品换了位置,先查找该物品最近的 record_id,然后更新:
lark-cli base +record-upsert \
--base-token <base_token> \
--table-id <table_id> \
--record-id <record_id> \
--json '{"位置":"<新位置>","记录时间":"<当前时间>"}' \
--as user
用户说"删掉XX"或"不记录XX了"时,先查找该物品的 record_id,然后删除:
lark-cli base +record-delete \
--base-token <base_token> \
--table-id <table_id> \
--record-id <record_id> \
--as user
删除前需向用户确认。
lark-cli base +record-list \
--base-token <base_token> \
--table-id <table_id> \
--as user
以表格形式展示所有物品及其位置。
| 错误 | 处理 |
|---|---|
| Permission denied | 参考 lark-shared 的权限处理流程 |
| base_token 无效 | 删除 ~/.config/airtag/config.json(或项目级 .airtag-config.json),重新初始化 |
| 字段名不匹配 | 用 +field-list 检查实际字段名,适配 |
| 操作 | 所需 scope |
|---|---|
| 创建 Base | bitable:app |
| 读写记录 | bitable:app |