Mathesar 0.5.0 版本详解:表单构建器、记录查看体验与安装流程的全面升级
数据库后端前端协作【免费下载链接】mathesarAn intuitive spreadsheet-like interface that lets users of all technical skill levels view, edit, query, and collaborate on Postgres data directly. 100% open source and self hosted, with native Postgres access control.项目地址https://gitcode.com/gh_mirrors/ma/mathesar点击查看免费下载Mathesar 0.5.0 是围绕面向外部用户的数据收集展开的一个里程碑版本它引入了可构建、可分享的表单Forms让任何人都能通过唯一链接直接向数据库提交数据而无需获得 Mathesar 安装实例的访问权限。同时该版本将默认的单记录查看方式从独立页面改为模态框Modal让列描述在表头直接可见并在安装流程中自动生成并持久化SECRET_KEY。读完本文你将全面了解 0.5.0 的功能脉络、表单从 RPC 接口到 PostgreSQL 底层 SQL 的完整调用链、各改进对应的源码实现位置以及从旧版本升级到 0.5.0 的两种标准操作流程。版本概览0.5.0 带来了什么根据官方发布说明Mathesar 0.5.0 的核心变化集中在四个方面表单构建器Form builder可以构建并分享表单从任何人那里收集信息无需授予其 Mathesar 安装的访问权限。表单与某张表绑定提交内容自动保存为新记录表单通过唯一链接分享任何拿到链接的人都能提交。单记录视图改为模态框表格页中的单记录链接默认在模态框中打开模态框内仍提供进入完整单记录页面的链接方便用户在不丢失表格上下文的情况下查看和编辑记录。列描述更醒目当列带有描述时表格页的表头会显示图标悬停即可看到描述不再需要打开 Inspector。安装时自动生成SECRET_KEY安装过程自动生成并持久化SECRET_KEY同时支持用户自行提供以覆盖自动生成的值。此外0.5.0 还包含两处 Bug 修复表格页结果尺寸切换时的 UI 卡顿、OIDC_CONFIG_DICT缺少默认值以及若干维护性改动。下面按主题逐项展开并结合当前仓库源码mathesar/、db/、mathesar_ui/验证其实现细节。表单构建器让外部用户直接向数据库提交数据表单是 0.5.0 的最大亮点。在 0.5.0 之前要向 Mathesar 数据库写入数据用户必须先成为安装实例的协作者并登录。0.5.0 之后你可以为任意一张表创建一份表单通过唯一链接分享出去任何拿到链接的人——包括完全没有 Mathesar 账号的人——都可以填写并提交数据会作为新记录写入数据库。表单并不仅仅是单表的字段列表它还可以串联多张表的数据你可以选择包含哪些字段、决定关联数据如何处理表单填写者可以按你的配置从已有记录中选择关联记录或现场创建新的关联记录。表单数据模型Form 与 FormField表单功能在后端由两个 Django 模型承载由迁移文件 mathesar/migrations/0007_form_formfield.py 创建Formmathesar_form表核心字段包括tokenUUID 类型、全局唯一即表单分享链接中携带的令牌、name、description、version、schema_oid、base_table_oid表单所基于的表、publish_public是否公开可访问、默认为False、submit_message、submit_redirect_url、submit_button_label、header_title/header_subtitleJSON 字段以及外键database、server、associated_role提交表单时使用的配置角色。FormFieldmathesar_formfield表表单的字段定义核心字段包括key表单内唯一的字符串标识、index显示顺序、label、help、kind只能是scalar_column或foreign_key两种取值、column_attnum对应的列号、related_table_oid外键字段指向的关联表、fk_interaction_rule、styling、is_required并通过parent_field自关联支持父子字段即关联表下的嵌套字段。其中fk_interaction_rule定义了填写者与关联记录的交互方式共有三种取值与前端 mathesar_ui/src/api/rpc/forms.ts 中fkFieldInteractionRules常量一一对应取值含义must_pick必须从关联表已有的记录中选择一项can_pick_or_create既可以选择已有记录也可以创建新记录must_create必须在关联表中创建一条新记录迁移文件还通过CheckConstraintform_field_kind_integrity约束了数据一致性scalar_column类型的字段不得设置fk_interaction_rule与related_table_oidforeign_key类型的字段则必须同时设置这两者。RPC 接口表单生命周期的完整调用链表单的管理与提交全部通过 RPC 方法暴露实现在 mathesar/rpc/forms.py前端类型定义在 mathesar_ui/src/api/rpc/forms.ts。完整方法清单如下RPC 方法认证要求用途forms.add登录新建表单forms.get匿名按form_token获取表单信息公开表单可匿名读取forms.get_source_info匿名获取表单涉及的源表与列信息forms.list登录列出某数据库某 schema 下的表单forms.patch登录更新表单字段整体替换forms.delete登录删除表单forms.regenerate_token登录重新生成表单的分享令牌forms.set_publish_public登录设置/取消表单的公开分享状态forms.list_related_records匿名通过行查找器Row Seeker列出可选的关联记录forms.submit匿名提交表单将数据写入数据库注意forms.get、forms.get_source_info、forms.list_related_records、forms.submit均以authanonymous暴露这是任何人只要拿到链接即可提交这一产品特性的技术根基。但匿名访问并非无条件submit在写入前会断言form_model.publish_public为真否则抛出This form does not accept submissions见 mathesar/utils/forms.py 中submit_form的实现get与get_source_info则通过has_permission_for_form做权限校验——表单publish_public为真时放行否则仅允许该数据库的已认证协作者访问。RPC 层还定义了与前端交换的数据结构FieldInfo、FormInfo含from_model类方法将 Django 模型转换为 RPC 响应、AddFormDef、AddOrReplaceFieldDef、SettableFormDef。其中FormInfo会通过form_model.fields.filter(parent_field__isnullTrue)只取顶层字段嵌套的child_fields由FieldInfo.from_model递归组装。表单提交的底层原理一次调用生成链式 INSERT表单提交最终落库的路径是forms.submitRPC→submit_formmathesar/utils/forms.py→form_insertdb/forms.py→ PostgreSQL 函数msar.form_insertdb/sql/05_msar.sql。submit_form会先把前端提交的values中形如{type: pick}的条目解析为已选记录fields_to_pick并据此对字段树做深度优先遍历与剪枝当某个外键字段的交互方式是选择而非创建时就不再向下遍历其子字段见iterate_form_fields中关于pick 时剪枝的注释与图示从而只向数据库发送真正需要插入的字段。db/forms.py中的form_insert(field_info_list, values, conn)将两个 JSON 结构序列化后调用数据库函数msar.form_insert。该函数的输入约定为field_info_list [ {key: k1, parent_key: None, column_attnum: 5, table_oid: 1234, depth: 0}, {key: k3, parent_key: k1, column_attnum: 3, table_oid: 4321, depth: 1}, ] values { k1: {type: create}, k2: Jane, k3: Doe, }msar.form_insert首先调用辅助函数msar.build_insert_lookup_table生成插入查找表每行包含目标表、列名、取值、CTE 名称与来源 CTE然后按depth倒序逐层拼接 SQL。当一次提交涉及多张表时生成的是一条带多个 CTE 的链式 INSERT 语句例如文档中的示例——向 Items 表插入时同时创建图书、作者并选择出版商WITH k1_cte AS ( INSERT INTO Library Management.Authors(First Name, Last Name) SELECT Jerome K., Jerome RETURNING * ), k0_cte AS ( INSERT INTO Library Management.Books(Title, Author, Publisher) SELECT Three men in a Boat, k1_cte.id, 12 FROM k1_cte RETURNING * ) INSERT INTO Library Management.Items(Acquisition Date, Acquisition Price, Book) SELECT 2025-10-09, 69.69, k0_cte.id FROM k0_cte RETURNING *这里{type: create}的值会展开为引用其自身 CTE 主键的表达式k1_cte.id从而实现先插入关联记录、再把新主键作为外键写入主表的跨表原子写入若外键列存在引用多列的复合外键约束multi_fks_cte会抛出Inserting into a column with foreign key constraints referencing multiple columns is currently unsupported.。另外msar.get_tab_col_info_mapdb/sql/05_msar.sql 中的同名函数负责按{table_oid: [attnum...]}结构批量取回表单字段对应表与列的结构信息供forms.get_source_info渲染表单使用。前端与测试佐证前端在 mathesar_ui/src/api/rpc/forms.ts 中定义了完整的forms方法类型容器以及RawScalarDataFormField/RawForeignKeyDataFormField两种字段类型constructRequestToAddForm会把前端使用的name/description组装为后端存储的header_title/header_subtitle。RPC 测试位于 mathesar/tests/rpc/test_forms.py覆盖了forms.add含foreign_key字段 can_pick_or_create交互规则 嵌套child_fields的完整请求/响应结构与forms.get。SQL 层面的msar.form_insert在 db/sql/test_sql_functions.sql 中有test_form_insert_fk、test_form_insert_scalar等测试函数分别验证外键创建与标量列插入两条路径。相关的工作项包括 PR #4598表单后端新增获取表单字段表/列信息的 RPC、#4609表单前端、#4637表单内实现行查找器、#4657实现forms.submit、#4680在get/get_source_info/submit前校验表单权限、#4694拖拽排序表单字段、#4726表单分析埋点等。单记录视图模态框不丢失表格上下文地查看记录0.5.0 之前点击表格页的单记录链接会跳转到独立页面0.5.0 改为在模态框中打开模态框内仍提供进入完整单记录页面的链接。这样用户可以在保持表格上下文的情况下快速审阅和编辑记录减少来回切换。前端实现位于 mathesar_ui/src/systems/record-view-modal/入口组件WithModalRecordView.svelte通过全局 modal storemathesar/stores/modal的modal.spawnModalControllerRecordStore()派生一个模态框控制器并把控制器注入 contextModalRecordView.svelte负责实际渲染弹窗内容ModalRecordViewContent.svelte承载记录详情。相关 PR 包括 #4674模态框记录视图与 #4659改进模态框焦点行为。列描述更醒目表头悬停即见此前查看列描述必须打开表右侧的 Inspector 面板0.5.0 之后只要某列配置了描述表头单元格就会显示描述图标鼠标悬停即可看到完整描述。该行为的实现位于 mathesar_ui/src/systems/table-view/header/header-cell/HeaderCell.svelte脚本中通过$: description ... description in col ? col.description : undefined从列信息中提取描述当description存在时表头的indicator-icons区域渲染一个TooltipiconDescription图标Tooltip的content槽即描述文本与排序、过滤、分组图标并列显示。对应的 PR 为 #4685在列头单元格中显示列描述。安装时自动生成并持久化 SECRET_KEY0.5.0 之前SECRET_KEY需要安装者手动生成并配置是安装流程中一个完全手动的步骤0.5.0 起该步骤被自动化。SECRET_KEY用于 Django 签名会话与加密相关数据在配置中同时也被用作SALT_KEY见 config/settings/common_settings.py其泄露或丢失会影响会话安全与数据一致性。自动生成逻辑位于 config/settings/common_settings.py 第 205218 行SECRETS_ROOT os.path.join(BASE_DIR, .secrets) SECRET_KEY os.environ.get(SECRET_KEY) # 我们不希望持久化环境变量形式的 SECRET_KEY if not SECRET_KEY: os.makedirs(SECRETS_ROOT, exist_okTrue) SECRET_KEY_FILE os.path.join(SECRETS_ROOT, secret_key.txt) try: with open(SECRET_KEY_FILE, x) as f: f.write(get_random_secret_key()) except FileExistsError: pass # 已存在则复用旧密钥 with open(SECRET_KEY_FILE, r) as f: SECRET_KEY f.read()其行为可以概括为三点优先读取环境变量如果部署环境已设置SECRET_KEY则直接采用用户提供的值会覆盖自动生成的密钥未设置时自动生成调用 Django 的get_random_secret_key()生成随机密钥并写入BASE_DIR/.secrets/secret_key.txt持久化与复用使用open(..., x)独占创建避免并发写入冲突若文件已存在如升级或重启场景则直接读取既有密钥保证重启后密钥稳定不变。需要特别注意的是该自动生成机制依赖持久化文件系统。因此在没有持久化文件系统的平台上例如 DigitalOcean 的 App Platform部署说明仍然要求手动提供SECRET_KEY环境变量——参见 docs/docs/administration/install-digitalocean.md 中的 Step 2: Generate a secret key先通过密钥生成工具生成密钥并复制再在 DigitalOcean 控制台的 Environment Variables 中新增SECRET_KEY以确保应用在每次重启后密钥一致。对应 PR 为 #4597默认生成并持久化SECRET_KEY。菜单语义澄清编辑与重命名分开针对表、schema、表单等对象0.5.0 区分了编辑edit与重命名rename两种操作并在菜单中改用更准确的措辞让用户在执行操作前更清楚地知道该动作的用途。这是 #4709将部分 UI 术语从 edit 改为 rename的成果属于纯前端 UX 改进。Bug 修复与维护改动0.5.0 还修复了两个问题表格页结果尺寸切换时的 UI 卡顿PR #4686修复了调整表格页每页显示条数result size时界面挂起hang的问题改善了交互流畅度。为OIDC_CONFIG_DICT增加默认值PR #4667避免在未显式配置 OIDC 相关字典时因缺少默认值导致配置错误保障单点登录配置的健壮性。维护方面包括编写 0.5.0 发布说明PR #4716、将 docs 环境的 setuptools 升级到 78.1.1PR #4484、删除 0.4.0 发布说明中的重复行PR #4662 / #4668。升级到 0.5.0升级路径因安装方式而异官方文档为两种部署形态分别提供了标准步骤。Docker Compose 安装的升级如果你使用 Docker Compose 部署只需拉取新镜像并重建容器docker compose -f /etc/mathesar/docker-compose.yml up --pull always -d如果你的安装目录不是/etc/mathesar/请将命令中的路径替换为你实际的安装目录。直接安装Linux / macOS / WSL的升级对于非 Docker 的独立安装0.3.0 之前称之为 Installation from scratchMathesar 提供了同时覆盖全新安装与升级的安装脚本。升级步骤如下进入你的 Mathesar 安装目录不要带末尾斜杠也不要用$HOME之类的变量cd /path/to/your/mathesar/installation从 Mathesar 0.5.0 的 Releases 页面下载对应版本的安装脚本赋予执行权限并运行# 将 下载地址 替换为 0.5.0 Release 页面中 install.sh 的实际地址 curl -sSfL 下载地址 -o install.sh chmod x install.sh ./install.sh .用 Mathesar 的 systemd 服务替换原有的 gunicorn systemd 服务# 先停用并停止旧的 gunicorn 服务 systemctl disable gunicorn.service systemctl stop gunicorn.service然后按照 docs/docs/administration/install-from-scratch.md 中Run Mathesar as a systemd service一节该节会创建运行mathesar run的 systemd unit适用于持续运行 24×7 的服务器完成新服务的配置最后删除旧的 gunicorn 服务文件sudo rm /lib/systemd/system/gunicorn.service更新 Caddyfile参照 docs/docs/administration/install-from-scratch.md 中Install and configure Caddy一节给出的配置更新你的 Caddyfile确保域名直接写在 Caddyfile 第一行然后重启 Caddysystemctl restart caddy.service提示如果你只在 localhost 上运行 Mathesar、不希望它作为系统服务常驻可以移除 gunicorn 与 caddy 两个服务改为手动启动mathesar run小结Mathesar 0.5.0 的实质是打开数据写入的对外通道表单功能让数据库从内部协作工具延伸为外部数据采集终端其背后是从 Django 模型、RPC 接口、权限校验到msar.form_insert链式 INSERT 的完整技术栈支撑单记录模态框与列描述表头化则围绕减少上下文切换优化了日常浏览体验而SECRET_KEY的自动化让自托管部署变得更简单可靠。如果你正在使用 0.5.0 之前的版本可按照上文两种升级路径平滑迁移若想深入了解表单机制建议从 mathesar/rpc/forms.py、mathesar/utils/forms.py 与 db/sql/05_msar.sql 三处源码入手并结合 mathesar/tests/rpc/test_forms.py 与 db/sql/test_sql_functions.sql 中的测试用例验证行为。赞分享数据库后端前端协作【免费下载链接】mathesarAn intuitive spreadsheet-like interface that lets users of all technical skill levels view, edit, query, and collaborate on Postgres data directly. 100% open source and self hosted, with native Postgres access control.项目地址https://gitcode.com/gh_mirrors/ma/mathesar点击查看免费下载相关推荐Mathesar 0.1.6 版本深度解析日语本地化、记录页长文本体验与部署链路的全面升级Mathesar 0.1.6 版本深度解析日语本地化、记录页长文本体验与部署链路的全面升级 Mathesar 0.1.6 是开源 Postgres 电子表格界数据库后端前端协作OpenSquilla 0.5.0 版本详解Model Ensemble 路由、升级安全、桌面签名更新与用量成本报表OpenSquilla 0.5.0 版本详解Model Ensemble 路由、升级安全、桌面签名更新与用量成本报表 OpenSquilla 0.5.0 是人工智能大模型AI Agent交互助手工具调用MCP 服务Agent 记忆RAG本地部署code2prompt版本查询查看与验证安装版本的命令详解code2prompt版本查询查看与验证安装版本的命令详解 在使用code2prompt工具时快速准确地确认当前安装版本是排查兼容性问题、获取新功能支持的基开发工具AI 应用上一篇QQ空间导出助手把说说、日志、相册一键备份到本地给青春上一把数字保险锁下一篇新手如何三步上手 openpilot开源驾驶辅助系统的保姆级入门指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

