当前位置: 首页 > article >正文

记一次SL server 数据库事务日志已满,导致程序崩溃排查过程

智能体时代的代码范式转移与 C# 的战略转型传统的 C# 开发模式即所谓的“工程导向型”开发要求开发者创建一个复杂的项目结构包括项目文件.csproj、解决方案文件.sln、属性设置以及依赖项配置。虽然这种结构在构建大规模企业级软件时提供了卓越的可维护性和类型安全性但在快速迭代、脚本编写以及 AI 驱动的动态代码生成场景下这种“工程仪式感”成为了巨大的阻碍。相比之下Python 凭借其“无须配置、即写即用”的特性长期占据了 AI 研发和脚本工具领域的统治地位。.NET 10 的 File-Based Apps 旨在彻底消除这种摩擦。它允许开发者以及 AI 智能体在单个 .cs 文件中直接编写逻辑通过内嵌指令指定依赖和环境直接运行。这种转变意味着 C# 正在从一种“重型工程语言”进化为一种兼具“脚本灵活性”与“原生高性能”的全场景语言。在智能体生态中这种灵活性是至关重要的因为 AI 智能体需要一种能够像 Python 一样“丝滑”地生成并执行的代码格式同时又希望保留 C# 在性能、并发处理和类型安全方面的工业级优势。智能体生成的代码特性分析在 AI 驱动的开发流程中代码的生成具有以下核心特征这些特征直接决定了.NET 10 架构调整的必要性原子性与自包含性AI 倾向于生成独立的代码块来解决特定问题。传统的.csproj 文件与源代码的分离增加了 LLM 的上下文复杂度和解析成本。即时执行需求在“代码解释器”Code Interpreter模式下智能体生成代码后需要立即得到运行结果。任何繁琐的脚手架搭建步骤都会增加系统延迟降低交互体验。动态分发代码可能通过网络协议、消息队列实时分发到边缘节点或沙箱执行环境。单文件格式含配置是最理想的分发媒介。File-Based Apps 的核心技术架构.NET 10 引入的基于文件的应用模型本质上是 MSBuild 项目系统的高度抽象化与虚拟化。当执行 dotnet file.cs 或 dotnet run file.cs 时.NET SDK 并非在解释代码而是在后台动态构建了一个“虚拟项目” 。虚拟项目系统的运行机制这一机制的精髓在于 SDK 能够自动识别源文件顶部的特定指令并将其转化为 MSBuild 能够理解的元数据。根据官方技术文档SDK 会在系统的临时目录例如 /dotnet/runfile/下根据文件路径的哈希值创建一个隔离的构建空间 。这种设计确保了单文件脚本在运行时不会污染源代码所在的目录同时也避免了手动创建 bin 和 obj 文件夹的繁杂 。关键特性 传统工程模式 (.csproj) 基于文件的应用 (File-Based Apps)元数据存储 外部 XML 文件 (.csproj) 文件顶部内嵌指令构建产物 当前目录的 /bin 和 /obj 系统临时目录基于哈希隔离依赖管理 节点 #:package 指令SDK 规范 属性 #:sdk 指令发布模式 需手动配置 AOT 或裁剪 默认启用 Native AOT 发布转换路径 无 支持 dotnet project convert 一键转换这种虚拟化架构不仅支持控制台程序通过指定 #:sdk Microsoft.NET.Sdk.Web甚至可以仅凭一个文件构建出完整的 ASP.NET Core Minimal API 接口。指令系统Directives消除 XML 仪式的关键为了实现“自包含”的目标.NET 10 引入了一套以 #: 为前缀的指令系统。这些指令必须放置在 C# 文件的最顶部用于定义程序的运行环境和外部依赖。#:package用于引用 NuGet 包。例如 #:package Newtonsoft.Json13.0.3 允许脚本直接调用 JSON 处理库而无需手动编辑项目文件。#:sdk定义项目所使用的 SDK 类型。默认值为 Microsoft.NET.Sdk但可以扩展为 Web SDK 或 Aspire AppHost SDK极大地扩展了单文件应用的能力边界。#:property允许设置 MSBuild 属性。例如 #:property TargetFrameworknet10.0 或 #:property PublishAotfalse。这对于调整编译行为如禁用默认启用的 Native AOT至关重要。#:project实现跨工程引用。通过 #:project../SharedLib/Lib.csproj单文件应用可以复用现有的企业级类库真正做到了轻量化与工程化的有机结合。这种设计直接解决了 AI 在编写代码时的“配置泄露”问题。LLM 只需要输出一段纯文本就能包含从逻辑到依赖的所有信息使其在自动化编排中表现得与 Python 同样高效 3。C# 与 Python 的“丝滑”竞争性能与体验的平衡.NET 10 的这一革新被广泛认为是.NET 向 Python 腹地发起的一次强力进攻。在开发者体验DX层面.NET 10 极力抹平了 C# 与 Python 在脚本编写上的鸿沟同时在执行效率上形成了降维打击。脚本化体验的演进从 C# 9 引入的顶级语句Top-level statements开始.NET就在逐步削减 C# 的冗余结构。到了.NET 10顶级语句与 File-Based Apps 结合使得简单的脚本缩减到了极致。例如一个获取系统信息的脚本在.NET 10 中仅需数行代码且通过 dotnet run sysinfo.cs 即可直接运行这种体验已经完全达到了 Python 的水平。此外Unix 系系统Linux、macOS中的 Shebang 支持进一步增强了 C# 的“脚本感”。通过在文件头添加 #!/usr/bin/env dotnet 并设置执行权限C# 文件可以像 Bash 脚本一样直接执行。性能维度的断层优势虽然 Python 在易用性上占据先机但在性能敏感的任务中其解释执行和全局解释器锁GIL始终是瓶颈。C# 的单文件应用在底层依然运行在高性能的.NET 运行时之上这意味着它天然支持真并发处理利用 Task Parallel Library (TPL) 实现高效的多线程任务并行。现代内存技术通过 Span、Memory 等零拷贝技术处理海量数据流时的性能远超 Python 原生实现。JIT 与 Native AOT 优化.NET 10 的 JIT 编译器在内联优化和去虚化方面有了显著提升同时 File-Based Apps 默认开启 Native AOT 发布模式能够生成秒开且占用极低内存的原生二进制文件。在智能体处理复杂逻辑、进行大规模并行计算或执行高频数据转换时C# 的这些性能特性确保了智能体能够更快地响应同时在云端运行时的资源消耗更低 3。智能体生态中的“王牌”Microsoft Agent Framework.NET 10 对 File-Based Apps 的投入其实是为其更高层级的 AI 战略——Microsoft Agent Framework (MAF) 打铺垫。MAF 是微软统一了 Semantic Kernel 和 AutoGen 核心能力后的产物旨在为开发者提供一套构建、编排和观察智能体系统的标准库 4。智能体协作模式与代码执行MAF 定义了多种智能体协作模式而在这些模式中单文件应用的轻量化特性成为了关键的催化剂协作模式 (MAF Patterns) 智能体交互逻辑 File-Based Apps 的贡献顺序模式 (Sequential) 智能体 A 生成数据传递给智能体 B。 快速生成轻量化数据预处理脚本。并发模式 (Concurrent) 多个智能体并行处理子任务。 每个智能体可独立生成、执行 C# 任务互不干扰。移交模式 (Handoff) 动态根据上下文将控制权移交给专家智能体。 专家智能体可即时编译执行专用的计算逻辑。群组聊天 (GroupChat) 多个智能体通过对话达成共识。 智能体可作为协作产物实时生成并共享可运行的代码段。主从模式 (Magentic) 管理者智能体协调专门智能体执行任务。 降低工具调用Tool Calling中生成代码的复杂度和延迟。在 MAF 中智能体通常需要调用外部工具。通过 HostedCodeInterpreterTool托管代码解释器工具智能体被授予了执行其生成的 C# 代码的权限。传统的项目结构会使得这种动态执行变得异常笨重而.NET 10 允许智能体直接将一段带有 #:package 指令的代码发送给解释器解释器无需创建项目即可直接完成编译和运行。AI 智能体的“黄金三角”开发、观察与交互微软在.NET 10 中提出了针对智能体开发的“黄金三角”架构DevUI、AG-UI 和 OpenTelemetry。DevUI提供了一个可视化界面用于观察智能体的推理过程、决策路径和状态变化。它允许开发者像调试代码一样“调试”智能体的思维逻辑 。AG-UI (Agent-User Interaction)这是一个标准化的协议用于定义智能体与用户之间的交互。它不仅支持流式文本输出还支持“生成式 UI”即智能体可以动态地向前端推送图表、卡片或交互式组件 。OpenTelemetry为智能体系统提供了深度观测能力。由于智能体运行涉及到大量的 LLM 调用和动态代码执行通过 OpenTelemetry 可以精确追踪令牌Token消耗、模型响应延迟以及代码执行的性能指标。File-Based Apps 完美契合了这一架构。当智能体需要通过 AG-UI 推送一个复杂的动态图表时它可以生成一个单文件的 C# 后端逻辑利用.NET 的绘图或数据处理库快速计算结果并通过流式接口返回给前端。构建与发布Native AOT 的默认革命在智能体和微服务时代冷启动时间和内存占用是衡量架构优劣的关键指标。File-Based Apps 在发布阶段dotnet publish默认启用了 Native AOT (Ahead-of-Time) 编译技术。Native AOT 的技术影响Native AOT 彻底改变了.NET 程序的部署方式。它不再需要将中间语言IL代码打包并在运行时通过 JIT 编译而是直接生成特定平台的原生机器码 。极致的启动速度省去了运行时 JIT 编译的时间单文件应用可以在毫秒级启动这对于响应式的 AI 智能体任务至关重要1。极低的内存足迹不需要加载庞大的 JIT 编译器和相关的运行时元数据Native AOT 生成的二进制文件内存占用极小非常适合部署在资源受限的容器或边缘设备中 。更强的安全性由于运行时不存在 IL 代码和 JIT攻击者通过利用 JIT 漏洞进行代码注入的难度显著增加 。此外为了进一步优化 AI 场景下的开发效率.NET 10 对编译管道进行了并行化增强。即使是在构建复杂的单文件 Web API 时开发者也能感受到显著缩短的编译等待时间。产物管理与临时目录逻辑为了确保单文件脚本的整洁性.NET 10 引入了精细的产物清理机制。默认情况下构建产物会根据文件内容的哈希值进行存储这意味着如果脚本内容没有变化SDK 会复用之前的构建缓存。命令 执行效果 适用场景dotnet build app.cs 在临时目录生成构建产物不直接执行。 预编译检查。dotnet run app.cs 快速编译并启动应用。 脚本开发与即时测试。dotnet publish app.cs 生成 Native AOT 优化后的原生二进制文件。 生产环境分发或 AI 工具链打包。dotnet clean file-based-apps 清除所有单文件应用的缓存产物。 系统维护释放磁盘空间。此外开发者可以通过设置 #:property OutputPath./output 来强制将产物输出到指定位置从而平衡了自动化构建与手动管理的灵活性。智能体时代的安全性与治理AI 实时生成并执行代码这在带来生产力飞跃的同时也引发了前所未有的安全挑战。.NET 10 在设计 File-Based Apps 时充分考虑了动态代码执行的安全边界。配置隔离与机密管理在单文件脚本中硬编码密钥是极大的安全隐患。为此.NET 10 为 File-Based Apps 提供了专门的“用户机密”User Secrets支持。SDK 会基于文件路径的哈希值为每个脚本生成一个稳定的 UserSecretsId。开发者可以使用 CLI 轻松管理机密dotnet user-secrets set ApiKey your-key --file script.cs。这种机制确保了即使 AI 生成的代码被分发或共享敏感的认证信息依然安全地存储在开发者的本地机器中而不会随代码泄露。隔离运行环境虽然.NET 10 官方文档中并未明确提及针对 AI 生成代码的内置“沙箱”功能但其架构设计提供了多种隔离手段Stdin 管道模式通过 echo ... | dotnet run - 执行代码时SDK 不会加载当前目录的任何配置文件或启动配置提供了一个相对洁净的执行环境 。临时目录隔离每个脚本拥有独立的构建输出路径防止了不同智能体任务之间的文件冲突和覆盖 。权限最小化建议官方指南建议在生产环境中AI 生成的代码应在非特权容器中通过 dotnet publish 后的原生二进制文件执行以限制其对宿主系统的访问能力 。模型上下文协议MCP与工具集成在智能体时代智能体需要与各种外部服务交互。.NET 10 对 Model Context Protocol (MCP) 的支持为 File-Based Apps 提供了强大的扩展能力。MCP 允许 AI 智能体以标准化的方式访问数据库、API 和文件系统。在.NET 10 中开发者可以利用单文件应用快速编写一个 MCP 服务器。例如通过 #:sdk Microsoft.NET.Sdk 结合相关的 MCP 库几行代码就能让智能体获得对企业内部数据的查询权限。这种“微型服务器”模式极大缩短了 AI 落地到具体业务场景的路径。动态工具发现与调用结合 Microsoft Agent Framework智能体可以动态发现这些单文件工具。当智能体识别出需要进行复杂的财务审计计算时它可以生成一个专门的 C# 脚本将其作为一个临时工具加载执行完毕后再行释放。这种“随用随建”的模式是智能体时代灵活性要求的极致体现。开发者工具与生态现状虽然.NET 10 在 SDK 层面已经做好了全面准备但生态系统的完善仍需时日。目前各开发工具对 File-Based Apps 的支持程度不一VS Code 与 C# Dev Kit已提供深度支持包括语法高亮、IntelliSense 以及对内嵌指令的智能提示。JetBrains Fleet / RiderFleet 作为轻量化 IDE 已经原生支持而 Rider 目前正通过更新逐步完善对非项目文件模式的调试支持。Visual Studio 2026作为旗舰 IDE它正在引入更强大的“单文件模式”视图允许开发者在没有 .sln 的情况下高效管理这些脚本。尽管如此仍有一些限制需要注意。例如目前的单文件应用模式尚不支持跨多文件的复杂逻辑除非通过 #:project 引用其他项目且类型定义必须放在顶级语句之后 。冀丫铀扑

