Claude Code

模型选择 本地大模型-oMLX 先部署oMLX ANTHROPIC_BASE_URL='http://127.0.0.1:8000' ANTHROPIC_AUTH_TOKEN='$密钥' ANTHROPIC_DEFAULT_OPUS_MODEL='Qwen3.5-35B-A3B-4bit' ANTHROPIC_DEFAULT_SONNET_MODEL='Qwen3.5-35B-A3B-4bit' ANTHROPIC_DEFAULT_HAIKU_MODEL='Qwen3.5-4B-MLX-4bit' API_TIMEOUT_MS=3000000 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 claude /init 命令 学习此文件夹里的项目文件, 帮助ai更快的理解这个项目 类似cursor-rule /compact 压缩上下文 /clear 清除上下文, 用于开启一个新任务, 保持一个干净的上下文 /think, think hard, think harder, ultrathink 控制模型思考长度 ! 感叹号 输入!感叹号, 将对话窗口切换为命令行模型 例如需要执行 npm install 执行后, ai会将结果加上下文, 后面ai就不会重复安装 “#” 井号,进入记忆模型 输入的文字将会成为claude的记忆 ~/.claude/claude.md 全局记忆 /ide 使用这个命令之前, 需要先安装插件 以vscode为例子: 先安装claude插件, 选中后, claude能感知到 claude -p 临时对话 后台思考, 命令行ai助手 mcp server MCP(Model Context Protocol) 是 Anthropic 推出的开放标准协议,让 Claude 能够以统一方式连接各种外部工具和数据源。 一个让 Claude 与外部世界通信的开放标准。类比 USB——不同厂商的设备都能插进同一个接口。 在 claude_desktop_config.json 中注册 Server { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"] }, "my-db-server": { "command": "python3", "args": ["/path/to/my_mcp_server.py"], "env": { "DB_URL": "postgresql://localhost/mydb" } } } } 自定义mcp-server from mcp.server.fastmcp import FastMCP import psycopg2, os mcp = FastMCP("my-db-server") # 声明一个 Tool:Claude 可主动调用 @mcp.tool() def query_sales(start_date: str, end_date: str) -> str: """查询指定日期范围内的销售数据""" conn = psycopg2.connect(os.environ["DB_URL"]) cur = conn.cursor() cur.execute( "SELECT product, SUM(amount) FROM sales WHERE date BETWEEN %s AND %s GROUP BY product", (start_date, end_date) ) rows = cur.fetchall() return "\n".join(f"{r[0]}: {r[1]}" for r in rows) # 声明一个 Resource:Claude 可读取的静态数据 @mcp.resource("db://schema") def get_schema() -> str: """返回数据库表结构""" return "sales(date, product, amount, region)" if __name__ == "__main__": mcp.run() # 默认走 stdio 传输 最新代码文档的 mcp claude mcp add context7 – npx ...

March 24, 2026 · FXIO

OMLX

oMLX是什么? omlx.ai(通常指 oMLX 项目)是一个专为 Apple Silicon(M1/M2/M3/M4 系列芯片)设计的本地大语言模型(LLM)推理服务器。它的核心目标是让 Mac 用户能够以极高的效率、极低的延迟在本地运行各种 AI 模型(如 Llama 3、Mistral、DeepSeek 等)。 简单来说,它是对 Apple 官方 MLX 框架的深度封装和功能扩展,提供了一个类似 OpenAI/Anthropic 接口的本地后端,并附带了美观的 macOS 菜单栏管理工具。 oMLX 速度提升的核心原理 oMLX 之所以能在 Mac 上跑出惊人的速度,主要归功于以下几个技术层面的深度优化: 1. 统一内存架构 (Unified Memory Architecture) 这是 Apple Silicon 的硬件优势,也是 MLX 框架的灵魂。 原理:在传统 PC 中,数据需要在 CPU 内存和 GPU 显存之间来回拷贝。而 oMLX 利用了 Mac 的统一内存,CPU 和 GPU 共享同一块物理内存。 提升:消除了昂贵的显存带宽瓶颈,模型数据加载到内存后,GPU 可以直接读取并处理,极大减少了延迟。 2. 双层 KV 缓存系统 (Two-Tier KV Cache) 这是 oMLX 最具创新性的优化点,解决了大上下文下的重复计算问题。 热缓存 (RAM):正在进行的对话上下文保存在内存中,实现即时响应。 冷缓存 (SSD):当内存满了或服务器重启时,oMLX 会将过往的 KV 缓存以 safetensors 格式持久化到 SSD。 提升:当你再次输入相似的 Prompt 或继续之前的长对话时,系统直接从磁盘恢复缓存,无需重新计算(Prefill)。这使得处理数万字上下文的“首字延迟”大幅缩短。 3. 连续批处理 (Continuous Batching) 通过集成 mlx-lm 的 BatchGenerator 技术,oMLX 能够同时处理多个并发请求。 ...

March 23, 2026 · FXIO

Function Calling

Function Calling(函数调用)是人工智能领域,特别是大语言模型(LLM)应用中的一项关键技术。它允许 AI 模型不仅生成文本,还能主动选择并执行外部定义的函数或工具,以解决超出其内部知识库的问题,或完成需要精确计算、实时数据查询等任务。 简单来说,就是让 AI 学会“调用代码”来干活,而不仅仅是“说话”。 1. 核心概念:AI 如何调用函数? 在传统的 LLM 交互中,用户输入提示词(Prompt),模型直接生成文本回答。而在 Function Calling 模式下,流程发生了变化: 定义工具:开发者预先定义一组函数(Function Schema),描述这些函数的名称、参数类型、参数含义以及返回值。 模型决策:当用户提问时,模型会根据意图判断:是否需要调用某个函数?如果需要,它会自动生成一个包含函数名称和参数值的结构化请求(通常是 JSON 格式)。 执行与反馈:用户的后端服务器接收到这个请求,执行真实的函数逻辑,获取结果。 模型生成回答:系统将执行结果(如天气数据、搜索结果、数据库记录)传回给模型,模型结合原始问题和执行结果,生成最终的自然语言回答。 2. 为什么需要 Function Calling? 大模型本身存在一些局限性,通过函数调用可以弥补: 时效性问题:LLM 的训练数据有截止时间,无法知道“现在的天气”或“今天的股价”。通过调用 API,模型可以获取实时数据。 精确计算与逻辑:LLM 在处理复杂数学运算或精确代码执行时容易出错(幻觉)。调用 Python 解释器或计算器函数可以得到 100% 准确的结果。 访问私有数据:企业的数据在内部数据库中,模型无法直接读取。通过调用内部 API,模型可以查询订单状态或用户信息。 控制输出格式:让模型生成结构化的 JSON 数据,而不是长篇大论的文本,便于程序后续处理。 3. 工作流程示例 假设你正在开发一个智能天气助手: 开发者定义函数: 函数名:get_current_weather 参数:location (string), unit (string: “celsius” or “fahrenheit”) 用户提问: “上海现在的气温是多少?用摄氏度表示。” 模型推理与调用: 模型识别到需要查询天气,于是输出如下结构(JSON): { "name": "get_current_weather", "arguments": { "location": "上海", "unit": "celsius" } } 后端执行: 你的代码解析出 JSON,调用真实的天气 API,得到结果:{"temp": 24, "status": "sunny"}。 ...

March 23, 2026 · FXIO

Rag

一、什么是 RAG? RAG 全称是 Retrieval-Augmented Generation(检索增强生成)。 为了理解它,我们需要先了解大语言模型(LLM)的两大痛点: 知识滞后性:大模型的训练数据截止于某个时间点,对于训练后发生的新闻、事件或企业内部数据,它一无所知。 “幻觉”问题:当面对未知领域的问题时,模型可能会自信地编造事实(Hallucination),导致输出内容看似通顺但内容错误。 RAG 的核心理念非常简单:不要让大模型去“背”所有知识,而是给它配一个“图书馆”。 当用户提问时,RAG 系统不会直接让大模型生成答案,而是先执行两步操作: 检索(Retrieval):在外部知识库中搜索与问题最相关的信息。 生成(Generation):将检索到的信息连同用户的问题一起交给大模型,让模型基于这些事实生成最终回答。 一句话总结:RAG = 大模型(生成能力) + 外部知识库(事实来源)。 二、RAG 是如何工作的?(工作流 + 代码示例) RAG 的工作流程通常包含以下四个关键步骤。下面我们通过一个具体的场景,用伪代码和逻辑图解来展示它是如何运行的。 🎯 场景设定 背景:一家科技公司的 AI 客服。 知识库(Vector DB):包含《员工手册 2024 版》和《最新产品 Q3 发布说明书》。 用户提问:“我报销差旅费需要几个人审批?另外,Q3 发布的 AI 助手叫什么名字?” 问题难点: 审批人数在《员工手册》里,不在训练数据中。 产品名字是刚发布的,模型不知道。 🔧 步骤详解与代码逻辑 1. 数据准备与索引(Building the Library) 在系统上线前,我们需要将文档切片并转化为向量存入数据库。 # 伪代码:建立知识库 documents = [ "《员工手册》:差旅费报销流程需经过直接主管和部门经理两级审批。", "《Q3 发布说明书》:我们于 2023 年 10 月发布了名为 'Nebula AI' 的智能助手。", "《Q3 发布说明书》:'Nebula AI' 支持自然语言处理和多模态交互。" ] # 将文本分块 (Chunking) chunks = split_text(documents) # 将文本转化为向量 (Embedding) 并存入向量数据库 (如 Pinecone, Milvus) for chunk in chunks: vector = embedding_model.encode(chunk) vector_db.upsert(id=chunk.id, vector=vector, metadata=chunk) 2. 用户提问(Query) 用户输入:"我报销差旅费需要几个人审批?另外,Q3 发布的 AI 助手叫什么名字?" ...