把 79 个数据工具塞进一个 Python 脚本,再用 n8n 排成日更流水线:TaoToken 统一 Key 接入实践

把 79 个数据工具塞进一个 Python 脚本,再用 n8n 排成日更流水线:TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:56:40 阅读更多 →
OpenSpiel 中的 Hive 棋实现:面向 AlphaZero 的六边形棋盘建模、UHP 协议与动作空间设计

OpenSpiel 中的 Hive 棋实现:面向 AlphaZero 的六边形棋盘建模、UHP 协议与动作空间设计

人工智能强化学习深度学习 【免费下载链接】open_spiel OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games. 项目地址: https://gitcode.com/gh_mirrors/op/open_spiel 点击…

2026/10/13 2:56:40 阅读更多 →
Ask Dr. Andrew Huberman 系统提示词深度解析:TheBigPromptLibrary 中神经科学人物模拟 GPT 的指令设计

Ask Dr. Andrew Huberman 系统提示词深度解析:TheBigPromptLibrary 中神经科学人物模拟 GPT 的指令设计

提示工程AI 安全治理 【免费下载链接】TheBigPromptLibrary A collection of prompts, system prompts and LLM instructions 项目地址: https://gitcode.com/gh_mirrors/th/TheBigPromptLibrary 点击查看 免费下载 本篇技术指南围绕 TheBigPromptLibrary 仓库中收…

