升级打怪
如今,越来越多 AI 产品都已接入 Skills 功能 —— 从 Claude Code、OpenCode 到 CodeX、Antigravity,再到最近刚升级的 Coze 2.0,几乎成了主流 AI 工具的 “标配”。
但问题来了:火爆全网的 Skills,普通人到底该怎么用?
食用指南:
- 首先安装 Skill,打开 The Agent Skills Directory;
- AI 中使用 Skill;
- 创建自己的 Skill;
一共安装3个Skill:
- frontend-design: 创建高质量的前端界面和组件,包括网站、落地页、仪表板、React组件等
- mcp-builder: 创建MCP (Model Context Protocol) 服务器的指南
- skill-creator: 创建新技能的指南
👇下面以 Claude Code 为例,讲讲 Skill 的使用和创建:
首先检查安装好的 Skill。
当前有哪些skill?
然后,使用 “skill-creator” 创建了 “ImageMagick Skill”。
请帮我把开源项目https://github.com/lmageMagick/lmageMagick,打包成一个Skill,方便我以后直接调用它来对我的图片素材进行处理,可以比如格式转换,分辨率修改、压缩等等
接着,用自己刚创建的 “ImageMagick Skill”,压缩图片。
请将2026-01-26_18-43.png图片转换成webp,图片大小压缩一下,并保存在原始图片同目录下。
看到这里,发现很简单是不是?
“任何可以复用的能力,都建议抽象成技能,一定要Skill化。”
大家可以动手了。
note:使用 npx skills add <owner/repo> 安装的 Skill 可以给电脑上任何 AI 工具使用。自己创建的 Skill 只限于当前的 AI 工具,但是你可以复制到一个公共目录,然后通过软连接共享给其他AI工具。
Ref
刚用AI写了篇 Homebrew 周报,发现里面竟然有 Clawdbot😺。
老实说,我没有完全理解它的“价值“。
在 ChatGPT 4.0 发布没多久的时候,我发现了一个非常热门的开源项目:AutoGPT。
一开始,我感觉很神奇:AutoGPT 可以根据任务自己搜索网页、下载文件等等,一切都是自动化操作。
我被它这套动作折服,但很快被现实打脸👊,它未解决任何任务‼️。
迄今为止,AutoGPT并没有给我解决任何问题,它就像个玩具。
“后面开始接触 Cursor,是它让我感受到 AI 不是骗人的把戏。”
自从使用 Cursor 辅助编程,工作效率提升了很多,原来半天或者一天的工作,可能1~2个小时就完成了。
Cursor,值得付费。
回到 Clawdbot,去它的主页看了看,跟 AutoGPT 很像。
我完全没理解它能做什么?如果抛开 AI,它只剩下壳,如同它的logo,小龙虾🦞。
个人预计,很快就没人会讨论它,Clawdbot。
Ref
Web 端的 UI 设计师,主流都是使用 Figma,但 Figma 是商业软件,对于资金有限的 team 来说,是一笔不小的开销💰。
Penpot 是 Figma 的 free 平替,开源程度高,支持自有部署。
如果有较高要求,也可以购买他们的商业许可,获取更多功能。
在 AI Coding 的年代,Penpot 有很大缺憾、缺乏 MCP 支持,显得有点脱节。
现在官方支持 MCP,是个令人振奋的好消息。
Ref
当工具不再抢存在感,而是默默接过复杂性
真正有分量的工具更新,
往往不是多给你几个按钮,
而是让你少记几件本该交给系统的事。这一期 Homebrew 的新增,更像是在底层悄悄铺路。
本周一句话总结
没有明星级工具,
但多了一整批:
当工作流变复杂时,你会开始庆幸它们存在的选项。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| durdraw | 终端里的 ASCII / ANSI 艺术绘图编辑器 |
| ekphos | 类 Obsidian 的终端 Markdown 研究工具 |
| gnuastro | 天文数据处理与分析工具集 |
| libigloo | Icecast 项目使用的通用 C 框架 |
| magics | ECMWF 出品的气象绘图软件 |
| mlx-c | MLX 的 C 语言 API |
| nativefiledialog-extended | 原生文件选择对话框库(C/C++ 绑定) |
| openskills | 面向 AI 编程 Agent 的通用技能加载器 |
| pocket-tts | 面向 CPU 优化的本地语音合成工具 |
| repeater | 基于间隔重复算法的闪卡学习工具 |
| sandvault | 在 macOS 沙盒用户中隔离运行 AI Agent |
| signalwire-client-c | SignalWire 的 C 客户端 SDK |
| tftp-now | 单文件版 TFTP 服务器与客户端 |
| tock | 命令行时间追踪工具 |
| vtsls | VSCode TypeScript 扩展的 LSP 包装器 |
| wik | 在终端中浏览维基百科 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| amical | AI 语音听写应用 |
| appvolume | 按应用调节系统音量 |
| aquaskk@prerelease | 无形态分析的输入法 |
| boltai@1 | AI 聊天客户端 |
| captains-deck | 双栏文件管理器(Norton Commander 风格) |
| claudebar | 菜单栏里的 Claude 使用配额监控工具 |
| clawdbot | 个人 AI 助手 |
| codebuddy | AI 自适应 IDE |
| codebuddy-cn | CodeBuddy 中文版 |
| finetune | 应用级音量混音与路由工具 |
| font-playwrite-nz-basic | Playwrite NZ 基础字体 |
| font-playwrite-nz-basic-guides | 带书写引导线的 Playwrite NZ 字体 |
| gitfit | 等 AI 生成代码时做微运动的小工具 |
| impactor | iOS / tvOS 应用侧载工具 |
| lolgato | Elgato 灯光控制增强工具 |
| mcpbundler | MCP 服务器与 Agent 技能管理器 |
| monologue | 会适应你写作风格的 AI 语音听写 |
| mos@beta | 平滑滚动与独立滚轮方向控制 |
| plaud | 会议 / 通话 / 面对面场景的 AI 记录工具 |
| superset | 用于编排 Agent 的终端工具 |
| transmission@beta | 开源 BitTorrent 客户端(测试版) |
值得留意的几个方向
sandvault:当 AI Agent 开始需要“隔离区”
AI Agent 越来越强,
但也越来越“像另一个用户”。
sandvault 做的事情很克制:
不试图限制 Agent 的能力,
而是给它一个单独的 macOS 用户沙盒。
这是一种很成熟的工程判断:
不是假装安全问题不存在,
而是把风险关进可控的房间里。
ekphos:研究型写作,回到终端
知识管理工具越来越重,
但真正写东西的时候,
很多人还是回到了 Markdown。
ekphos 的气质很明确:
不做“第二个 Obsidian”,
而是把“链接、引用、检索”
搬回终端这种低干扰环境。
它更像一个研究用的工具箱,
而不是笔记应用。
pocket-tts / monologue / amical
当“输入”开始重新被发明
这一期出现了不止一个语音工具,
但它们的方向非常一致:
pocket-tts:强调本地、低资源消耗monologue:强调写作风格适配amical:强调随时可用的语音入口
这不是功能堆叠,
而是输入方式在悄悄换代。
openskills / superset / mcpbundler
当工具开始为 Agent 而设计
这一期最明显的信号之一是:
工具开始假设“使用者不只是人”。
openskills:为 Agent 提供可加载技能superset:用终端编排 Agent 工作流mcpbundler:集中管理 Agent 能力包
这不是噱头,
而是开发环境结构正在真实变化。
MCP Bundler
一点个人感受
这一期没有
“你不用就会落后”的工具。
但你会发现,
很多项目都在同一个方向上用力:
- 把 AI 关进更安全的容器
- 把输入变得更自然
- 把复杂的工作流拆解成模块
它们不是为了炫技,
而是为了让未来的工具世界
不至于失控。
结语
Homebrew 的更新,
越来越像一张慢慢展开的地图。
它不催你赶路,
只是告诉你:
这条路上,又多了几种更稳妥的走法。
我们下期再见。
昨天刷到一篇帖子公司开始全面 vibe coding 之后感觉更累了 - V2EX。
op 写了大段内容,看着很累,待看到后面的评论区,才知道 op 用了AI排版😓。
“简单说,就是用了 vibe coding 后,开发更累了。”
看了op的 “后续反思”,感觉太低级,有点误人子弟。
不能说完全解决问题,但是解决问题的路径和对AI的理解确实不是小白可比。
每个人对于AI的使用,其能力是参差不齐的,有的人是“自我总结”,有的人是学习官方文档。
如果一开始,就是零星学习一些散落的AI知识,再结合“自我总结”。
这样的路径,最终会导致不伦不类。
好的路径应该是,首先从官方文档开始学习,然后逐渐递进学习深度,例如:Rules、Skills 等等。
使用AI能力的判断标准,可以通过下面5个维度来看:
- 输入控制力(Input Control)
- 输出可控性(Output Control)
- 任务建模力(Task Modeling)
- 风险与约束意识(Risk Control)
- 系统与流程设计力(System Design)
油管上有主播谈了一下,企业中使用 “vibe coding” 开发遇到的问题,将的还蛮好的,可以看看。
还有个主播,讲了很多AI基础和原理性的内容,非常适合新人学习。
最后,我想说,很多使用者都是从 ChatGPT 开始接触 AI 工具,对于“LLA大模型”“模型蒸馏”“Agent”“MCP”“Skill”等等,都只是一知半解。
但是,AI 发展很快,其技术指标一直在迭代,如果不去学习官方文档,根本不清楚当前使用的模型有哪些功能特性,更加不要说 Vibe Coding。
Ref
当工具开始替你分担复杂性
真正有分量的工具更新,
往往不是让你“能做更多事”,
而是让你少为一些本该被自动化的细节操心。
这一期 Homebrew 的新增工具,
大多安静、专业,
但几乎都在同一个方向上用力:
把复杂性留给系统,把判断权还给人。
“这一期的工具,不追求存在感,但在关键时刻能把复杂留给机器。”
本周一句话总结
这周没有“必须立刻安装”的明星工具,
但多了一整组——
当项目变大、系统变复杂时,
你会开始庆幸它们存在的选项。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| azure-dev | Azure 官方开发者 CLI,用于统一管理与操作 Azure 资源 |
| dovi_convert | Dolby Vision Profile 7 → 8.1 的 MKV 视频转换工具 |
| ffmpeg-full | 含完整编解码支持的 FFmpeg 音视频工具集 |
| fzf-tab | 使用 fzf 替换 zsh 补全菜单 |
| imagemagick-full | 全功能 ImageMagick 图像处理工具 |
| kubefwd | Kubernetes Service 批量端口转发工具 |
| libks | SignalWire C 产品的基础支持库 |
| libthai | 泰语语言处理支持库 |
| pgroll | Postgres 零停机数据库迁移工具 |
| ralph-orchestrator | 面向自主 AI 任务的多 Agent 编排框架 |
| rig-r | R 语言运行时安装管理器 |
| rv-r | 声明式 R 包管理工具 |
| shiki | 高质量语法高亮引擎 |
| worktrunk | 面向并行 AI Agent 的 Git worktree 管理 CLI |
| xcsift | 解析 xcodebuild 输出的 Swift 工具 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| ausweisapp | 德国联邦政府官方 eID 客户端 |
| auto-claude | 支持多会话的自动化 AI 编程工具 |
| bettershot | 截图、标注、编辑一体化工具 |
| eigent | 桌面级 AI Agent |
| font-zxgamut | ZX Gamut 字体 |
| freeshow@beta | 演示文稿软件(测试版) |
| glide | 树状布局的平铺窗口管理器 |
| hytale | Hytale 官方启动器 |
| kogiqa | 自然语言驱动的 UI 自动化工具 |
| novation-play | Launchkey MK4 虚拟乐器 |
| proscoreboard | 比赛记分板软件 |
| provideoplayer | 演示播放工具 |
| stremioservice | Stremio Web 桌面配套服务 |
| waveforms | Digilent 测试与测量虚拟仪器套件 |
值得留意的几个方向
pgroll:当数据库迁移不再是“深夜操作”
数据库迁移最让人紧张的,
从来不是 SQL,
而是那句反复确认的:
“这一步,会不会影响线上?”
pgroll 把“零停机迁移”变成默认路径,
不是炫技,
而是在替团队保留安全感。
kubefwd:让 Kubernetes 回到本地感受
Kubernetes 很强,
但开发阶段,它往往离人太远。
kubefwd 做的事情很简单:
把集群服务自然地拉回本地。
少记端口、少写规则,
系统替你消化重复劳动。
fzf-tab:补全,也可以是搜索
当补全列表开始变长,
“选择”本身就成了负担。
fzf-tab 把补全变成搜索,
这是交互方式的转向,
而不是功能堆叠。
当工具开始为 AI Agent 准备工作流
这一期有一个明显信号:
工具开始默认“使用者不只有人”。
ralph-orchestrator负责任务调度worktrunk为并行 Agent 提供 Git 空间xcsift把构建日志结构化给机器读
开发环境,正在悄悄换代。
bettershot:截图工具,正在变成表达工具
截图不再只是“截一张图”。
标注、解释、整理、分享,
这些原本分散的动作,
正在被折叠进一个更顺手的流程里。
ausweisapp:低调,但极其重要的存在
它不是效率工具,
却承担着真实世界的身份确认。
这种软件存在的意义,
往往只有在需要时才会被意识到。
一点个人感受
这一期没有
“你不用就会落后”的工具。
但它们高度一致地做了一件事:
替人分担复杂性。
当工具开始替你思考细节,
人才能把注意力,
留给真正重要、也真正需要人参与的部分。
结语
Homebrew 的更新,
越来越像一张慢慢展开的地图。
它不催你赶路,
只是告诉你:
这条路上,又多了几种更省心的走法。
我们下期再见。
还是跟上次一样,这次也是 Vibe Coding。
写起来很easy,只需要review和调试。
- 首先是一个很基础的 mvp;
- 代码优化、插件调试和编写项目说明;
- 发布 Marketplace;
发布 Marketplace,花的时间最多,步骤有点多:
- 首先用 Microsoft 账号创建 Azure 账号;
- 再用Azure账号,创建 Azure DevOps 组织(这里需要绑定信用卡);
- 有了组织后,就可以创建 publisher 账号;
- publisher 账号才可以发布到 Marketplace 应用市场;
本地调试,直接选中项目文件extension.js,按 “F5”
这时,会弹出一个调试用的 vs code,
- 再按“Command + shfit + p”,
- 输入“Matrix Overlay: Start”
- 就能看到一个 Matrix 黑客帝国动画
插件发布有2种方式:
- 使用 vsce 发布;
- 直接登录 Marketplace 后台上传插件;
二者都可以,但还是推荐 vsce,可以看到一些检查信息。
插件的 icon.png 是使用 AI 生成:
Matrix-inspired cyberpunk icon.
Stylized hacker sunglasses with glowing green code reflections,
a minimalist lightning bolt integrated into the lenses.
Dark theme, neon green glow, high contrast.
Flat vector icon, no background details, no text.
Optimized for small UI icon usage.
效果如下:
“个人感觉还不错,闪电⚡️和墨镜🕶️都有,要是背景透明就更好了。”
因为是要钱的,所以只生成了一张。😅
Ref
其实用“乌托邦”来形容,并不合适,也没有表达出准确的意思。
但,确实想不出更好的词。
Vercel 这家公司,我并不喜欢。
React 我也不喜欢,感觉被一群人打劫了前端的未来。
表现在,
“现在写✍️前端,跟写后端一样看不到未来。”
自从 Spring 一统 Java 之后,给后端的剩下的就只有CURD。
“谁会跟钱过不去?”
WLB(Work-life Balance) 是堆砌在物质的基础上,连最起码的温饱都没有,纯爱❤️发电能坚持多久?
前些时候,看了「Linus Torvalds 采访」,感觉 Linus 这段话蛮有感概:
“ Money really isn't that great of a motivator. It doesn't pull people together. Having a common project, and really feeling that you really can be a full partner in that project, that motivates people, I think. ”
总结,金钱或许可以驱动开源,但无法凝聚人心。
「尾巴🧣」
事实上,很早时候,开源社区的领导者就意识到这个问题,所以才会出现GPLv2 等协议📖。
Ref
RT,这个算不算是😧,Vibe Coding?🤔
上午在coding页面的时候遇到一个挺烦人😡的事情:css 转內联样式。
在 Marketplace 找了一圈也没特别心仪的插件。
不是没有,而是没遇到心仪的。
主要问题是:
- 功能杂七杂八,不够纯粹
- 很久没人维护
- 名字取的不感冒😷,蹭热度
我就喜欢那种能将一个事情做到极致,又很纯粹的东西。
可惜,nothing。
突然想到,自己非常喜欢的工具🔧,PopClip。
它挺适合解决这个问题:选中一段css,然后转换成内联样式。
说干就干,立马派 ChatGPT 干活。
一开始,先询问“popclip 有类似的插件吗?”
ChatGPT 提示我,可以自己做一个PopClip扩展。
想了想,觉得可以,当作一个实验。
经过数轮验证和提示词修改,终于完成成品,效果还蛮理想。
Look Here👀👇
代码如下:
-
新建 CSS2JS.popclipext 文件夹。
-
创建 Config.yaml
name: CSS to JS Object
identifier: com.richie.css2js
description: Convert CSS to JavaScript style object
icon: code
actions:
- title: CSS→JS
icon: code
requirements: [text]
# PopClip 2025 官方 Shell Script Action 写法
shell script file: css2js.py
interpreter: python3
stdin: text
after: paste-result
- 再创建 css2js.py
#!/usr/bin/env python3
import sys
text = sys.stdin.read()
lines = [l.strip() for l in text.splitlines() if ':' in l]
entries = []
for line in lines:
line = line.rstrip(';')
if ':' not in line:
continue
prop, val = line.split(':', 1)
prop = prop.strip()
val = val.strip()
parts = prop.split('-')
camel = parts[0] + ''.join(p.capitalize() for p in parts[1:])
entries.append(f" {camel}: '{val}'")
print("{")
print(",\n".join(entries))
print("}")
- 赋予脚本可执行权限
chmod +x css2js.py
- 双击即可完成安装。
PopClip 插件支持2种扩展类型:
- Package(当前是这种方式)
- Snippet 脚本,选中一段代码,然后出现安装提示🔔。如下:
刚开始是使用第一种方式开发,看起来很简单,但始终报错运行不起来。
后面改成第二种方式,一次就跑起来了。
使用 ChatGPT 开发这个插件,也遇到一些比较头疼🤕的问题:
“ChatGPT 提供的代码始终无法运行。”
后来,我意识到问题所在:“它的训练数据可能过时了”。
因此,我改变了提示词,结果一目了然✌️。
使用 Cursor,快2年。确切来说,白票2年。
或者使用公司提供的 team 许可,或者在申请 free 许可的路上。
Cursor 整体使用上就一个字,爽。
但,有痛点。
VS Code 陪伴我差不多有7、8年,配置了很多插件,形成了一些习惯。
突然有一天,被其他工具取代,有点不适应。
“并不是所有插件,都同时兼容 VS Code 和 Cursor”
‼️更为重要,并不是所有事情都需要 AI 辅助才能完成。
Cline 出来应该有一段时间,我是最近才开始使用。
通过这段时间(1-2个礼拜),我发现它基本能替代 Cursor 的功能。
当然,使用习惯需要调整,有个逐渐适应的过程。
不可否认,Cursor 的 UI 和交互性比 Cline 看起来要专业,毕竟一个是 IDE,一个是 IDE 插件。
“某些角度来讲,VS Code 不是简单的编辑器,武装一下就成了 IDE”
Cline 最新的版本是v3.49.0,更新很快,比IDE勤快。
大概长这个样子:
最近在学习 Agent Skill,所以特意标注了。
Ref
当工具开始替你思考细节
真正有分量的工具更新,
往往不是给你更多可以点的地方,
而是让你少操心几件本该被机器处理的事。
“你不需要记住 cron 什么时候跑过”
这一期 Homebrew 的新增,
正是在这些细碎但长期消耗注意力的地方,
悄悄接过了一部分工作。
本周一句话总结
这周没有“划时代”的工具,
但多了几样会在你需要时,
默默派上用场的小东西。
本周新增工具速览
🧪 Formulae
| 名称 | 简介 |
|---|---|
| any2fasta | 多种生物序列格式转 FASTA 的小工具 |
| azurite | Azure Storage 的本地模拟服务器 |
| beads_viewer | Beads Issue Tracker 的终端界面 |
| codanna | 带语义搜索的代码智能分析系统 |
| cronboard | 本地与远程 Cron 任务的终端看板 |
| [email protected] | Haskell 编译器的新版本 |
| hindent | Haskell 代码格式化工具 |
| minizign | 用 Zig 实现的 Minisign 签名工具 |
🧩 Casks
| 名称 | 简介 |
|---|---|
| fork@dev | Fork Git 客户端的开发版 |
| wispr-flow | 带 AI 自动润色的语音转文字工具 |
值得留意的几个项目
codanna:当代码库开始变得“太大”
在小项目里,grep 足够好用。
但当代码库开始长成“系统”,
你真正需要的是:
“这个功能在哪里被实现?”
而不是:
“哪个文件里出现了这个词?”
codanna 用语义来理解代码,
更像是在给你的项目加一层“可思考的索引”。
cronboard:把看不见的定时任务拉到台前
大多数服务器上的 cron,
都在悄悄运转。
你知道它们存在,
却很少真正“看见”它们。
cronboard 做的事很简单:
把这些后台任务,变成一个可以随时打开的看板。
什么时候跑、有没有失败,一目了然。
azurite:云服务,也需要一个“影子世界”
当你使用 Azure Storage,
最难受的往往不是 API,
而是:
“我只是想在本地试一下。”
azurite 给云服务提供了一个“可本地跑的副本”,
让调试回到电脑本身,
而不是网络和账单。
wispr-flow:输入法,正在变得会写字
语音转文字已经不稀奇了。
wispr-flow 多做了一步:
它会把你说的话,
整理成更像“人写的句子”。
这意味着,
输入工具正在从“记录你说了什么”,
走向“理解你想表达什么”。
fork@dev:给 Git 用户的一点新鲜感
如果你已经在用 Fork,
@dev 版就是提前尝鲜。
更快的 diff、更顺的操作,
都不是革命,
但会在每天的 commit 里慢慢体现。
一点个人感受
这一期没有那种
“你不用它就会落后”的工具。
但它们都有一个很一致的方向:
把人从零碎的确认、检查、搜索里解放出来。
cronboard 让混乱变得可见,
codanna 让复杂变得可搜索,
wispr-flow 让表达变得轻松。
当工具开始替你思考细节,
人才能把注意力,留给真正重要的部分。
也许这正是这一期 Homebrew
最安静、但最有价值的地方。
结语
Homebrew 的更新,
越来越像一张工具地图。
不是告诉你该往哪走,
而是让你知道:
这条路上,多了几个可选的歇脚点。
我们下期再见。
Ref
首先接触的是 Ollama,优点:
- 容易上手,相关文档和资料比较多;
- 模型种类丰富;
- 对 macOS 友好
第一阶段
了解模型种类和划分
1. 按 Transformer 架构划分
| 类型 | 核心模块 | 核心特点 | 典型任务 | 代表模型 |
|---|---|---|---|---|
| 自编码模型 | 仅 Encoder | 双向注意力,擅长语义理解 | 文本分类、情感分析、命名实体识别 | BERT、RoBERTa、ALBERT |
| 自回归模型 | 仅 Decoder | 单向注意力,自回归生成 | 文本生成、对话、摘要 | GPT 系列、Llama、BLOOM |
| 序列到序列模型 | Encoder + Decoder | 输入 - 输出序列转换 | 翻译、生成式摘要、数据转换 | T5、BART、GLM |
2. 按应用场景划分
-
通用大模型:跨领域数据训练,适配对话、创作、翻译等多任务,如 GPT - 3.5/4、Claude、Llama 2。
-
代码专用模型:聚焦编程场景,优化代码生成、补全、调试,如 DeepSeek - Coder、CodeLlama、StarCoder。
-
行业垂直模型:针对医疗、金融、法律等领域优化,如 Med - Palm、LawGPT。
-
轻量化 / 蒸馏模型:压缩大模型知识适配低算力场景,如 DistilGPT2、DeepSeek - R1 - Distill。
3. 按能力特性划分
-
推理增强模型:经思维链微调,擅长数学解题、逻辑分析,如 Qwen3 - 4B - Thinking。
-
智能体模型:具备工具调用与自主决策,适配复杂任务,如 Tongyi - DeepResearch - 30B - A3B。
第二阶段
深入模型使用
1. ollama 基础操作
# 拉取指定模型
ollama pull <model-name>
# 拉取特定版本的模型
ollama pull llama2:7b
ollama pull mistral:latest
# 查看已下载的模型
ollama list
# 删除指定模型
ollama rm <model-name>
# 复制模型(创建副本)
ollama cp <source-model> <new-model-name>
# 运行默认对话
ollama run <model-name>
# 带系统提示词运行
ollama run <model-name> --system "你是一个有帮助的助手"
# 示例
ollama run llama2
ollama run mistral
# 单次查询(不进入交互模式)
ollama run <model-name> "你的问题是什么?"
# 通过 Modelfile 创建
ollama create <model-name> -f Modelfile
# 查看模型详情
ollama show <model-name>
# 启动 Ollama 服务
ollama serve
# Linux/Mac
pkill ollama
# 指定使用特定 GPU
CUDA_VISIBLE_DEVICES=0 ollama run <model-name>
# 查看运行日志
ollama logs
2. ollama 进阶使用
通过 Modelfile 创建模型
FROM llama2:7b
# 设置参数
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
# 系统提示词
SYSTEM """你是一个专业的技术顾问..."""
# 模板
TEMPLATE """{{ .Prompt }}"""
模型量化技术
量化技术(Quantization)是一种通过降低模型权重精度来减少内存占用和计算资源需求的技术。 在Ollama中,这一核心功能主要由llm/llm.go文件中的Quantize函数实现。 该函数通过调用底层llama.cpp库,将高精度的模型权重转换为低精度表示,同时尽可能保持模型性能。
简单说,通过量化技术个人电脑也可以跑大模型,突破硬件限制🚫。
- 如何量化大模型?
- 如何使用量化后的大模型?
第1点还在学习中,第2点比较简单。
# 方式1:直接运行预量化版本(最简)
ollama run qwen2.5:7b-instruct-q4_K_M
# 方式2:M1 Pro 深度优化启动(推荐)
OLLAMA_GPU_LAYERS=-1 \
OLLAMA_CONTEXT_SIZE=8192 \
OLLAMA_BATCH_SIZE=512 \
ollama run qwen2.5:7b-instruct-q4_K_M
显示模型信息,其量化等级为“Q4_K_M”
配合 langchain.js 调用
总结
- LLM
- Ollama
- Langchain
以上是这段时间学习到的关于LLM的应用。
Ref
前端 CSS 液态玻璃效果
Ref
Ref
- nodemon + yalc本地库调试工具 完整版nodemon + yalc本地库调试工具 1、在组件库下安装 2、全 - 掘金
- dev-torun:让组件库+yalc更丝滑简单相信组件库开发+yalc本地发包已经成为基本操作了,一个新的组件开发过程 - 掘金
- 更好的本地package开发调试工具:yalc起因:在我司调试项目的时候涉及到了yalc,就想着来细致的了解一下这个工具 - 掘金
- 和node_modules较劲的日子结束了?试试这个开发提效神器!你正在开发一个被多个项目依赖的公共组件库,每次修改代码 - 掘金
- nodemon + yalc本地库调试工具 完整版nodemon + yalc本地库调试工具 1、在组件库下安装 2、全 - 掘金
- 本地调试npm私有包使用yalc + nodemon本地开发插件痛点 不想频繁发布,常用的方式就是使用npm link, - 掘金
- antfu-collective/taze:🥦一款现代 CLI 工具,能让你的 Deps 保持新鲜感 --- antfu-collective/taze: 🥦 A modern cli tool that keeps your deps fresh
- 从yalc到yald:前端link调试工具yalc增强工具yald,在yalc基础上增加了publishConfig支持 - 掘金
- vue3+ts 组件库3——本地组件库调试npm link && Yalc在上一篇文章《vue3 + ts 组件库2》中 - 掘金
- WCLR/YALC:本地处理纱线/非品理包裹,像老板一样。 --- wclr/yalc: Work with yarn/npm packages locally like a boss.
- Jimsheen/YALC:本地处理纱线/非产品管理包,像老板一样。 --- jimsheen/yalc: Work with yarn/npm packages locally like a boss.
工具在更新,生活不必跟着加速
有些更新,是为了让人跑得更快;
有些更新,只是为了让路更顺一点。
Homebrew 的日常更新,更像后者。
本周一句话总结
最近越来越觉得,工具的价值不在于“多新”,
而在于——当你需要的时候,它刚好在那里。
本周新增工具速览
🧪 Formulae
| 名称 | 简介 |
|---|---|
| dotnet@9 | .NET 9(LTS)开发与运行环境,支持跨平台现代应用 |
| headson | 面向结构化数据的 head / tail 工具,安全处理 JSON、CSV |
| topydo | 基于 todo.txt 规范的命令行待办事项管理工具 |
🧩 Casks
| 名称 | 简介 |
|---|---|
| crypto-native-app-ng | 本地加密与签名工具,可与浏览器扩展安全通信 |
| excire-search | Lightroom Classic 插件,提供自动关键词与高级图片搜索 |
值得留意的几个项目
dotnet@9:版本明确,本身就是价值
对使用 .NET 的开发者来说,多版本并存几乎是日常。
dotnet@9 这种明确带版本号的 Formula,反而让人安心。
它不会悄悄替你做决定,也不会打断已有项目节奏。
headson:为结构化数据留一条生路
直接用 head / tail 处理 JSON,
结果往往只有一个:结构被破坏。
headson 的存在感很低,但解决的问题非常具体:
在命令行里,只看一部分数据,同时不把数据搞坏。
topydo:纯文本待办事项的“老派坚持”
topydo 基于 todo.txt,
没有账号、没有同步、没有复杂配置。
你写下的,就是你要做的。
excire-search:当照片数量开始失控
这是一个很安静、但很专业的工具。
当 Lightroom 里的照片从“几百张”变成“几万张”,
搜索本身就会消耗大量精力。
自动关键词与语义搜索,
并不是为了炫技,而是为了把注意力还给创作。
crypto-native-app-ng:存在感很低,但位置明确
这是一个偏向安全与隐私场景的工具,
对大多数用户来说,可能永远用不到。
但它的定位非常清晰:
本地加密 + 浏览器安全通信。
如果你确实需要这类能力,
它不会突然变得复杂。
一点个人感受
这一期没有“必装工具”。
但正是这种更新,让人感觉系统在慢慢变好。
你不需要全部安装,
甚至一个都不装。
但当某天遇到类似场景,
你会记得:
Homebrew 里,好像有这么一个工具。
这就够了。
结语
Homebrew 的更新不是新闻,
更像一份周记。
记录的不是“你必须做什么”,
而是世界又多了一点选择。
我们下期再见。
Agent Skill 解说视频
Agent Skill 渐进式设计结构
Agent Skills vs MCP 区别
Agent Skill 相关文章以及使用方式:
- Overview - Agent Skills
- Skills explained: How Skills compares to prompts, Projects, MCP, and subagents | Claude
- Agent Skills - Claude Code Docs
- Use Agent Skills in VS Code
- Agent Skills | Codex
- Agent Skills | Cursor Docs
skill 组织结构:
my-skill/
├── SKILL.md # Required: instructions + metadata
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
└── assets/ # Optional: templates, resources
Agent Skill 实践
- 这两天补充了一些 AI / Claude skills,数量涨得有点快 - V2EX (1)
- 介绍:React 最佳实践 - Vercel --- Introducing: React Best Practices - Vercel
- vercel-labs/agent-skills
Ref
- 整理了 AI Agent 生态的开源项目,也推一下自己的 - V2EX
- (99+ 封私信 / 82 条消息) Code Runner Agent Skill 来了! - 知乎
- awesome-skills/5-whys-skill: A Claude Code skill for systematic 5-Whys root cause analysis - trace problems to fundamental causes, based on Toyota Production System methodology
- 写了个 Agent Skills Marketplace 的 VS Code extension - V2EX
- (99+ 封私信 / 82 条消息) 一文讲清楚Claude Agent Skills篇,如何自定义Skills - 知乎
pnpm add langchain @langchain/core @langchain/langgraph @langchain/ollama
pnpm add -D @types/node ts-node tsx typescript
目录结构如下:
package.json
{
"name": "langchain-llm",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "index.ts",
"scripts": {
"ollama": "tsx src/ollama.ts",
"prompt-template": "tsx src/prompt-template.ts",
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "[email protected]",
"dependencies": {
"@langchain/core": "^1.1.8",
"@langchain/langgraph": "^1.0.7",
"@langchain/ollama": "^1.1.0",
"dotenv": "^17.2.3",
"langchain": "^1.2.3",
},
"devDependencies": {
"@types/node": "^25.0.3",
"ts-node": "^10.9.2",
"tsx": "^4.21.0",
"typescript": "^5.9.3"
}
}
src/ollama.ts
import { ChatOllama } from "@langchain/ollama";
async function main() {
const llm = new ChatOllama({
model: "qwen2.5:7b", // 或 deepseek-r1:7b
// model: "deepseek-coder:6.7b", // 或 deepseek-r1:7b
temperature: 0,
});
const res = await llm.invoke("用一句话解释什么是 LangChain");
console.log(res.content);
}
main().catch(console.error);
src/prompt-template.ts
import { ChatOllama } from "@langchain/ollama";
import { PromptTemplate } from "@langchain/core/prompts";
import { StringOutputParser } from "@langchain/core/output_parsers";
const model = new ChatOllama({
model: "qwen2.5:7b", // 或 deepseek-r1:7b
temperature: 0,
});
// 创建 Prompt 模板
const promptTemplate = PromptTemplate.fromTemplate(`
你是一个{role},专门帮助用户解决{domain}相关的问题。
用户问题:{question}
请提供详细、专业的回答,包含以下要素:
1. 问题分析
2. 解决方案
3. 代码示例(如果适用)
4. 最佳实践建议
回答:
`);
// 创建输出解析器
const outputParser = new StringOutputParser();
// 构建处理链
const chain = promptTemplate.pipe(model).pipe(outputParser);
async function promptTemplateExample() {
try {
const result = await chain.invoke({
role: "资深前端工程师",
domain: "React 性能优化",
question: "如何优化 React 应用的渲染性能?",
});
console.log("优化建议:");
console.log(result);
} catch (error) {
console.error("处理失败:", error);
}
}
promptTemplateExample();
Ref
- LangChain.js完全开发手册 - 鲫小鱼的专栏 - 掘金
- 神兵在手,AI Agent 起步不愁:写给小白的 LangChain 入门指南如果你想真正搞懂 AI 应用开发,这一篇绝 - 掘金
- 用 LangChain.js 快速构建 AI 应用:从 Prompt 到 Chain 的实战分享本文基于 LangCha - 掘金
- 前端学AI:基于Node.js的Langchain开发-简单实战应用本文主要介绍 LangChain 的实战开发,包括: - 掘金
- langchainjs/examples/src at main · langchain-ai/langchainjs
- 快速入门, 使用LLMs | 🦜️🔗 Langchain
- 如何选择AI Agent框架?五种主流AI Agent框架对比 - 知乎
- @langchain/ollama - v1.1.0 | langchain.js
- Quickstart - Docs by LangChain
- 跟双越老师开发一个 AI Agent 智能体
- bytedance/UI-TARS-desktop: The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
- 30 行代码 langChain.js 开发你的第一个 Agent大家好,我是双越老师,也是 wangEditor 作者 - 掘金
- Building AI Agents with JavaScript/TypeScript: Your Complete Guide
- Awesome LangGraph & LangChain Ecosystem