March 23, 2026 · FXIO

数据库客户端-DBeaver安装与使用

数据库选择 sqlite 小巧 无需安装 支持标准sql 语法 数据库客户端 DBeaver DBeaver (Community Edition) 支持 MySQL, PostgreSQL, SQLite等数据库 免费,开源 跨平台 DBeaver 下载安装 下载地址: https://dbeaver.io/download/ 创建示例数据库 下载jdbc驱动 打开sql脚本编辑器 DBeaver示例数据库-表介绍 DBeaver 默认自带的示例数据库 使用的是业界非常著名的 Chinook 数据库。 它模拟了一个 “数字音乐商店”(类似早期的 iTunes Store)的业务场景。 这个数据库结构非常经典,特别适合用来练习 SQL 的 JOIN(连接查询)、GROUP BY(分组统计) 以及理解主外键关系。 数据表 Album 音乐专辑表 Artist 艺术家/歌手 Customer 客户 Employee 员工 Genre 流派 Invoice 发票/订单头 InvoiceLine 发票明细/订单行 MediaType 媒体格式 Playlist 歌单 PlaylistTrack 歌单 sqlite_schema sqlite元数据 Track 歌曲/单曲 查看表关系 select 练习 1.select单表查询 select * from Track; 笔记: ...

January 13, 2026 · FXIO

Doris->Zuul Oom

引言 在开发者的潜意识里,LIMIT 关键字就是 SQL 查询的安全带。 我们通常认为,只要加了 LIMIT,无论表多大,数据库都只会吐出少量数据,内存就是安全的。 然而,最近的一次线上 OOM(内存溢出)事故狠狠地打破了这个认知。 一个看似人畜无害的 UNION ALL + LIMIT 组合,竟然避开了doris 的优化器的下推机制,引发了生产环境的连锁崩溃。 本文记录了这次在受限环境下,如何抽丝剥茧定位 Bug 的过程。 一、高峰期的“幽灵”崩溃 环境背景: 部署方式 Kubernetes 网关: Springboot + zuul 服务: Spring Boot + MyBatis db: Apache Doris 报错服务: 网关 java版本: jdk8, g1 权限: 无root权限,只能查看基本日志 网关pod报错关键日志 netflix.zuul.exception.ZuulException: Filter threw Exception postModifyResponseBodyFilter.run ... Caused by: java.lang.OutOfMemoryError: Java heap space 报错日志关键字: oom 二、 真相误判:GC 的烟雾弹 面对 OOM,作为 Java 开发者的第一直觉往往是:“是不是流量太大,垃圾回收(GC)跟不上了?” 查看存活期间的 JVM 监控,发现 Old Gen(老年代)增长迅速。当时的判断是:CMS 回收器产生内存碎片,导致大对象分配失败。 ...

December 12, 2025 · FXIO

Hugo Blog Deploy

准备 客户端,服务端都安装 hugo 服务端, 创建一个空的git仓库 # 更新系统 sudo apt update && sudo apt upgrade -y # 安装 Git 和 Nginx (Web 服务器) sudo apt install git nginx -y # 安装 Hugo # 建议直接安装 extended 版本以支持更多主题,Ubuntu 24 的仓库版本通常较新 sudo apt install hugo -y mkdir blog.git cd blog.git git init --bare 客户端创建一个博客项目 hugo new site blog 添加主题 https://themes.gohugo.io/ 选择一个主题, 放在theme目录 更新: hugo.toml 例如: theme = “PaperMod” 删除theme里面的.git避免子目录问题 配置远程push权限 编辑 ~/.ssh/config Host myblog.com HostName 192.168.1.100 User root IdentityFile ~/.ssh/user.pem IdentitiesOnly yes 添加remote url git remote add deploy myblog.com:/srv/myblog/blog.git hooks自动部署 vim hooks/post-receive ...

December 7, 2025 · FXIO

旧主板-新Nvme-IO问题

m2硬盘安装ubuntu出现I/O错误: DMAR fault的排查记录(含解决方案) 在旧台式机安装Ubuntu24.04 的过程中,我遇到一个非常棘手的问题: 第一次安装失败; 安装过程中, 提示io错误 关机后, 再次安装, 安装成功 进入系统后, 硬盘灯持续规律闪烁, 频繁出现 I/O 错误、系统卡顿、硬盘灯间隔性闪烁、并伴随 DMAR/IOMMU 报错 最开始遇到这个问题, 我以为是硬盘问题, 更换为 sata硬盘后, 问题消失。似乎从某种程序上证明是此硬盘问题; 随后此”坏硬盘“, 就安静的放在角落; 今天整理物品, 发现这块硬盘, 突然想到, 让ai帮忙分析分析硬盘是什么原因导致的故障, 以后如何避免买到类似的硬盘; 这篇文章记录整个排查过程,希望给未来遇到类似问题的人提供一个可参考的解决思路。 1. 硬件与环境背景 主板:Gigabyte Z97X-UD3H(2014年) CPU:Intel i7-4790K(Haswell) NVMe:YMTC PC300 512GB(支持 HMB,NVMe1.4) 系统:Ubuntu 24.04 NVMe 安装在主析的m2硬盘槽位 这是典型的“老主板 + 新 NVMe 控制器”的组合,在 Linux 下非常容易触发兼容性问题。 2. 问题现象 (1)安装 Ubuntu 时随机 I/O 错误 系统安装过程中文件复制中断 安装流程偶尔直接失败 重试偶尔能安装成功 (2)安装成功后,进入系统, 硬盘灯持续规律闪烁 开机后系统明显不顺畅。 复制文件时,会出现卡顿, 此时硬盘灯一直有规律的闪烁; (3)复制大文件(如 ubuntu.iso 6GB)出现卡顿 传输速度会突然降到零,直到系统无响应。 (4)dmesg 出现 DMAR/IOMMU 报错 DMAR: DRHD: handling fault status reg 2 DMAR: [DMA Write] Request device [01:00.0] fault addr ... DMAR: write no_pasid (5) 硬盘smart 检测无异常 使用 smartctl 读取 NVMe 健康状态: smartctl -x /dev/nvme0 ...

December 7, 2025 · FXIO

Idea调试状态复制对象列表数据

debug调试问题是经常用到的, 在调试状态有时候需要复制list对象的某个属性值,一个个复制是不现实的 这个时候Idea调试状态的 Evaluate Expression 工具就派上大用场了 在Expression输入框,根据自己的需求,转换后,转换为json格式,然后右键复制即可

February 4, 2023 · FXIO

2040未来趋势

简介 2021.1出版 作者: 日本-成毛真, 原Microsoft-日本社长, 从微软离职后,创立了一家投资顾问公司, 专为上市企业做投资顾问工作;兼任微软的社外顾问;日本Suruga银行的社外董事;日本早稻田大学商学院客员教授 提问 为什么是2040? 短时间预测比长时间预测难, 长期的趋势比较明显 回顾历史 新事物出现的时候, 人们普通抵抗 视频平台, 抖音, 直播带货 新事物出现的时候, 人们普通抵抗 100多年前, 照相机刚刚出来的时候, 人们很抵触 iphone刚刚出现的时候, 人们害怕自己的指纹补记录 电脑刚刚出现的时候,人们也没想到人手一台 100年前的汽车与现在的汽车(新技术的改良与组合) 科技发展, 社会发展 通讯技术 3G: 传输照片 目前处于4-5G时代, 在线看直播, 视频电话, 视频会议 6G:远程手术,汽车自动驾驶, 同声传译 无人机定点送货 飞行汽车 物联网iot, 衣服, 冰箱, 镜子, 牙刷,餐具联网 媒体 电视和报纸将会覆灭, 拿手表看时间的变少, 网络媒体崛起 VR眼镜将会越来越轻, 越来越方便 医疗 AI医疗, 整合全国全世界的病例, 误诊率下降 根据dna,定制mRNA疫苗 人体组织的培养 老年痴呆药物 风险 自然灾害增加:地震 战争增加:粮食和水 人口减少: 人口出生率持续降低 -> 劳动力减少 人口老龄化严重: 从三四线城市开始体现 消费税增加

February 4, 2023 · FXIO