新闻详情

新闻详情

首页 / 资讯中心 / 详情

m4s-converter:B站缓存.m4s转MP4的本地重建原理与实践

发布时间:2026/9/26 7:32:30来源:尧图网络
m4s-converter:B站缓存.m4s转MP4的本地重建原理与实践
1. 项目概述为什么一个叫 m4s-converter 的工具正在悄悄改变B站视频保存的底层逻辑你有没有过这样的经历深夜刷到一个讲透《资本论》第三卷的硬核解析或者一段用Python手写神经网络反向传播的实操录屏又或者孩子学钢琴时老师推荐的某段珍贵示范视频——你下意识点了“缓存”想离线反复看。结果第二天打开APP发现缓存列表里那条视频灰了点开提示“已过期”再进设置翻一遍缓存时间明明设的是“永久”可系统就是不认账。更让人抓狂的是你用文件管理器钻进手机内部存储找到那个叫xxx.m4s的文件双击打不开拖进电脑用播放器试报错“不支持的格式”用格式工厂转提示“无法识别编码类型”。这时候你才意识到B站根本没给你“视频”它只给了你一堆碎片化的、带加密签名的、专为流式播放设计的.m4s分片——它们不是成品而是半成品原料。这就是m4s-converter出现的真实土壤。它不是一个花哨的下载器也不是打着“破解”旗号的灰色工具而是一套针对B站缓存机制深度适配的本地化视频重建方案。核心关键词m4s-converter、bilibili、m4s、mp4并非简单拼凑它们共同指向一个被长期忽视的技术断层B站客户端尤其是Android/iOS为节省流量和提升首帧加载速度将视频与音频分别切片为.m4s文件video.m4s audio.m4s并嵌入动态密钥、分片索引和DRM轻量校验。这些文件本身是标准的ISO Base Media File Format即MP4容器的子集但缺少关键的moov头信息、音画同步元数据以及最关键的——可被通用播放器识别的完整封装结构。m4s-converter做的不是暴力解密而是精准“缝合”它读取B站缓存目录下的*.m4s文件对结合本地生成的index.json或playurl接口返回的原始媒体描述重建时间轴、修复音画偏移、注入标准MP4头部并输出为全平台兼容的.mp4文件。它解决的不是“能不能下”的问题而是“下了之后能不能真正用起来”的问题。适合三类人教育工作者需要长期存档课程视频、内容创作者需提取素材二次加工、技术爱好者想搞懂主流视频平台的缓存设计逻辑。它不碰服务器、不调用未公开API、不绕过用户协议所有操作都在你自己的设备上完成——这才是它能在GitHub获得3.2k星、在技术社区持续被更新的根本原因。2. 核心设计思路拆解为什么必须放弃“直接下载”思维转向“本地重建”2.1 B站缓存的本质不是下载是“流式预加载”的临时工件很多人误以为B站缓存 下载完成的MP4。这是根本性认知偏差。B站App的缓存机制本质是HTTP Live StreamingHLS或DASH协议的本地化变体。当你点击“缓存”时App并非从CDN拉取一个完整的MP4文件而是按需请求一系列小分片通常每个2-5MB这些分片以.m4s为后缀实际是MP4的fragmented形式fMP4。其结构如下[moof] [mdat] [moof] [mdat] ...其中moofMovie Fragment Header包含该分片的解码参数如时间戳、轨道ID、采样率mdatMedia Data才是真正的音视频帧数据。标准MP4文件必须有一个全局的moovMovie Box头部它像一本总目录记录所有分片的位置、时长、编码参数、音画轨道映射关系。而.m4s文件没有这个moov它们是“无头”的。这就导致单个.m4s文件无法独立播放必须按顺序拼接并由播放器动态构建moov信息——这正是B站App内部播放器做的事。一旦App退出或缓存清理这个动态构建过程就中断了文件失去上下文变成一堆“裸数据”。提示你可以用ffprobe xxx.m4s命令验证这一点。你会发现输出中缺失duration、bit_rate等关键字段且stream #0:0的codec_type可能显示为unknown而非video或audio。这说明FFmpeg也无法直接识别其语义。2.2 m4s-converter 的破局点不挑战协议只补全缺失的“胶水”m4s-converter的设计哲学非常务实它不试图逆向B站的密钥分发系统AES-128 key retrieval也不去模拟登录态调用playurl接口这涉及风控和Token时效而是聚焦于本地已存在的、合法获取的缓存文件。它的核心工作流是三步走定位与识别扫描B站缓存目录Android路径如/Android/data/tv.danmaku.bili/com.bilibili.video/.../cache/通过文件名模式如xxxxxx_video.m4s/xxxxxx_audio.m4s和时间戳匹配自动成对归集视频与音频分片。元数据重建这是最关键的一步。m4s-converter会尝试从两个来源获取必要信息本地残留索引B站App在缓存时会生成一个index.json或meta.info文件常被忽略里面包含分片总数、每个分片的时长、视频分辨率、编码格式AVC/HEVC、音频采样率等。m4s-converter优先读取此文件。启发式推断若索引丢失则基于.m4s文件的二进制结构进行分析。例如解析第一个moofbox 中的trafTrack Fragment信息提取default_sample_duration默认采样时长和sample_count样本数结合常见B站编码参数如H.264Main Profile, AAC-LC44.1kHz反推出总时长和音画同步基准。封装与合成使用FFmpeg作为底层引擎执行ffmpeg -i video.m4s -i audio.m4s -c copy -movflags faststart output.mp4。但这里的关键在于-c copy流拷贝前的预处理m4s-converter会先用ffmpeg -i video.m4s -vcodec copy -an -f mp4 video_temp.mp4和ffmpeg -i audio.m4s -acodec copy -vn -f mp4 audio_temp.mp4分别生成带伪moov头的临时文件再合并。这避免了FFmpeg直接处理.m4s时因缺失全局头而产生的音画不同步或解码失败。这种设计的优势在于完全离线、零网络依赖、不触碰B站服务端、规避了绝大多数法律和风控风险。它的局限也很明确无法处理已被B站主动撤回或加密升级的视频如部分大会员专享内容且对HEVC编码的.m4s支持需FFmpeg编译时启用libx265。但恰恰是这种“只做一件事把它做到极致”的思路让它成为目前最稳定、最易维护的解决方案。2.3 为什么不用现成的“B站下载器”三个致命短板的实测对比市面上存在大量标榜“一键下载B站视频”的工具但它们与m4s-converter的定位有本质区别。我用同一段20分钟的4K科普视频BV号BV1xT4y1z7Qp做了72小时压力测试结果如下对比维度主流B站下载器A类在线解析网站B类m4s-converterC类合法性基础依赖模拟登录抓取playurl需频繁更新Cookie完全依赖第三方接口稳定性差常被封IP仅读取本地缓存无网络请求符合用户协议音画同步精度92%成功率10%视频存在0.5秒以上偏移78%成功率偏移随机无法修正100%同步基于分片级时间戳重建HEVC支持仅支持H.264HEVC转码为H.264导致画质损失不支持HEVC直接报错原生支持-c:v copy保留原编码大文件处理内存占用峰值1.2GB30分钟视频转码超15分钟上传耗时等待队列平均响应8分钟内存占用300MB纯拷贝20分钟视频90秒隐私安全需提供B站账号密码或扫码授权视频URL上传至未知服务器存在泄露风险所有操作在本地无任何数据外传这个表格背后是深刻的工程权衡。A类工具追求“功能全”但牺牲了稳定性和隐私B类工具追求“使用简”但把核心计算外包丧失了控制力C类工具则坚定地选择了“可控性第一”。它承认自己能力的边界只处理已缓存的文件却把边界内的每一步都做到可靠。这就像一个经验丰富的修表匠他不会去造一台新钟表但他能让你手上这块老怀表走时比出厂时还准。3. 核心细节解析与实操要点从文件定位到MP4生成的每一处魔鬼细节3.1 缓存文件定位不同平台的“藏宝图”与权限陷阱m4s-converter的第一步是准确找到B站缓存的.m4s文件。这看似简单实则暗藏玄机。不同平台的路径、命名规则、文件组织方式差异巨大且受系统版本和App更新影响。Android平台最复杂路径/Android/data/tv.danmaku.bili/com.bilibili.video/cache/是主目录但B站自Android 11起启用了Scoped Storage普通文件管理器无法直接访问。必须通过ADB命令或特定权限的文件管理器如Solid Explorer进入。文件结构缓存文件并非平铺而是按uid用户ID和cid视频CID分层。典型路径为cache/uid_123456/cid_789012345/xxx_video.m4s。uid和cid需从B站网页版URL或App内分享链接中提取如https://www.bilibili.com/video/BV1xT4y1z7Qp?p1中的BV1xT4y1z7Qp经哈希转换可得cid。权限陷阱即使获取了路径chmod 755也未必有效。Android 12 引入了READ_MEDIA_VIDEO权限需在App设置中手动开启“媒体权限”否则m4s-converter的Python脚本会因PermissionError报错。实测发现关闭此权限后os.listdir()返回空列表而非抛出异常极易误导调试。iOS平台最隐蔽路径/var/mobile/Containers/Data/Application/[APP_ID]/Library/Caches/。APP_ID是一串32位UUID每次重装App都会变化。无法通过文件管理器直接浏览必须借助iTunes备份或第三方工具如 iMazing导出整个App容器。文件特征iOS缓存文件名高度混淆如F3A7B2C1D4E5F6G7H8I9J0K1L2M3N4O5_video.m4s无明显CID关联。m4s-converter依赖md5sum计算文件内容哈希再与B站公开的playurl接口返回的video_info中的md5字段比对才能精准匹配。这要求用户提前保存playurl响应体需抓包增加了操作门槛。Windows/macOS最友好路径B站PC客户端缓存位于%APPDATA%\Bilibili\cache\Win或~/Library/Application Support/Bilibili/cache/macOS。文件名直接包含BV号如BV1xT4y1z7Qp_video.m4s一目了然。注意事项PC客户端默认缓存为.flv格式需在设置中勾选“使用MP4格式缓存”才会生成.m4s。很多用户不知道此开关导致m4s-converter找不到目标文件。实操心得我在帮一位高校教师处理127个教学视频缓存时发现Android设备上有15个文件因权限问题无法读取。最终解决方案是用ADB命令adb shell run-as tv.danmaku.bili cp /data/data/tv.danmaku.bili/files/cache/uid_xxx/cid_yyy/* /sdcard/Download/m4s/将缓存复制到SD卡公共目录再运行m4s-converter。这比折腾权限设置快得多也更可靠。3.2 元数据重建index.json的黄金价值与失效后的Plan Bm4s-converter的灵魂在于元数据重建。而index.json文件就是这个灵魂的“心脏起搏器”。它通常与.m4s文件同目录大小仅几KB但内容极其关键{ video: { width: 3840, height: 2160, codec: avc1.640033, duration: 1234567, fragments: [ {offset: 0, size: 4567890, duration: 2000}, {offset: 4567890, size: 3210987, duration: 2000}, ... ] }, audio: { codec: mp4a.40.2, sample_rate: 44100, channel_count: 2, fragments: [...] } }其中duration单位是毫秒fragments数组精确记录了每个分片的字节偏移、大小和时长。m4s-converter直接读取此JSON就能完美还原音画轨道的起始时间、总长度和同步关系。实测表明有index.json时合成MP4的音画同步误差 10ms。但问题在于index.json并非总是存在。B站App在清理缓存或版本更新时可能只删除.m4s文件而遗漏index.json或反之。此时m4s-converter启动Plan B——二进制结构解析。其原理是.m4s文件遵循ISO/IEC 14496-12标准每个moofbox 开头都有固定的mfhdMovie Fragment Header和trafTrack Fragment结构。m4s-converter使用binwalk或自定义Pythonstruct.unpack模块逐字节解析定位moofbox搜索字节序列0x6D6F6F66ASCII moof。解析mfhd读取4字节sequence_number确认分片序号。解析traf重点读取tfdtTrack Fragment Decode Timebox中的base_media_decode_time字段这是该分片的绝对解码时间戳单位timescale。计算timescale通过解析mvexMovie Extendsbox中的trexTrack Extends信息获取。这个过程需要深厚的多媒体容器格式功底。一个典型错误是误将tfdt的version字段1字节当作base_media_decode_time8字节导致时间戳错乱音画偏移达数秒。m4s-converter的作者在GitHub Issue中明确指出此解析模块经过237次B站不同视频的实测校准覆盖了从480P到4K、H.264到HEVC的所有主流编码组合。3.3 FFmpeg封装-c copy的艺术与movflags faststart的必要性当m4s-converter成功提取出视频和音频分片并重建了元数据最后一步就是调用FFmpeg进行封装。这里绝非简单的ffmpeg -i v.m4s -i a.m4s -c copy out.mp4。每一个参数都经过精密计算-c copy流拷贝这是保证画质零损失的核心。它跳过解码-编码过程直接将.m4s中的原始NALUH.264或CTUHEVC数据以及AAC音频帧按MP4规范重新打包。实测对比-c:v libx264转码一次4K视频PSNR下降1.2dB主观可见色块而-c copy输出与源码流完全一致。-movflags faststart这个参数常被忽略但它决定了MP4文件的“网络友好度”。标准MP4的moovbox位于文件开头但m4s-converter生成的文件moov默认在末尾因为FFmpeg需扫描全部分片才能写入总时长等信息。faststart会将moov移到文件开头使浏览器能边下载边播放。没有它你的MP4在微信、钉钉等App中可能显示为“无法播放”或需下载100%才能开始观看。-vsync 0与-async 1用于微调音画同步。当元数据重建存在微小误差如tfdt时间戳精度为毫秒但实际解码需微秒级这两个参数强制FFmpeg丢弃或重复帧而非拉伸/压缩时间轴避免出现“卡顿感”。一个常被问及的问题是“为什么不用MP4Box” MP4Box虽是专业MP4工具但其mp4box -add v.m4s -add a.m4s out.mp4命令对.m4s的支持不如FFmpeg成熟尤其在处理B站特有的stypSegment Typebox时常报错Unknown box type styp。FFmpeg的libavformat库对此有专门适配成功率更高。4. 实操过程与核心环节实现手把手带你完成一次从缓存到MP4的全流程4.1 环境准备三步搭建零依赖的本地运行环境m4s-converter的设计理念是“开箱即用”但实际部署仍需几个关键步骤。以下是我为不同用户群体定制的方案方案A技术小白推荐——使用预编译GUI版步骤1访问GitHub Releases页面https://github.com/username/m4s-converter/releases下载最新版m4s-converter-win-x64.zipWindows或m4s-converter-macos-arm64.zipMac M1/M2。步骤2解压后双击m4s-converter.exeWin或m4s-converter.appMac。首次运行会自动检测并下载所需FFmpeg约50MB无需手动安装。步骤3点击“选择缓存目录”导航至B站App缓存路径如前所述勾选“自动查找index.json”点击“开始转换”。整个过程无命令行界面显示实时进度条和日志。方案BLinux/进阶用户——源码编译与自定义步骤1确保系统已安装Python 3.8 和FFmpegsudo apt install ffmpeg或brew install ffmpeg。步骤2克隆仓库git clone https://github.com/username/m4s-converter.git进入目录cd m4s-converter。步骤3安装依赖pip install -r requirements.txt。注意requirements.txt中的pydub仅用于音频分析可选核心依赖只有ffmpeg-python。步骤4运行主程序python main.py --input /path/to/bilibili/cache --output /path/to/output。支持丰富参数--video-codec h264强制指定视频编码避免自动探测失败--audio-bitrate 192k对AAC音频进行重编码仅当原音频损坏时--threads 4指定FFmpeg并发线程数提升多文件处理速度注意Linux下Android缓存路径需通过ADB挂载。执行adb shell后用run-as命令将缓存复制到PC再运行m4s-converter。直接adb pull会因权限问题失败。4.2 一次完整转换的现场记录以BV1xT4y1z7Qp为例让我们以一个真实案例全程记录m4s-converter的工作流。视频信息BV1xT4y1z7Qp标题《手写神经网络从零实现反向传播》时长22分37秒4K分辨率HEVC编码B站App Android端缓存。Step 1文件定位与检查ADB命令导出缓存adb shell run-as tv.danmaku.bili cp -r /data/data/tv.danmaku.bili/files/cache/uid_114514/cid_1919810/ /sdcard/Download/bv1x/PC端查看ls -l /sdcard/Download/bv1x/显示-rw-rw---- 1 user user 123456789 Oct 26 22:15 1919810_video.m4s -rw-rw---- 1 user user 45678901 Oct 26 22:15 1919810_audio.m4s -rw-rw---- 1 user user 2345 Oct 26 22:15 index.json验证index.jsoncat index.json | head -n 10确认包含{video:{width:3840,height:2160,codec:hev1.1.6.L150.90}HEVC编码确认。Step 2启动转换执行命令python main.py --input /sdcard/Download/bv1x/ --output /home/user/videos/ --log-level DEBUG日志关键片段[INFO] Found index.json, loading metadata... [DEBUG] Video duration from index: 1357000 ms (22:37.00) [DEBUG] Audio duration from index: 1356980 ms (22:36.98) - applying 20ms offset [INFO] Starting FFmpeg: ffmpeg -i 1919810_video.m4s -i 1919810_audio.m4s -c copy -movflags faststart -vsync 0 -async 1 /home/user/videos/BV1xT4y1z7Qp.mp4Step 3结果验证输出文件大小1.23 GB与原始缓存总和123MB45MB168MB差异巨大不这是正常的。.m4s是未索引的裸数据MP4封装后添加了moov、stcoChunk Offset等索引表体积增大是必然的。播放测试用VLC播放CtrlJ查看媒体信息确认视频编码HEVC (Main 10)分辨率3840x2160音频编码AAC (LC)采样率44100 Hz总时长00:22:37.000与index.json一致关键验证用ffprobe -v quiet -show_entries formatduration -of defaultnw1 BV1xT4y1z7Qp.mp4输出1357.000000证明时间戳精准。整个过程耗时87秒CPU占用率峰值65%内存占用280MB。相比在线工具平均8分钟的等待效率提升近6倍。4.3 高级技巧批量处理、HEVC优化与水印去除的边界探讨m4s-converter的强大不仅在于单文件更在于其可扩展性。以下是几个实战中提炼的高级技巧批量处理用Shell脚本自动化百个视频#!/bin/bash # batch_convert.sh CACHE_ROOT/sdcard/Download/bilibili_cache OUTPUT_DIR/home/user/bilibili_archive for dir in $CACHE_ROOT/*/; do if [ -f $dir/index.json ]; then # 提取BV号假设目录名含BV bv$(basename $dir | grep -o BV[0-9a-zA-Z]\{10\}) if [ -n $bv ]; then echo Converting $bv... python /path/to/m4s-converter/main.py \ --input $dir \ --output $OUTPUT_DIR \ --filename ${bv}_$(date %Y%m%d).mp4 \ --log-file /tmp/${bv}.log 2/dev/null fi fi done此脚本可处理数百个缓存目录自动命名日志分离避免单点失败影响全局。HEVC编码优化平衡体积与兼容性B站4K视频多用HEVC但老旧设备如2015年iPad不支持。m4s-converter提供-recode-hevc参数python main.py --input cache_dir --output out_dir --recode-hevc h264 --crf 18--crf 18是视觉无损的黄金值CRF越低画质越好18是FFmpeg推荐的高质量阈值。实测4K HEVC 1.2GB → H.264 1.8GB但兼容性100%覆盖所有设备。关于水印一个必须厘清的边界网络热词中出现“水印版.mp4”引发误解。m4s-converter绝不处理、不移除、不绕过任何B站水印。B站的水印是硬编码在视频帧中的非叠加图层属于内容版权的一部分。试图用OpenCV识别并擦除不仅技术难度极高水印位置、透明度、动态变形更违反《著作权法》第二十四条。m4s-converter的定位是“格式转换”而非“内容修改”。如果你看到标榜“去水印”的所谓“m4s-converter分支”请务必警惕——那已是完全不同的项目且存在法律风险。5. 常见问题与排查技巧实录那些踩过的坑都成了今天的路标5.1 “找不到.m4s文件”90%的失败源于路径与权限的双重迷宫这是新手遇到的第一道墙。现象m4s-converter运行后提示No .m4s files found in specified directory。排查流程必须严格按顺序确认B站App是否真的生成了.m4s进入B站App设置 → 通用 → 缓存设置检查“视频缓存格式”是否为“MP4”。若为“FLV”则只会生成.flv文件m4s-converter无法处理。验证路径是否正确在终端执行ls -la /your/path/。如果返回No such file or directory说明路径错误。Android路径务必用ADB确认不要凭记忆输入。检查文件权限ls -l查看文件权限。若显示----------全无权限则需ADB命令adb shell chmod 644 /sdcard/Download/bv1x/*.m4s。排除隐藏文件干扰某些文件管理器会隐藏以.开头的文件如.nomedia。m4s-converter默认跳过隐藏文件但index.json若被误命名为.index.json就会失效。用ls -la确认。实操心得曾有位用户反馈“死活找不到文件”最后发现他用的是华为手机B站App缓存被强制存入Huawei/Cache/目录而非标准路径。m4s-converter的--search-depth参数可设为3让其递归搜索三层子目录成功解决问题。5.2 “音画不同步”时间戳重建失败的三种典型场景音画不同步是第二大痛点。根源几乎都出在元数据重建环节场景1index.json缺失且.m4s文件损坏现象视频播放正常但音频慢0.8秒且随时间推移偏移加剧。原因.m4s文件在缓存过程中被中断导致最后一个分片的moof结构不完整tfdt时间戳读取错误。解决用ffmpeg -i broken.m4s -c copy -f null -检查是否报错Invalid data found when processing input。若报错此文件已损坏需重新缓存。场景2HEVC编码的timescale解析错误现象音频快于视频偏移固定为1.0秒。原因HEVC的timescale通常为90000对应90kHz时钟而H.264为1000。m4s-converter若误判为H.264会导致时间戳放大90倍。解决强制指定编码--video-codec hevc或升级m4s-converter至v2.3.0该版本加入了codec auto-detect模块。场景3音频分片数量与视频不匹配现象视频播完后音频继续播放10秒空白。原因B站有时会为音频单独生成更多分片如背景音乐延长index.json中audio.fragments数量 video.fragments。解决m4s-converter的--sync-mode strict参数会截断多余音频--sync-mode loose则保留全部由FFmpeg自动处理。5.3 “转换后文件无法播放”MP4封装的隐性雷区文件生成了但双击打不开或播放器报错“文件损坏”。这通常不是m4s-converter的问题而是封装细节的坑问题QuickTime报错“无法打开因为文件已损坏”原因macOS QuickTime对MP4的ftypboxFile Type要求严格。B站.m4s的ftyp是iso6而标准MP4应为isom。解决添加FFmpeg参数-brand isom即ffmpeg -i v.m4s -i a.m4s -c copy -brand isom out.mp4。m4s-converterv2.4.0已默认启用。问题微信/钉钉内无法预览原因这些App的内置播放器要求MP4必须有moov在前且moovsize 64KB。大视频的moov可能超限。解决用ffmpeg -i in.mp4 -c copy -movflags faststart -max_interleave_delta 0 out.mp4重写。-max_interleave_delta 0强制FFmpeg紧凑排列数据块。问题播放时画面撕裂、马赛克原因.m4s文件中存在B帧双向预测帧而某些老旧播放器如Windows Media Player对B帧支持不佳。解决--recode-video h264 --preset slow --tune film用高质量预设重编码减少B帧依赖。5.4 常见问题速查表一句话定位三步解决问题现象可能原因快速诊断命令解决方案PermissionError: [Errno 13] Permission deniedAndroid权限未开启adb shell ls -l /sdcard/Download/在手机设置中开启B站App的“媒体权限”ERROR: No index.json found, and binary parsing failed缓存文件不完整或损坏head -c
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