相关文章:

记一次SL server 数据库事务日志已满,导致程序崩溃排查过程

智能体时代的代码范式转移与 C# 的战略转型 传统的 C# 开发模式,即所谓的“工程导向型”开发,要求开发者创建一个复杂的项目结构,包括项目文件(.csproj)、解决方案文件(.sln)、属性设置以及依赖…...

拆解维修指南:当你的大扭矩电动扳手‘罢工’,如何自己动手排查行星齿轮与谐波传动故障?

大扭矩电动扳手行星齿轮与谐波传动故障排查实战手册 当220V大扭矩电动扳手突然"罢工",输出无力、发出异响或完全卡死时,多数故障都隐藏在行星齿轮组和谐波传动系统中。本文将带您深入传动机构内部,用维修工的视角拆解这些精密部件&…...

分钟搞懂深度学习AI:梯度下降:迷雾中的下山路

基础示例:单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤: 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

AI 时代,程序员如何自洽?

目录 前言 一、正视现实:AI 到底颠覆了程序员什么? 1.1 AI 替代的是 “机械劳动”,而非 “核心脑力” 1.2 行业底层逻辑已经发生彻底改变 1.3 误区:拒绝 AI 或完全依赖 AI 都是死胡同 二、认知重构:重新定义 AI …...