2026/10/13 2:56:40 阅读更多 →

最新新闻

被动审计实战:用icedump与nticedump实现内网资产盘点与风险发现

被动审计实战:用icedump与nticedump实现内网资产盘点与风险发现

简介:这份zip合集提供icedump 6.026与nticedump 1.14两套经典调试工具的完整文件包,面向系统程序员、逆向工程师与安全研究人员,覆盖用户态进程内存分析和Windows NT内核级转储两大场景。压缩包共含410个文件,整体仅2.62MB&#x…

2026/10/13 3:39:53 阅读更多 →
中国象棋源码实战:规则引擎与状态空间建模

中国象棋源码实战:规则引擎与状态空间建模

简介:这是一份面向Java初学者的中国象棋桌面程序源码学习项目,适用于算法逻辑训练、GUI开发入门与网络编程实践。项目实现了基础棋盘交互、走子规则校验、悔棋功能及简易联网对战模块,代码经过变量与函数重命名优化,并添加必要中文…

2026/10/13 3:39:53 阅读更多 →
Linux 服务器用 Aspera/ascp 高速下载基因组数据的完整指南

Linux 服务器用 Aspera/ascp 高速下载基因组数据的完整指南

简介:这是一款专为基因组大数据传输设计的高速下载工具——Aspera Connect 3.7.4.147727 Linux 64 位安装包,面向生物信息学研究人员、生信初学者以及需从 NCBI、EBI 等公共数据库批量获取测序数据的使用者。它基于 IBM FASP 协议,能够有效规…

