mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-03-09 11:48:47 +00:00
- Added a new admin interface to track AI usage metrics, including tokens, features, and models. - Introduced a new route `/admin/plugins/discourse-ai/ai-usage` and supporting API endpoint in `AiUsageController`. - Implemented `AiUsageSerializer` for structuring AI usage data. - Integrated CSS stylings for charts and tables under `stylesheets/modules/llms/common/usage.scss`. - Enhanced backend with `AiApiAuditLog` model changes: added `cached_tokens` column (implemented with OpenAI for now) with relevant DB migration and indexing. - Created `Report` module for efficient aggregation and filtering of AI usage metrics. - Updated AI Bot title generation logic to log correctly to user vs bot - Extended test coverage for the new tracking features, ensuring data consistency and access controls.
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
import { PLUGIN_NAV_MODE_TOP } from "discourse/lib/admin-plugin-config-nav";
|
|
import { withPluginApi } from "discourse/lib/plugin-api";
|
|
|
|
export default {
|
|
name: "discourse-ai-admin-plugin-configuration-nav",
|
|
|
|
initialize(container) {
|
|
const currentUser = container.lookup("service:current-user");
|
|
if (!currentUser || !currentUser.admin) {
|
|
return;
|
|
}
|
|
|
|
withPluginApi("1.1.0", (api) => {
|
|
api.addAdminPluginConfigurationNav("discourse-ai", PLUGIN_NAV_MODE_TOP, [
|
|
{
|
|
label: "discourse_ai.llms.short_title",
|
|
route: "adminPlugins.show.discourse-ai-llms",
|
|
},
|
|
{
|
|
label: "discourse_ai.ai_persona.short_title",
|
|
route: "adminPlugins.show.discourse-ai-personas",
|
|
},
|
|
{
|
|
label: "discourse_ai.tools.short_title",
|
|
route: "adminPlugins.show.discourse-ai-tools",
|
|
},
|
|
{
|
|
label: "discourse_ai.usage.short_title",
|
|
route: "adminPlugins.show.discourse-ai-usage",
|
|
},
|
|
]);
|
|
});
|
|
},
|
|
};
|