用STM32F103C8T6+LD3320做个会说话的智能垃圾桶,附完整代码和接线图

从零打造会说话的智能垃圾桶:STM32F103C8T6与LD3320实战指南 1. 项目构思与核心组件解析 去年夏天,我在小区垃圾分类站观察到一个有趣现象:尽管分类标识清晰,仍有近半数居民会随手将垃圾扔进错误桶内。这个发现促使我萌生了制作智…...

代码重构技术识别代码坏味道与重构时机的判断方法

代码重构是提升软件质量的重要手段,而识别代码坏味道与判断重构时机则是重构成功的关键。随着软件规模扩大和需求变更频繁,代码逐渐积累冗余、耦合等问题,导致维护成本上升。本文将探讨如何通过技术手段识别代码坏味道,并科学判断…...

LC VCO设计实战:无尾电流源结构在低压工艺下的选型考量与相位噪声优化

LC VCO设计实战:无尾电流源结构在低压工艺下的选型考量与相位噪声优化 在射频集成电路设计中,压控振荡器(VCO)作为频率合成器的核心模块,其性能直接影响整个系统的相位噪声和功耗表现。特别是对于工作在毫米波频段的5G通信系统,如…...

从天气预报App到航空飞行:聊聊‘锋面’如何影响你的日常生活与出行决策

