2026年2月

OpenClaw “之父”加入 OpenAI

 

刚刚,OpenAI CEO Sam Altman 在 x 上宣布,顶流开源项目 OpenClaw 的创始人 Peter Steinberger 将加入 OpenAI,致力于推动下一代个人智能体的研发。Altman 在 x 上发帖写道:

 

“他是一位天才,对未来智能体如何相互协作、为人们提供实用服务有着许多令人惊叹的构想。我们预计这将很快成为我们产品的核心。

 

OpenClaw 将以开源项目的形式存在于基金会中,OpenAI 也将继续为其提供支持。未来将是高度多智能体化的时代,而支持开源是我们实现这一目标的重要组成部分。”

 

 

就在几天前,Peter Steinberger 曾做客了一档访谈栏目,在访谈中他分享了自己和项目一夜成名后的经历。

 

他回忆了那段不仅被 Anthropic 追着要求改名,还遭遇加密社区的恶意骚扰、账号抢注与恶意软件散布的经历,直言他精神几近崩溃甚至想放弃项目。最终通过精密的 “作战式” 操作将项目定名为 OpenClaw 并完成全平台改名。

 

此外,他透露项目目前处于亏损状态,靠捐赠和少量企业支持,无法长期持续。爆红后,他收到了 OpenAI、Meta 等大厂收购与合作意向,Peter 正在艰难选择,但他的要求是项目要保持开源。

 

“Meta 这边,Ned 和 Mark 会亲自试用产品、写代码、给反馈,还会和我争论技术细节;OpenAI 的算力和技术速度非常吸引人。我在 OpenAI 没有熟人,但和双方沟通都很愉快。这大概是我除了过去感情经历外,最难做的决定之一。”Peter 说道。

 

此外,在采访中 Peter 还透露,他眼中,OpenAI 很懂规模化,能把 OpenClaw 的技术安全地推广给更多人。他补充说:

 

“有人使用产品、真心在乎它,就是最大的赞美。我做这一切不是为了钱,而是为了乐趣和影响力。”

 

如今,他做出了最终决定,正式加入 OpenAI。

 

Peter 在 x 上写道:我要加入 OpenAI,让每个人都能接触到 Agent。 OpenClaw 正在成为一个基金会:开放、独立,并且才刚刚起步。

 

他还发表了一篇长文阐述了他为何做此决定。文章全文如下:

 

简而言之:我将加入 OpenAI ,致力于让所有人都能使用智能体。OpenClaw 将转为基金会,并保持开放和独立。

 

过去一个月简直像一场旋风,我做梦也没想到我的游乐场项目会引起这么大的反响。网络世界又开始热闹起来了,看到我的作品激励了世界各地这么多人,真是太有趣了。

 

无数的可能性向我敞开,无数人试图引导我走向不同的方向,给我提建议,问我如何投资,或者我打算做什么。说这一切令人不知所措都算是轻描淡写了。

 

我最初探索人工智能的目标是获得乐趣并启发人们。而现在,OpenClaw 正在席卷全球。我的下一个目标是打造一款连我妈妈都能使用的智能体。这需要更广泛的变革,更深入地思考如何安全地实现,以及获取最新的模型和研究成果。

 

是的,我完全能理解 OpenClaw 未来发展成一家巨头公司的可能性。不过,这对我来说并没有什么吸引力。我本质上是个实干家。我已经经历过创建公司的整个过程,投入了 13 年的时间,也学到了很多东西。我想要的是改变世界,而不是打造一家大公司,而与 OpenAI 合作是实现这一目标最快的途径。

 

我上周在旧金山与各大实验室进行了交流,接触到了相关人员和尚未公开的研究成果,这在各个方面都令我深受启发。我要感谢本周与我交流的所有人,并感谢他们提供的机会。

 

对我来说,OpenClaw 保持开源并拥有自由发展的空间一直至关重要。最终,我认为 OpenAI 是继续推进我的愿景并扩大其影响范围的最佳平台。我与 OpenAI 的同事们交流越多,就越发清楚地意识到我们拥有相同的愿景。

 

OpenClaw 社区充满活力,令人着迷。OpenAI 也做出了强有力的承诺,让我能够全身心投入其中,并且已经为该项目提供了赞助。为了让它拥有更完善的架构,我正在努力将其打造为一个基金会。它将继续为思想家、技术专家以及所有希望掌控自身数据的人们提供一个交流的平台,目标是支持更多模型和公司。

 

我个人非常兴奋能够加入 OpenAI,成为人工智能研发前沿领域的一份子,并继续与大家一起努力。

网友怎么看?

围绕 OpenClaw 项目的最新进展,社区内部迅速形成了截然不同的声音。

 

在 x 上,一部分用户首先对权限边界问题表达了明确担忧。有网友直言,如果 OpenClaw 未来允许 OpenAI 访问用户的电子邮件、银行账户甚至个人电脑,那么这个产品将很难被真正采用,“几乎不会有人愿意继续使用它”。在他们看来,个人智能体一旦深入到高敏感数据层,其风险将远高于传统聊天式模型。

 

但与此同时,也有长期用户给出了几乎相反的评价。一位已经连续数周每天运行 OpenClaw 的用户表示,多智能体之间的协作能力,是该项目最突出的优势之一,已经明显领先于目前市面上的其他同类产品。在他看来,如果 OpenAI 能够持续将工程与算力资源投入到这一方向,“个人智能体领域可能会在很短时间内发生结构性变化”。这类评论中,不乏对项目未来潜力的高度期待,甚至有人直接将其称为“令人难以置信的合作”。

 

更为理性的声音,则集中在治理与审计机制上。

 

有网友指出,将“个人代理”作为核心产品形态,本身就是一次重大的产品范式转变,而真正的难点并不在能力本身,而在制度设计:代理究竟可以访问哪些数据?用户是否能够完整查看操作日志?默认的审计追踪机制是否足够细粒度、可回溯?

 

在他们看来,如果这些问题缺乏清晰答案,即便技术成熟,个人代理依然难以跨越信任门槛。

此外,还有一位从项目早期便参与其中的开发者给出了更偏内部视角的评价。他表示,即使只是参与 OpenClaw 的开发过程,本身就是一次极具价值的学习经历。从技术视野、工程方法到对个人智能体未来形态的理解,这段经历都让他受益匪浅。“加入 OpenAI 是一个正确的选择”,他这样总结道。

 

以上种种讨论,都折射出一个清晰信号:OpenClaw 所代表的,并不仅是一款新产品,而是一种正在逼近现实的个人智能体愿景。而围绕这一愿景,行业正在同时经历兴奋、犹疑与审慎三种情绪的拉扯。

 

点赞 + 关注 + 收藏 = 学会了

整理了一个NAS小专栏,有兴趣的工友可以关注一下 👉 《NAS邪修》

80h5 是一款集合了80款经典小游戏的平台,聚合了植物大战僵尸、捕鱼达人、消消乐等海量经典休闲 H5 小游戏。但虽然它叫 H5,我实测过部分游戏在移动端有点兼容问题,PC 端没问题。

我这次使用的是群晖的 NAS,其他品牌的 NAS 操作步骤也差不多。

首先在“File Station”里找到“docker”文件夹,然后在里面创建一个“80h5”文件夹。

接着打开“Container Manager”,创建一个项目。

项目名称填“80h5”。路径选择刚刚创建好的 /docker80h5

然后输入以下代码:

services:
  80h5-game:  
    container_name: 80h5  
    image: ghcr.io/liangminmx/80h5:latest
    restart: always
    ports:
      - 3456:3080

我给 80h5 配置了一个 3456 端口,你也可以配置其他数字。

“通过 Web Station 设置网页门户”这项可以不勾。

等 80h5 项目构建完成后,打开浏览器,输入 你NAS的IP:3456 就可以玩游戏了。


以上就是本文的全部内容啦,有疑问可以在评论区讨论~

想了解更多NAS玩法可以关注《NAS邪修》👏

点赞 + 关注 + 收藏 = 学会了

我发现我内心对 v 站的定位绝对美化了。

论坛,他就是论坛,一定会有那种戾气重的人,上来就喷的人。

是我自己错误地以为这里都是真善美。

以后少发,多看书吧,书里不会有键盘侠。

点赞 + 关注 + 收藏 = 学会了

整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》

n8n作为开源灵活的工作流自动化工具,被广泛用于本地部署和容器化部署场景。但默认情况下,n8n 默认使用 America/New York 时区,若未配置本地时间,会导致定时工作流执行偏差、日志时间混乱、时间相关节点(如Schedule Trigger、Current Date)输出异常等问题,严重影响工作流的准确性和可维护性。

比如,使用代码节点,用 $now 输出当前时间。我电脑的时间是2026年2月13日下午2点22分。而 n8n 输出的时间却是 2026年2月13日凌晨1点22分,这显然不对。

每一个工作流都可以单独设置时区。

点击工作流面板上方的三个点,找到“Settings”。

把「Timezone」设置成 Asia/Shanghai 就变成国内的时区了。

此时再试试输出当前时间,就对得上了~


以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏

如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》

点赞 + 关注 + 收藏 = 学会了

本文将详细介绍如何利用字节AI生态的Trae(总控台)、Seed(模型)、Seedance2.0(视频生成)、MCP(协议)、Skills(技能库) 五合一联动,快速生成高质量漫短剧,包含零代码基础版全自动化高阶版两种方案,新手也能轻松上手。


一、核心工具定位与协同关系

这五个工具形成了AI自主工作的"大脑-技能库-神经链路-执行终端"闭环,各司其职又高度协同:

工具定位核心功能
Trae指挥中心自然语言转代码、任务拆解、Plan规划功能,负责接收需求并统筹全局
Seedance2.0执行终端字节王牌视频生成模型,生成1080p电影级视频,支持15秒高清输出
Skills标准化技能库植入视频生成规范(提示词模板、参数要求),确保AI执行任务符合标准
MCP神经传导协议连接各工具的桥梁,实现Trae与Seedance2.0无缝联动,无需人工操作
Seed模型底座提供基础AI能力支持,包含图像生成(Seedream)和视频生成(Seedance)两大模块

简单流程:Trae拆解需求→调用Skills规范→通过MCP联动Seedance2.0→自动生成漫短剧


二、前期准备(5分钟必做)

1. 账号与平台准备

  • 注册字节账号,开通火山方舟平台权限,获取Seedance2.0的API_KEY、SECRET_KEY和官方API端点
  • 下载安装Trae IDE(字节免费AI编程工具),支持Windows/Mac/Linux系统
  • 准备豆包App(最新版本)或即梦AI平台账号,用于Seedance2.0可视化操作

2. Skills配置(给AI定执行标准)

  1. 打开Trae→进入Skills中心→点击导入技能→选择"自定义导入"
  2. 输入Seedance2.0专属技能规范(直接复制):

    提示词模板: {风格},{场景},{时长}秒,{分辨率},16:9画幅,negative_prompt:模糊、低画质、穿帮、变形
    视频参数标准: 默认1080p、10-15秒、16:9/9:16可选
    后处理要求: 生成视频后自动校验画质,输出下载链接并保存日志
  3. 命名为"Seedance2.0视频生成规范",设为全局技能(后续自动调用)

3. MCP协议激活(打通工具通道)

  1. 打开Trae→设置MCP配置→确认"工具调用权限"已开启
  2. 测试连通性:在Trae的Chat模式输入"测试MCP调用Seedance2.0",返回"连通成功"即完成

三、基础版(零代码):3步生成漫短剧(新手必学)

适合创作者/自媒体人,无需编程,全程AI自主操作,5分钟搞定一集:

步骤1:输入需求(自然语言)

  1. 打开Trae→切换到Plan模式
  2. 输入漫短剧需求(套用模板):

    生成{漫剧风格}的{剧情概述}视频,{时长}秒,{分辨率},{画幅},要求{角色/动作/运镜}

    示例:

    生成古风仙侠的漫短剧,剧情是"白衣剑仙与黑衣魔女在悬崖对峙,剑仙挥剑,魔女释放黑气反击",15秒,1080p,16:9画幅,要求角色一致,镜头缓慢推近,有粒子特效,情绪爆发点

步骤2:启动AI闭环

  1. 点击"生成Plan并启动闭环",Trae自动拆解3个核心任务:

    • 任务1:调用Skills生成精准提示词(自动补充光影、色调、反向提示词)
    • 任务2:通过MCP协议发送指令至Seedance2.0,提交生成任务
    • 任务3:自动轮询状态,生成成功后获取视频链接
  2. 等待5-60秒(复杂场景可能稍长)

步骤3:获取并导出成品

  1. 在Trae的"任务结果"面板查看视频下载链接
  2. 点击链接下载漫短剧片段,可直接用于发布或后续剪辑

四、高阶版(代码驱动):全流程自动化(开发者必学)

适合程序员/技术团队,实现"提示词生成→视频生成→校验→批量导出"全自动化,可集成到自有项目:

步骤1:编写核心代码(融合五工具能力)

在Trae中新建Python文件,复制以下代码(仅需替换3个核心配置):

import requests
import json
import time
from mcp import MCPClient  # Trae内置MCP客户端,无需额外安装

# -------------------------- 核心配置(替换为你的实际信息) --------------------------
API_KEY = "your_volcengine_access_key"    # 火山方舟获取
SECRET_KEY = "your_volcengine_secret_key" # 火山方舟获取
SEEDANCE_API_ENDPOINT = "https://ark.cn-beijing.volces.com/api/v3/videos/generate" # 官方API端点

# MCP客户端初始化
mcp_client = MCPClient(protocol_version="2024-11-05") # 版本固定

# -------------------------- Skills规范调用(固定模板) --------------------------
def call_seedance_skills(style, scene, duration, resolution, aspect_ratio):
    """调用Trae的Skills中心,生成符合规范的Seedance2.0提示词"""
    skills_response = mcp_client.call_tool(
        tool_name="Seedance2.0视频生成规范",  # 与Skills命名一致
        arguments={
            "style": style,
            "scene": scene,
            "duration": duration,
            "resolution": resolution,
            "aspect_ratio": aspect_ratio
        }
    )
    prompt = skills_response["data"]["prompt"]
    negative_prompt = skills_response["data"]["negative_prompt"]
    print(f"Skills调用成功,生成提示词:{prompt}")
    return prompt, negative_prompt

# -------------------------- MCP联动Seedance2.0生成视频 --------------------------
def generate_comic_video(style, scene, duration=15, resolution="1080p", aspect_ratio="16:9"):
    """通过MCP协议联动Seedance2.0,生成漫短剧视频"""
    # 1. 调用Skills生成规范提示词
    prompt, negative_prompt = call_seedance_skills(style, scene, duration, resolution, aspect_ratio)
    
    # 2. 构造Seedance2.0请求参数
    request_config = {
        "model": "seedance-2.0",
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "video_duration": duration,
        "resolution": resolution,
        "aspect_ratio": aspect_ratio,
        "reference_image": "https://example.com/character_reference.png"  # 角色参考图(可选)
    }
    
    # 3. MCP协议封装请求头
    headers = {
        "Content-Type": "application/json",
        "AccessKey": API_KEY,
        "SecretKey": SECRET_KEY,
        "MCP-Protocol-Version": "2024-11-05"
    }
    
    try:
        # 4. 提交生成请求
        response = mcp_client.post(
            url=SEEDANCE_API_ENDPOINT,
            headers=headers,
            data=json.dumps(request_config),
            timeout=30
        )
        response.raise_for_status()
        task_result = response.json()
        
        if task_result.get("code") != 200 or not task_result.get("data", {}).get("task_id"):
            return f"请求失败:{task_result.get('message', '未知错误')}"
        
        task_id = task_result["data"]["task_id"]
        print(f"任务提交成功,ID:{task_id}")
        
        # 5. 轮询查询任务状态
        query_url = f"{SEEDANCE_API_ENDPOINT}/task/{task_id}"
        max_retry = 30
        retry_interval = 2
        
        for _ in range(max_retry):
            query_response = mcp_client.get(url=query_url, headers=headers, timeout=10)
            query_result = query_response.json()
            
            if query_result.get("data", {}).get("status") == "success":
                video_url = query_result["data"]["video_url"]
                # 6. MCP调用工具校验画质
                mcp_client.call_tool(tool_name="视频画质校验", arguments={"video_url": video_url})
                return f"生成成功,视频链接:{video_url}"
            
            elif query_result.get("data", {}).get("status") == "failed":
                return f"生成失败:{query_result.get('data', {}).get('error_msg', '未知错误')}"
            
            time.sleep(retry_interval)
        
        return "任务超时,请重试"
    
    except Exception as e:
        return f"执行异常:{str(e)}"

