tmux:守护SSH断连的终端会话工具
tmux 让终端会话在 SSH 断开后继续运行,支持窗口与面板分割,是远程服务器开发的高效工具。
- 安装:Debian/Ubuntu 用
- 核心结构:Session(按项目管理) → Window(全屏视图) → Pane(窗口内分割),前缀键默认
- 常用操作:新建会话
- 配置建议:启用鼠标支持(
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
tmux 让终端会话在 SSH 断开后继续运行,支持窗口与面板分割,是远程服务器开发的高效工具。
- 安装:Debian/Ubuntu 用
sudo apt install tmux;macOS 用 brew install tmux- 核心结构:Session(按项目管理) → Window(全屏视图) → Pane(窗口内分割),前缀键默认
Ctrl+B- 常用操作:新建会话
tmux new -s myproject;分离 Ctrl+B d;重连 tmux attach -t myproject- 配置建议:启用鼠标支持(
set -g mouse on)、增加滚动历史(history-limit 10000),配置文件 ~/.tmux.conf原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Feature Flag 工程团队最佳实践
本文总结了Feature Flag长期使用中常见问题(清理不及时、定位规则模糊、状态不可见)及应对实践:
1. 按意图命名:使用前缀标识生命周期——
2. 创建即建清理Ticket:在Flag创建时同步提交“移除Flag”任务,确保后续真正删除,避免堆积。
3. 逻辑放在边界:将Flag评估置于组件入口而非深层函数,移除时只删一个条件和旧组件引用,差异清晰。
4. 测试关闭状态:为Flag编写启用和禁用两条测试路径,避免旧代码在回滚时静默故障。
更多细节:定义可重用Segment、统一上下文、规划发布节奏、审计日志不可省略。
链接:原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
本文总结了Feature Flag长期使用中常见问题(清理不及时、定位规则模糊、状态不可见)及应对实践:
1. 按意图命名:使用前缀标识生命周期——
Release(临时发布)、Experiment(A/B实验)、Kill switch(永久断路器)、Ops(运维配置),一眼区分是否需清理。2. 创建即建清理Ticket:在Flag创建时同步提交“移除Flag”任务,确保后续真正删除,避免堆积。
3. 逻辑放在边界:将Flag评估置于组件入口而非深层函数,移除时只删一个条件和旧组件引用,差异清晰。
4. 测试关闭状态:为Flag编写启用和禁用两条测试路径,避免旧代码在回滚时静默故障。
更多细节:定义可重用Segment、统一上下文、规划发布节奏、审计日志不可省略。
链接:原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Hermes Agent:开源自进化Agent框架
Hermes Agent 是 Nous Research 推出的开源 Agent 框架,支持在 $5 VPS 到 GPU 集群等基础设施上运行。它的核心特点是自我改进和跨会话记忆,区别于传统编排层。
- 自我改进:框架内置学习循环,能从执行中积累经验并优化技能,而非静态编排
- 跨会话记忆:建立深度用户模型,保持对话连续性,无需外部记忆插件
- 模型无关:兼容 OpenAI、Hugging Face、NVIDIA NIM 等 200+ 模型,避免供应商锁定
- 基础设施灵活:支持本地、云端、服务器less部署,也可通过 Telegram 远程交互
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Hermes Agent 是 Nous Research 推出的开源 Agent 框架,支持在 $5 VPS 到 GPU 集群等基础设施上运行。它的核心特点是自我改进和跨会话记忆,区别于传统编排层。
- 自我改进:框架内置学习循环,能从执行中积累经验并优化技能,而非静态编排
- 跨会话记忆:建立深度用户模型,保持对话连续性,无需外部记忆插件
- 模型无关:兼容 OpenAI、Hugging Face、NVIDIA NIM 等 200+ 模型,避免供应商锁定
- 基础设施灵活:支持本地、云端、服务器less部署,也可通过 Telegram 远程交互
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Android Style 层:正交组合消除 90% 代码冗余
针对 Android 布局中 TextView 属性重复问题,提出 Style 层方案,将 3 个基础属性封装进
-
- 颜色层(如 tv_black_1)与字号层(size_15)正交组合,一行 style 取代四五行属性
- 按钮统一职能命名(如 Btn.Orange.Capsule.Emphasis),全 App 复用,主题切换只需改 token
- 引入后代码量减 30-50%,维护时间减 80%
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
针对 Android 布局中 TextView 属性重复问题,提出 Style 层方案,将 3 个基础属性封装进
tv_base,用正交组合(色系 × 字号)生成 tv_* 样式,按钮统一采用 Btn.{色系}.{形状}.{档位} 职能命名,避免业务耦合。-
tv_base 只定义 wrap_content 宽高 + includeFontPadding=false,不塞颜色字号- 颜色层(如 tv_black_1)与字号层(size_15)正交组合,一行 style 取代四五行属性
- 按钮统一职能命名(如 Btn.Orange.Capsule.Emphasis),全 App 复用,主题切换只需改 token
- 引入后代码量减 30-50%,维护时间减 80%
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
垂直扩展 vs 水平扩展 系统伸缩指南
系统随负载增长达到容量极限时,伸缩性成为关键。垂直扩展(升级单机硬件)初期简单高效,但有物理上限、成本攀升和单点故障风险。水平扩展(增加多节点+负载均衡)支持高可用和无限扩展,但引入分布式通信、数据同步和一致性挑战。数据层常采用复制(读写分离)和分片(分割数据)策略。实践中多数系统先垂直后水平,逐步演进。
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
系统随负载增长达到容量极限时,伸缩性成为关键。垂直扩展(升级单机硬件)初期简单高效,但有物理上限、成本攀升和单点故障风险。水平扩展(增加多节点+负载均衡)支持高可用和无限扩展,但引入分布式通信、数据同步和一致性挑战。数据层常采用复制(读写分离)和分片(分割数据)策略。实践中多数系统先垂直后水平,逐步演进。
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Markagent:一键将 UI 点击转为 AI 编码 Prompt
Markagent 是一款 Chrome 扩展,可将页面上的任意 UI 点击直接转换为结构化 Markdown prompt,供 Claude Code、Cursor、Codex 等 AI 编码代理执行。
- 通过快捷键(Cmd+Shift+. 或 Ctrl+Shift+.)调出工具栏,点击元素并添加备注,一键复制包含 React 组件名、源文件路径、DOM 上下文、CSS 选择器及截图的 prompt。
- 支持 Journey 模式,记录多步操作序列,生成带截图的复现步骤,适合复杂 bug 流程。
- 100% 本地运行,无出站请求、无遥测、无需账户,免费使用,兼容 Chrome/Edge/Brave/Arc 等 Chromium 浏览器。
- 支持 localhost、staging、内部面板及认证页面,开发模式下直接读取 React 源码路径。
原文
工具官网:markagent.avibebuilder.com
#开发者 #工具
📢 频道:@DevToolboxHub
Markagent 是一款 Chrome 扩展,可将页面上的任意 UI 点击直接转换为结构化 Markdown prompt,供 Claude Code、Cursor、Codex 等 AI 编码代理执行。
- 通过快捷键(Cmd+Shift+. 或 Ctrl+Shift+.)调出工具栏,点击元素并添加备注,一键复制包含 React 组件名、源文件路径、DOM 上下文、CSS 选择器及截图的 prompt。
- 支持 Journey 模式,记录多步操作序列,生成带截图的复现步骤,适合复杂 bug 流程。
- 100% 本地运行,无出站请求、无遥测、无需账户,免费使用,兼容 Chrome/Edge/Brave/Arc 等 Chromium 浏览器。
- 支持 localhost、staging、内部面板及认证页面,开发模式下直接读取 React 源码路径。
原文
工具官网:markagent.avibebuilder.com
#开发者 #工具
📢 频道:@DevToolboxHub
提示词分享正在变成说梦话
多数公开的“提示词技巧”内容都是噪音,因为提示词是上下文坍缩的产物。脱离原有工作流——特定模型版本、具体任务、修复的缺陷——拆出来放进知识帖,剩下的只是知识残渣,就像复述梦境。
要点:
- 真正可迁移的提示分享,必须带上模型版本、失败模式和任务边界
- 角色扮演式提示(“请作为资深工程师”)远不如直接描述三行问题有效
- 值得读的是失败报告:做了什么、哪里断、改了哪行、具体数字
- 判断标准:6个月后另一模型做另一产品的人,能否获得价值?
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
多数公开的“提示词技巧”内容都是噪音,因为提示词是上下文坍缩的产物。脱离原有工作流——特定模型版本、具体任务、修复的缺陷——拆出来放进知识帖,剩下的只是知识残渣,就像复述梦境。
要点:
- 真正可迁移的提示分享,必须带上模型版本、失败模式和任务边界
- 角色扮演式提示(“请作为资深工程师”)远不如直接描述三行问题有效
- 值得读的是失败报告:做了什么、哪里断、改了哪行、具体数字
- 判断标准:6个月后另一模型做另一产品的人,能否获得价值?
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
WSL 2 设置:内存限制与性能优化
WSL 2 为 Windows 开发者带来原生 Linux 内核的性能,配合 VS Code 与 Docker 实现无缝工作流。但 Vmmem 进程可能大量占用内存,需通过
- 三大核心优势:
▸ I/O 性能:项目运行在 ext4 文件系统,npm/composer 操作极快
▸ Docker 集成:直接调用 WSL 2 后端,无需 Hyper-V 开销
▸ VS Code Remote:IDE 在 Windows 运行,终端和进程在 Linux 环境执行
- 内存限制方案:
在
```
[wsl2]
memory=6GB
processors=4
guiApplications=false
```
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
WSL 2 为 Windows 开发者带来原生 Linux 内核的性能,配合 VS Code 与 Docker 实现无缝工作流。但 Vmmem 进程可能大量占用内存,需通过
.wslconfig 限制资源。- 三大核心优势:
▸ I/O 性能:项目运行在 ext4 文件系统,npm/composer 操作极快
▸ Docker 集成:直接调用 WSL 2 后端,无需 Hyper-V 开销
▸ VS Code Remote:IDE 在 Windows 运行,终端和进程在 Linux 环境执行
- 内存限制方案:
在
C:\Users\<用户名>\.wslconfig 中添加:```
[wsl2]
memory=6GB
processors=4
guiApplications=false
```
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
浏览器中矢量PDF导出方案
YFT Design Pro 基于 Fabric.js 和 Vue 3,在浏览器端实现了真正的矢量 PDF 导出,解决传统截图式导出无法选文字、放大模糊、不支持 CMYK 等问题。
- 工程要点:需处理 Fabric.js 与 PDF 的坐标系统转换,追踪矩阵变换状态(CTM),并将 SVG 路径解析为 PDF 绘图指令
- 导出流程在 Web Worker 中异步执行,避免主线程阻塞,失败时自动回退到主线程
- 支持多种对象及效果:文本(可转路径)、形状、图像、SVG、渐变、多页文档、字体子集化
- 对比光栅 PDF,矢量 PDF 文件更小(约 800 KB vs 2.5 MB)、文字可选、无限缩放不模糊、支持 CMYK 印刷工作流
链接:
GitHub
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
YFT Design Pro 基于 Fabric.js 和 Vue 3,在浏览器端实现了真正的矢量 PDF 导出,解决传统截图式导出无法选文字、放大模糊、不支持 CMYK 等问题。
- 工程要点:需处理 Fabric.js 与 PDF 的坐标系统转换,追踪矩阵变换状态(CTM),并将 SVG 路径解析为 PDF 绘图指令
- 导出流程在 Web Worker 中异步执行,避免主线程阻塞,失败时自动回退到主线程
- 支持多种对象及效果:文本(可转路径)、形状、图像、SVG、渐变、多页文档、字体子集化
- 对比光栅 PDF,矢量 PDF 文件更小(约 800 KB vs 2.5 MB)、文字可选、无限缩放不模糊、支持 CMYK 印刷工作流
链接:
GitHub
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
cat:最基础的终端命令
1971年,Ken Thompson 在贝尔实验室为第一版 Unix 编写了 cat 命令。全称 concatenate,功能是读取文件并将内容输出到标准输出。最初用汇编编写,后由 Dennis Ritchie 用 C 重写——这验证了 C 作为系统语言的可行性。
- 功能简单:接收多个文件,依次拼接并输出到屏幕或重定向为新文件(如
- 演进分支:1980 年代 GNU 版增加格式化 flags(如 -v),BSD 版保持精简,macOS 原生使用 BSD 轻量实现
- 哲学争议:计算机科学家 Rob Pike 在《UNIX Style, or cat -v Considered Harmful》中批评 GNU 扩展,认为应保持工具专注单一职责,查看特殊字符应交给专用工具
实战用途:结合 shell 重定向快速合并多文件,例如
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
1971年,Ken Thompson 在贝尔实验室为第一版 Unix 编写了 cat 命令。全称 concatenate,功能是读取文件并将内容输出到标准输出。最初用汇编编写,后由 Dennis Ritchie 用 C 重写——这验证了 C 作为系统语言的可行性。
- 功能简单:接收多个文件,依次拼接并输出到屏幕或重定向为新文件(如
cat file1.txt file2.txt > combined.txt)- 演进分支:1980 年代 GNU 版增加格式化 flags(如 -v),BSD 版保持精简,macOS 原生使用 BSD 轻量实现
- 哲学争议:计算机科学家 Rob Pike 在《UNIX Style, or cat -v Considered Harmful》中批评 GNU 扩展,认为应保持工具专注单一职责,查看特殊字符应交给专用工具
实战用途:结合 shell 重定向快速合并多文件,例如
cat intro.md body.md conclusion.md > manuscript.md原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
本地AI查询数据库方案:告别云端与合规焦虑
基于 Llama 3 + Ollama + LangChain + SQLite 搭建完全本地化的自然语言数据库查询工具,数据不离开内网,无需担心合规问题。
- 栈:Llama 3(8B)+ Ollama + LangChain + SQLite,全部本地运行
- 使用 ReAct agent 实现自我纠正:模型读取错误信息后重新推理,不是简单重试
- 安全建议:使用只读连接(SQLite mode=ro)和 sqlparse 验证 SQL 语句类型
- 局限:8B 模型在处理 5-6 张以上复杂外键表时可靠性下降,上下文窗口有限
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
基于 Llama 3 + Ollama + LangChain + SQLite 搭建完全本地化的自然语言数据库查询工具,数据不离开内网,无需担心合规问题。
- 栈:Llama 3(8B)+ Ollama + LangChain + SQLite,全部本地运行
- 使用 ReAct agent 实现自我纠正:模型读取错误信息后重新推理,不是简单重试
- 安全建议:使用只读连接(SQLite mode=ro)和 sqlparse 验证 SQL 语句类型
- 局限:8B 模型在处理 5-6 张以上复杂外键表时可靠性下降,上下文窗口有限
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Vite 8 发布:Rust 统一打包器提速 30 倍
Vite 8.0 完成重大架构升级,从双打包器迁移至单一 Rust 打包器 Rolldown,构建速度提升至 30 倍。
要点:
- 消除 esbuild 与 Rollup 双引擎分离,改用 Rolldown 统一打包
- 实测某项目构建耗时从 46 秒降至 6 秒
- 保持对现有 Vite 插件生态的完整兼容
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub
Vite 8.0 完成重大架构升级,从双打包器迁移至单一 Rust 打包器 Rolldown,构建速度提升至 30 倍。
要点:
- 消除 esbuild 与 Rollup 双引擎分离,改用 Rolldown 统一打包
- 实测某项目构建耗时从 46 秒降至 6 秒
- 保持对现有 Vite 插件生态的完整兼容
原文链接
#开发者 #工具
📢 频道:@DevToolboxHub