从天气预报App到航空飞行:聊聊‘锋面’如何影响你的日常生活与出行决策 清晨打开手机查看天气预报,发现原本晴朗的图标突然变成了乌云和雨滴,温度预报也直降8℃;航班信息屏显示"因天气原因延误"时,机长广播里…...

当人人都能用 AI 写代码时,我为什么选择重回 Django?

这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...

FontCenter解决方案:AutoCAD自动字体管理插件实现设计效率提升300%

FontCenter解决方案:AutoCAD自动字体管理插件实现设计效率提升300% 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 在AutoCAD设计工作中,字体缺失导致的问号、方框显示异常是长期…...

Windows Cleaner实战指南:5步解决C盘爆红问题的高效系统优化方案

Windows Cleaner实战指南:5步解决C盘爆红问题的高效系统优化方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系…...

5大行业场景深度解析:YOLO Face人脸检测技术如何重塑商业智能应用

5大行业场景深度解析:YOLO Face人脸检测技术如何重塑商业智能应用 【免费下载链接】yolo-face YOLO Face 🚀 in PyTorch 项目地址: https://gitcode.com/gh_mirrors/yo/yolo-face 在人工智能技术快速发展的今天,人脸检测已成为智能安防…...

期权定价模型:Black-Scholes方程的数值解法