2026/10/13 3:39:53 阅读更多 →
计算机系统考点梳理:补码、栈帧与缓存刷题技巧

计算机系统考点梳理:补码、栈帧与缓存刷题技巧

大二上那门计算机系统课,我是被“做题家”三个字摁着脑袋走完的。一开始觉得这只是自嘲,好像谁刷题多、背得熟,谁就是不懂原理的考试机器;等真到了期末复习,我才发现这门课光靠“看懂”完全不够,你必须在纸…

2026/10/13 3:39:53 阅读更多 →
SpringBoot+Vue校园一卡通系统实战:从架构设计到部署上线全解析

SpringBoot+Vue校园一卡通系统实战:从架构设计到部署上线全解析

校园一卡通项目我前后做过好几个版本,从最初的单体JSP到后面的前后端分离,踩过的坑能写满一个笔记本。这次分享的基于SpringBoot加Vue的校园一卡通管理系统,是目前结构最清晰、也最适合拿来学习和二次开发的一套。无论是应付毕业设计&#xf…

2026/10/13 3:39:53 阅读更多 →
Flutter for OpenHarmony实战:二手置换App设置页开发全解析

Flutter for OpenHarmony实战:二手置换App设置页开发全解析

做Flutter for OpenHarmony二手物品置换App,设置页看起来是所有模块里最不起眼的那一个。真正动手写的时候你会发现,它几乎是整个App里横跨技术面最杂的页面:本地存储、主题切换、通知权限、缓存清理、账号安全全都要在这个页面里落地&#x…

2026/10/13 3:38:53 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →