个人LLM炼金术 是 AI Skill Hub 本期精选AI工具之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
个人LLM炼金术 是一款基于 TypeScript 开发的开源工具,专注于 LLM、AI、TypeScript 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
个人LLM炼金术 是一款基于 TypeScript 开发的开源工具,专注于 LLM、AI、TypeScript 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:npm 全局安装 npm install -g athanor # 方式二:npx 直接运行(无需安装) npx athanor --help # 方式三:项目依赖安装 npm install athanor # 方式四:从源码运行 git clone https://github.com/MylesBorins/athanor cd athanor npm install npm start
# 命令行使用
athanor --help
# 基本用法
athanor [options] <input>
# Node.js 代码中使用
const athanor = require('athanor');
const result = await athanor.run(options);
console.log(result);
# athanor 配置说明 # 查看配置选项 athanor --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export ATHANOR_CONFIG="/path/to/config.yml"
Athanor — personal LLM alchemy. Discover, download, configure, and switch between MLX and llama.cpp models on Apple Silicon from a single TUI or CLI, while keeping an OpenAI-compatible HTTP endpoint live for downstream tools (pi-agent, editors, etc.).
MLX entries track two independent axes:
mlxCapabilities — what the model advertises. Detected from the snapshot's config.json at scan and pull time, primarily by looking for a vision_config block, with fallbacks for known VLM model_type values (qwen2_vl, qwen2_5_vl, llava*, mllama, pixtral, idefics2/3, phi3_v) and architecture-name patterns such as Qwen2VLForConditionalGeneration. Today the only capability is "vlm". Capabilities are refreshed on every scan.mlxFlavor — which server binary to launch. "lm" routes to mlx_lm.server (the default, no torch/torchvision required); "vlm" routes to mlx_vlm.server (requires torch + torchvision; needed for actual image input). Never set automatically — you choose with athanor flavor <slug> lm|vlm.The split is deliberate: many VLM-tagged repos (e.g. Qwen2.5-VL, Qwen3-VL-MLX) run fine as text-only under mlx_lm.server, which is lighter, faster to load, and doesn't need a PyTorch install. Auto-routing every VLM-capable repo to mlx_vlm.server would silently break text-only workflows whenever torch isn't available. So athanor defaults everything to lm and leaves the upgrade to you.
In athanor ls and athanor show, entries with mlxFlavor: "vlm" display mlx-vlm in the runtime column; athanor show also prints a caps row and, for vision-capable entries still on lm, a hint pointing at athanor flavor <slug> vlm. In the TUI model list, hub-backed entries show the HF repo as the primary label with the slug dimmed after it; local entries show the slug only. In pi-agent, VLM-flavored entries render as [mlx-vlm] <repo> (athanor); the provider id stays athanor-mlx-<slug> regardless of flavor, so pi URLs don't churn if a model's flavor is toggled later.
athanor trending athanor trending --mlx --limit 15
Supported sorts: `downloads` (default), `likes`, `trending`, `modified`, `size`. Each row shows download count, likes, license, and a relative last-modified time.
Search is intentionally biased toward athanor's actual domain: the Hub query asks for `pipeline_tag=text-generation`, and athanor also prunes obvious non-LLM tasks client-side (ASR, TTS, feature-extraction, image-generation, etc.). The goal is to surface local text-generation candidates for MLX / llama.cpp, not to behave like a general-purpose Hugging Face browser.
The footer hints at the follow-up:
→ athanor pull <repo> # MLX: downloads the whole repo → athanor pull <repo> --file F.gguf # GGUF: pick one file ```
mlx_lm.server (from mlx-lm) — text-only MLX modelsmlx_vlm.server (from mlx-vlm) — vision/multimodal MLX models; optional if you never run VLMsllama-server (from llama.cpp)hf (from huggingface_hub) — only required for athanor pullRun athanor doctor at any point to verify all four are on your PATH.
If you use an AI coding agent (Claude Code, Cursor, Aider, etc.), the fastest path is to open this repo in the agent and ask it to set athanor up for you. AGENTS.md has an Onboarding a user section written for that case: it tells the agent how to install the CLI (npm start vs npm link), run athanor doctor, install any missing runtime binaries, profile the host (Apple Silicon check, unified memory via vm_stat, HF cache size), and pick a starter model sized for the machine.
A minimal prompt, once the repo is open:
Set up athanor on this machine. Profile what I have, install anything missing, and suggest a starter model I can actually run.
The rest of this README walks the same path manually.
Install the three runtime helpers athanor shells out to. All three land on your PATH and can be verified with athanor doctor.
Verify:
bash llama-server --help ```
uvx hf --help
pip install -U huggingface_hub
Verify:
bash hf --help
```bash npm install
python3 -m venv ~/.venvs/mlx && source ~/.venvs/mlx/bin/activate pip install -U mlx-lm
Verify:
bash mlx_lm.server --help ```
MLX requires Apple Silicon and macOS 13.5+. Models are downloaded to ~/.cache/huggingface/hub on first use.
hf auth login ```
~/.athanor/config.json. Missing fields fall back to these defaults:
{
"portRange": { "min": 8081, "max": 8099 },
"enablePiSync": true,
"modelDirs": {
"mlx": "~/.cache/huggingface/hub",
"llama": "~/.models"
},
"mlx": {
"prefillStepSize": 512,
"promptCacheSize": 32768,
"decodeConcurrency": 1
},
"llama": {
"nGpuLayers": 999,
"threads": 8,
"ctxSize": 32768,
"batchSize": 512,
"ubatchSize": 256,
"parallel": 1
},
"supervisor": {
"policy": "single-active",
"maxConcurrent": 1,
"startupTimeoutMs": 120000,
"healthPollIntervalMs": 500
},
"controlApi": {
"enabled": false,
"port": 8079,
"host": "127.0.0.1"
},
"router": {
"enabled": true,
"port": 8080,
"host": "127.0.0.1",
"drainTimeoutMs": 30000
}
}
athanor show qwen-32b
ATHANOR_HOME — overrides ~/.athanor. Useful for running multiple profiles side by side or for tests.PI_HOME — overrides ~/.pi.When controlApi.enabled is true, athanor exposes a small local HTTP server (default 127.0.0.1:8079) that other tools can drive:
GET /status running instances + registry summary
POST /activate { "id": "<id|slug>" } start a model (respects supervisor policy)
POST /deactivate { "id": "<id|slug>" } stop a model
This is off by default. Enable it only on trusted machines.
Needed only if you want athanor to download new models from the Hub. Skip if you'll populate ~/.cache/huggingface/hub by other means (e.g. mlx_lm.server --model <repo> auto-downloads on first use).
The Hugging Face Hub team has replaced the legacy huggingface-cli command with a new CLI called hf. Athanor invokes hf download. The recommended install path is the standalone installer, which drops a self-contained hf binary onto your PATH without touching system Python:
curl -LsSf https://hf.co/cli/install.sh | bash
Alternatives:
```bash
athanor launch the TUI
athanor scan rescan model dirs and update registry
athanor ls list registry entries (with live status)
athanor status list running instances
athanor show <id|slug> inspect a model: runtime, effective config, launch command
athanor snippet <id|slug> generate OpenAI API and pi-agent integration code snippets
athanor start <id|slug> start a model
athanor stop [<id|slug>|--all]stop one or all
athanor restart <id|slug> stop + start
athanor logs <id|slug> [-n N] tail last N lines of a running model's log
athanor pull <repo> [--file F] [--revision R]
download from HuggingFace and register
athanor search [q] [--mlx|--gguf|--any] [--author A] [--sort S] [--limit N]
search the HuggingFace Hub
athanor trending [--mlx|--gguf] [--limit N]
top trending MLX/GGUF models
athanor preset <slug> show|set k=v...|unset k...|clear|apply <recipe>
view or modify a model's preset
athanor recipes list built-in + user recipes and tunable keys
athanor flavor <slug> lm|vlm force MLX runtime flavor (lm = mlx_lm, vlm = mlx_vlm)
athanor expose <id|slug> include in pi-agent catalog
athanor hide <id|slug> remove from pi-agent catalog
athanor rm <id|slug> remove from registry (must be stopped)
athanor sync manually rewrite pi catalog
athanor config print resolved config and its path
athanor doctor check that required binaries are on PATH and show installed versions
athanor doctor --check-updates also compare installed versions with latest available and print upgrade hints
<id|slug> accepts either the canonical id or the short slug.
athanor start hangs or times out. Check ~/.athanor/logs/<slug>-<pid>.log. Most startup failures are the runtime itself complaining (missing weights, wrong quant, out of memory). Raise supervisor.startupTimeoutMs for very large models.port already in use. Another process is on the model's stable port. Either stop it, or edit the entry's port in ~/.athanor/models.json and restart.athanor expose <slug>) and run athanor sync. Confirm ~/.pi/agent/models.json contains the expected athanor provider shape (per-model when router.enabled is false, athanor-mlx / athanor-llama aggregators when true — the default), then open /model in pi (the file reloads on open). If you upgraded athanor and llama model ids changed, restart the model after syncing.athanor-. If this happens, open an issue with the before/after of ~/.pi/agent/models.json.athanor sync / athanor status will reconcile persisted state and clear dead router metadata opportunistically. If a model port is still held, run athanor stop <slug> (a no-op when nothing is live) then athanor start <slug>.doctor reports a missing binary. Install mlx_lm, mlx_vlm, llama.cpp, or huggingface_hub, or adjust your shell's PATH. mlx_vlm.server is only needed if you plan to run VLM models; athanor start on a VLM entry will fail with a clear error if it's missing.doctor --check-updates reports update available. Follow the printed one-line hint. Today the built-in hints cover uv-managed Python tools (uv tool upgrade mlx-lm, uv tool upgrade mlx-vlm, uv tool upgrade hf) and Homebrew's llama.cpp formula (brew upgrade llama.cpp).Athanor 是一款专为 Apple Silicon 设计的个人 LLM 炼金术工具。它允许用户通过统一的 TUI(终端用户界面)或 CLI(命令行界面)轻松发现、下载、配置并切换 MLX 和 llama.cpp 模型。更重要的是,它能始终保持一个兼容 OpenAI 标准的 HTTP endpoint 处于运行状态,方便 pi-agent、各类编辑器等下游工具直接调用。
Athanor 具备强大的模型注册表管理功能,能够自动识别 MLX 模型的视觉能力(mlxCapabilities),支持对 vision_config 及多种 VLM 模型架构(如 Qwen2-VL, LLaVA, Pixtral 等)进行智能路由。此外,它还集成了 Hugging Face 趋势功能,用户可以通过 athanor trending 命令查看当前热门模型,并支持按下载量、点赞数或修改时间进行排序,确保搜索结果精准聚焦于文本生成任务。
运行 Athanor 需要满足以下硬件与软件前提:必须使用搭载 Apple Silicon 芯片的 macOS 系统;安装 Node.js(版本 ≥ 18);此外,需要安装 mlx-lm 提供的 mlx_lm.server(用于纯文本 MLX 模型)以及 mlx-vlm 提供的 mlx_vlm.server(用于视觉/多模态 MLX 模型)。
推荐使用 AI 编程助手(如 Claude Code, Cursor, Aider)进行自动化安装,只需将本项目仓库打开并向 Agent 下达指令即可。手动安装时,建议通过 npm 进行安装或在 Python 虚拟环境中配置 runtime 依赖。安装完成后,务必运行 `athanor doctor` 来检查环境,确保所有 runtime 二进制文件(如 llama-server)已正确添加到系统的 PATH 中。
项目提供了快速启动流程。用户可以通过 `npm install` 完成基础安装,或在 Python 虚拟环境中安装依赖。对于模型下载,Athanor 会默认将模型存储在 `~/.cache/huggingface/hub`。通过 CLI 命令,用户可以启动 TUI 界面进行交互式管理,或使用 `athanor scan` 重新扫描模型目录以更新注册表状态。
项目的核心配置文件位于 `~/.athanor/config.json`。该文件定义了端口范围(portRange)、PiSync 启用状态以及不同后端(mlx/llama)的模型存储路径。针对 MLX 的 prefillStepSize、promptCacheSize 以及 llama 的 nGpuLayers 等关键推理参数,用户可以在配置文件中进行精细化调整,以优化在 Apple Silicon 上的运行性能。
Athanor 提供了丰富的 CLI 工具集:`athanor launch` 用于启动 TUI;`athanor ls` 查看注册表条目及运行状态;`athanor show` 用于检查模型的运行时配置与启动命令;`athanor snippet` 则能为特定模型生成 OpenAI API 兼容的调用片段。此外,若需从 Hub 下载新模型,建议配合使用最新的 Hugging Face CLI 进行身份验证。
针对常见问题:若 `athanor start` 出现卡顿或超时,请检查 `~/.athanor/logs/` 下的日志文件,通常是由于权重缺失、量化格式错误或显存不足(OOM)导致的,必要时可调大 `supervisor.startupTimeoutMs`。若遇到 `port already in use` 错误,请检查是否有其他进程占用了配置的端口范围。
高效的个人LLM构建工具,值得关注
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
经综合评估,个人LLM炼金术 在AI工具赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | athanor |
| 原始描述 | 开源AI工具:personal LLM alchemy。⭐10 · TypeScript |
| Topics | LLMAITypeScript |
| GitHub | https://github.com/MylesBorins/athanor |
| License | Apache-2.0 |
| 语言 | TypeScript |
收录时间:2026-05-29 · 更新时间:2026-05-30 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。