boxlite-ai / boxlite-ai/boxlite
Local runtime support volume CRUD and mount
- 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
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