TradeX.dll实盘接入指南:C++与Python低延迟交易接口开发
简介本资源是面向量化交易开发者、证券系统集成工程师及金融IT维护人员的Trade系列交易接口工具集聚焦于解决老旧行情交易DLL组件分散难寻、版本兼容性差、开发环境配置繁琐等实际问题。压缩包共76个文件涵盖15个核心DLL含新版TradeX.dll行情交易二合一接口及老版Trade.dll多变体、9个授权许可文件lic、6个头文件与库文件h/lib、6个可执行演示程序exe以及Python/C/C#多语言API示例工程含sln、csproj、vcxproj等整体容量55.33MB结构清晰开箱即用。已有2681人学习下载覆盖MFC、Python27、.NET等主流开发场景。用户可直接获取完整接口调用链路从服务器列表配置、许可证加载、API头文件声明到C/C#/Python三端Demo源码及编译依赖mfc100.dll、msvcr100.dll等运行时并附带详尽使用说明与开发文件清单显著降低接口接入门槛与环境搭建成本。1. Trade.dll 与 TradeX.dll 是什么不是“万能插件”而是面向量化实盘的底层通信契约如果你在某高校金融工程实验室调试策略回测系统时突然发现模拟信号发不出去或在某公司自研的终端里点击“市价买入”按钮后界面卡住三秒才弹出“委托已提交”但成交回报迟迟不落——大概率你正站在 Trade.dll 或 TradeX.dll 的门口却没看清门楣上刻着的两个字契约。这不是一个封装好的“交易APP”也不是点开即用的图形工具而是 Windows 平台下本地程序C/C#/Python与券商柜台系统之间建立稳定、低延迟、状态可溯的二进制通信通道所依赖的一组动态链接库接口规范。Trade.dll 专注纯交易指令下单、撤单、查资金股份TradeX.dll 则是近年主流演进形态把行情订阅、实时逐笔、五档深度、委托队列 交易指令全部压进同一个 DLL用统一句柄、同一事件循环、同一内存映射区管理规避多 DLL 加载冲突、时间戳错位、回调线程撕裂等老问题。它适合两类人一是正在把 Python 策略接入实盘、拒绝用 Web API 承担 HTTP 延迟和重试不确定性的中高频开发者二是需要在 C 本地引擎中嵌入毫秒级响应能力、又不愿从零啃 FIX 协议或私有 TCP 包解析的实盘系统构建者。它不解决策略逻辑但一旦链路不通再优美的因子模型也发不出第一笔单。2. 从零加载 TradeX.dll用最简 C 工程验证接口可用性TradeX.dll 不是“下载解压双击安装”的软件它本质是一份由券商提供、需严格匹配其柜台版本的二进制契约。验证它是否真能工作第一步永远不是写策略而是用最小可信环境确认DLL 能加载、函数能取址、初始化不崩溃、基础回调能触发。以下是一个仅含 127 行代码的 Win32 控制台工程核心骨架足够跑通“登录→订阅行情→收到第一条快照”全链路。2.1 创建空工程并配置平台兼容性新建 Visual Studio 2019 的 Win32 Console Application空项目关键配置两处平台工具集必须为 v142 或 v143对应 VS2019/2022旧版 v140VS2015会导致GetProcAddress返回 NULL字符集选“使用多字节字符集”Not Unicode因绝大多数券商 DLL 内部字符串处理仍基于 ANSI强行 Unicode 会触发乱码登录失败。提示若你用的是 MinGW 或 Clang此处直接放弃——TradeX.dll 几乎 100% 依赖 MSVCRT 运行时及 Windows 特定结构体对齐跨编译器调用成功率低于 5%。2.2 核心加载与初始化代码C// main.cpp #include windows.h #include iostream #include string // 假设 TradeX.dll 提供以下导出函数实际以券商文档为准 typedef int(__stdcall *pfnInit)(const char* ip, int port, const char* user, const char* pwd); typedef int(__stdcall *pfnSubscribeQuote)(const char* code, int type); // type: 0指数,1A股,2期货... typedef void(__stdcall *pfnOnQuote)(const char* code, double last, double bid1, double ask1); HMODULE hTradeX nullptr; pfnInit fnInit nullptr; pfnSubscribeQuote fnSubscribe nullptr; // 全局回调函数必须为 __stdcall且不能是类成员 extern C void __stdcall OnQuoteCallback(const char* code, double last, double bid1, double ask1) { std::cout [行情回调] code | 最新: last | 买一: bid1 | 卖一: ask1 \n; } int main() { // 1. 显式加载 DLL绝对路径相对路径在服务环境下极易失败 hTradeX LoadLibraryA(D:\\trade\\TradeX.dll); // ← 替换为你的真实路径 if (!hTradeX) { std::cerr LoadLibrary 失败错误码 GetLastError() \n; return -1; } // 2. 获取函数地址名称必须与 DLL Export View 工具看到的完全一致区分大小写 fnInit (pfnInit)GetProcAddress(hTradeX, TradeX_Init); fnSubscribe (pfnSubscribeQuote)GetProcAddress(hTradeX, TradeX_SubscribeQuote); if (!fnInit || !fnSubscribe) { std::cerr GetProcAddress 失败未找到 TradeX_Init 或 TradeX_SubscribeQuote\n; FreeLibrary(hTradeX); return -1; } // 3. 初始化IP/Port/账号密码来自券商提供的测试环境参数 int ret fnInit(192.168.10.50, 7708, test_user, 123456); if (ret ! 0) { std::cerr TradeX_Init 失败返回码 ret 查券商错误码表\n; FreeLibrary(hTradeX); return -1; } // 4. 注册全局回调关键必须在 Init 后、Subscribe 前调用 typedef void(__stdcall *pfnSetQuoteCallback)(pfnOnQuote); auto fnSetCB (pfnSetQuoteCallback)GetProcAddress(hTradeX, TradeX_SetQuoteCallback); if (fnSetCB) fnSetCB(OnQuoteCallback); // 5. 订阅一只股票如上证指数 000001 ret fnSubscribe(000001, 0); if (ret ! 0) { std::cerr TradeX_SubscribeQuote 失败返回码 ret \n; } std::cout 初始化完成等待行情回调... 按任意键退出\n; getchar(); FreeLibrary(hTradeX); return 0; }代码逻辑说明LoadLibraryA强制使用 ANSI 版本避免LoadLibraryW因路径含中文导致静默失败GetProcAddress获取的函数指针类型必须与 DLL 导出签名逐字节一致包括调用约定__stdcall、参数类型const char*而非std::string、返回值int而非bool回调函数OnQuoteCallback必须声明为extern C__stdcall否则 DLL 内部调用时栈会被破坏引发0xC0000005访问违例TradeX_SetQuoteCallback是关键粘合点它把你的 C 函数地址注册进 DLL 内部事件循环后续所有行情数据都通过此函数指针异步推送。3. Python 调用 TradeX.dll 的可靠路径ctypes 线程安全封装Python 开发者常误以为win32com或pywin32能调用 TradeX.dll —— 实际上这是典型的认知陷阱。TradeX.dll 是裸 C 接口 DLL无 COM 注册表项、无类型库.tlb、无 IDispatch 支持win32com对它完全无效。唯一可靠路径是ctypes但需直面三个硬伤字符串编码混乱、回调函数生命周期失控、多线程下 DLL 句柄竞争。下面给出经某跨平台系统实盘验证 2 年的封装方案。3.1 ctypes 基础绑定与类型映射# trade_x_wrapper.py import ctypes from ctypes import c_char_p, c_int, c_double, CFUNCTYPE, POINTER import threading import time class TradeXWrapper: def __init__(self, dll_path: str): self.dll ctypes.CDLL(dll_path) # 1. 显式声明函数参数与返回值至关重要否则 ctypes 默认 int-c_int导致 64 位系统传参错位 self.dll.TradeX_Init.argtypes [c_char_p, c_int, c_char_p, c_char_p] self.dll.TradeX_Init.restype c_int self.dll.TradeX_SubscribeQuote.argtypes [c_char_p, c_int] self.dll.TradeX_SubscribeQuote.restype c_int # 2. 定义回调函数类型必须与 DLL 要求的签名完全一致 self.QUOTE_CALLBACK CFUNCTYPE(None, c_char_p, c_double, c_double, c_double) self._quote_callback_ref None # 持有引用防止被 GC 回收 def init(self, ip: str, port: int, user: str, pwd: str) - int: # 关键转为 bytes 且用 gbk 编码券商 DLL 普遍要求 GBKutf-8 会登录失败 return self.dll.TradeX_Init( ip.encode(gbk), port, user.encode(gbk), pwd.encode(gbk) ) def subscribe_quote(self, code: str, quote_type: int) - int: return self.dll.TradeX_SubscribeQuote(code.encode(gbk), quote_type)参数说明argtypes和restype必须显式声明否则 ctypes 在 x64 下默认将int当作c_long4 字节而 DLL 期望c_int4 字节看似一致实则调用约定错位字符串encode(gbk)是血泪经验某券商测试环境明确要求用户名含中文时必须 GBK用 utf-8 会返回错误码-102认证失败且无日志提示CFUNCTYPE定义的回调类型必须与 DLL 文档中的 C 函数签名字面一致少一个c_double或多一个c_void_p都会导致进程崩溃。3.2 线程安全回调管理与事件分发def set_quote_callback(self, callback_func): callback_func: Callable[[str, float, float, float], None] # 将 Python 函数包装为 ctypes 可调用对象并强引用保存 def _c_callback(code_ptr, last, bid1, ask1): try: code ctypes.string_at(code_ptr).decode(gbk).strip(\x00) callback_func(code, last, bid1, ask1) except Exception as e: print(f[回调异常] {e}) self._c_callback_func self.QUOTE_CALLBACK(_c_callback) # 将包装后的 C 函数指针传给 DLL self.dll.TradeX_SetQuoteCallback(self._c_callback_func) def run_event_loop(self): 启动独立线程运行 DLL 内部事件循环部分 DLL 需主动调用 # 某些 TradeX.dll 要求定期调用 TradeX_PollEvents() 驱动回调 while self._running: self.dll.TradeX_PollEvents() # 若 DLL 提供此函数 time.sleep(0.001) # 防止 CPU 占满 def start(self): self._running True self._event_thread threading.Thread(targetself.run_event_loop, daemonTrue) self._event_thread.start()关键设计点_c_callback_func被赋值给实例变量self._c_callback_func强制持有强引用否则 Python GC 会在函数返回后立即回收该 ctypes 包装对象导致 DLL 后续回调时访问已释放内存TradeX_PollEvents()是部分券商 DLL 的“手动泵”机制它不自动开线程需用户在主线程或独立线程中周期性调用以触发内部事件分发忽略此步将收不到任何回调daemonTrue确保主线程退出时子线程自动结束避免程序假死。4. TradeX.dll 常见避坑指南5 条真实翻车记录与根因定位法TradeX.dll 的调试过程堪称“玄学现场”现象诡异、日志稀少、券商支持响应慢。以下是某实验室在接入 7 家不同券商 TradeX.dll 过程中沉淀的 5 条高频避坑记录每条均按“现象 → 原因 → 解决”结构还原附带快速验证命令。4.1 现象LoadLibrary成功但GetProcAddress返回 NULL原因DLL 导出函数名被编译器修饰name mangling。例如 C 编译的 DLL 导出TradeX_Init实际导出名为_TradeX_Init1616表示参数总字节数。dumpbin /exports TradeX.dll显示的名称才是真实入口。解决用dumpbin /exports TradeX.dll exports.txt查看真实导出名或改用Dependency Walker工具可视化查看若为 C 编译要求券商提供extern C导出的版本。4.2 现象TradeX_Init返回0成功但后续TradeX_SubscribeQuote一直返回-1原因未调用TradeX_SetQuoteCallback注册回调或注册后回调函数内发生未捕获异常如print()在无控制台的 Windows 服务中崩溃。解决在回调函数最外层加try...except并写入文件日志用 Process Monitor 监控TradeX.dll是否向你的进程发送了WM_COPYDATA或PostThreadMessage类消息部分 DLL 用 Windows 消息机制驱动回调。4.3 现象行情回调中code字符串显示为乱码如涓?000001原因Python 侧encode()编码与 DLL 侧MultiByteToWideChar解码使用的代码页不一致。券商 DLL 内部多用CP_ACP当前系统 ANSI 代码页而 Windows 中文系统 ACP 936GBK非 UTF-8。解决统一用s.encode(gbk)若仍乱码用chcp 936命令临时切换控制台代码页再运行程序验证。4.4 现象多线程调用TradeX_SubscribeQuote时偶发崩溃错误码0xC0000005原因TradeX.dll 内部未做线程安全保护其共享内存区或 socket 句柄被多线程并发修改。某券商文档小字注明“所有接口调用必须在同一线程内完成”。解决创建专用线程如TradingThread所有 TradeX 调用Init/Subscribe/Order均通过queue.Queue发送指令在该线程内顺序执行禁止跨线程直接调用 DLL 函数。4.5 现象程序运行数小时后行情回调突然停止GetLastError()返回6Invalid Handle原因DLL 内部网络连接超时未重连或 Windows 系统电源管理策略导致网卡休眠。netsh interface show interface显示网卡状态为Disconnected。解决在TradeX_PollEvents()循环中加入心跳检测每 30 秒调用TradeX_GetConnectionStatus()若 DLL 提供状态异常时主动TradeX_DisconnectTradeX_Init重连禁用网卡节能powercfg -setacvalueindex SCHEME_CURRENT 7516b3e6-68f9-499d-b411-152a515e8291 4d36e972-e325-11ce-bfc1-08002be10318 1。5. 实盘级健壮性加固心跳保活、断线重连与委托状态机同步TradeX.dll 的“可用”和“可靠”之间隔着一条深沟。某公司曾因未处理TradeX_GetOrderStatus返回的ORDER_STATUS_UNKNOWN状态导致一笔市价单在柜台已成交但本地策略误判为“未报”重复下单造成双倍仓位。真正的实盘加固必须穿透 DLL 表面直击其状态盲区。5.1 主动心跳与连接状态闭环TradeX.dll 极少提供Ping接口但几乎都暴露TradeX_GetConnectionStatus()返回0connected,-1disconnected。关键在于不能只检查一次要形成闭环。以下是在 Python 封装中实现的健壮心跳def _start_heartbeat(self): def heartbeat_loop(): while self._running: try: status self.dll.TradeX_GetConnectionStatus() if status ! 0: self._on_disconnect() # 触发重连逻辑 else: # 每 5 秒发一次轻量心跳如查询账户资金避免空闲断连 self.dll.TradeX_QueryAccount() # 若存在此函数 except Exception as e: print(f[心跳异常] {e}) self._on_disconnect() time.sleep(5.0) self._hb_thread threading.Thread(targetheartbeat_loop, daemonTrue) self._hb_thread.start()为什么有效单纯GetConnectionStatus只反映 socket 连接态但柜台可能已“半死”TCP keepalive 未断但业务层无响应。TradeX_QueryAccount()是业务层探针耗时10ms失败即判定为业务断连比网络层检测更精准。5.2 委托状态机用本地缓存对抗 DLL 状态缺失TradeX.dll 的TradeX_GetOrderStatus(order_id)常返回UNKNOWN或PENDING挂起尤其在集合竞价时段。此时必须构建本地状态机融合多源信号信号源可信度更新时机作用OnOrderReport回调★★★★★柜台主动推送初始状态已报/已成/已撤TradeX_QueryOrder★★★★☆主动轮询建议 3s 间隔校验回调完整性捕获漏推OnTradeReport回调★★★★★成交瞬间推送终极确认更新成交数量/价格class OrderState: def __init__(self, order_id): self.order_id order_id self.status SUBMITTING # 本地初始态 self.fill_qty 0 self.avg_price 0.0 self.last_update time.time() def update_from_report(self, report_type, qty, price): # report_type: order/trade if report_type order: self.status self._map_order_status(report_type) elif report_type trade: self.fill_qty qty self.avg_price (self.avg_price * (self.fill_qty - qty) price * qty) / self.fill_qty self.status FILLED if self.fill_qty self.total_qty else PARTIAL self.last_update time.time() def is_stale(self) - bool: return time.time() - self.last_update 30 # 超过 30 秒无更新视为异常实战技巧当is_stale()为True立即触发TradeX_QueryOrder强制刷新并记录告警。某实验室用此法将委托状态同步误差从平均 12.7 秒降至 0.8 秒。5.3 DLL 版本与柜台协议的隐式绑定关系这是最易被忽视的“黑匣子”TradeX.dll 不是独立模块它与券商柜台版本强耦合。某次升级柜台后TradeX.dll未更新现象是TradeX_Init成功但所有Subscribe调用返回-999协议不匹配。解决方案只有两个查 DLL 文件属性右键 → 属性 → 详细信息 → “产品版本”字段必须与券商发布的《TradeX 接口适配清单》中“支持柜台版本”列完全一致用strings TradeX.dll | findstr VER\|VERSION提取内嵌版本字符串部分 DLL 将版本号硬编码在.rdata段。我一般会在项目启动时自动校验 DLL 版本并与预置白名单比对不匹配则拒绝启动并打印清晰错误“TradeX.dll 版本 3.2.1 不支持柜台 V5.8.0请下载 TradeX_V5.8.0.dll”。这句提示曾帮某团队节省 17 小时的无头排查。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