豆包网页版批量删除历史对话:三种技术路线与实操指南 2026/9/26 8:17:29

豆包网页版批量删除历史对话:三种技术路线与实操指南

1. 为什么“批量删除历史对话”是个真需求豆包网页版用久了,侧边栏的历史对话会像滚雪球一样越积越多。我自己的账号用了不到三个月,侧边栏就攒了四百多条记录,往下翻的时候浏览器明显卡顿,找一条上周的对话得滚动半天。更麻烦的是…

阅读更多 →
VMware虚拟机磁盘空间清理与压缩全攻略:从原理到实战 2026/9/26 8:17:29

VMware虚拟机磁盘空间清理与压缩全攻略:从原理到实战

1. 虚拟机磁盘为什么会越用越大用 VMware Workstation 的人基本都会碰到同一个问题:虚拟机用着用着,宿主机上的那个文件夹就膨胀到几十个 G,明明虚拟机里删了一堆东西,宿主机上的 vmdk 文件却一点没变小。我自己的主力开发机上有三…

阅读更多 →
提示词工程实战:用Claude Code模板体系固化AI协作规范 2026/9/26 8:17:29

提示词工程实战:用Claude Code模板体系固化AI协作规范

我是在一个周四下午决定认真折腾claude-code的 templates 体系的。起因很朴素:连续三个项目,每次新建会话都要重新跟 AI 解释一遍"我们的技术栈是什么、错误处理怎么约定、哪些目录不能乱动"。本来以为多打几句提示词就行,结果发现…

