Open Source Contributor, Work on creating an autonomous AI Coding Assistant.
懒猫算力舱体验:家用 AI 助手的开始
懒猫算力舱 作为一个忍不住折腾的选手,之前一直是自己组装 NAS,直到去年机缘巧合购买了懒猫微服尝鲜, 用了一段时间后发现确实好用,而且架不住过度豪华的客服团队,懒猫微服也成了主力 NAS, 于是一方面为了自己使用方便,一方面眼红老王(懒猫团队的CEO)的红包,提了一些意见,也帮忙做了一些小贡献。 没想到老王竟然给我寄来了一台算力舱作为感谢。收到包裹的时候,还是有点激动的, 上手体验之后,也确实是超出预期。 不得不说老王的字写得还挺好的, 开箱体验 打开包装的瞬间,第一感觉就是包装真的很用心。 之前就有听老王在群里一直说花了很大力气设计包装和算力舱,实际上手的厚重感和严丝合缝的感觉,可以说是用料丰富版的苹果包装。 机器本身的工业设计也相当不错,金属外壳的跑车形态给人一种专业设备的感觉,配合懒猫微服的整体风格,确实是一个很不错的组合。 这台算力舱的核心是基于 NVIDIA Jetson 平台,有原生的 CUDA 支持, 而且和 Apple Silicon 一样,有 64GB 的统一内存,对于AI模型推理来说,大内存就是真理,先不说跑的快慢,内存大小首先决定了能不能跑起来。 实际体验 从我的 GitHub 的记录就能看出来,我现在的日常开发已经把重心放在了 TabbyML/tabby 和 TabbyML/pochi 上,这两个项目都是开源 AI 编程助手, 作为一个 AI 项目的开发者,拥有一个相对低功耗、独立的本地算力方便得多, 以前都是在我的 mac 上面跑,但是 mac 也是我的主力开发机,跑模型就会把负载拉起来,影响到我日常的开发,所以只能是在需要的时候打开,用完就关掉。 现在直接常驻几个本地 AI 模型,随时要用都能直接接入。 我现在日常使用的是 Qwen3 30B-A3B 模型,在智商和推理速度上找到了一个不错的平衡点,速度大概在 30+ Token/s,输出的内容基本也够用。 日常的测试、日常浏览网页时总结,翻译这些任务,它都能很好地胜任, 当遇到需要更强推理能力的场景时,我会切换到 Qwen3 32B,虽然速度会慢一些,大概是 5 Token/s,但是在复杂推理上确实会更聪明一些,少很多幻觉。 我知道效果肯定不如 ChatGPT,Gemini,但是胜在不花钱啊,虽然电费还是要算上就是了。 而且在一些涉及个人隐私的项目和数据整理工作,本地模型的优势就很明显了, 不用担心数据泄露,我自己平时的个人和家庭的信息记录,用 Beancount 记的账, 之前都不敢给在线的模型,现在就可以放心地聊了,用来生成报表,分析消费,生成 Beancount 账单都很方便。 ...
收到第一次的周期开源赞助
收到第一次的周期开源赞助 最近收到了人生的第一个开源赞助,突然有一种被认可的感觉,激动的心情让我想写一点东西分享一下我的快乐。 首先肯定要大力感谢 Warp.dev 对我和 LSD 开源项目的支持! Warp.dev 是一个 Rust 实现的现代化 Terminal,目前我也在尝试用它替换 iTerm2,不得不说还是挺特别的,尤其每一个命令就是一个 Block,支持团队协作和 AI 建议等现代化功能,起码是在众多 Terminal 里,算是做出自己的特色了。 ...
2020 年终总结,2021 新年展望
2020 年碰到了新冠疫情,是大环境最差的一年,但是宅在家里,却看到了更多,做到了更多, 放眼看,今年科技圈又把眼光看向了太空, 嫦娥五号登月带回样本,猎鹰九号载人升空,SN8 虽然落地爆炸,但是跳跃测试基本完美完成, 小时候成为科学家的梦想又开始在内心涌动起来(Doge), 回看身边科技圈, Apple Silicon 闪亮登场, 苹果 市值 2 万亿, Tesla, 美团, 小米 市值猛涨, 在拖延症 2020 年总结时, Golang 泛型还在农历新年迎来了好消息。 ...
macOS GUI Emacs 使用 GPG 给 Git Commit 签名
简介 使用 GPG 给 Commit 签名,网上已经有很多教程,但是在 Emacs 使用 Magit 作为 Git 客户端时, 还是碰到了几个问题。 ...
儿童疫苗攻略
选择原则 既有免费又有自费的 5 种疫苗,流脑疫苗选自费,其他选免费疫苗; 发病率高、发病后病情严重的先打; 自费疫苗尽早接种,可以和免费疫苗同时接种在不同部位。 ...
从 NextCloud 替换为 Seafile
之前自己组装了一台 NAS,用作私有云,解决大容量网盘,自己跑的一些小应用的问题,还计划作为软路由。 当时对网盘的选择是 NextCloud,最主要的原因就是这是有名气的 Self Hosted 网盘里,最开源的选项, 而这周末,我还是决定更换到 Seafile。 ...
Golang 1.14 发布,抢占式调度优化
Golang 1.14 在 2020-02-25 正式发布,看了一下 Release Notes,发现有两个点比较有意思: 调度器抢占优化,不再需要函数调用作为抢占点 Timer 更高效 这篇文章主要是聊聊调度器这部分。 ...
2019 年终总结,2020 新年展望
2018 年底从一个创业公司,换到了另一个创业公司,今年算是全新的一年。 年度关键词: 水流不腐 ...
Kubernetes 服务名解析原理
场景 在 Kubernetes 中,我们经常会有直接使用 Service 的名字访问对应 Service 地址的场景。 举个栗子,我们建一个 Service,名字叫 demo-svc ,对应的 ClusterIP 为 10.0.171.239 ,端口为 80 。 那么,我们在访问同一个 Namespace 下的这个 Service 时,我们一般会通过一下几种方式之一访问: 10.0.171.239:80 demo-svc:80 demo-svc.namespace-name.svc.cluster.local:80 注意:如果时要访问不同 Namespace 下,或者集群外部 Service,可以通过 ExternalName 类型的 Service 实现, 但是这是另一个话题,就不展开了。 通过 IP 地址访问的情况自然是不需要解释,通过 Service 名字访问的方式也很自然能想到时通过 DNS 解析实现。 但是, demo-svc 和 demo-svc.namespace-name.svc.cluster.local 之间的区别和关系是什么呢? 原理解析 DNS 查看 Pod 内的 /etc/resolve.conf ,能看到一下内容: nameserver 10.0.0.10 search namespace-name.svc.cluster.local svc.cluster.local cluster.local options ndots:5 其中: 10.0.0.10 时 CoreDNS 的 Service 的 IP 地址,我们的请求都会发送到 CoreDNS 解析。 search 时 Kubernetes 加上的,顾名思义,解析 DNS 的时候会 查找 后面对应的这几个后缀。 options ndots:5 这个有意思,当请求的域名里,显式出现少于 5 个 点 时,才补上 search 的后缀。 值得注意的时 options ndots:5 ,显式出现少于 5 个 点 是什么意思呢? ...
用 Stack 管理多个 GHC 版本
使用 Haskell 碰到 GHC 版本的问题,但是搜了一下,感觉说的文章不多, 可能是国内用 Haskell 的人比较少,或者用的人都比较厉害。 Haskell 作为函数式编程的代表性语言,感觉还是很值得学习,也希望能有更多的中文文章, 让像我这样希望入门的人,能够更容易的上手。 ...
开始用 Beancount 实践复式记账(一):初始化
第一次了解到复式记账是 Emacs 的 Ledger mode ,但是还挺复杂的,就放弃了。 后来 Byvoid 的Beancount 复式记账(一):为什么里提到了 Beancount ,感觉比较值得一试。 ...
dnsmasq + Cloudflare DoH 自建 DNS
有时候方案一些网站的时候,会由于 DNS 解析出问题,即使网络情况很好,也会出现无法访问的情况, 而最近很流行的 DNS over HTTPS 更是十分的稳定安全,所以,通过自建 DNS,可以精确的得到解析结果。 ...