关于 Laraue Boards
Laraue Boards 是一款类似 Jira 的任务管理系统后端。它通过组织、空间、Epic 和议题组织工作,并支持灵活的权限设置和议题历史记录。
主要功能
- 01创建和管理议题
- 02在议题中发表评论
- 03查看议题历史
- 04配置组织和空间权限
- 05生成 AI 内容摘要
适用场景
- 01跨空间管理任务和议题
- 02查看议题的变更记录
- 03设置组织实体的访问规则
- 04在应用中生成 AI 内容摘要
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://boards.laraue.com/boards-mcp/mcpclaude mcp add --transport http com-laraue-boards https://boards.laraue.com/boards-mcp/mcp{"mcpServers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}在 Cursor 中打开{"servers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-laraue-boards":{"type":"http","url":"https://boards.laraue.com/boards-mcp/mcp"}}}{"mcpServers":{"com-laraue-boards":{"serverUrl":"https://boards.laraue.com/boards-mcp/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://boards.laraue.com/boards-mcp/mcp需要授权工具
详细介绍
Laraue.Apps.Boards
此仓库包含一个类似 Jira 的任务管理系统的后端。
界面示例
应用结构
Laraue.Apps.Boards.DataAccess
包含模型及其相关枚举的层
Laraue.Apps.Boards.Services
使用其他服务的服务层。用于封装主要在 CRD 操作中的复杂逻辑。
例如:创建 issue 时,可能会更新 updated_at 属性、向历史记录添加条目等。
因此,该服务提供了创建 issue 的方法。
**注意:**核心服务不应管理事务,但可以要求调用方在函数顶部调用 context.Database.EnsureTransaction。
Laraue.Apps.Boards.WebApiServices
供 WebApi 调用的服务
Laraue.Apps.Boards.TelegramServices
供 TelegramApi 调用的服务
本地运行
请查看前端仓库,了解如何处理前端。
每个主机都会读取自己的 appsettings.Development.json(已被 git 忽略,而非已提交到仓库的
appsettings.json)来设置本地覆盖项。下面是一个最精简的配置示例,适用于
Laraue.Apps.Boards.WebApiHost,可连接本地 Postgres,且不依赖 Identity/Billing(AI 摘要仍
默认使用本地 Ollama 实例,见下文):
{
"Auth": {
"Key": "any-local-signing-key"
},
"MockExternalServices": true
}
Laraue.Apps.Boards.TelegramHost 只需要配置 MockExternalServices 这一行(它需要设置自己的
Telegram:Token,而不是 Auth:Key)。各设置的作用,以及如何改为连接真实的 AI/Identity/Billing
实例,请参阅下文的各个小节。
AI 内容摘要(本地开发)
appsettings.json 中的 AiSummarizer 部分默认使用本地 Ollama
实例,因为 Ollama 提供兼容 OpenAI 的 /v1/chat/completions 端点,而摘要器可以调用任何兼容
OpenAI 的 API。安装 Ollama,然后拉取配置中引用的模型:
ollama pull gemma3:12b
安装后,Ollama 默认在 http://localhost:11434 提供服务。较小的本地模型有时会漏掉 JSON 回复中的字段,
因此 appsettings.Development.json 会启用
AiSummarizer:UseJsonSchema:这样回复会受到 JSON Schema 的约束(response_format: json_schema,Ollama 支持此功能)。对于只支持普通 JSON 模式的提供商(如 DeepSeek),请关闭此设置。生产环境中,请覆盖
AiSummarizer:BaseUrl/AiSummarizer:Model/AiSummarizer:ApiKey,以连接真实的提供商
(例如 DeepSeek)。
不运行 Identity/Billing
Boards 通过 gRPC 调用另外两个服务:Laraue.Apps.Identity(首次登录时提供全局用户身份)和
Laraue.Apps.Billing(AI token 使用量/订阅限额)。本地无需运行这两个服务——两个主机的
appsettings.Development.json 都设置了 "MockExternalServices": true,这会为这些调用换成本地进程内的模拟实现
(始终成功、固定的宽松限额,不产生网络流量),而不是使用真实的 gRPC 客户端。如果确实想要
调用本地运行的 Identity/Billing 实例,请将其设回 false。
为测试创建新用户
POST: http://localhost:5200/api/test/user
{
"username": "winDiezel",
"languageCode": "ru",
"firstName": null,
"lastName": null
}
在测试环境中以用户身份进行身份验证
发送 GET 请求 http://localhost:5200/api/test/user/{userId} 以获取 bearer token。
将其设置在前端的 .env 文件中:
NUXT_PUBLIC_TEST_USER_TOKEN=Taken_Token
权限架构
应用权限分为两部分:
- 实体权限。用于设置对组织空间、史诗和 issue 的访问权限
- 组织级别。一次性为所有实体设置权限。
- 可分别灵活设置各个空间的权限。可以与组织级别的权限组合使用。
- 管理权限。用于设置对重命名组织等管理操作的访问权限。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。