为啥弄个 PicoBox
PicoBox 是一个完全基于 AI 生成网页 这个特定场景设计的小项目。采用 C# + PicoServer 开发,代码量非常少,加上注释总共只有51行。其实也可以和模版引擎搭配,来做轻量博客系统。
点击查看代码
csharp
namespace PicoBox
{
using PicoServer;
internal class Program
{
//核心:创建一个全局的 WebAPIServer 实例
static readonly WebAPIServer MyAPI = new();
static void Main(string[] args)
{
//绘制一个简约的PicoBox控制台界面
Console.Title = "PicoBox";
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("╔═════════════════════════════════╗");
Console.WriteLine("║ PicoBox 已启动 ║");
Console.WriteLine("║ 人人可用的 AI 网页托管工具 ║");
Console.WriteLine("║ 开源免费 ║");
Console.WriteLine("╚═════════════════════════════════╝");
Console.ResetColor();
//输出访问地址
MyAPI.GetLocalIPAddresses().ForEach(ip => Console.WriteLine($" 访问地址: http://{ip}:8090"));
//初始化 html 目录和文件
if (!Directory.Exists("www")) Directory.CreateDirectory("www");
if(!File.Exists("data")) File.WriteAllText("data","hello PicoBox!");
//添加静态文件服务
MyAPI.AddStaticFiles("/", "www");
//添加一个数据API接口
MyAPI.AddRoute("/api/data", async (req, resp) =>
{
switch (req.HttpMethod)
{
case "GET":
//返回data文件内容
await resp.SendFileAsync("data"); break;
case "POST":
//保存请求体到data文件
await req.SaveFileAsync("data");
//返回ok
await resp.WriteAsync("ok"); break;
default:
//不支持其他方法
resp.StatusCode = 405;
await resp.WriteAsync("error"); break;
}
});
//启动服务器
MyAPI.StartServer();
Thread.Sleep(Timeout.Infinite);
}
}
}
现在 AI 生成网页已经非常简单,哪怕是非技术办公人员,也能快速生成页面。抛开个性化样式不谈,基本人人都能借助 AI 快速制作网页。但问题也很明显:AI 生成的网页只能本地打开,只能自己查看,完全自娱自乐,没办法共享给团队、在内网使用。
当下浏览器能力、Web 生态已经非常强大,在 AI 时代,怎么让普通商务、办公人员,也能低成本产出简单实用的内部 Web 应用?PicoBox 就是尝试为这个问题做一个解决方案。
内置 PicoServer 静态文件托管,直接一键托管 AI 生成的网页。和 Nginx 这类重型服务不同,PicoBox 原生预留了两个极简 API:一个用来储存数据,一个用来获取数据。
不限制数据类型,文本、JSON、图片、任意二进制文件都能直接存取,灵活度很高,足够满足日常小型业务、内部简单交互需求。
如今 .NET AOT 技术已经非常成熟,C# 开发不再局限于服务端、桌面、移动端。我们 C# 开发者,还可以轻松做嵌入式 Linux 开发、低配置边缘设备开发,哪怕是 64MB 小内存的嵌入式设备,也能流畅运行这类轻量服务。
日常工作中,不管是给公司、团队、同事写小工具、内部辅助服务,还是结合 AI 做轻量化配套应用,都有了更多落地方式。
这篇文章只是抛砖引玉,用一个几十行的极简 Demo,
给大家拓展一下 C# + PicoServer 轻量化开发、嵌入式下沉的开发思路。
PicoBox 开源地址
GitHub :https://github.com/benyuz/PicoBox
Gitee :https://gitee.com/jzy168/PicoBox
扩展:PicoServer 是什么?
如果你对 PicoServer 感兴趣可以看看我对他的深度挖掘文章
零依赖高性能跨平台 Web 胶水库 PicoServer :https://www.cnblogs.com/juziyu/p/19948369