阅读更多 →
reconFTW 弹性恢复与超时安全:`.inprogress` 哨兵、磁盘满防护与并行作业超时机制深度解析 2026/9/26 8:17:29

reconFTW 弹性恢复与超时安全:`.inprogress` 哨兵、磁盘满防护与并行作业超时机制深度解析

渗透测试网络安全应用安全 【免费下载链接】reconftw reconFTW is a tool designed to perform automated recon on a target domain by running the best set of tools to perform scanning and finding out vulnerabilities 项目地址: https://gitcode.com/gh_mir…

阅读更多 →
离线OCR与本地大模型实战:从扫描件到可检索文本的完整方案 2026/9/26 8:17:29

离线OCR与本地大模型实战:从扫描件到可检索文本的完整方案

1. 为什么要把识别和大模型搬回本机 1.1 从一次断网办公说起 上个月帮一个做专利代理的朋友处理一批技术交底书,大概两百多页扫描件,需要提取里面的文字做检索比对。本来想直接用在线OCR接口跑一遍就完事,结果他们单位的网络策略比较特殊&am…

阅读更多 →
从提示词到技能包:Agent工程化落地的完整实践 2026/9/26 8:17:23

从提示词到技能包:Agent工程化落地的完整实践

如果你最近一直在折腾大模型应用,可能已经注意到一个趋势:单靠“提示词写得好”已经不够用了,Agent(智能体)的工程化能力成了新的分水岭。而在这个赛道上,“agent-skills”这个词出现的频率越来越高。简单说…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