拥有一座私人跨端文件仓库,从未如此简单
文件传输 · 私有化 · 文件内容中转 · 集成管理页面 · 可扩展
SoonLink 是基于 仓颉编程语言 与 Ignite 构建的文件管理与跨端传输服务端。致力于把文件浏览、分块上传、目录传送、中转站缓存、CLI 与 MCP 收拢成一个轻巧、透明的基础能力层,让你“数据在手,规则自己定,自动流转自由安排”。
- 私有化的主场:数据与服务都跑在你自己的环境里,不依赖第三方云盘,隐私如自家书房。
- 跨端流转,一气呵成:浏览器直览文件、分块可靠上传、Range 按需下载、目录传输任务与基础设备管理,环环相扣。
- 临时文本也有“中转站”:浏览器端想随手存一段文字?直接写入中转缓存,生成 UTF-8
.txt,随时回流、下载、再编辑。 - 自动化友好:原生提供 CLI 与
stdioMCP,方便接入 agent、脚本、定时任务等自动化工作流。 - 仓颉生态原生:Ignite 承载 Web 服务,lisi 提供生态补位,自然融入仓颉开发环境。
- 零前端开销:内置 StaticWeb,启动即得 Web 控制台,不用额外写一行前端代码。
- 模块化、易扩展:MCP Server、CLI、清晰的模块分层,方便二次开发与社区一起打磨。
本项目需要仓颉运行时 v1.1.0以上 。详见:
git clone https://github.com/Celading/SoonLink.git
cd SoonLink
cjpm build
cjpm testcjpm run默认入口:
- 主界面:
http://localhost:8081 - API 文档(Swagger):
http://localhost:8081/swagger
首次运行会优先使用可读写的用户级配置
~/.soonlink/etc/sl-config.toml;不可用时降级到./config/soonlink.toml。./config/devices.json若不存在会自动生成。
- 仓颉sdk环境
cangjie-sdkv1.1.0+ - 仓颉标准扩展库
cangjie-stdx
./target/release/bin/main version
./target/release/bin/main status --config ./config/soonlink.toml
./target/release/bin/main devices
./target/release/bin/main fs-list --path /
./target/release/bin/main mcp可直接在终端中管理文件、查看设备、启动 MCP 服务,与自动化流程无缝衔接。
默认读取以下内容(如果没有则创建):
~/.soonlink/etc/sl-config.toml(优先)./config/soonlink.toml(用户级配置不可读写时降级)./config/devices.json
- 文件与目录:文件浏览、文件元信息、文本读取、目录任务与目录树保留复制。
- 传输链路:分块上传、合并写入、Range 下载、传输任务追踪。
- 中转站缓存:文件中转、临时文本记录、缓存回流、记录级删除与过期清理。
- 设备与授信基础:手动设备注册、设备状态、信任状态、PIN 配对基础能力。
- 自动化入口:CLI、MCP、Swagger、HTTP API。
- 工程形态:源码构建、CI 检查链路与可持续演进的仓库结构。
-
运行状态
GET /api/health·GET /api/ready·GET /api/session/context -
文件系统
GET /api/fs/list·GET /api/fs/info·GET /api/fs/encoding·GET /api/fs/line -
分块传输
POST /api/transfer/chunk/session·PUT …/chunks/:index·POST …/complete·GET …/files/:fileId -
中转站
GET /api/relay/jobs·POST /api/relay/jobs·POST …/text·GET …/cache·GET …/preview·DELETE …/:id -
任务管理
GET /api/tasks·POST /api/tasks·GET …/:id·DELETE …/:id -
设备与配对
GET /api/devices·POST …/register·POST …/trust·POST …/pairing/pin·POST …/pairing/confirm
完整接口文档请查看 Swagger 或 Manual API。
本项目遵循 毫末(Haomo)目录风格与哲学
SoonLink/
├── cjpm.toml # 项目与依赖配置
├── config/ # 运行时配置
├── src/
│ ├── commons/ # 公共组件
│ ├── features/ # 功能模块
│ ├── master/ # 核心调度
│ ├── product/ # 产品组装
│ └── tests/ # 测试套件
├── web/ # 内置前端静态资源
├── scripts/ # 辅助脚本
└── manual/ # 详细文档
| 系统 / 平台 | 架构 / 机型线 | 状态 | 说明 |
|---|---|---|---|
| macOS | Apple Silicon (aarch64) | ✅ | 主力开发环境 |
| macOS | Intel (x86_64) | ✅ | 完整支持 |
| Linux | x86_64 / aarch64 | ✅ | 通用 GNU/Linux 发行版 |
| EulerOS | Taishan / x86_64 | ✅ | 兼容通用 Linux |
| Windows | x86_64 | ✅ | 默认 Windows 兼容线 |
| OpenHarmony | aarch64/x86_64 | ✅ | OHOS 适配线 |
| HarmonyOS | arm64/Lingxi | ✅ | 终端与设备侧部署 |
| LoongArch | LoongArch64 | 规划中 | 后续平台扩展预留 |
SoonLink 采用 Apache License 2.0 开源,欢迎自由使用、修改与协作。