Skip to content

Releases: ashuai/localai

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 06:47

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 层面,进行中的子任务调用随之一并丢弃;
  • 工具回路扩展:chat 工具白名单新增 subagentmodels(主 agent 可自主
    委派与查档案);base prompt 追加委派轻提示;
  • 纯插件实现,零 core 改动:模型档案、迷你工具回路全部在插件内
    (chat 与 subagent 各自持有插件级工具回路),可独立装卸、互不依赖;
    卸载 subagent 插件 → /subagent /models 消失,主对话不受影响。

构建产物

  • localai-v0.5.0-win-x64.zip —— Windows 10+ x64
  • localai-v0.5.0-macos-aarch64.tar.gz / -x86_64.tar.gz —— macOS
  • localai-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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 07:53

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.json last
      可用上下文(退出重启后 resume 继续对话);默认可执行文件目录,可配 ~;
    • /new 命令:新建会话,清空可用上下文;
    • 可插拔:卸载 memory 插件 → chat 自动回退纯滑动窗口。
  • 工具回路(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+ x64
  • localai-v0.4.0-macos-aarch64.tar.gz / -x86_64.tar.gz —— macOS
  • localai-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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 06:21

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.ymlserver.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+ x64
  • localai-v0.3.0-macos-aarch64.tar.gz / -x86_64.tar.gz —— macOS
  • localai-v0.3.0-linux-x64.tar.gz —— Linux x64(CentOS 7+ 兼容,glibc 2.17)

使用要点

./localai            # TUI
↑ / ↓                # 浏览发送历史 / 回到草稿
Esc                  # 中断进行中的调用;空闲时清空输入框
Ctrl+C ×2            # 退出(单次不退出,防误按)
/quit                # 直接退出

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 05:20

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 可查);
  • 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+ x64
  • localai-v0.2.0-macos-aarch64.tar.gz / -x86_64.tar.gz —— macOS
  • localai-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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 04:03

v0.1.0 —— 首个可用版本

DSH 式 cordis 插件模式的 Rust 本地 LLM 壳,接入本机 oMLX 服务器
(192.168.0.5:9870,主模型 Qwen3.6-35b)。

功能

  • cordis 插件架构:Context(事件总线 + 服务注入 + effect 生命周期,
    卸载即全部回滚)、ServicePluginLoader(运行时 /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+ x64
  • localai-v0.1.0-macos-aarch64.tar.gz / -x86_64.tar.gz —— macOS
  • localai-v0.1.0-linux-x64.tar.gz —— Linux x64(CentOS 7+ 兼容,glibc 2.17)

使用:解压 → 复制 .env.example.env 填入 LLM_API_KEY(服务器
~/.omlx/settings.jsonauth.api_key)→ 运行 localai