**Black-Scholes方程的数值解法探析** 期权定价是金融工程的核心问题之一,而Black-Scholes模型因其简洁性和实用性成为经典工具。解析解仅适用于简单期权,复杂场景需依赖数值方法。本文将介绍Black-Scholes方程的数值解法,帮助读者理解其实现…...

别再被网站识别成机器人了!用Python的undetected_chromedriver+Selenium实现完美隐身爬虫

突破反爬封锁:Python隐身爬虫实战指南 当你在电商网站抓取商品信息时,是否经常遇到"请验证您不是机器人"的提示?传统的Selenium方案越来越容易被识别,而undetected_chromedriver正是为解决这一问题而生。这个基于Chromi…...

【AI工程化硬核警告】:PHP 9.0正式支持Fibers原生异步,但87.6%的AI机器人因未重写Promise调度器已悄然降级为同步阻塞

更多请点击: https://intelliparadigm.com 第一章:PHP 9.0异步演进与AI机器人性能断崖的真相 PHP 9.0 并非官方已发布的版本(截至 2024 年,PHP 官方最新稳定版为 8.3),但社区中广泛流传的“PHP 9.0”概念实…...

大语言模型偏见审计实战手册(R+causalml+fairness包工业级验证框架)

更多请点击: https://intelliparadigm.com 第一章:大语言模型偏见审计的R语言方法论基石 R语言凭借其强大的统计建模能力、可复现的分析管道(tidyverse 生态)以及丰富的文本分析包(如 quanteda、textdata、fairness&a…...

原创文档:基于深度学习的字体识别系统设计与实现

摘要:随着数字文档处理、文字图像分析和智能视觉技术的发展,基于深度学习的字体识别在文档分类、版式分析、数字出版、图像检索和人机交互等领域具有较高的应用价值。传统字体识别方法通常依赖人工设计特征,对复杂字形差异、书写风格变化和图…...

数据湖架构实践

数据湖架构实践:解锁企业数据价值的新范式 在数据爆炸的时代,企业如何高效存储、管理和分析海量异构数据成为关键挑战。数据湖架构应运而生,以其低成本、高扩展性和灵活性成为企业数据战略的核心。本文将深入探讨数据湖的实践路径&#xff0…...

5分钟终极指南:如何用DS4Windows让PS手柄在PC上完美运行

5分钟终极指南:如何用DS4Windows让PS手柄在PC上完美运行 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 还在为PlayStation手柄在Windows电脑上无法正常使用而烦恼吗&#xff…...

深入理解Linux内核机制

深入理解Linux内核机制 Linux内核作为操作系统的核心,其设计思想与实现机制一直是开发者与系统工程师关注的焦点。它不仅驱动着全球数以亿计的服务器、嵌入式设备和移动终端,更以其开源特性成为技术探索的沃土。深入理解Linux内核机制,不仅能…...

蓝牙开发避坑指南:手把手教你定位并解决6个最常见的连接断开问题(附错误码详解)

蓝牙开发避坑指南:手把手教你定位并解决6个最常见的连接断开问题(附错误码详解) 在物联网和嵌入式开发领域,蓝牙连接稳定性一直是开发者面临的棘手挑战。当你在调试过程中突然看到控制台弹出"Connection terminated with err…...

从‘蝶形图’到可运行代码:图解FFT递归过程与C++内存现场剖析

从蝶形图到可执行代码:FFT递归过程与C内存模型深度解析 第一次接触快速傅里叶变换(FFT)时,大多数人都能理解其数学原理——将信号分解为不同频率的正弦波叠加。但当真正动手实现时,面对递归调用、复数运算和内存管理这…...

【云端部署】2026年OpenClaw/Hermes Agent简易安装指南

【云端部署】2026年OpenClaw/Hermes Agent简易安装指南。OpenClaw和Hermes Agent是什么?OpenClaw和Hermes Agent怎么部署?如何部署OpenClaw/Hermes Agent?2026年还在为部署OpenClaw和Hermes Agent到处找教程踩坑吗?别再瞎折腾了&a…...

【详细攻略】2026年Hermes Agent/OpenClaw华为云1分钟保姆级安装流程

【详细攻略】2026年Hermes Agent/OpenClaw华为云1分钟保姆级安装流程。OpenClaw和Hermes Agent是什么?OpenClaw和Hermes Agent怎么部署?如何部署OpenClaw/Hermes Agent?2026年还在为部署OpenClaw和Hermes Agent到处找教程踩坑吗?别…...

Flowable流程表单数据怎么存?从.form文件到数据库的完整数据流转解析

Flowable外部表单数据存储机制深度解析:从.form文件到数据库的完整链路 当你在Flowable流程引擎中使用外部表单时,是否好奇过那些精心设计的表单字段最终去了哪里?本文将带你深入探索.form文件中的数据如何穿越层层关卡,最终安家落…...

5分钟终极指南:Steam成就管理器让你的游戏体验全面升级

5分钟终极指南:Steam成就管理器让你的游戏体验全面升级 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 还在为Steam游戏中那些难以完成的成就而…...

别再折腾了!Windows 11下STM32开发环境一站式搭建指南(MDK5.38 + DAP/ST-Link + CH340)

Windows 11下零痛感STM32开发环境全栈配置手册 刚拿到STM32开发板的新手开发者,往往会在环境搭建阶段经历各种"玄学问题":MDK版本兼容性报错、仿真器驱动冲突、串口识别异常...这些看似简单的准备工作,实际可能消耗数天时间。本文将…...

第105篇:实战:构建一个AI智能客服中台——打通全渠道,降本增效的秘诀(项目实战)

文章目录项目背景技术选型架构设计核心实现1. 混合检索式知识库的实现2. 基于Rasa的、可对接业务API的对话流踩坑记录效果对比项目背景 在上一家公司,我们团队负责的电商业务线,客服压力巨大。高峰期,用户咨询从App、小程序、官网、电话、社…...

微信机器人终极指南:5分钟搭建智能助手,解放你的双手

微信机器人终极指南:5分钟搭建智能助手,解放你的双手 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/Git…...

iOS开发 实习产出(给我自己看的 笔记而已)

app总览这个 app 是一个通过多设备协同进行 AR 数据采集 / 录制 / 上传的 iOS 应用,主界面由 4 个一级 Tab 组成,背后由一组领域模块支撑。一、主界面 4 个板块(一级 Tab)enum Tab {case prepare, record, upload, profile}Tab入口…...