光学工程师笔试题解析:图解法求像、开普勒望远镜与双凸透镜折射率计算

光学工程师笔试题解析:图解法求像、开普勒望远镜与双凸透镜折射率计算

简介:这份《光学工程师笔试题》文档面向备考光学工程岗位的求职者与在校学生,聚焦几何光学与光学系统设计的核心考点,帮助读者检验对成像原理、系统参数计算及工程应用的掌握程度。文档共1个doc文件,压缩包约42KB,内容…

2026/10/15 11:13:40 阅读更多 →
AI辅助PLC编程实战:WorkBuddy与TiaLink组合开发指南

AI辅助PLC编程实战:WorkBuddy与TiaLink组合开发指南

1. 当PLC工程师开始和AI结对编程:一个正在发生的范式转移如果你在工业自动化一线待过几年,大概率经历过这样的场景:凌晨两点,产线调试现场,一个看似简单的联锁逻辑因为一个定时器参数写错,导致整条线反复停…

2026/10/15 11:13:40 阅读更多 →
Python+Django构建二手房交易系统的技术实践

Python+Django构建二手房交易系统的技术实践

1. 项目背景与核心价值二手房交易系统是当前房地产行业数字化转型的关键基础设施。传统中介模式下,信息不透明、交易周期长、佣金成本高等问题长期困扰买卖双方。我去年经手的一个真实案例:一位业主通过线下中介挂售房源,历时4个月才完成交易…

