这个项目能做什么
Devinorium是一个自托管的Web界面,使AI编程代理可以通过浏览器而非仅终端进行操作。其后端使用Rust构建,基于axum、tokio和SQLite,负责处理认证、会话、文件和对外部提供商的调用。前端采用Flutter Web,由构建脚本生成并在编译时嵌入到Rust二进制文件中。
提供商层采用显式可插拔设计,无需修改其余代码即可添加新后端。目前支持三个提供商:Devin CLI、OpenCode和Codex CLI。每个提供商需在PATH中可用,并通过各自登录命令(devin login、opencode auth login、codex login)预先完成认证。
上手需要Rust工具链、Flutter SDK和所选提供商的CLI。克隆后复制示例环境文件并编辑设置初始密码;README警告,若此密码未设置或仍为占位值,则不会创建所有者账号,导致无法登录。运行Flutter构建脚本产出前端包,执行release模式cargo构建将其嵌入,创建数据目录存放数据库,然后运行二进制文件。服务默认监听localhost 7878端口,用户通过初始凭证登录。
配置完全通过环境变量实现,详见示例env文件。设置项包括绑定地址与端口、用于签名会话Cookie的会话密钥(除非提供长随机值则为临时值)、SQLite连接字符串、首次运行的所有者用户名和密码、新建对话的默认模型、反向代理后信任forwarded-for头部的选项、最大请求体大小、HTTPS下Secure Cookie标志,以及CSRF检查允许的源。数据库迁移在启动时自动执行。
开发流程包括格式化检查、开启warnings-as-errors的clippy以及测试套件;更严格的pedantic和nursery lint组计划在后续逐步启用。
README声明Devinorium仅支持HTTP,因此远程或公网暴露应通过终止TLS的反向代理或隧道,详细部署示例见独立文档文件。项目采用AGPL-3.0-only许可证,该仓库为GitLab项目的GitHub镜像。文档中的截图展示了桌面端和移动端界面,包括侧边栏、对话和代码编辑器视图。
评论
0 评分人数达到10人后显示
登录后参与讨论。