# -------------------------- 主函数(自定义参数) --------------------------
if __name__ == "__main__":
    result = generate_comic_video(
        style="国漫仙侠风格,线条清晰,色彩鲜艳,动态模糊效果",
        scene="白衣剑仙与黑衣魔女在悬崖对峙,剑仙挥剑,魔女释放黑气反击,背景是云海和夕阳",
        duration=15,
        resolution="1080p",
        aspect_ratio="16:9"
    )
    print(result)

步骤2:运行代码实现全自动化

  1. 替换代码中API_KEY、SECRET_KEY、API端点三个核心配置
  2. 自定义style(风格)、scene(场景)、duration(时长)等参数
  3. 点击Trae右上角"运行"按钮,代码自动执行全流程
  4. 控制台输出视频下载链接,可直接下载或进一步处理

五、漫短剧批量制作进阶技巧

1. 角色一致性解决方案(关键)

  • 方法1:提前用Seedream生成角色三视图,上传作为参考图,在提示词中加入"严格参照参考图角色"
  • 方法2:创建专属漫剧角色Skills,包含角色特征(发型、服装、表情),确保多集角色一致
  • 方法3:使用Seedance2.0的全能参考模式,上传多个关键帧,AI自动保持角色连贯

2. 多片段拼接技巧(制作完整剧集)

  1. 每段生成15秒(Seedance2.0最大支持),第一段结尾帧作为第二段开头帧参考
  2. 提示词开头加入"延续上一段动作"(如"跑步后逐渐减速"),确保过渡自然
  3. 用Trae的MCP协议调用视频拼接工具,自动合成完整剧集

3. 提示词万能公式(提升漫剧质量)

[主体描述] + [动作细节] + [场景环境] + [镜头语言] + [风格设定] + [情绪表达] + [反向提示词]

示例:

Subject: 20岁白衣剑仙(黑色长发,金色眼眸,白色长袍),18岁黑衣魔女(紫色短发,红色眼眸,黑色紧身衣)
Action: 剑仙挥剑释放蓝色剑气,魔女双手结印释放黑色雾气,两者碰撞产生爆炸效果
Camera: 缓慢推近镜头(dolly in),特写脸部表情,随后拉远展示全景,45度俯角
Style: 国漫仙侠风格,线条清晰,色彩鲜艳,动态模糊,粒子特效,8k高清
Emotion: 剑仙冷峻,魔女邪魅,情绪爆发点在碰撞瞬间
Negative: 模糊、低画质、穿帮、角色崩坏、比例失调

六、常见问题与避坑指南

问题解决方案
角色不一致上传角色参考图,提示词加入"严格参照参考图",创建专属角色Skills
视频不连贯前一段结尾帧作为后一段开头参考,提示词延续上一段动作
生成失败检查API权限、MCP连接、提示词清晰度,减少复杂场景元素
画质不佳启用Seedance2.0的Draft模式预览,调整提示词后再高精渲染
Skills调用失败确认Skills名称与代码中tool_name完全一致(大小写敏感)

七、总结与下一步

通过Trae+Seedance2.0+MCP+Skills的组合,你可以实现从需求输入到漫短剧生成的全流程自动化,零代码用户5分钟出片,开发者可实现批量生成和项目集成。

Pandas 团队发布了pandas 3.0.0版本,这个重大更新的版本重构了字符串处理、内存语义以及日期时间精度的核心逻辑,同时移除了大量已废弃的功能。该版本对库的 API 核心行为做出了多项关键调整。

 

在 pandas 3.0 中,字符串数据不再使用 NumPy 原有的object数据类型,而是改用专用的str dtype 存储。这一改动的目的是为字符串的数据处理提供统一的方法。新的str dtype 仅接受字符串值,同时支持缺失值(missing values),简化了缺失数据的管理。那些检查object dtype、或以旧方式处理缺失值的代码,可能需要更新以适配这些新标准。

 

另一项变更是正式采用写时复制(Copy-on-Write)的语义。从用户视角来看,索引与子集操作现在默认会返回副本,彻底解决了长期存在的 “视图(view)与副本(copy)” 歧义的问题。由此带来的影响包括,链式赋值(chained assignment)不再有效,SettingWithCopyWarning警告被移除,并且不再需要使用防御性的.copy() 调用来消除警告。pandas 内部仍可能为性能考虑使用视图,但 API 层面保证了可预测的类似副本的行为。

 

