diff --git a/README.md b/README.md index 2f6ff37de650d834e7f2236bfd59b03b81b0eefc..e47bcf9c37ae09b274914a72b7c36aa23ca257c1 100644 --- a/README.md +++ b/README.md @@ -25,17 +25,33 @@ OpsBot 提供了平台无关抽象,但目前只会实现 GitLab 平台。 ## 注意事项 ### 您的信息 -- 我们使用 Gateway 从免费提供商中提供 LLM 调用能力。部分提供商会明确收集您的对话信息,例如 [Kilo Free](https://kilo.org.cn/docs/getting-started/using-kilo-for-free)。 +- 我们使用 OpenRouter 免费路由 `openrouter/free` 提供服务。您的上游提供商可能会收集您的使用数据(如您的对话片段)以用于训练等用途。 - shRabbit 不会收集您的任何对话和使用信息。 ### 代码安全性 - 推荐将您的主分支设为保护分支,避免 OpsBot 和其他贡献者误将代码提交到主分支上。 +- shRabbit 不对您在使用 OpsBot(包含在 shRabbit GitLab 中使用 @vigorrabbit)的 AI 功能中,因 AI 能力或幻觉等一切因素所造成的问题或事故负任何责任。 + +您安装并开始使用 OpsBot 或在 shRabbit GitLab 中 @vigorrabbit 则代表您已悉知以上信息和风险。 ## 提供商 -提供商会注解补充,请求会自动选择更流畅的 API,但不保证模型能力不变。 +### OpenRouter +- `openrouter/free`(收集数据) ## 使用自己的模型提供商 -**暂不支持** +### 暂定方法。目前没有实现。 +1. 通过 OAuth 关联您的 shRabbit Account 和 GitLab 账号。 +2. 打开 shRabbit 个人中心 → AI 服务,开启"通过我的 API 使用 AI 功能"。 +3. 您也可以对某一个 AI 功能分别设置。 + +使用您的私人 API,可完全避免数据隐私问题,并得到更流畅和智能的 AI 体验(取决于您的模型提供商)。我们不会通过任何方式收集您的任何数据。 + +目前不包含实现,可参考 shRabbit 官网和 shRabbit Account 建设情况。 + +## 活跃度 +项目后续将积极开放,直到正式版发布。发布后续仅小幅更新和不定期新增功能。 + +目前仍在做服务器迁移工作。 ## 开源许可证 OpsBot 通过 [MIT](LICENSE) 开放源代码。 \ No newline at end of file diff --git a/src/OpsBot/Controllers/WeatherForecastController.cs b/src/OpsBot/Controllers/WeatherForecastController.cs deleted file mode 100644 index 79f64c2928d22c250a295fd081fd8c6ff5100ee5..0000000000000000000000000000000000000000 --- a/src/OpsBot/Controllers/WeatherForecastController.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace OpsBot.Controllers; - -[ApiController] -[Route("[controller]")] -public class WeatherForecastController : ControllerBase -{ - private static readonly string[] Summaries = - [ - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - ]; - - [HttpGet(Name = "GetWeatherForecast")] - public IEnumerable Get() - { - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = Summaries[Random.Shared.Next(Summaries.Length)] - }) - .ToArray(); - } -} \ No newline at end of file diff --git a/src/OpsBot/OpsBot.csproj b/src/OpsBot/OpsBot.csproj index 9a6358f25d3e91b1442d974aabba0844455e85a4..51bb7f04bd5471d6568941d135daebf9e1756bcb 100644 --- a/src/OpsBot/OpsBot.csproj +++ b/src/OpsBot/OpsBot.csproj @@ -7,10 +7,6 @@ Linux - - - - .dockerignore diff --git a/src/OpsBot/OpsBot.http b/src/OpsBot/OpsBot.http deleted file mode 100644 index 53cbf84a8e6ad319395f9389485d8950ee4aceb6..0000000000000000000000000000000000000000 --- a/src/OpsBot/OpsBot.http +++ /dev/null @@ -1,6 +0,0 @@ -@OpsBot_HostAddress = http://localhost:5073 - -GET {{OpsBot_HostAddress}}/weatherforecast/ -Accept: application/json - -### diff --git a/src/OpsBot/Program.cs b/src/OpsBot/Program.cs index 09d90ffab4defcf6f78f98fe4b036ecc28a04086..b4a6646b6b5562fc80799b7a80ae16f61778bd21 100644 --- a/src/OpsBot/Program.cs +++ b/src/OpsBot/Program.cs @@ -6,27 +6,8 @@ public class Program { var builder = WebApplication.CreateBuilder(args); - // Add services to the container. - - builder.Services.AddControllers(); - // Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi - builder.Services.AddOpenApi(); - var app = builder.Build(); - // Configure the HTTP request pipeline. - if (app.Environment.IsDevelopment()) - { - app.MapOpenApi(); - } - - app.UseHttpsRedirection(); - - app.UseAuthorization(); - - - app.MapControllers(); - app.Run(); } } \ No newline at end of file diff --git a/src/OpsBot/WeatherForecast.cs b/src/OpsBot/WeatherForecast.cs deleted file mode 100644 index 8097e3d06e996da37fc7d03c609325a81c9bbdb3..0000000000000000000000000000000000000000 --- a/src/OpsBot/WeatherForecast.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace OpsBot; - -public class WeatherForecast -{ - public DateOnly Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string? Summary { get; set; } -} \ No newline at end of file