平常心 v5ai.xin

AI 应用真正的难点不在提示词,在它跑起来之后还稳不稳。

过去两年我一直在做这件事:把配置、运行时和界面连成一条能跑通的线。

v5ai-nb 白泽 Baize v5xs v5md

v5ai-nb
白泽 Baize

以上为项目官网与应用的界面;v5ai-nb 官方标注「产品能力示意 · 非真实系统截图」。

我做的事

这些项目看着不一样,其实是同一件事:把一份来源,变成多个运行时里都成立的结果。

一个平台配置,派生出模型、Agent、知识库、MCP 与 Skill;一个 Java 控制面,把任务派发给不同语言的客户端;一份 Markdown 字符串,同时喂给 Vue 和 React;一个菜单栏图标,读出六项实时指标。

统一控制面

Agent、MCP、Skill、RAG 与资源集中在 Server 一侧管理,执行交给合适的 Client;白泽用 NARP v2 的 gRPC 双向流把两端接起来,任务下发与事件回传走同一条连接。

可观测的运行

配置、发布、对话、追踪在同一条链路上。跑过什么、卡在哪里,都能在运行观测里翻出来,而不是靠猜。

克制的界面

工具不该抢注意力。少一层外壳,多一行留白——信息本身比装饰更有说服力。

在做的项目

一处掌控,多处运行

v5ai-nb

开源 AI 应用平台。模型、Agent、RAG 知识库、MCP 与 Skill 在一个工作区里管理,配置、发布、对话和运行观测形成完整闭环。

Status
已上线 · ai.v5ai.xin
Stack
JDK 21 · Spring Boot 4 · AgentScope Java 2.0
Interface
左侧 Agent / 模型管理 / 知识库 / MCP Server / Skill,主区是能力配置卡片与运行预览
打开 ai.v5ai.xin
v5ai-nb ai.v5ai.xin

官网首屏 · 界面为产品能力示意

白泽 Baize

多语言 Agent 运行时平台。一个 Java 控制面,连接云端、业务系统与桌面上的每一个 Agent;协议一致,运行时各展所长。

Status
已上线 · baize.v5ai.xin
Stack
NARP v2 · gRPC 双向流(任务下发 ⇄ 事件回传)
Interface
Java Agent Server 统一控制面,连接 Java / Python / Node.js 客户端
打开 baize.v5ai.xin
白泽 Baize baize.v5ai.xin

官网首屏 · 上图为功能示意

v5xs

macOS 菜单栏系统监控。在菜单栏养一只「跑得越快越忙」的小动物,随时查看 CPU、GPU、内存、磁盘、网络与温度;附带应用卸载与开机自启项管理。

Status
开源 · v0.1.3 · MIT
Stack
SwiftUI · AppKit · Swift 6 · macOS 14+
Interface
14 种动物形象随负载奔跑;监控面板、软件卸载、启动项管理三个窗口
打开 GitHub
v5xs
v5xs

真实截图 · 监控面板与卸载窗口

v5md

所见即所得 Markdown 编辑器。Markdown 字符串是唯一数据源:输入、粘贴和工具条命令都改这段字符串,再重新解析并画回页面。同一套编辑器可以嵌进 Vue 和 React。

Status
开源 · v0.0.1 · MIT
Stack
TypeScript · Vue 3 · React · npm workspaces
Interface
左侧大纲、中间渲染稿、右侧 Markdown 源码——一份字符串,两面呈现
打开 GitHub 仓库
v5md github.com/zyw/v5md

真实截图 · 编辑器界面(本地仓库)