该版本还引入了对新表达式语法的早期支持,比如,使用pd.col(),能够以声明式方式编写基于列的转换,不再需要 lambda 函数。例如,df.assign(c = pd.col("a") + pd.col("b"))取代了内联可调用函数的需求。该功能预计将在未来版本中得到扩展。

 

日期时间的处理方式也发生了变化。pandas 在解析输入时不再默认使用纳秒精度,而是会推断出最合适的精度。这可能会影响那些假设在转换日期时间值时使用纳秒级整型值的代码。

 

在底层,pandas 3.0 添加了对 Arrow PyCapsule 接口的支持,实现了与 Arrow 兼容系统的零拷贝数据交换。该版本还将最低要求提升至 Python 3.11 和 NumPy 1.26.0,并将默认时区后端切换为标准库的zoneinfo

 

此次更新引发了社区关于 pandas 发展方向、以及与 Polars 等替代库竞争的讨论。在一条讨论帖中,有用户评论说

为了成为更灵活的“Python 风格”的库,pandas 近期做出了诸多糟糕的设计选择,代价就是牺牲了核心的数据科学用户群体。我更推荐使用 Polars。

 

另有用户补充说

遗憾的是,这些改动仍然无法解决 pandas 糟糕的 API 设计和性能问题。虽然 pandas 在不断演进,但业界已经广泛采用了 Polars,我认为只要开始使用 Polars,可能永远就不会回头了。

 

一位 pandas 核心开发者回应说:

我并不认为行业真的抛弃了 pandas。相比 Polars,pandas 的使用规模依然十分庞大。但我完全认同,即便有这些改动,pandas 的 API 与性能仍远不及 Polars。

 

Pandas 3.0.0 已经在 PyPI 和 conda 上发布,并附有迁移指南,概述了破坏性更改和推荐的升级步骤。

 

原文链接:

Pandas 3.0 Introduces Default String Dtype and Copy-on-Write Semantics

📰 今日新闻精选:

  • 春节假期首日:“反向过年” 的爸妈批量住进一线城市酒店,“60 岁 +” 旅客入住量日环比增长六成
  • 春节宠物托管经济升温:上海店主接到 2000 单、日睡 3 小时,大学生寒假赚上万元
  • 广东利是金额参考图走红:血亲 100 元、旁亲 50 元、老表 20 元、亲戚 10 元、邻居 5 元,网友强烈建议全国推广
  • 微信春节新功能上线:Ai 写拜年歌 + 红包,网友称刘德华终于可以放假了
  • 中央气象台再发寒潮蓝色预警:江淮江南华南北部等地先后降温 6 至 10℃,江南西部等地局地降温可达 12℃以上
  • 南京网约车新规取消司机户籍限制,平台须公开抽成比例上限
  • 冬奥会:赛程已过半,中国代表团 0 金 2 银 2 铜,位列奖牌榜第 19 位;挪威 11 金稳居第一
  • 江苏东海县村民燃放烟花不当导致火灾,已致 8 人遇难,目前相关责任人已被控制
  • 春节期间中国游客在日本酒店预订取消率超 50%;日本大阪发生持刀伤人事件,我总领馆提醒:中国公民近期避免前往日本
  • 中方决定:2 月 17 日起对加拿大、英国持普通护照人员实施免签入境
  • 英媒:伦敦多所学校暴发 “快速传播” 麻疹疫情,已导致‌超过 60 名儿童感染,部分患者需住院治疗
  • 美媒:特朗普把奥巴马夫妇恶搞成猿猴,奥巴马首次回应:毫无廉耻之心;白宫已删视频,曾称没有任何冒犯之处
  • 美媒:美国计划花 383 亿美元收购仓库,改造为非法移民拘留中心,内部文件称逮捕移民人数将大幅上升
  • 外媒:第二轮伊美谈判将于 17 日在日内瓦举行,已将经贸议题纳入谈判文本
  • 外媒:乌克兰已收到美国提出的为期 15 年的安全保障方案,但乌方希望期限为 30 至 50 年

📅 今日信息:

  • 公历:2026-02-16 星期一 水瓶座
  • 农历:二〇二五年腊月廿九
  • 下一节气:2026-02-18,雨水
  • 今年进度:12.88%(已过 47 天,剩余 317 天)

🌟 历史上的今天

  • 1923 年:英国考古学家霍华德·卡特在埃及图坦卡蒙陵墓中发现了法老的石棺,这一发现震惊了世界,揭示了古埃及文明的辉煌。
  • 1959 年:菲德尔·卡斯特罗成为古巴总理,标志着古巴革命的重要转折点,开启了该国的新篇章。

分享一下体验,顺便看看大伙是不是同感,或者是我 hold it wrong 。

我一开始是 Claude Pro ,不过去年开始转成 Max 5x 。这周突发奇想试用一下 ChatGPT ,套餐选了个便宜的 Plus 。

先说网页界面,尝试了一些分析/变分/概率模型/计算数学问题,看看 5.2 Thinking 模型是不是对符号操作比较敏锐。尝试从一些少见的角度推导一些常见的结论,看看模型是不是会诚实地按我意图执行,还是甩给我“就是这样定义的”。