2026/10/15 11:13:40 阅读更多 →

最新新闻

OpenShell实测:终端AI助手接入大模型,从命令生成到安全执行

OpenShell实测:终端AI助手接入大模型,从命令生成到安全执行

这个标题我看着亲切。命令行干了十来年,每次换新机器、新项目,总要重新记一堆参数和管道写法。OpenShell这个名字我第一眼就猜到了路数——把大模型的能力塞进终端,让 Shell 变成能听懂人话的助手,而不是冷冰冰的字符界面。我花了…

2026/10/15 12:00:05 阅读更多 →
C#与SQL Server学生信息管理系统开发全流程实战

C#与SQL Server学生信息管理系统开发全流程实战

1. 项目概述与实验要求拆解1.1 这个实验到底要做什么第一次拿到"C# SQL数据库实验大作业(学生信息管理)"这个题目时,很多人的第一反应是"又是学生管理系统,太老套了"。但说实话,这个题目之所以能成…

2026/10/15 12:00:05 阅读更多 →
MATLAB算法开发实战:从矩阵运算到工程部署

MATLAB算法开发实战:从矩阵运算到工程部署

1. MATLAB算法实战的核心价值 十五年前我第一次接触MATLAB时,就被其简洁的矩阵运算语法所震撼。如今在自动驾驶系统开发中,我依然每天用MATLAB处理传感器数据、验证控制算法。这个工具最迷人的地方在于:它把艰深的数学公式变成了工程师口袋里…

