大数跨境

照片和视频之外,微信里的声音也值得好好保存

照片和视频之外,微信里的声音也值得好好保存 dotNET跨平台
2026-11-10
3
导读:这张票根是可以撕的。一个孔一个孔地撕开,跟着手走,撕完票根掉下去。它不是网页,也不是 Flutter,是用

这张票根是可以撕的。

一个孔一个孔地撕开,跟着手走,撕完票根掉下去。

它不是网页,也不是 Flutter,是用 C# 和 Avalonia 写的。

今天,TKCode.Arc 发布 1.0.0 正式版。这是我做的一套 Avalonia 12 组件库,MIT 协议,闭源商业项目也能用。

它是什么

我把 Arc(uiarc.dev)的视觉语言和弹簧动效做成了 Avalonia 原生控件,移植了它的 112 个免费组件,又补上了做完整产品要用的东西:页面区块、数据表格、工作流画布、停靠布局、终端和 PDF 查看器。

  • 21 个 NuGet 包,同一个版本一起发布
  • 300 多个文档页,每页有在线示例,提供简体、繁体和英文
  • 支持 .NET 8、10、11(终端组件需要 .NET 10 及以上)
  • Windows、macOS、Linux 和 WebAssembly
  • 按兼容裁剪和 NativeAOT 的方式构建

先说清楚:这是我的个人项目,不是 Arc 官方出品。下面的票根、全息卡这类特效组件是原创设计,交互和动效参考了 Arc Pro。

所有动图都录自组件库的示例,里面的数据也都是示例数据。

有手感的

全息卡 HoloCard。 卡片朝指针方向倾斜,全息箔、闪光和反光跟着变。点一下翻面。

卡包 WalletStack。 拉丝金属、黑色扭索纹、磨砂玻璃和彩色四种卡面。切一张抽出来,就能看到余额和最近的交易。

有点过分的

黑洞 BlackHole。 删除这件事,我让它做得有点过分:选中的内容被吸进黑洞,周围的内容跟着弯曲。点撤销,它们再转出来。

语音球 VoiceOrb。 待机时呼吸,听你说话时泛起涟漪,思考时打转,回答时跳动。动图里的语音是模拟的,真实音频由你通过属性接进来。

变形加载 MorphLoader。 四笔线条在圆点、竖条、圆环和方块之间弹簧变形,结果出来时折成对勾或叉。

数据也能有戏

赛跑条形图 RaceBarChart。 数据按时间滚动,条形互相超车。

桑基图 SankeyFlow。 鼠标移到节点或流带上,相关路径亮起来,粒子沿着路径流动。

旭日图 Sunburst。 点一块钻进去,点中间退回来。

也能干正经活

PDF 查看器 PdfViewer。 缩略图、目录、搜索、文本选择和链接都有。桌面端用 PDFium,浏览器里用 pdf.js。

这些没放动图,但同样在 1.0 里:

  • DataGrid
    :区域选择、行内编辑、填充柄、剪贴板、分组、导出
  • 工作流画布:平移、缩放、自动排列、撤销
  • IDE 式停靠布局:布局可以存成 JSON
  • TerminalView
    :基于 libghostty-vt 的终端

钱花哪了

现在说大家最想问的:近 2 万块,243 亿 Token。

Claude 订阅加 API,近 2 万,全是我自己付的。这个数不含我自己的时间。

从第一次提交到 1.0 用了 19 天,一共 282 次提交,其中 263 次带着 Claude 的共同署名。这事我不想藏,藏了也能从提交记录里翻出来。

我扫了一遍本机的 Claude Code 会话记录,这个项目大约用了:

  • 请求:约 9 万次
  • Token 总量:24,311,844,044,约 243 亿
  • 其中缓存读取:约 237 亿,占 97.6%
  • 模型实际输出:约 9300 万

243 亿听着吓人,但绝大部分是反复读取上下文的缓存,模型真正写出来的是那 9300 万。

AI 写的,能用吗

这是我最想让你自己判断的问题。我能给的是这些事实:

  • 从 1.0 起遵循语义化版本,破坏性 API 变更只在新的主版本出现
  • 和上一个预览版对比了 11 个包的 API,没有发现破坏性变更
  • 仓库里有 1 万多个测试方法
  • 每个版本修了哪些 bug,都列在 CHANGELOG 的 Fixed 里,可以逐条看

还没做好的,也直接告诉你:

  • 移动端组件只在桌面的手机外框里预览过,还没上过 Android 和 iOS 真机
  • 视频组件还在仓库里,没有发布到 NuGet
  • PDF 查看器不支持触屏拖选文字;没有内嵌中日韩字体的文档,显示效果取决于机器上的字体

三条命令跑起来

别听我吹,自己试试。这几条命令会生成一个带对话列表、流式回复的 AI 聊天桌面应用,需要 .NET 10 SDK:

dotnet new install TKCode.Arc.Templatesdotnet new tkcode-arc-ai-chat -n Assistantdotnet run --project Assistant

回复默认是预设的示例内容,换成你自己的模型客户端就能接真模型。

把 tkcode-arc-ai-chat 换成 tkcode-arc-admin 是管理后台,换成 tkcode-arc-devtool 是 IDE 式开发工具。

最后

如果是你,这 2 万会这么花吗? 评论区说说。

觉得有用的话,给项目点个 Star,或者转给做 .NET 的朋友。

  • GitHub:github.com/AIDotNet/TKCode.Arc
  • 在线文档:https://docs.tkcode.si(跑在 WebAssembly 上,建议用电脑打开)



【声明】内容源于网络
0
0
dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
内容 2390
粉丝 0
dotNET跨平台 专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
总阅读92.6k
粉丝0
内容2.4k