总体体验一般,相比 Claude ,符号使用方面有点。。。随意。这是对我熟悉的话题你可以随便来,我也知道你什么意思。要是我不熟的话题就让人要多打字做核实。而且在话题陈述方面也有点随意,这么说吧:有些时候 ChatGPT 像是考场上的学生,不知道一道题怎么做,于是把大概方向上的文本都往卷子上写,期待批卷人从里面挑出来有用的给点分。Claude 有时也有这种问题,但是口气弱一点。

顺便一提 ChatGPT 网页渲染 latex 巨卡。

然后说 Codex ,gpt-5.3-codex.
代码是计算数学的东西,FEM 模拟,不长,7000 多行,包括测试和一个 3d viewer 。
先给那个 3d viewer 加一个简单的功能。这种直来直去的功能还行。但是交互方面感觉更偏 vibe coding ,不像 Claude 自己主动 plan mode 然后还主动问问题。我比较喜欢 agent 跟我交互,写文件之前让我看 diff ,而不是几个函数的 diff 一次性拍过来。token 消耗还行,没感觉特别大差别。但是 codex 你小 bug 有点多啊,人家 Claude 可是能一次完工还能照顾到我没说到的地方啊。总体来说 codex 得手把手教的多一些。

然后试试给求解器加个小扩展功能。其中一个导数可以直接算解析解的,codex 你给我上 finite differencing (收敛性差距蛮大的),人家 Claude 看我其他代码都是用解析导数所以也老老实实算解析导数。哼。

才刚刚用一天,可能有些地方还需要磨合,Claude 那边的习惯也不能直接照搬。还要多一些时间去挖掘一些 ChatGPT 自己独特的优势和使用方法。不过先写这些吧。

全 AI 编写,没写一行代码,go 后端,React 前端,ai 还是比较适合写 React

功能特性

后端

  • RESTful API + WebSocket 实时通信
  • 文件/文件夹 CRUD 操作
  • 分片上传(支持 S3 直传)
  • JWT 认证机制
  • Docker Compose 管理
  • 终端 WebSocket 代理
  • 定时任务管理
  • AI 对话 + Skills 扩展系统
  • 多存储驱动(本地文件系统、S3/MinIO )

前端

  • macOS 风格桌面体验(窗口拖拽、缩放、吸附、最大化/最小化)
  • 16 个模块化应用(文件管理器、代码编辑器、终端、Docker 管理、AI 对话等)
  • Monaco Editor 代码编辑(语法高亮、格式化)
  • xterm.js 终端模拟器
  • ArtPlayer 视频播放器
  • 音乐播放器(播放列表、循环、随机)
  • Markdown 预览( GFM + 代码高亮)
  • Spotlight 搜索( Cmd+K )
  • 右键上下文菜单系统
  • 全局快捷键
  • 主题与偏好设置(壁纸、Dock 大小、编辑器主题等)
  • 应用商店(安装/卸载扩展应用)

Skills 系统

Skills 是 AI 对话功能的扩展机制,允许你为 AI 添加自定义知识(提示词)或可执行工具(脚本)。

Skills 目录位于 {FM_DATA_DIR}/skills/(默认 /opt/file-manager/skills/),启动时自动创建。

Skill 类型

1. 提示词 Skill ( Prompt Skill )

为 AI 注入额外的上下文知识,支持两种格式:

社区格式(推荐) — 子目录 + SKILL.md

skills/
└── my-knowledge/
    └── SKILL.md

SKILL.md 支持 YAML frontmatter:

---
name: my-knowledge
description: 自定义知识描述
---

这里是提示词内容,AI 对话时会自动加载。

根级文件(旧格式) — 直接放置 .md.txt 文件:

skills/
└── my-prompt.md

单个提示词文件最大 20KB ,所有提示词总计最大 200KB 。

2. 脚本工具 Skill ( Script Tool Skill )

让 AI 能够调用自定义脚本执行操作(如读取 Excel 、调用外部 API 等)。脚本在 Docker 沙箱容器中隔离执行。

子目录格式(推荐)meta.json + main.py / main.sh

skills/
└── read_excel/
    ├── meta.json
    └── main.py

meta.json 定义工具的名称、描述和参数:

{
  "name": "read_excel",
  "description": "读取 Excel 文件内容",
  "parameters": {
    "type": "object",
    "properties": {
      "file_path": {
        "type": "string",
        "description": "文件路径"
      }
    },
    "required": ["file_path"]
  }
}

main.py 中通过 ARGS 获取参数:

# ARGS 是一个 dict ,包含 AI 传入的参数
file_path = ARGS["file_path"]
# 你的处理逻辑...
print(result)

main.sh 中通过 $ARGS 环境变量获取 JSON 参数:

echo "$ARGS" | jq -r '.file_path'
# 你的处理逻辑...

根级文件(旧格式).py/.sh + 同名 .json

skills/
├── read_excel.py
└── read_excel.json

沙箱配置

脚本工具 Skill 在 Docker 沙箱容器中执行,需要:

  1. 预先创建并启动一个 Docker 容器(默认名称 fm-sandbox,可通过 FM_SANDBOX_CONTAINER 环境变量修改)
  2. 将 Skills 目录挂载到容器的 /skills/ 路径

示例:

docker run -d --name fm-sandbox \
  -v /opt/file-manager/skills:/skills:ro \
  python:3.11-slim \
  sleep infinity

技术栈