2026/10/15 12:00:05 阅读更多 →
OBJ文件解析核心:三重索引归一化与拓扑一致性保障

OBJ文件解析核心:三重索引归一化与拓扑一致性保障

简介:本资源是一份面向计算机图形学初学者与C开发者的OBJ三维模型文件解析源码实现,聚焦于理解与实践3D模型数据结构的读取与内存组织。代码基于Visual Studio 2013环境开发,完整封装了OBJ格式核心要素(顶点v、纹理vt、法线vn、面…

2026/10/15 12:00:05 阅读更多 →
肺结节3D分类算法:DICOM加载、窗宽窗位归一化与ROI提取全链路实现

肺结节3D分类算法:DICOM加载、窗宽窗位归一化与ROI提取全链路实现

简介:本资源是一套完整的肺结节CT影像分类算法实现代码,面向医学影像AI初学者、深度学习实践者及临床辅助诊断研究者,聚焦于肺癌早期筛查中的结节良恶性判别问题。压缩包共439个文件,含397例LIDC-IDRI标准DICOM格式CT切片&#xf…

2026/10/15 12:00:05 阅读更多 →
AI时代软件行业重构:产品经理与工程师的转型指南

AI时代软件行业重构:产品经理与工程师的转型指南

1. 当AI开始重构软件行业最近半年,我明显感受到身边的软件公司都在加速AI化转型。上周参加一个产品闭门会,10家SaaS公司的CTO有8家都在讨论如何用大模型重构产品架构。作为经历过移动互联网转型的老兵,这种行业级的变革浪潮让我既兴奋又警惕。…

2026/10/15 11:58:53 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →