主神空间兑换 · 投稿 / 过审 / 兑换卡片 工作流技能
本技能封装「主神空间」兑换系统的三个环节,基于飞书多维表格分享页的公开接口实现,全程无需登录。
两个动作(过审与卡片已合并为一步查询)
- 投稿:把兑换项目录入表单(
formUrl)。默认走submit_entries.js(真实浏览器表单,有前端校验兜底);无浏览器环境可用submit_http.js(已实测跑通真实投稿)。 - 查询:一次读取同时拿到「前置审核」与「兑换卡片标准版」——不再分两步。"审核已出、卡片未出"是正常状态(卡片由后台排产),脚本分别标注,不当成失败。
兼容:
check_audit.js/view_card.js仍在,但都已是query.js的别名,输出相同(审核 + 卡片一起给)。
查询用法
| 命令 | 行为 |
|---|---|
| node scripts/query.js "<名称>" | 只查一次,打印审核与卡片 |
| node scripts/query.js "<名称>" --wait | 轮询到「审核出结果 且 卡片生成」或各自超时 |
| node scripts/query.js "A" "B" "C" --wait | 批量:一次读取判所有条目(N 条与 1 条同样只花一次请求)|
| node scripts/query.js --from submitted.json --brief | 推荐的一组多条用法:从投稿清单读名字,每条只输出一行摘要(评分/支线/点数/分类),不把全文读进上下文 |
| node scripts/query.js "名称" --no-cache | 强制重新下载(跳过 15 秒读缓存)|
| node scripts/query.js "A" --wait --max-wait 600 | 自定义卡片等待上限(秒)|
| node scripts/query.js "A" --no-card | 只等审核结论,不为卡片空耗 |
| node scripts/workflow.js <entries.json> | 投稿 → 统一批量轮询 → 汇总(多条投完一起等,不再逐条串行)|
退出码:0 全部通过且卡片已生成 | 2 有未通过(需改写重投)| 3 有未入表或卡片未出。
投稿:支持批量,共用一次会话
submit_http.js 的条目文件既可以是单个对象,也可以是数组:
node scripts/submit_http.js entries.json --dry # 先干跑:只解析字段/选项,不发送
node scripts/submit_http.js entries.json # 批量投稿:N 条共用一次匿名会话
一次进程内只走一遍「取 cookie + 预检 + 读表结构」,然后逐条 POST:
| 组大小 | 旧版请求数 | 现在 | |---|---|---| | 1 条 | 8 | 8(一次会话链 + 1 POST)| | 3 条 | 42 | 约 10(7 次链路 + 3 次 POST) |
旧版每条投稿都要跑两遍登录跳转链(预检一遍、取 cookie 一遍),3 条里 36/45 个请求只是在拿会话 —— 现已合并。
提交前预检:收集是否还开着
投稿前脚本会先做一次只读预检(约 0.5 秒,不启动浏览器),依据分享表单页里的官方开关判断:
"submitSettings": { "enableAnonymousSubmit": <bool>, "submitLimit": {...} },
"forbiddenSubmit": <bool>, "forbiddenReason": { "text": "…" }
enableAnonymousSubmit=false→ 主神在后台关闭了匿名投稿(最常见的"暂停收集"实现方式;注意:此时分享页仍然可访问、配置仍然下发,所以"暂停收集"不等于"链接失效")forbiddenSubmit=true→ 表单整体禁止提交,forbiddenReason里的文案会一并打印- 命中任一情况:脚本立即退出、退出码
4,并提示"等重新开启后再试";不会白跑一次浏览器或发一次注定失败的 POST - 跳过预检(例如你确认界面仍可提交、但标记解析失败):设环境变量
FEISHU_SKIP_PRECHECK=1 - 同一进程内只预检一次(批量投稿不会 N 次重复探测)
退出码约定:0 成功 | 2 审核未通过(需改写重投)| 3 未入表或卡片未生成 | 4 收集已停止,未投稿
轮询节奏(config.poll,全部可调,实测后再定终值)
| 参数 | 当前值 | 依据 |
|---|---|---|
| firstDelayMs | 15000 | 实测审核最快 22 秒出结果,首查不必等 60 秒 |
| fastWindowMs / fastIntervalMs | 90000 / 5000 | 前 90 秒每 5 秒一次,覆盖审核窗口(HTTP 单次仅 0.5~0.9 秒,敢密)|
| slowIntervalMs | 20000 | 90 秒后退避到 20 秒——卡片是分钟级,密轮没有意义 |
| auditTimeoutMs | 300000 | 审核 5 分钟无结果即判"未出",不再干等 |
| cardMinutesPerEntry | 4(分钟)| 卡片等待按条数自动放大:条数 × 4 分钟,夹在 cardTimeoutMin(5分) ~ cardTimeoutMax(30分) | 实测 1条≈3~5分、3条≈6~8分、4条≈15~16分 |
| cardTimeoutMin / Max | 300000 / 1800000 | 动态上限的夹逼区间 | 单条不至于等太久、大批量也不至于提前放弃 |
| perReadTimeoutMs | 60000 | 单次 HTTP 读超时 |
读取路径(纯 HTTP,零浏览器)
分享页有 cookie 校验式跳转,必须手动跟随重定向并累积 cookie;之后只需 session 一个 cookie 即可调数据接口。config.read.mode:auto(默认,HTTP 优先、失败自动起浏览器兜底)/ http(绝不启动浏览器)/ browser(旧行为)。
只用两个画视图,按投稿日期自动切换
| 视图 | 配置键 | shareToken | 内容 |
|---|---|---|---|
| 今日画视图 | todayView | shrcnkA2UbdsblJQPv1Y9LoMZ5A | 服务端预筛当日提交,11 列,一页到底(约 5KB)|
| 昨日画视图 | yesterdayView | shrcnFuTZpONIV447smymI9m2Wf | 服务端预筛昨日提交,同样 11 列(实测 145 条约 189KB)|
画视图的 11 列 = 名称、出处、详细描述、提交时间、前置审核、兑换卡片标准版、自动编号、建议支线剧情、建议奖励点数、建议主神分类、建议详细分类。相比最早的 4 字段视图,多出来的各有用处:
自动编号:同名重复投稿的可靠判据(实测 145/145 可解析,且与提交时间严格单调一致,见下文)建议*四列自带 optionId(支线16/主神4/详细29)+出处/详细描述→ HTTP 投稿的表结构也从此读取,全系统只依赖这两个画视图- 选路规则:默认只读今日视图。北京时间23:30后投稿的项目,如果今日视图连一个名称都没匹配到,去读昨日视图;部分命中(个别名称确实不存在)不会触发第二次整页下载。投稿时间跨零点时(投稿日 ≠ 今日)才直接以昨日视图为主。
- 因此跨零点投稿(如 23:35 投的)过了午夜照样查得到。
- 过午夜后今日视图会变成
recordsNum=0,属正常,不是链接失效。 - 两段式取数,省 token:整页只落到本机进程;往上下文只送需要的那几行 ——
--brief(每条一行状态)或--only 副作用,奖励点数(只输出含关键词的行,并自动带上"值跑到下一行"的错位内容)。要看全文才用默认整段输出。
服务端没有搜索/筛选能力
search / keyword / q / query / filter / viewFilter / limit / tvalid 全部被忽略,POST 不支持;最小取数单位就是"一页"。飞书 UI 的筛选与搜索框也全是前端过滤(抓包证实数据接口零请求)。所以"查一条"="读一页"。
匿名 session 缓存在 os.tmpdir()/feishu-form-session-<host>.json(权限 0600,只存 session 一项),跨进程复用;遇 code=5 Login Required 自动清缓存并重新引导。脚本输出会自报来源,例如 [来源=今日视图 纯HTTP 用时=1.0s]。
结构变动自检(接口适配层)
后台若调整表单列名/顺序,脚本会明确报错而不是静默填错格子或假装"查不到":
- 表单侧:字段位置由
config.formFields的期望字段名在页面标签里动态解析(不再硬编码下标)。任一期望字段找不到 → 抛【字段适配错误】…当前表单标签:[…],据此更新formFields即可。 - 视图侧:
lib.assertFields()校验视图里确实存在nameField / submitTimeField / 审核字段 / 卡片字段,缺失即抛错并列出实际字段清单。 - 选择器:下拉触发器用哈希无关的
[class*="single-selector-editor"]——飞书前端 class 带构建哈希(如bitable-29d0ea__…),改版会变,切勿再硬编码哈希值。 - 所有浏览器等待均为显式
waitForSelector/waitForFunction,并带--disable-dev-shm-usage(小/dev/shm容器必需)。
未过审时的重投逻辑(改写由智能体完成,脚本不会自行改文案)
读取「前置审核」字段后:
- 若为 请修改后重投 → 脚本会打印“修改建议”。改写须由你(调用方智能体)完成:据建议重写「详细描述」(必要时调整名称/分类/出处),写回 entries 文件后重新运行
workflow.js,如此循环直到通过。脚本本身不会自动改写内容——判断怎么改属于智能体的活,硬编码规则改不好。 - 若为 审核未通过 → 同上按建议修改,或与主神(后台)商议后重投。
同名同出处重复投稿时,后台会保留“最后一次”投稿;旧的重复记录会被管理员定期清除。辨别“最新一条”优先用「自动编号」(今日/昨日画视图已暴露该列,type=1005,严格递增);无该列时才退回「提交时间」(越大越新)。
投稿字段详细说明
提交记录(entries JSON)需包含:name 名称、source 出处、tier 支线剧情、price 奖励点数、mainCat 主神分类、detailCat 详细分类、desc 详细描述;各字段如下。
1. 名称(name,必填 · 单行文本)
- 尽量使用中文。
- 不要使用任何形式的引号或无意义的括号。
- 书籍类条目可直接用书名号标出书名,如《三体》。
2. 出处(source,必填 · 单行文本)
- 不要使用标点符号,可填【原创】。
- 例如:《神鬼传奇》→
神鬼传奇;《哈利·波特与魔法石》→哈利波特。
3. 支线剧情(tier,选填 · 单选下拉)
选项(表单实测 16 项):无 / E / 2E / D / 2D / C / 2C / B / 2B / A / 2A / S / 2S / SS / 2SS / SSS。
定级参考(按表单说明):
- 一般自然物质、不超越现实科技水平的“科技类”→ 不需支线剧情(无)。
- 现实中仅存于实验阶段 → E 及以上。
- 理论上未来能实现 → D 及以上。
- 没有理论基础 → C 及以上。
- 魔法侧 → E 及以上;修真侧 → D 及以上;“精神力技能”→ D 及以上。
- 涉及时间、因果、命运、即死判定等“规则影响”→ B 及以上。
- 例外:详细分类为“弹药/医疗药品/食材/原材料/书籍资料”可不需要支线剧情,但具有复活、即死、规则级影响、大规模毁灭效果的此类(如复活药、贤者之石、反物质弹、龙血精华)仍可要求支线剧情。
4. 奖励点数(price,选填 · 整数)
- 可不填(留空则交由后台按库存与口碑定价)。
- 【最高优先级】若心中对某兑换有价格预期,只填在此栏目数字。定价由主神后台独立裁定,用售卖/定价口吻在描述里标价属越权(实测:
以50分一份的价格售卖以太燃料被改写成"需另行兑换",不采纳)。 - 报价与强度自洽 → 大概率原样通过:社区实测四条(6000/8000/6000/12000)一次未砍;而明显越权的高报会被狠砍(实测 8000→1100、4000→1200、5500→3500)。所以定价前先对齐"支线等级 × 破坏力/生存力 × 副作用"。
5. 主神分类(mainCat,必填 · 单选)
选项:科技类 / 魔法传说类 / 辅助类 / 娱乐类(带图标:🔬/🔮/🧰/🎮)。
6. 详细分类(detailCat,选填 · 单选下拉)
表单实测:共 29 项可选(另含「无」),图标为表单实际显示:
- 战斗装备:🗡️近战武器、🔫远程武器、🎯弹药、🧨爆炸物、🛡️防护装备、🦾外骨骼装甲、🎒储物装备
- 机械载具:🛸载具、🤖机器人与傀儡、🔧工具与机械
- 魔法侧:🔮施法器具、📜卷轴符咒、🐺战宠
- 自身养成:🧬血统、💪身体改造、👨💼职业、⚡功法能量、💥技能、🧠精神力技能、📕功法秘籍、📔技能秘籍、🎮外挂
- 资源其他:🔋能源、💊医疗药品、🧱原材料、🧿饰品、🍖食材、📚书籍资料、🧪其它消耗品
⚠️ 表单"暂时不开放选择"的 3 项:学识、生产设施、制作蓝图。 条目确属这三类时,详细分类留空(表单注明"可不填,由AI自动填"),只把主神分类选对,并在描述里写清性质。
可留空:留空时由后台 AI 依描述自动判定;填了则以你填的为准,与规则冲突会被驳回或改判。
跨字段硬性约束(权威依据见下方《总表》):
- 详细分类为 血统 / 功法能量 / 功法秘籍 / 身体改造 / 技能 / 技能秘籍 / 精神力技能 / 职业 / 学识 / 制作蓝图 / 外挂 → 主神分类必为 辅助类。
- 详细分类为 外骨骼装甲 → 主神分类必为 科技类。
- 详细分类为 施法器具 / 战宠 / 卷轴符咒 → 主神分类必为 魔法传说类。
- 弹药、爆炸物、近战/远程武器、防护装备、储物装备、载具、机器人与傀儡、工具与机械、能源、饰品、医疗药品、原材料、生产设施、其它消耗品、食材 → 共享细分,主分类随物品本质变(优先级:魔法传说效果 > 科技效果 > 无特殊效果)。电气时代前、无魔法效果的工具与机械归 娱乐类。
表单里另外两条实用规则:
- 「秘籍」折算:功法秘籍 / 技能秘籍 只需对应「功法能量」/「技能」本体 10% 的奖励点数,且支线剧情需求降低两个档次。
- 🧠精神力技能使用单独的能量系统「神念」,不与功法能量的能量池混用。
7. 详细描述(desc,选填 · 多行文本)
- 写清出处、效果(能力)、限制/代价、定位(不含价格)。
- 表单原话:「如果在这里填入"支线剧情"和"奖励点数",影响权重将比在上面强。」——即描述里写价格确实能影响生成结果,但那是越权:主神后台会反砍并在审核里挑刺。本技能铁律不变:价格只填第 4 栏目,描述里一个字都不提价。
- 表单另提示:「枪械可填有限弹药版,也可以填无限弹药版。」→ 同类装备可作为独立条目分版本提交(无限弹药版通常会被要求更高支线/点数)。
- 描述能驱动"隐形字段":表单里没有「前置兑换」输入框,只要描述里表达出使用前提,两种写法都实测生效:① 显式
前置兑换:XXX(未解封);② 自然语句「以『灵光机甲适应体质』作为使用前置」——生成 AI 都会读进卡片的「前置兑换」栏,并自动追加"需先完成前置兑换"的权限说明(社区实测三条卡片全部生效)。卡片的「数量/功能说明/副作用」同样由描述内容生成。 - 例外(实测修正):描述"使用代价/运行耗材"时,写明「可在主神处花费 N 奖励点补充燃料/弹药」这类系统内补给出价,会被生成 AI 原样吸收进卡片的「副作用」栏(实测危险流浪者:1000 点补燃料、200 点补弹药均被采纳);但给兑换物本体标价、或用卖方口吻"以 N 分售卖",会被判越权并改写成"需另行兑换"。
- 一条只放一个形态:成长、解封、进化一类的阶段性能力禁止打包进一条。实测把"第一/第二/最终解封"写成一条被驳【成长体系捆绑】…应拆分为独立兑换项;拆成三条独立投稿后全部一次通过。
8. 封面图片(选填 · 上传)
- 可多张;不上传则 AI 自动生成。本技能默认不上传。
主神分类与详细分类总表(权威版,以此为准)
物品归属关键点:一个物品只有一个主神分类 + 一个详细分类。归属看「兑换者拿到手的是什么」,不看「它能放出/召唤出什么」——一枚可具现战斗构装体的臂环属施法器具(载体是器具),而机甲本身才按 载具/机器人与傀儡 归类(2026-09-24 实测:投「机器人与傀儡」被主神改判为「施法器具」)。归属取决于本质属性,优先级 魔法传说效果 > 科技效果 > 无特殊效果:科技物品→科技类;魔法/传说物品→魔法传说类;无特殊效果的现实物品(或特定规则下的旧时代物品)→娱乐类;强化自身能力(血统、技能等)→辅助类。同一详细分类下的物品,主神分类由具体性质决定(如"近战武器"可属科技/魔法传说/娱乐)。
(一)科技类
基于科学原理或技术逻辑(机械/电子/能量)的实体装置、工具或载具。禁止以超凡力量为核心驱动逻辑(仅允许超凡能量作为能源替代电力,核心功能须符合科学原理)。
| 详细分类 | 范围与强制判定 | 示例 | |---|---|---| | 近战武器 | 高科技近战兵器;名称/效果含"高周波、等离子、链锯"等科技词条;核心功能由科技原理驱动 | 高震动粒子切割匕首、电击警棍 | | 远程武器 | 高科技远程射击武器;名称/效果含"高斯、激光、电浆"等科技词条;无魔法属性 | 高斯步枪、中子枪、强融枪 | | 防护装备 | 高科技个人防护装置;名称/效果含"纳米、能量盾、复合陶瓷"等科技词条 | 单兵式防护盾、纳米防弹衣 | | 弹药 | 科技类远程武器的消耗性弹药,或一次性使用的高科技暗器;效果由化学能、电磁能、动能等科技原理实现;不含魔法附魔、符文或灵力驱动 | 微聚合高斯子弹、高爆榴弹、贫铀穿甲弹、电磁脉冲手雷、袖箭(高爆箭头)、暴雨梨花针(纳米针巢版) | | 爆炸物 | 科技原理的爆炸性消耗品;名称/效果含"手雷、地雷、炸药"等词条;无魔法属性 | 破片手雷、重力高威地雷 | | 载具 | 高科技交通工具或运输平台;基于科技引擎、反重力等;不含超凡驱动核心 | 单兵飞行器、木马级宇宙战舰(科技版) | | 机器人与傀儡 | 自主或半自主的科技造物;由 AI、芯片或预设程序控制;非魔法驱动 | 战术无人机、初级宇宙骑士(科技版) | | 外骨骼装甲 | 增强人体的外部穿戴式科技装置;名称含"外骨骼、动力甲";效果含"力量增幅、战衣" | 动力外骨骼、钢铁侠反应堆装甲(早期型号) | | 工具与机械 | 用于生产、维修或特定功能的科技设备;辅助而非直接战斗 | 便携式数控机床、小型冷核聚变反应堆 | | 储物装备 | 基于物质编码或空间折叠技术的科技容器;依靠物理规则,无亚空间/须弥空间概念 | 储物胶囊、空间压缩箱 | | 医疗药品 | 基于化学/生物科技的药物与器械;效果由化学成分或物理作用实现,非魔法 | 止血急救喷雾剂、纳米治疗针 | | 能源 | 为科技设备供能的电池、核心等;名称含"电池、反应堆";以物理形式储存能量 | 高能电池组、核聚变核心 | | 饰品 | 具备科技功能的小型穿戴物;名称含"通讯器、力场发生器";无魔法属性 | 联络器:精神力发散金属片(科技抑制器) | | 原材料 | 用于制造科技物品的高性能材料;名称含"合金、纳米纤维、超导";需加工 | 钛合金板、艾德曼合金坯 | | 生产设施 | 用于生产、加工科技物品的固定装置;名称含"机床、熔炉、组装线";基于科技原理 | 高精度数控机床、3D分子打印机 | | 其它消耗品 | 一次性或有限次的科技辅助品;名称含"电池、燃料棒";不含直接攻击或超凡效果 | 一次性高性能电池、冷却剂 |
(二)魔法传说类
依赖超凡力量触发或驱动的实体物品道具,具超自然效果。必须为含超凡属性的实体物品。
| 详细分类 | 范围与强制判定 | 示例 | |---|---|---| | 近战武器 | 附魔或神话材质打造的冷兵器;需超凡力量触发或自带魔法效果 | 霜火法杖(近战形态)、冥火之牙 | | 远程武器 | 以魔法驱动的远程攻击武器(魔力弓、元素枪等) | 风行者长弓、古弓射天狼 | | 施法器具 | 辅助施法或储存法术的实体物品;名称含"魔杖、法器、魔法书";是施展或储存魔力的工具 | 火球术魔杖、上品法器-紫电剑、死灵书 | | 储物装备 | 开辟亚空间的魔法容器;拥有独立小型空间,非物质编码 | 储物腰带、空间袋 | | 防护装备 | 蕴含防护法术或魔力的护甲/法袍/盾牌。①名称或效果须含"附魔、法袍、祝福、符文、灵力护盾、元素抗性"等明确超凡关键词;②防护效果须直接源于超自然力量,而非单纯物理结构(物理结构防护归娱乐类或科技类) | 元婴期法袍(灵力护盾)、魔法护盾戒指(奥术屏障)、龙鳞甲(对火焰吐息概念级抗性)、祝福链甲衫(自带"防护邪恶"光环)、自动反射斗篷(偏转单体远程攻击) | | 弹药 | 为魔法远程武器供能的消耗性媒介,或封印一次性法术的实体投射物,亦含蕴含超凡力量的暗器。①供能时物品本身是承载魔力的容器(如充能水晶);②一次性投射物命中后释放封印的法术;③必须依靠超凡力量触发或自带魔法效果 | 充能箭矢(为风行者长弓供能)、爆裂符咒箭、追踪魔法弹、封印"石化术"的飞刀、斩仙飞刀(仿制品/消耗型)、附魔手里剑 | | 战宠 | 具有超凡能力的非人生物伙伴;名称含"妖兽、神兽、使魔";可被召唤或有灵性 | 地狱三头犬幼崽、火麒麟 | | 载具 | 由魔法、灵力驱动的交通工具;名称含"魔导舰、浮空城";效果含"飞行法阵" | 星空魔导舰、魔法飞毯 | | 机器人与傀儡 | 由魔力核心驱动的构装体;名称含"魔像、构装体、符咒傀儡";非科技 AI | 岩石魔像、铁魔像 | | 卷轴符咒 | 储存一次性法术的纸或介质;名称含"卷轴、符箓";效果含"撕开/激发使用" | 陨石召唤卷轴、三清道符 | | 医疗药品 | 依靠魔力治愈的药剂或圣物;名称含"治疗药水、再生膏";效果含"瞬间治愈" | 艾丽斯仙境丹(魔法版)、治疗药水 | | 饰品 | 蕴含魔力的佩戴物;名称含"护身符、魔法戒指";无直接攻击用途,但提供增益 | 元素增幅法器、幸运兔脚(真品) | | 食材 | 具有超凡增益效果的可食用物;名称含"灵米、蟠桃、龙肉";效果含"永久提升/临时Buff" | 亚巨人尸体(可食用部分)、恶魔果实、龙肉料理 | | 能源 | 储存魔力的结晶或核心;名称含"魔法晶石、元素核心";是魔法驱动的燃料 | 魔力水晶、劣质灵魂石 | | 原材料 | 天生蕴含魔力的未加工材料;名称含"秘银、龙鳞、星核";需魔法手段加工 | 秘银锭、陨星玄铁、凤凰羽毛 | | 生产设施 | 用于炼制魔法物品的固定装置;名称含"炼金法阵、元素熔炉";基于魔法原理 | 元素熔炉、符文实验室 | | 其它消耗品 | 一次性或有限次的魔法辅助品;名称含"破魔符、显影尘"等;非直接杀伤,有特定魔法用途 | 破魔符、一次性恶意护身符 |
(三)辅助类
提供间接增益或非直接战斗功能的兑换物,含技能、知识、基因改造。非物品道具但含超凡属性。
| 详细分类 | 范围与强制判定 | 示例 | |---|---|---| | 血统 | 修改生命因子,获得可遗传天赋;名称含"血统、血脉";效果含"永久性、种族改造、可遗传" | 低级狼人血统、赛亚人血统、精灵族风系射手血统 | | 功法能量 | 开辟能量循环、产生能量的技术;名称含"心法、神功、修炼法";效果含"形成能量池、产生能量" | 中级气功、九阳真经、查克拉修炼法 | | 身体改造 | 不可遗传的永久性肉体强化;与血统的关键区别即"不可遗传",属后天手术或改造 | 机械义眼、写轮眼(器官移植)、T病毒进化模式(不可遗传版) | | 技能 | 使用能量的技巧,不产生能量;名称含"术、式、招法";需消耗能量才能发动 | 真言术·耐、轻功、十步一杀 | | 精神力技能 | 以精神力发动的特殊技巧;名称含"念动力、读心、心灵感应";兑换前提是具备精神力天赋 | 心灵鞭挞、精神力扫描、心神凝聚 | | 职业 | 系统性强化框架,含多种能力;名称含"转职、骑士、魔法师";提供综合性能力模板 | 圣骑士传承、奥术师启蒙、德鲁伊 | | 学识 | 系统性的理论知识;名称含"工程学、符文基础";本身不赋予能力,是制造/使用物品的前提 | 数学Ⅲ、符文学Ⅰ、机甲工程学Ⅱ | | 功法秘籍 | 记载"功法能量类"超凡修炼法的自学载体,用于形成或改造能量循环;名称含"功法、心法、修炼法、真解、图谱、秘籍";效果含"需学习、有前提、形成/改进能量循环";对应对象是功法能量 | 《九阴真经》秘籍、《九阳真经》秘籍、修真修炼法秘籍、中央戊土厚德诀秘籍 | | 技能秘籍 | 记载"技能类"超凡运用技巧的自学载体,用于学会特定技能;名称含"技能书、术式图解、招法真解、秘籍";效果含"需学习、有前提、消耗能量发动";对应对象是技能 | 海军六式修炼手册、十步一杀秘籍 | | 制作蓝图 | 制造特定物品的详细技术图纸;记载制造方法、材料与步骤 | 高斯步枪制造蓝图、金光塔炼制图纸 | | 外挂 | 突破常规规则的唯一性能力/物品;仅限主角,需消耗因果点,不可交易、不可复制 | 阅读剧本、存档读档、万物契约 | | 其它消耗品 | 未归类,通常为一次性辅助道具 | 重生十字章(技能/消耗品混合概念,按辅助类定;概念上更接近一次性的辅助契约) |
(四)娱乐类
无实战价值或现实世界常见物品,功能限于消遣或基础生存。禁止含超凡增益或破坏力描述。
| 详细分类 | 范围与强制判定 | 示例 | |---|---|---| | 近战武器 | 无科技/魔法效果的冷兵器;未开刃的装饰剑,或电气时代前、无特殊效果的普通刀剑 | 装饰武士刀、钝铁剑 | | 远程武器 | 无科技/魔法效果的远程武器;现代之前的非军用弓弩,或现代的玩具弓 | 弹弓、老式猎弓 | | 防护装备 | 无特殊效果的普通护具 | 普通皮甲、民用防弹衣(效果仅限现实)、中世纪锁子甲 | | 弹药 | 电气时代前、无任何科技或魔法效果的普通投射物,含常规暗器;仅靠人力投掷或机械弹射的动能造成伤害,材质为普通金属/木材,无火药、无能量助推、无超凡附魔 | 普通箭矢、弩箭、手里剑、飞针、飞蝗石、百毒砂、普通飞刀、石灰粉包 | | 工具与机械 | 现实常见的民用工具;无任何超凡/未来科技 | 普通工具箱、老式铁匠铺 | | 载具 | 现实常见的民用交通工具;非军用、不超过现实科技水平 | 普通轿车、山地自行车 | | 书籍资料 | 记载非实战知识的普通载体;名称含"小说、攻略、杂志";仅供阅读参考 | 恐怖片原著小说、《五年高考三年模拟》 | | 食材 | 现实世界无超凡增益的普通食材;仅满足口腹之欲,无任何属性加成 | 大米(1点/吨)、异世界面粉(1点/100kg) | | 原材料 | 现实常见的工业或生活原料;需加工,无超凡属性 | 铁矿石、黄金锭、普通玻璃 | | 饰品 | 普通装饰性物品;不含任何科技或魔法功能 | 黄金项链、毛绒玩具 | | 医疗药品 | 普通草药、绷带和非特效药;无超越现实的化学或魔法效果 | 普通绷带、感冒药、百年人参(无超凡效果) | | 其它消耗品 | 现实常见的一次性日用品;名称含"纸张、颜料、烟花";无超凡效果 | 普通纸张、生日烟花筒 |
分类归属判定(最高优先级)
1. 强制绑定
- 详细分类为 血统 / 功法能量 / 功法秘籍 / 身体改造 / 技能 / 技能秘籍 / 精神力技能 / 职业 / 学识 / 制作蓝图 / 外挂 → 主神分类必为 辅助类
- 详细分类为 外骨骼装甲 → 主神分类必为 科技类
- 详细分类为 施法器具 / 战宠 / 卷轴符咒 → 主神分类必为 魔法传说类
2. 书籍资料的三种归宿(同一载体,随主分类变)
- 放 娱乐类 → 普通书籍资料
- 放 辅助类 → 内容为功法能量类修炼法归 功法秘籍;内容为技能类运用技巧归 技能秘籍
- 放 魔法传说类 → 魔法书(施法器具),即本身蕴含魔力或可作为施法媒介
3. 共享详细分类(同一细分,主分类随物品本质变)
- 科技 & 魔法传说 共享:
- 近战武器 / 远程武器 / 防护装备:高科技→科技类;魔法→魔法传说类;电气时代前、无魔法效果→娱乐类
- 储物装备:高科技空间装备(空间压缩箱)→科技类;魔法空间装备(储物戒指)→魔法传说类
- 载具 / 机器人与傀儡 / 工具与机械:高科技→科技类;不超过现实科技水平的普通物品→娱乐类;魔法驱动→魔法传说类
- 能源:电池、核聚变核心→科技类;魔法晶石、元素核心→魔法传说类
- 饰品:通讯器、力场发生器→科技类;护身符、魔法戒指→魔法传说类;普通装饰→娱乐类
- 科技 & 魔法传说 & 娱乐 三向共享:
- 医疗药品:现代药物/医疗包→科技类;治疗药水/魔法药膏→魔法传说类;普通草药/绷带→娱乐类
- 原材料:钛合金/纳米纤维→科技类;秘银/龙鳞→魔法传说类;铁矿石/木材→娱乐类
- 生产设施:高精度数控机床→科技类;元素熔炉→魔法传说类;老式铁匠铺→娱乐类
- 其它消耗品:一次性电池→科技类;劣质灵魂石→魔法传说类;普通纸张/颜料→娱乐类
- 弹药:高斯弹/电磁/化学能→科技类;充能箭矢/附魔手里剑/封印法术投射物→魔法传说类;普通箭矢/手里剑/飞蝗石→娱乐类
- 娱乐 & 魔法传说 共享:食材(详见第 4 条)
- 无超凡特性的近战武器、远程武器、防护装备、工具与机械 → 一律归入娱乐类
4. 食材特别说明
- 现实食材(免费):现实世界存在的普通食材(蔬菜、水果、普通肉类、米面粮油、调料等),以及现实中百年以内的普通药材。可在主神房间内免费生成,但不可带出房间,也不作为生产合成原料。
- 需兑换食材(娱乐类):① 现实曾存在但已灭绝的普通食材(如恐龙肉,1 点/吨);② 其他世界出产、无任何超凡功效的普通食材。仅满足口腹之欲或基础营养,不提供属性增益。
- 需兑换食材(魔法传说类 · 食材):含奇幻生物部位、超凡植物、微量魔力等特殊效果的食材;价格由稀有度与食用后超凡增益(永久属性、临时 Buff)决定。示例:亚巨人尸体(魔法传说类-食材,1000 点)、西方亚龙蹄子(魔法传说类-食材,5 点)。
- 特殊载体:《海贼王》的恶魔果实也归类在"魔法传说类-食材",每名轮回队员只有第一次食用有效。
- 百年以上药材:具有明确超凡效果(如千年人参永久提升属性)→ 魔法传说类-食材;无超凡效果、仅因稀缺而珍贵 → 娱乐类-食材。
接口与脚本
数据经分享页自身调用的公开接口获得(代入分享 token + 匿名 session cookie 即可,见上方《读取路径》):
/space/api/bitable/external/view/share/records_and_meta?shareToken=<token>&removeFmlExtra=true→ 字段结构(fieldMap)。/space/api/bitable/external/view/share/records_by_page?shareToken=<token>&offset=&limit=1000&removeFmlExtra=true&offsetNum=0→ 记录数据(recordMap)。offsetNum必须是0起步(它是起始下标不是页码;传空值会跳过最新记录)。offsetNum=1000即第二页。
读缓存(省重复下载):一次查询会把整页(今日几 KB、昨日约 190KB)缓存到 os.tmpdir()/feishu-form-view-<shareToken>.json(0600),默认 15 秒内重复调用直接命中(实测 3.4s → 0.0s)。config.fetch.readCacheMs 可调,--no-cache 或 --wait 时自动绕过。
字段值格式:每个字段值是 JSON,如 {"value":[{"type":"text","text":"…"}]};提交时间 是 {"value":1790068322}(秒级时间戳,lib.fmtTime() 会转成东八区可读串)。读取统一走 lib.toText(),它会处理 value/text/list/name 各种嵌套,别自己 JSON.parse 后直接取字符串。
投稿接口(已抓包实测,与视图数据接口不同基址,别拼错):
POST /space/api/bitable/share/content,body{"shareToken":…,"data":"<JSON字符串>","preUploadEnable":false};data为{字段ID: {type, value}}(文本 type=1 传[{type:"text",text:…}]、数字 type=2、选择 type=3 传 optionId)。- 必需请求头:
content-type: application/json、origin、referer=表单页、x-csrftoken(=_csrf_tokencookie 原值;该 cookie 自带时间戳后缀,每次跑前必须重新 GET 表单页,否则 403 csrf token error)、x-auth-token(=sessioncookie 原值,实测可省略)。 - 表单里网友填写的内容实际落在
建议*那组列(建议支线剧情/建议奖励点数/建议主神分类/建议详细分类),由后台 AI 与人工再转成正式值;映射见config.fieldAlias。
脚本(scripts/):
query.js:合并查询(推荐入口)。一次读取同时给出「前置审核」与「兑换卡片标准版」;支持多名称批量、--wait自适应轮询、--max-wait 秒、--no-card。submit_entries.js <entries.json>:浏览器投稿(默认入口,有前端校验兜底)。submit_http.js <entry.json> [--dry]:纯 HTTP 投稿(免浏览器免账号,已实测跑通);因无前端校验兜底,内置字段/选项硬校验,解析不到即报错拒发。--dry只解析不发送。http_read.js:HTTP 读取模块(匿名 session 引导与 0600 缓存、分页、与浏览器路径同构的返回形状)。lib.js新增能力:queryStatus(targets)一步查两字段(主视图未命中自动再查另一视图)、pollStatus(targets)批量自适应轮询、viewsFor(submitSec)跨零点选路、classifyAudit()判定 通过/需修改重投/未通过、matchAll()单次遍历匹配多名称。check_audit.js/view_card.js:已退化为query.js的别名(兼容旧调用),输出相同(审核 + 卡片一起给)。workflow.js <entries.json> [--no-card]:投稿 → 统一批量轮询 → 汇总;未过审只打印建议,改写须由你完成后重跑。
依赖:Node.js。查询环节零依赖(内置 https);submit_http.js 同样零依赖;只有 submit_entries.js(浏览器投稿)需要 puppeteer-core + 本机 Chrome/Chromium/Edge(findChrome() 自动探测)。
Scan to join WeChat group