Releases: ashuai/localai
Releases · ashuai/localai
Release list
v0.5.0
v0.5.0 —— subagent 插件:模型档案 + 任务中自主委派
自 v0.4.0 以来,新增 subagent 插件:主 agent 在任务过程中自主决定委派子任务
(用户无感),按模型档案路由到专业模型;档案渐进式载入,结果先审查再整合。
新功能
- subagent 插件(自主委派):
- 主 agent 在回复中输出
/subagent <任务> [--model M] [--parallel "A" | "B"] [--tools],
chat 工具回路执行;子任务在隔离上下文中运行(新鲜上下文,不吃
memory/历史),结果作为工具结果回灌主对话 —— 用户全程无感,仅状态栏可见; - 模型档案:6 个已知模型建档(擅长/不擅长/实测速度/上下文窗口/建议用途),
/models命令渐进式载入(不进常驻 base prompt;常驻仅 ~50 token 轻提示); - 自检循环:子任务默认自检一轮(
max_rounds: 2),答一半/跑偏可自行补齐; --tools:子任务可自主用/fs/run等工具(白名单,fs 权限 fence
天然生效);--parallel:并发 fan-out(上限 3,本地 AI 并发非强项,克制);- 结果审查:收到子任务结果,主 agent 先做一致性/常识/完整性核对
(与已知事实矛盾/没答任务 → 不整合、指出问题、必要时重委派),审查准则
同时注入轻提示与/models输出; - Esc 取消:作用于 chat 整个 ask 层面,进行中的子任务调用随之一并丢弃;
- 主 agent 在回复中输出
- 工具回路扩展:chat 工具白名单新增
subagent、models(主 agent 可自主
委派与查档案);base prompt 追加委派轻提示; - 纯插件实现,零 core 改动:模型档案、迷你工具回路全部在插件内
(chat 与 subagent 各自持有插件级工具回路),可独立装卸、互不依赖;
卸载 subagent 插件 →/subagent/models消失,主对话不受影响。
构建产物
localai-v0.5.0-win-x64.zip—— Windows 10+ x64localai-v0.5.0-macos-aarch64.tar.gz/-x86_64.tar.gz—— macOSlocalai-v0.5.0-linux-x64.tar.gz—— Linux x64(CentOS 7+ 兼容,glibc 2.17)
使用要点
./localai
"分析这张截图" # 模型自动委派视觉模型(Qwen3.8-27B-4bit)识图
"对比 A/B/C" # 自动 --parallel 并发三个子任务
"翻遍工作区统计 TODO" # 自动 --tools 委派探索,试错过程不污染主对话
/models # 按需查看模型档案 + 委派准则配置(localai.yml):
plugins:
- name: subagent
options:
max_rounds: 2 # 子任务自检循环:1=单次直出;2=自检一轮
parallel_limit: 3 # --parallel 上限
tools: false # 子任务默认不带工具(--tools 显式开启)
# model: Qwen3.6-35b # 默认跟随主模型;--model 可切换(视觉→Qwen3.8-27B-4bit)v0.4.0
v0.4.0 —— 上下文压缩(memory 插件)+ 工具回路 + Markdown 渲染
自 v0.3.0 以来,重点是让长对话"记得住":按项目插件哲学(内核只负责插拔,
能力全部来自插件)新增独立的 memory 插件,把 chat 的可用上下文管理做成
"评分 → 分级保留 → 压缩 → 持久化"管线;同时给模型接入本地工具回路,
回复支持 Markdown 渲染。
新功能
- memory 插件(上下文压缩/记忆,论证见本地文档 context-compression.md):
- 逐条后台评分:每条交互由模型打 1~5 分(S 约束/A 事实/B 一般/C 低/D 无意义),
评分跟随历史条目,主调用零延迟(后台线程,本地调用零成本); - 分级保留:S 级关键记忆(约束/决定/偏好)原样入库、不计入预算;A/B 级
压缩进次级记忆(≤500 字);C/D 级标记低分,临时窗口(3 条)内豁免,之后按
"分数升序 → 时间线"驱逐 —— 低分轮次不会"刚说完就消失"; - 全量审计:每 6 轮触发一次,单次裸调用重评分、合并 critical(达 6 条时
重审淘汰过时约束)、重建记忆、按驱逐算法清理; - 持久化:
conversation.jsonl只写档案(完整记录)+context.jsonlast
可用上下文(退出重启后 resume 继续对话);默认可执行文件目录,可配~; /new命令:新建会话,清空可用上下文;- 可插拔:卸载 memory 插件 → chat 自动回退纯滑动窗口。
- 逐条后台评分:每条交互由模型打 1~5 分(S 约束/A 事实/B 一般/C 低/D 无意义),
- 工具回路(chat):模型需要查看文件/执行命令时输出
/fs、/run等命令,
本地执行后结果回灌,再基于真实结果作答(白名单:fs/run/pwd/mode); - Markdown 渲染:AI 回复按 Markdown 着色(标题/粗体/斜体/行内代码/代码块/
列表/引用/链接/转义),TUI 阅读体验提升; - 系统信息注入 base prompt:启动时收集 OS/主机/用户/工作目录/shell/CPU 等
注入系统提示词;Windows 上/run优先cmd /C,需 PowerShell 时显式写
powershell -Command ...。
构建产物
localai-v0.4.0-win-x64.zip—— Windows 10+ x64localai-v0.4.0-macos-aarch64.tar.gz/-x86_64.tar.gz—— macOSlocalai-v0.4.0-linux-x64.tar.gz—— Linux x64(CentOS 7+ 兼容,glibc 2.17)
使用要点
./localai # TUI(memory 插件默认加载)
"当前目录有什么文件" # 模型会自动 /fs ls 并基于真实结果回答
/new # 新建会话,清空可用上下文(记忆/历史)配置(localai.yml):
plugins:
- name: memory
options:
memory_max_chars: 500 # 次级记忆预算(字)
critical_max_items: 8 # 关键记忆条数上限(S 级,不计入预算)
trigger_turns: 6 # 每 6 轮全量审计一次
persist:
dir: "default" # "default"=可执行文件目录;"~"=家目录说明:对话档案实现为
conversation.jsonl(JSONL 追加,只写不读),与文档中的
conversation.json命名略有差异,语义一致。
v0.3.0
v0.3.0 —— 交互层打磨:中文输入、防误按退出、Esc 中断与输入历史
自 v0.2.0 以来,重点打磨 TUI 交互层:修复中文输入(IME)、去除状态栏硬编码,
并把退出 / 中断 / 历史浏览做成符合直觉的操作。
修复
- 中文输入(IME):crossterm 不感知输入法,终端(Ghostty / Windows Terminal /
iTerm2 等)把 IME 提交的文本与粘贴内容包装成 bracketed paste 送达;现在开启
bracketed paste 并处理Event::Paste,中文不再被丢弃(同时修复了直接粘贴文本); - 状态栏去硬编码:服务器地址不再写死
192.168.0.5:9870,改为从
localai.yml的server.base_url读取(改配置后重启即生效,/model实时切换模型)。
交互改进
- 双击 Ctrl+C 退出(防误按):第一次只提示"再按一次退出",2 秒内第二次才真正
退出;期间按任意其他按键取消确认状态; - Esc 不再退出:优先中断进行中的 chat 调用(取消令牌,回复丢弃,立即提示),
空闲时清空输入框;退出只保留/quit与双击 Ctrl+C; - ↑↓ 输入历史:Enter 发送的消息自动记入历史(有界,最近 200 条;
/命令不记),
↑ 逐条回看(未发送草稿自动暂存),↓ 回到草稿;浏览中直接编辑自动恢复草稿继续输入; - 状态栏调用指示:调用进行中显示
● 调用中(Esc 中断); - chat 调用可中断:被取消后回复与错误信息一律丢弃,只提示
[chat] 已取消
(底层请求不可真正掐断,但结果丢弃,界面即时反馈、全程不卡)。
构建产物
localai-v0.3.0-win-x64.zip—— Windows 10+ x64localai-v0.3.0-macos-aarch64.tar.gz/-x86_64.tar.gz—— macOSlocalai-v0.3.0-linux-x64.tar.gz—— Linux x64(CentOS 7+ 兼容,glibc 2.17)
使用要点
./localai # TUI
↑ / ↓ # 浏览发送历史 / 回到草稿
Esc # 中断进行中的调用;空闲时清空输入框
Ctrl+C ×2 # 退出(单次不退出,防误按)
/quit # 直接退出v0.2.0
v0.2.0 —— 核心工具层 + TUI 插件化
自 v0.1.0 以来,新增核心工具服务层(fs/subprocess)与交互层插件化。
新功能
- fs 核心工具服务(
FsService,参照 DSH 真实源码dsh-fs/dsh-fs-sandbox/
dsh-fs-observation-policy):- 四层权限模型:L0 沙箱模式(read-only / workspace-write / full,运行时可切)、
L1 工作区边界(路径规范化,防符号链接/..逃逸)、L2 敏感文件黑名单
(.env/*.key/id_rsa*/*.pem读写都拒)、L3 操作守卫
(read-before-edit、版本守卫、原子写); - 审计流水(读/写/拒全记录,
/fs log可查);
- 四层权限模型:L0 沙箱模式(read-only / workspace-write / full,运行时可切)、
- subprocess 核心服务(
SubprocessService,参照dsh-subprocess):
工作区根内执行、超时 kill、输出捕获; - tools 插件:
/fs ls|cat|write|edit|stat|log、/run、/mode、/pwd命令,
全走 cordis 命令通道,卸载即消失; - TUI 插件化:交互层成为
tui插件(内置命令全部ctx.on_command注册,
卸载即回滚),LoaderService宿主核心服务支持插件热插拔访问 Loader; - README 双语化(EN / zh),快速开始改为使用编译产物。
构建产物
localai-v0.2.0-win-x64.zip—— Windows 10+ x64localai-v0.2.0-macos-aarch64.tar.gz/-x86_64.tar.gz—— macOSlocalai-v0.2.0-linux-x64.tar.gz—— Linux x64(CentOS 7+ 兼容,glibc 2.17)
使用要点
./localai # TUI
/fs ls . # 列目录(工作区边界内)
/fs write note.txt hello # 原子写
/fs edit note.txt hello hi # 字面量编辑(需先 /fs cat 读过)
/mode read-only # 切只读模式,一切写拒绝
/run cargo test # 工作区根内执行子进程v0.1.0
v0.1.0 —— 首个可用版本
DSH 式 cordis 插件模式的 Rust 本地 LLM 壳,接入本机 oMLX 服务器
(192.168.0.5:9870,主模型 Qwen3.6-35b)。
功能
- cordis 插件架构:
Context(事件总线 + 服务注入 + effect 生命周期,
卸载即全部回滚)、Service、Plugin、Loader(运行时/load/unload热插拔); - 模型层(论证见
docs/model-layer.md):"小上下文、零成本、频繁微调用"——
微调用协议(JSON 输出 + 关思考 + 失败重试 + 有界并发),实测单次 1.1~1.8s; - 插件:
chat:有界滚动历史对话(上下文纪律,默认保留最近 6 轮);microtask:每次回复后自动 2 个并行微调用(意图分类 + 关键词);
/micro流水线演示(串行决策 → 3 路并行抽取,带每阶段耗时);
- 交互:TUI(ratatui)+ 非交互
--once/--micro/--list-plugins。
构建与下载
三平台产物由 GitHub Actions 自动构建并发布到本 Release:
localai-v0.1.0-win-x64.zip—— Windows 10+ x64localai-v0.1.0-macos-aarch64.tar.gz/-x86_64.tar.gz—— macOSlocalai-v0.1.0-linux-x64.tar.gz—— Linux x64(CentOS 7+ 兼容,glibc 2.17)
使用:解压 → 复制 .env.example 为 .env 填入 LLM_API_KEY(服务器
~/.omlx/settings.json 的 auth.api_key)→ 运行 localai。