boxlite-ai / boxlite-ai/boxlite

Local runtime support volume CRUD and mount

Open
#1,209 1 comment 1 reaction 0 assignees View on GitHub
Runtime & Library Volume
Dominant language
Rust
Stars
2.3k
Forks
179
Avg merge
23h 25m
Merged PRs (30d)
121

Description

`impl VolumeBackend for LocalRuntime` 目前对CRUD四个方法一律返回 `Unsupported`

(`src/boxlite/src/runtime/volumes.rs`)。实现一个本地命名卷存储,让本地 runtime 具备与 REST 后端等价的 CRUD 语义。

**要决定的**

* `{home}` 下的落盘布局:payload 目录与元数据的隔离方式 —— 元数据不能放进payload, payload 会整体交给 guest,放进去就会被 box 读到、删掉
* 卷 id 的铸造规则与字符集(与 box id 同构,参照`src/boxlite/src/runtime/id.rs`)
* name 唯一性与并发创建的处理

**验收:** 四个现有方法在本地 runtime 全部跑通;

CLI `boxlite volume create/ls/get/rm`在无服务端时可用;

元数据与 payload 隔离(guest 不可见元数据) ;

Contributor guide

Open the contributing guide

Research direction

Start with the four methods in src/boxlite/src/runtime/volumes.rs and compare the volume identifier rules in src/boxlite/src/runtime/id.rs. Trace the existing volume CLI commands and REST-backed behavior before choosing the local layout, ID rules, and concurrent name handling. Done means local create/ls/get/rm work without a server and guest-visible payloads contain no metadata.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, cli, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.