后端

  • Go + Gin Web Framework
  • JWT Authentication ( golang-jwt )
  • WebSocket ( gorilla/websocket )
  • Docker SDK
  • S3/MinIO ( minio-go )
  • SQLite ( modernc.org/sqlite

前端

  • React 18 + TypeScript
  • Vite 5 (构建工具)
  • Zustand (状态管理)
  • Tailwind CSS 4
  • shadcn/ui ( Radix UI + Tailwind )
  • Monaco Editor (代码编辑)
  • xterm.js (终端)
  • ArtPlayer (视频播放)
  • framer-motion (动画)
  • Axios ( HTTP 请求)
  • lucide-react (图标)

环境变量

变量名 说明 默认值
FM_DATA_DIR 应用数据目录,存放数据库、Skills 、配置等 /opt/file-manager
FM_PORT 服务监听端口 8080
FM_JWT_SECRET JWT 签名密钥。未设置时每次启动随机生成,重启后所有已签发的 Token 失效 随机 32 字节
FM_SANDBOX_CONTAINER AI Skills 脚本执行所用的 Docker 沙箱容器名称 fm-sandbox

示例:

export FM_DATA_DIR=/data/file-manager
export FM_PORT=9090
export FM_JWT_SECRET=your-secret-key
export FM_SANDBOX_CONTAINER=my-sandbox

大家可以在这里体验一下
https://huggingface.co/spaces/wuhenba/webos
https://wuhenba-webos.hf.space/
密码: Admin@123

二进制包也在这里可以下载

各位好,

我有一台 Mate 30 Pro ,想刷一下系统,用来联系海外客户(多开 Line / WhatsApp / 微信)。

想知道推荐刷什么系统比较好?

我去 Lineage OS 的官网看了一下,并没有看到专属于 Mate 30 Pro 的版本。

同时,既然用了华为,是不是要做好隐私泄露的准备?

谢谢大家!

父亲在 2025 年因病离世,如今新一年春节又即将来临,去年春节全家和亲戚去广西自驾了玩一圈,当时父亲在路上还说起明年准备去张家界,路线都规划好了,今年这段旅程终究是无法成行了,很是怀念。当时父亲离去后,心情沉痛,在这疾病的一个论坛里记录了父亲最后的[病情历程],不过心里其实还有很多话想说,想找一个树洞再写写我的父亲。

父亲生于 1964 年,2024 年 2 月初因为持续的乏力,面部浮肿,去检查后确诊为淋巴瘤,一种恶性的血液肿瘤,确诊时为滤泡淋巴瘤 3B 级,属于晚期了,这给我们以及临近退休的父亲带来了沉重的打击。但当时查资料了解到滤泡淋巴瘤属于一种惰性淋巴瘤,并且淋巴瘤主要是看分型不看分期,对化疗很敏感,有规范的治疗方案,虽然当时也担心这种重大疾病肯定对生命有影响,想过与父亲离别的一天可能会提前到来,但是真没想到会来的这么快。

父亲年轻时成绩不错,考上大学学的冶炼相关专业,在一座西南小城的国企中工作了一辈子,技术出身不太擅长应酬的他从普通的技术员逐渐做到一个小头目,至少对我这三十多还在各种二三流小公司打工的 IT 民工来说,还是很钦佩的,他为我们家提供了不算富裕但也足够的经济基础,是我这个样样很普通,到处瞎折腾却也还算活得下去的底气。他年轻时工作总是很忙,在我上中学后又调到离市区很远的一个县,可能一两周才能回来一次,有时候感觉他事情很多,回来了很疲惫话也不多,虽然在我成长中少了很多陪伴,不过他和我说话时总是很温和,偶尔会夹杂一些父亲他自带的独特风趣,我学习上每次跟他说要买资料报班啥的也从不吝啬,我很喜欢也很感谢他,他一直是我心中一座靠山。

之前父亲的身体状况一直还算不错,他这辈子也经历了很多事,操劳了很多事,临近退休的几年,因为工作单位上出了些事受到了影响,从一线位置退居闲职,虽然没那么多事情操心了,但心里也受了很大打击,他从未和我详细讲过这番经历,但想必这过程还是很曲折的。后来很多人说父亲遭这病必定有很大这方面因素的影响,不过已经过去很多年了,我是感觉父亲也逐渐放下了,他有了更多自己的时间,也开始规划着退休生活,学习拍照摄影视频剪辑,AI 刚出来那会他对各种 AI 的文案图片编辑,视频生成能力掌握的比我还 6 ,经常在家族群里展示展示他新剪出来的视频,给大家带来了很多欢乐。我们一家人都比较内向话不多,父亲算是最 E 的人,他在时家里气氛还算偶有活跃,如今他走了家里便也冷清了许多。

这是父亲最后一段平和而又温馨的时光,我一直觉着父亲这样的状态也还不错,只是他常常说睡不着觉,晚上睡下只能挨到早上眯一会,只是我每次见父亲他都是笑呵呵的很精神,看不出什么异样。生病前父亲每年也有体检,主要也就是有些肥胖的问题,医生着重提醒后,父亲其实也比较关注身体健康了,常常晚饭后就去老家小区旁边的公园登山锻炼,瘦下来了不少。特别是临近退休前一年,他瘦了三十多斤,我们还以为这是他锻炼的结果,父亲自己也觉得精神头不错,但这也许就是疾病开始的前兆。

得益于多年前随手为父亲购置了份医疗险,报销了绝大部分医疗费用,不至于为高昂的医疗费用发愁,还在疾病复发后使用了号称目前最为先进也非常昂贵的 CART 疗法,没为这病背上沉重的经济负担。这是我们的万幸,但这也让我放松了警惕,倘若是自己真金白银的药费,应当更驱动着我注重医疗知识的学习,更关注父亲的身体状态,可以更早发现父亲健康的危险状态。只是我太过于相信这些高昂费用的靶向药,CART 疗法的效果,想着有保险托底心里多了虚妄的自信,在发现 CART 疗法没有清除肿瘤后我还硬着头皮跟父亲说不怕,二线失败还有三线、四线的方案,别太焦虑。只是没想到多轮治疗后父亲的身体实则已千疮百孔,需要极其精细的照顾。病情急转直下的前两天,父亲出现了心率升高的情况,我们想着急诊的拥挤和漫长的等待,不如两天后的常规检查再好好问问主治医生,凭着经验没有及时拉着父亲去检查。又在入院后,症状本已逐渐好转,但我们照顾不周,不知是饮食还是什么原因,突然出现的肠穿孔让一切没了转机。

父亲最后动手术那一天的神情时常在我脑海里浮现,他紧锁着眉头,面容上浮现着焦虑与不安。在急诊留观的第三天,他出现了谵妄的症状,神志不清,总是觉得有人要害他。我第一次见到这样恐慌的父亲,心里非常难受。到手术的前几天,症状本有所好转,能认出人了,还能和我们聊天,只是聊的内容非常飘忽,说着好了要去开茶园,投资卖特色茶叶等等以前从没听过他讲过的事,不知是不是精神的恍惚让他回想起了年轻时的理想。多想等父亲出院再好好和他聊聊这些事啊,听听他这些思绪来源于他哪些想干而没干的事,能和他一起坐着正常的吹吹牛谈谈这些天马行空的想法。这一天父亲还是有些迷糊,但他肯定能从我们半夜来到医院,以及几次被医生喊出去单独谈话的行为上感觉到了什么。我们没法询问父亲自己真实的想法,还跟父亲说就是小手术,做了肚子就不痛了,父亲听了低头默默不语。现在回想起来,多想跟父亲好好说这个手术风险很大,您是不是害怕不想做呀,不想我们就回家好不好,至少再让我好好陪陪您。

手术之后父亲没有再醒来,各项指标跟状态越来越差,医生多次暗示我们救治下去的意义不大,医院 ICU 没有排到床位,父亲在普通病房躺着浑身插满各种管子,眼睑肿胀到只能半闭着眼睛,看着就非常难受。在经历了一次半夜的危险边缘的抢救后,母亲和我不忍心再让父亲受苦了,决定转运回老家的医院,我们在这里签署了放弃治疗协议。最后在父亲的床位前,老家的亲戚和我们一起见了父亲最后一面,我和母亲流着泪呼唤了父亲,父亲嘴角竟也抽动了下,这算是我们最后的告别,不久之后父亲便永远的离开了。

很多人说经历如此重大的事件后,人会变得更坚强更成熟,但我始终只感觉到的是虚无,无力和悔恨,以及对父亲一阵阵的想念… 还有太多话想和父亲说,但他就这样撒手离开了。他生这病后,偶有焦虑的神情,但在我们面前都尽量表现得平和,他去世后我在整理他手机时,看到了他有自己在好医生 APP 在线挂号以及和各种 AI 询问讨论病情的对话,言语间其实是很害怕焦虑的,这种恐慌他从未在我们面前表现出来,我每次在他面前也只是尽量表现乐观的让他有信心,别太焦虑,实在不知其实父亲他这么害怕,我那些无力的说辞到底有没有宽慰到他的心情。

父亲刚入院时,我和我的姑妈通电话,父亲小时候是她一直照顾着长大的,因而平常父亲和姑妈电话聊的最多,她说我爸这次感觉不好,前两天和她电话时说已经把遗书准备好了,一份给我一份给我妈。但是我当时还没想到情况这么严重,此后父亲精神变得不稳定,也没机会再询问,在他去世后,我才仔细的检查了他的遗物以及各个电子设备,却没有找到任何遗言,不知是不是这只是当时父亲的一个想法,只是还没来得及书写便症状恶化了。母亲之前也没想到这么快,她说父亲本来有几次想和她聊聊后事,但她感觉太沉重,父亲状态也还好,都打断了没让父亲继续说。我们无法再得知父亲还有什么遗愿,也是非常遗憾,倘若真有阴曹地府,真想百年后能与父亲在那重逢,能再好好和他聊聊,听他说说话聊聊天,讲讲他的过去,问问他本来还有什么想跟我们说的话呀。

首先我觉得这个需求是真实存在的, 快捷指令可以做很复杂的事情, 而且不需要专门开发一个 iOS app. 但是似乎主流的创建流程都是通过苹果自己的 UI 拖动之类的很低代码的形式来实现的. 显然无法直接 vibe coding.

我试过解码快捷指令的文件, 基本上就是定义驱动的, 类似一个 json 文件定义了一堆动作, 但是试了一下 ai 很难写好:

  • 一方面估计 ai 没有专门在类似的语料上训练过, 而且这个 json 文件的各种属性 api 之类的也没有公开的开发者文档之类的;
  • 另外有些操作只能手机执行, 因此没法电脑上改完代码就立刻调试, 必须要导入手机才能运行;

大家有什么经验或者好的思路吗?