diff --git a/cspell.config.yaml b/cspell.config.yaml index d61947c7..f2d89400 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -305,6 +305,9 @@ words: - pguser - dbname - jdbc + - mflens + - APIURL + - DEPLOYMENTNAME # Ignore RegExp patterns (for things like URLs, version numbers, etc.) ignoreRegExpList: # Ignore Cyrillic characters (non-English content in FAQ files) diff --git a/docs/admin/configuration/access-control/platform-managed-mode-configuration.md b/docs/admin/configuration/access-control/platform-managed-mode-configuration.md new file mode 100644 index 00000000..71ed3750 --- /dev/null +++ b/docs/admin/configuration/access-control/platform-managed-mode-configuration.md @@ -0,0 +1,194 @@ +--- +id: platform-managed-mode-configuration +sidebar_position: 3 +title: Platform-managed Mode Configuration +description: How to switch to Platform-managed mode and migrate existing Keycloak users +pagination_prev: admin/configuration/access-control/access-control-overview +pagination_next: null +--- + +In **Platform-managed mode** (`ENABLE_USER_MANAGEMENT=true`), user roles and project +assignments are stored in the platform database and managed through the in-app UI +(**Settings → Administration**). This is in contrast to the default Keycloak-managed +mode, where roles and project access are read from JWT claims on every request. + +For a comparison of both modes, see the +[Access Control Overview](./index.md#deployment-modes). + +## Prerequisites + +- Access to the Kubernetes cluster and Helm values file of AI/Run CodeMie Backend and UI +- If migrating from an existing Keycloak deployment: Keycloak service account client with `realm-management` roles in the target realm (see [Create Keycloak service account client](#create-keycloak-service-account-client)) + +--- + +## Step 1: Enable Platform-managed Mode + +:::warning Both components must be updated +The AI/Run CodeMie backend and the UI must be configured consistently. Enabling only one of them results +in either missing UI controls or API errors. +::: + +### AI/Run CodeMie Backend + +Set the `ENABLE_USER_MANAGEMENT` environment variable to `true` in the AI/Run CodeMie Backend +deployment. + +In the `codemie-api` Helm chart , add `ENABLE_USER_MANAGEMENT` to the `extraEnv` list: + +```yaml +extraEnv: + - name: ENABLE_USER_MANAGEMENT + value: 'true' +``` + +Apply the changes to the deployment. + +### AI/Run CodeMie UI + +The UI must be told that Platform-managed mode is active so it shows the in-app +**Users management** and **Projects management** tabs under **Settings → Administration**. + +In the `codemie-ui` Helm chart `values.yaml`, set: + +```yaml +viteEnableUserManagement: true +``` + +Apply the changes to the deployment. + +--- + +## Step 2: Migrate Existing Keycloak Users (existing deployments only) + +:::info When is this step required? +Only perform this step if you are **switching an existing deployment** from Keycloak-managed +mode to Platform-managed mode and you are using `IDP_PROVIDER=keycloak`. + +For **new installations** where `ENABLE_USER_MANAGEMENT=true` is set from the start, skip +this step entirely. +::: + +When switching to Platform-managed mode on an existing deployment, the platform database +has no knowledge of existing Keycloak users or their project assignments. The one-time +Keycloak User Migration reads users and their `applications` / `applications_admin` +attributes from Keycloak and imports them into the platform database. + +### 2.1 Configure migration environment variables + +#### Create Keycloak service account client + +In the Keycloak Admin Console, create a new client in the target realm: + +1. Go to **Clients** and click **Create client**. +2. Set **Client ID** to `codemie-migration-client`, **Client type** to `OpenID Connect`. Click **Next**. +3. In **Capability config**, enable **Client authentication** and **Authorization**. Enable **Service accounts roles** under **Authentication flow**. Click **Next**. +4. In **Access settings**, set **Valid redirect URIs** and **Web origins** to `/*`. Click **Save**. +5. Go to the **Service accounts roles** tab and assign the following `realm-management` roles: + - `view-users` + - `view-clients` + - `view-authorization` + - `view-events` + - `view-realm` + - `view-identity-providers` + - `query-users` + - `query-clients` + - `query-groups` + - `query-realms` +6. Go to the **Credentials** tab and copy the **Client secret**. + +#### Configure environment variables + +Add the following environment variables to the AI/Run CodeMie Backend deployment alongside +`ENABLE_USER_MANAGEMENT=true`: + +| Variable | Example value | Description | +| ------------------------------ | ------------------------------ | ---------------------------------------------------------------- | +| `KEYCLOAK_MIGRATION_ENABLED` | `true` | Enables the one-time import on startup. Disable after first run. | +| `KEYCLOAK_ADMIN_URL` | `https://keycloak.example.com` | Keycloak base URL (no trailing slash, no `/auth` path). | +| `KEYCLOAK_ADMIN_REALM` | `codemie-prod` | Realm that contains the users to migrate. | +| `KEYCLOAK_ADMIN_CLIENT_ID` | `codemie-migration-client` | Service account client ID with admin read permissions. | +| `KEYCLOAK_ADMIN_CLIENT_SECRET` | _(from Kubernetes secret)_ | Service account client secret. Use a Kubernetes secret. | + +#### Create Kubernetes secret for the client secret + +Before applying the Helm configuration, create a Kubernetes secret to store the Keycloak +service account client secret: + +```bash +kubectl create secret generic codemie-migration-secret \ + --from-literal=client_secret= \ + -n codemie +``` + +#### Example Helm configuration + +```yaml +extraEnv: + - name: ENABLE_USER_MANAGEMENT + value: 'true' + - name: KEYCLOAK_MIGRATION_ENABLED + value: 'true' + - name: KEYCLOAK_ADMIN_URL + value: 'https://keycloak.example.com' + - name: KEYCLOAK_ADMIN_REALM + value: 'codemie-prod' + - name: KEYCLOAK_ADMIN_CLIENT_ID + value: 'codemie-migration-client' + - name: KEYCLOAK_ADMIN_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: codemie-migration-secret + key: client_secret +``` + +### 2.2 Disable migration after the first run + +:::danger Disable after migration +Leave `KEYCLOAK_MIGRATION_ENABLED=true` running beyond the first successful startup will +re-import users on every pod restart, potentially overwriting manual changes made in the +in-app UI. +::: + +After confirming the migration completed successfully, set `KEYCLOAK_MIGRATION_ENABLED` +back to `false` (or remove the variable entirely): + +```yaml {4-5} +extraEnv: + - name: ENABLE_USER_MANAGEMENT + value: 'true' + - name: KEYCLOAK_MIGRATION_ENABLED + value: 'false' +``` + +Apply the changes to the deployment. + +--- + +## Verification + +After completing all steps, verify the setup: + +1. Log in to the AI/Run CodeMie UI as an `admin` user. +2. Navigate to **Settings → Administration**. +3. Confirm the **Users management** and **Projects management** tabs are visible. +4. Check that existing users (if migrated) appear under **Users management** with their + project assignments intact. + +## Granting Maintainer Role + +The **Maintainer** role is a superset of Admin that additionally grants access to budget management. To assign it to a user, run the following SQL against the platform database: + +```sql +UPDATE users SET is_maintainer = true, is_admin = true WHERE email = ''; +``` + +:::info +`is_admin` must also be set to `true` — the Maintainer role implies Admin. +::: + +## See Also + +- [API Configuration Reference — User Management Mode](../codemie/api-configuration.md#user-management-mode) +- [Platform Administration Guide](../codemie/platform-administration.md) +- [Project & User Management](../../../user-guide/project-user-management/projects.md) diff --git a/docs/admin/configuration/codemie/api-configuration.md b/docs/admin/configuration/codemie/api-configuration.md index a58b07a3..3dcaed23 100644 --- a/docs/admin/configuration/codemie/api-configuration.md +++ b/docs/admin/configuration/codemie/api-configuration.md @@ -218,11 +218,12 @@ Primary relational database for structured data and transactional operations. Document store for full-text search, analytics, and unstructured data. -| Parameter | Type | Default | Description | -| ------------------ | ------ | ------------------------- | -------------------------------------------------- | -| `ELASTIC_URL` | string | `"http://localhost:9200"` | Elasticsearch cluster endpoint URL | -| `ELASTIC_PASSWORD` | string | `""` | Password for `elastic` user or configured username | -| `ELASTIC_USERNAME` | string | `""` | Username for Elasticsearch authentication | +| Parameter | Type | Default | Description | +| ----------------------------- | ------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ELASTIC_URL` | string | `"http://localhost:9200"` | Elasticsearch cluster endpoint URL | +| `ELASTIC_PASSWORD` | string | `""` | Password for `elastic` user or configured username | +| `ELASTIC_USERNAME` | string | `""` | Username for Elasticsearch authentication | +| `ELASTIC_DATASOURCE_REPLICAS` | integer | `1` | Number of replica shards for datasource indexes; set to `0` to have only the primary shard for each indexed datasource, reducing total shard usage on clusters with limited capacity | #### Elasticsearch Indexes @@ -232,7 +233,7 @@ Index names for different data types. Customize to avoid collisions in shared cl | ----------------------------------------- | ------------ | -------------------------------------- | -------------------------------------------------------- | | `ELASTIC_APPLICATION_INDEX` | string | `"applications"` | Indexed applications and their metadata | | `ELASTIC_GIT_REPO_INDEX` | string | `"repositories"` | Code repository metadata and indexing status | -| `ELASTIC_LOGS_INDEX` | string | `"codemie_infra_logs*"` | Infrastructure logs pattern for monitoring and debugging | +| `ELASTIC_LOGS_INDEX` | string | `"logs-codemie-infra*"` | Infrastructure logs pattern for monitoring and debugging | | `FEEDBACK_INDEX_NAME` | string | `"ca_feedback"` | User feedback and ratings on AI responses | | `BACKGROUND_TASKS_INDEX` | string | `"background_tasks"` | Async task queue and execution status | | `USER_CONVERSATION_INDEX` | string | `"codemie_raw_user_conversations"` | Complete conversation history and messages | @@ -273,7 +274,7 @@ Configuration for Amazon S3 storage backend (requires `FILES_STORAGE_TYPE=aws`). | Parameter | Type | Default | Description | | ----------------------------- | ------ | -------------------------- | ------------------------------------------------------------------------------------------------- | -| `AWS_DEFAULT_REGION` | string | `""` | AWS region. Must be set if `AWS_S3_REGION` is not configured | +| `AWS_DEFAULT_REGION` | string | `""` | AWS region. Must be set if `AWS_S3_REGION` or `AWS_KMS_REGION` are not configured | | `AWS_S3_REGION` | string | `AWS_DEFAULT_REGION` | S3-specific region override. When set, takes priority over `AWS_DEFAULT_REGION` for S3 operations | | `AWS_S3_BUCKET_NAME` | string | `""` | S3 bucket name for user files and attachments | | `CODEMIE_STORAGE_BUCKET_NAME` | string | `"codemie-global-storage"` | Bucket for system-level shared assets and resources | @@ -311,10 +312,10 @@ Protect sensitive data at rest using cloud key management services or HashiCorp Encrypt secrets and sensitive data using AWS Key Management Service. -| Parameter | Type | Default | Description | -| ---------------- | ------ | ------- | ------------------------------------------------------ | -| `AWS_KMS_KEY_ID` | string | `""` | KMS key ID or ARN for encryption/decryption operations | -| `AWS_KMS_REGION` | string | `""` | AWS region where KMS key is located | +| Parameter | Type | Default | Description | +| ---------------- | ------ | -------------------- | --------------------------------------------------------------------------------------------------- | +| `AWS_KMS_KEY_ID` | string | `""` | KMS key ID or ARN for encryption/decryption operations | +| `AWS_KMS_REGION` | string | `AWS_DEFAULT_REGION` | KMS-specific region override. When set, takes priority over `AWS_DEFAULT_REGION` for KMS operations | ### Azure Key Vault @@ -381,6 +382,10 @@ Controls whether user roles and project access are read from JWT claims (Keycloa or stored in the platform database (Platform-managed mode). See [Access Control Overview](../access-control/index.md) for a full comparison. +For step-by-step instructions on enabling Platform-managed mode and migrating existing +Keycloak users, see +[Platform-managed Mode Configuration](../access-control/platform-managed-mode-configuration.md). + | Parameter | Type | Default | Description | | ------------------------ | ---- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `ENABLE_USER_MANAGEMENT` | bool | `false` | Master switch. `true` enables Platform-managed mode: roles and project membership are stored in the platform DB and managed through the in-app UI. `false` uses Keycloak-managed mode where JWT claims are the authoritative source. | @@ -398,7 +403,7 @@ database on startup. | `KEYCLOAK_ADMIN_URL` | string | `""` | Keycloak base URL for admin API access (e.g., `https://keycloak.example.com`). | | `KEYCLOAK_ADMIN_REALM` | string | `""` | Keycloak realm to migrate (e.g., `codemie-prod`). | | `KEYCLOAK_ADMIN_CLIENT_ID` | string | `""` | Service account client ID with Keycloak admin permissions. | -| `KEYCLOAK_ADMIN_CLIENT_SECRET` | string | `""` | Service account client secret. Store in a Kubernetes secret and reference via `valueFrom.secretKeyRef`. | +| `KEYCLOAK_ADMIN_CLIENT_SECRET` | string | `""` | Service account client secret. | --- diff --git a/docs/admin/configuration/codemie/code-executor-configuration.md b/docs/admin/configuration/codemie/code-executor-configuration.md index 5eddad9f..babb3966 100644 --- a/docs/admin/configuration/codemie/code-executor-configuration.md +++ b/docs/admin/configuration/codemie/code-executor-configuration.md @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; The Code Executor runs Python code in isolated Kubernetes pods with enforced resource limits and security policies. -It supports three deployment modes: local execution inside the API pod, sandbox pods in the same cluster, or sandbox pods in a dedicated cluster. +It supports four deployment modes: local execution inside the API pod, sandbox pods in the same cluster with shared namespace, sandbox pods in the same cluster with dedicated namespace, or sandbox pods in a dedicated cluster. ## Choosing a Deployment Mode @@ -23,7 +23,7 @@ It supports three deployment modes: local execution inside the API pod, sandbox | **Same cluster, dedicated namespace** | Namespace-level workload isolation | Separate pod, separate namespace | Yes (cross-namespace) | | **Dedicated cluster** | Compliance, multi-tenant environments | Full cluster isolation | No (kubeconfig) | -## Deployment Options +## Deployment Modes ### Local Mode @@ -121,7 +121,7 @@ extraEnv: ## Updating CodeMie API -After configuring any sandbox option, add the following common environment variables and apply the chart: +After configuring a sandbox deployment mode (Same Cluster or Dedicated Cluster), add the following environment variables and apply the chart: ```yaml extraEnv: diff --git a/docs/admin/configuration/extensions/litellm-proxy/model-configuration.md b/docs/admin/configuration/extensions/litellm-proxy/model-configuration.md index cafc6463..51233f00 100644 --- a/docs/admin/configuration/extensions/litellm-proxy/model-configuration.md +++ b/docs/admin/configuration/extensions/litellm-proxy/model-configuration.md @@ -335,6 +335,7 @@ Configuration examples for these models can be found in the provider-specific se | [`gpt-5-2-2025-12-11`](#gpt-52) | GPT-5.2 | | [`gpt-5.3-codex-2026-02-24`](#gpt-53-codex) | GPT-5.3 Codex | | [`gpt-5.4-2026-03-05`](#gpt-54) | GPT-5.4 | +| [`gpt-5.5-2026-04-24`](#gpt-55) | GPT-5.5 | | [`o1`](#o1) | o1 | | [`o3-mini`](#o3-mini) | o3 mini | | [`o3-2025-04-16`](#o3) | o3 | @@ -930,6 +931,39 @@ model_list: +### GPT-5.5 series + +#### GPT-5.5 + +
+GPT-5.5 + +```yaml +# US Region +- model_name: gpt-5.5-2026-04-24 + litellm_params: + model: azure/codemie-gpt-5.5-2026-04-24 + api_base: https://api-base-eastus2-0.openai.azure.com/ + litellm_credential_name: default_azure_openai_credential + model_info: + id: gpt-5-5-2026-04-24-eastus2-0 + base_model: azure/gpt-5.5 + label: "GPT-5.5" + +# EU Region +- model_name: gpt-5.5-2026-04-24 + litellm_params: + model: azure/codemie-gpt-5.5-2026-04-24 + api_base: https://api-base-swedencentral-0.openai.azure.com/ + litellm_credential_name: default_azure_openai_credential + model_info: + id: gpt-5-5-2026-04-24-swedencentral-0 + base_model: azure/gpt-5.5 + label: "GPT-5.5" +``` + +
+ ### GPT-5-codex #### GPT-5.3-codex diff --git a/docs/admin/configuration/observability/images/ilm-delete-phase.png b/docs/admin/configuration/observability/images/ilm-delete-phase.png new file mode 100644 index 00000000..75012239 Binary files /dev/null and b/docs/admin/configuration/observability/images/ilm-delete-phase.png differ diff --git a/docs/admin/configuration/observability/images/ilm-policy-configuration.png b/docs/admin/configuration/observability/images/ilm-policy-configuration.png new file mode 100644 index 00000000..de6dfa96 Binary files /dev/null and b/docs/admin/configuration/observability/images/ilm-policy-configuration.png differ diff --git a/docs/admin/configuration/observability/index.md b/docs/admin/configuration/observability/index.md new file mode 100644 index 00000000..0de6c417 --- /dev/null +++ b/docs/admin/configuration/observability/index.md @@ -0,0 +1,100 @@ +--- +id: observability-overview +title: Observability Overview +sidebar_label: Observability +sidebar_position: 1 +pagination_prev: admin/configuration/index +pagination_next: null +--- + +This guide covers the observability stack for AI/Run CodeMie — the tools and configuration +options that give administrators visibility into platform health, application logs, and AI +model usage. + +## Observability Stack + +AI/Run CodeMie uses two complementary observability layers: + +| Layer | Tools | Purpose | +| ----------------------- | --------------------------------- | ------------------------------------------------------------ | +| **Infrastructure logs** | Fluent Bit, Elasticsearch, Kibana | Collect, store, and visualize application and service logs | +| **AI traces & metrics** | Langfuse | Track LLM requests, latency, costs, and conversation metrics | + +--- + +## Infrastructure Logging + +### Log Collection — Fluent Bit + +Fluent Bit runs as a DaemonSet on every cluster node and forwards container logs to +Elasticsearch. It is deployed as part of the observability components during platform +installation. + +### Log Storage — Elasticsearch + +Application logs and conversation metrics are stored in Elasticsearch under two indexes +controlled by environment variables in your CodeMie API deployment: + +| Variable | Default | Description | +| ----------------------------- | ----------------------- | ------------------------------------ | +| `ELASTIC_LOGS_INDEX` | `logs-codemie-infra*` | Index for application and API logs | +| `CONVERSATIONS_METRICS_INDEX` | `codemie-conversations` | Index for conversation-level metrics | + +### Log Visualization — Kibana + +Kibana provides a pre-configured dashboard for browsing CodeMie logs and conversation +metrics. Access it at the Kibana URL exposed by your deployment. + +### Log Level + +Control the verbosity of application logs via the `LOG_LEVEL` environment variable in your +CodeMie API configuration: + +| Value | Description | +| --------- | ----------------------------------------------------- | +| `DEBUG` | Maximum verbosity — includes request/response details | +| `INFO` | Standard operational events (default) | +| `WARNING` | Warnings and errors only | +| `ERROR` | Errors only | + +--- + +## AI Traces & Metrics — Langfuse + +:::info Prerequisite: Assistants Evaluation extension +Langfuse is deployed as part of the optional +[Assistants Evaluation](../../deployment/extensions/assistants-evaluation/index.md) +extension. You must deploy this extension before configuring Langfuse environment +variables or enabling trace collection. +::: + +Langfuse captures detailed traces for every LLM call made through the platform. This +enables per-request inspection of prompts, completions, latency, and token usage. + +### Configuration + +Langfuse integration is configured via environment variables in the CodeMie API deployment: + +| Variable | Description | +| ----------------------------------------- | ------------------------------------------------------ | +| `LANGFUSE_TRACES` | Enable or disable trace collection (`true` / `false`) | +| `LANGFUSE_PUBLIC_KEY` | Langfuse project public key | +| `LANGFUSE_SECRET_KEY` | Langfuse project secret key | +| `LANGFUSE_HOST` | URL of your Langfuse instance | +| `LANGFUSE_BLOCKED_INSTRUMENTATION_SCOPES` | Comma-separated list of scopes to exclude from tracing | + +### What Langfuse Tracks + +- LLM request and response content +- Token usage and estimated cost per request +- Latency by model and endpoint +- Conversation-level aggregations + +--- + +## Related Configuration + +- [API Configuration](../codemie/api-configuration.md) — full reference for all observability + environment variables +- [Observability Components Deployment](../../deployment/aws/components-deployment/manual-deployment/observability.md) — + install Fluent Bit, Elasticsearch, and Kibana on your cluster diff --git a/docs/admin/configuration/observability/logs-retention.md b/docs/admin/configuration/observability/logs-retention.md new file mode 100644 index 00000000..878b0d36 --- /dev/null +++ b/docs/admin/configuration/observability/logs-retention.md @@ -0,0 +1,69 @@ +--- +id: logs-retention +title: Logs Retention +sidebar_label: Logs Retention +sidebar_position: 2 +pagination_prev: admin/configuration/observability/observability-overview +pagination_next: null +--- + +This page describes how to manage retention for the infrastructure logs aggregated in Elasticsearch to prevent unbounded disk usage. + +:::warning No automatic deletion by default +The `logs-codemie-infra*` index pattern has the built-in `logs@lifecycle` ILM policy +assigned, but that policy does not include a delete phase. Logs accumulate indefinitely +until you add a delete phase to the policy. +::: + +## Log Indexes + +| Index | Data | Default ILM policy | Default deletion | +| --------------------- | ----------------------------------------------------------- | ------------------ | ---------------- | +| `logs-codemie-infra*` | Infrastructure and application logs collected by Fluent Bit | `logs@lifecycle` | Not configured | + +To enable automatic deletion, add a delete phase to the `logs@lifecycle` policy as +described below. + +--- + +## Configuring Retention with Index Lifecycle Management + +Elasticsearch ILM automates index management through a series of phases. The +`logs-codemie-infra*` indexes already use the `logs@lifecycle` policy, but the delete +phase must be added manually to enable automatic removal. + +Open the Kibana UI (**Stack Management → Index Lifecycle Policies**), find +`logs@lifecycle`, and edit it: + +- Open "Advances Settings" for "Hot phase" +- Disable "Use recommended defaults" +- Disable "Enable rollover" +- Enable data deletion as shown on the screenshot below + +![Elasticsearch managed ILM Policy for logs](./images/ilm-policy-configuration.png) + +- Scroll down to the "Delete phase" and set desired count of days to keep log records. + +![Elasticsearch ILM delete phase](./images/ilm-delete-phase.png) + +- Save changes + +## Manual Cleanup + +Earlier deployments used the `codemie_infra_logs` index pattern, which is now deprecated. +Check whether these indexes are still present and remove them if not needed: + +1. Open **Stack Management → Index Management**. +2. Search for `codemie_infra_logs`. +3. If any `codemie_infra_logs-` indexes exist, delete them. + +:::warning +Index deletion is irreversible. +::: + +--- + +## Related + +- [Observability Overview](./index.md) — overview of the full observability stack +- [API Configuration](../codemie/api-configuration.md) — full environment variable reference diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx index 3b79906f..3bf657f9 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx @@ -22,8 +22,9 @@ Collects application logs from the following namespaces: - `security` - Keycloak and security components - `elastic` - Elasticsearch and Kibana logs - `ingress-nginx` - Ingress controller logs +- `litellm` - LiteLLM proxy server logs (if deployed) -These logs are stored in the `codemie_infra_logs` index for troubleshooting and operational insights. +These logs are stored in the `logs-codemie-infra` index for troubleshooting and operational insights. :::info Using External Logging System? If you have an existing logging solution (CloudWatch, Stackdriver, Splunk, etc.), you can disable infrastructure log collection by removing the first `[INPUT]` section (tagged `kube.codemie-infra.*`) and its corresponding `[OUTPUT]` section from `fluent-bit/values.yaml`. User metrics collection must remain enabled for Kibana dashboards to function. diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx index c22f74a8..1cb260f0 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx @@ -82,18 +82,10 @@ Kibana can be accessed at: - Username: `elastic` - Password: Retrieved from Elasticsearch secret (see [Data Layer](../data-layer#step-2-create-elasticsearch-credentials-secret)) -### Step 6: Configure Log Index Pattern (Optional) +### Step 6: Review Logs (Optional) -If you enabled infrastructure logging, configure the index pattern to view logs: - -1. Navigate to **Stack Management** → **Index Patterns** -2. Click **Create index pattern** -3. Enter index pattern: `codemie_infra_logs*` -4. Select timestamp field: `@timestamp` -5. Click **Create index pattern** - -Now you can view historical infrastructure logs in **Discover** section. +If infrastructure logging is enabled, you can access historical infrastructure logs in **Discover** section. :::note Metrics Index -The `codemie_metrics_logs` index for user metrics is automatically configured during Kibana Dashboards installation. You don't need to create it manually. +The `codemie_metrics_logs` data view for user metrics is automatically configured during [Kibana Dashboards](#kibana-dashboards-installation) installation. ::: diff --git a/docs/admin/deployment/extensions/index.mdx b/docs/admin/deployment/extensions/index.mdx index bdff2ad2..967919f5 100644 --- a/docs/admin/deployment/extensions/index.mdx +++ b/docs/admin/deployment/extensions/index.mdx @@ -39,6 +39,14 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; description="Intelligent code analysis and exploration platform with graph-based knowledge representation and AI-powered insights." link="./ai-code-explorer" /> + + +MF Lens is a mainframe code analysis and exploration solution within the EPAM AI/Run platform. + +## MF Lens System Requirements + +### MF Lens Container Resource Requirements + +| Component Name | Replicas | Memory | CPU (cores) | +| -------------- | -------- | ------ | ----------- | +| backend | 1 | 6Gi | 1.0 | +| frontend | 1 | 256Mi | 0.1 | +| neo4j | 1 | 4Gi | 2.0 | + +### Core MF Lens Components Overview + +| Component Name | Images | Description | +| -------------------- | ---------------------------------------------- | ----------- | +| mf-analyzer-backend | `liubuss/epam-ai-mf-analyzer:backend-develop` | - | +| mf-analyzer-frontend | `liubuss/epam-ai-mf-analyzer:frontend-develop` | - | + +### Third-Party MF Lens Components + +| Component Name | Images | Description | +| -------------- | --------------- | ----------- | +| neo4j | `neo4j:5.26.16` | - | + +## PostgreSQL Configuration + +Configure the PostgreSQL instance with the necessary database and user. + +:::warning +We strongly recommend using a **dedicated PostgreSQL instance** for MF Lens. Do not share the same instance used by AI/Run CodeMie, as this may cause resource contention and complicate maintenance. +::: + +### Configuring PostgreSQL Running in Managed Cloud + +1. Navigate to the SQL section in Managed Cloud + +2. Connect to PostgreSQL database `codemie` depending on the cloud provider: + - Some cloud providers have built-in query tools + - Deploy pgadmin inside the cluster to access a private Postgres instance: + + ```bash + # Create namespace and secret + kubectl create ns pgadmin + + kubectl create secret generic pgadmin4-credentials \ + --namespace pgadmin \ + --from-literal=password="$(openssl rand -hex 16)" \ + --type=Opaque + + helm upgrade --install pgadmin pgadmin/. -n pgadmin --values pgadmin/values.yaml --wait --timeout 900s --dependency-update + + # port-forward to svc + kubectl -n pgadmin port-forward svc/pgadmin-pgadmin4 8080:80 + + # access via localhost:8080 with secret from pgadmin namespace, user - "pgadmin4@example.com" + ``` + +3. Open the SQL Editor tab + +4. Execute the following SQL commands: + + ```sql + CREATE DATABASE postgres_mflens; + CREATE USER mflens WITH PASSWORD ''; + GRANT ALL PRIVILEGES ON DATABASE postgres_mflens TO mflens; + ``` + +5. Switch to the `postgres_mflens` database + +6. Grant schema privileges: + + ```sql + GRANT ALL ON SCHEMA public TO mflens; + ``` + +## Prerequisites + +Create the Kubernetes namespace for all MF Lens components before proceeding: + +```bash +kubectl create namespace mf-analyzer +``` + +## Step 1: Deploy Neo4j + +### Create Neo4j Secret + +Generate a password and create the Kubernetes secret: + +```bash +kubectl create secret generic mf-analyzer-neo4j \ + --namespace mf-analyzer \ + --from-literal=NEO4J_AUTH="neo4j/$(openssl rand -hex 16)" +``` + +:::tip +The value format must be `neo4j/`. Neo4j uses this value directly for authentication. +::: + +### Configure Values + +Update `mflens/neo4j-values.yaml` before deploying. Set `storageClassName` to the storage class available in the cluster: + +```yaml {7} +neo4j: + # ... additional configuration fields + volumes: + data: + mode: "dynamic" + dynamic: + storageClassName: "storage-class" # e.g., "gp3", "standard", etc. + # ... additional configuration fields +``` + +### Install Helm Chart + +Install or upgrade Neo4j using Helm: + +```bash +helm upgrade --install neo4j \ + neo4j/neo4j \ + --version 5.26.16 \ + --namespace mf-analyzer \ + -f ./mflens/neo4j-values.yaml \ + --wait \ + --timeout 600s +``` + +## Step 2: Deploy MF Lens Backend + +### Create Secrets + +**LiteLLM API Key** + +Generate an API key in the LiteLLM proxy admin UI (or via the LiteLLM API), then create the secret: + +```bash +kubectl create secret generic backend-litellm-api-key \ + --namespace mf-analyzer \ + --from-literal=litellm-api-key="" +``` + +**PostgreSQL Credentials** + +Use the database, user, and password created in the [PostgreSQL Configuration](#postgresql-configuration) step: + +```bash +kubectl create secret generic mf-analyzer-postgresql \ + --namespace mf-analyzer \ + --from-literal=PG_USER="mflens" \ + --from-literal=PG_PASS="" \ + --from-literal=PG_HOST="" \ + --from-literal=PG_DATABASE="postgres_mflens" +``` + +**Neo4j Password** + +Use the password from the Neo4j secret created in [Step 1](#step-1-deploy-neo4j): + +```bash +kubectl create secret generic mf-analyzer-backend-neo4j \ + --namespace mf-analyzer \ + --from-literal=password="" +``` + +### Configure Values + +Update `mflens/backend-values.yaml` before deploying. Set `storageClassName` to the storage class available in the cluster: + +```yaml {7} +volumeClaimTemplates: + - spec: + # ... additional configuration fields + accessModes: + - "ReadWriteOnce" + storageClassName: "storage-class" # e.g., "gp3", "standard", etc. + # ... additional configuration fields +``` + +### Install Helm Chart + +Install or upgrade MF Lens Backend using Helm: + +```bash +helm upgrade --install mf-analyzer-backend \ + oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/mf-analyzer-backend \ + --version x.y.z \ + --namespace mf-analyzer \ + -f ./mflens/backend-values.yaml \ + --wait \ + --timeout 600s +``` + +### Backend Application Settings + +These settings control the MF Analyzer Backend behavior and integrations. All values are configured via environment variables in `mflens/backend-values.yaml`. + +#### Core Application Settings + +| Parameter | Type | Default | Description | +| ------------------------ | ------ | ------- | --------------------------------------------------------------------- | +| `ENV` | string | `""` | Deployment environment identifier affecting logging and feature flags | +| `SPRING_PROFILES_ACTIVE` | string | `""` | Active Spring profile controlling configuration loading | +| `JVM_OPTS` | string | `""` | JVM heap settings; adjust based on available node memory | + +#### Database Configuration + +| Parameter | Type | Default | Description | +| ---------------------------- | ------ | ------- | --------------------------------------------------------------------------- | +| `SPRING_DATASOURCE_USERNAME` | string | `""` | Database username with read/write permissions on the MF Lens database | +| `SPRING_DATASOURCE_PASSWORD` | string | `""` | Database password (use a secrets manager in production) | +| `POSTGRES_HOST` | string | `""` | PostgreSQL server hostname or IP address | +| `POSTGRES_DB` | string | `""` | Database name for MF Lens tables and data | +| `SPRING_DATASOURCE_URL` | string | `""` | Full JDBC connection URL constructed from `POSTGRES_HOST` and `POSTGRES_DB` | + +#### LLM Configuration + +| Parameter | Type | Default | Description | +| -------------------- | ------ | ------- | ---------------------------------------------------- | +| `LLM_API_KEY` | string | `""` | API key for LiteLLM proxy authentication | +| `LLM_APIURL` | string | `""` | LiteLLM proxy server URL (e.g., http://litellm:4000) | +| `LLM_DEPLOYMENTNAME` | string | `""` | Model deployment name to use for analysis requests | + +#### Neo4j Configuration + +| Parameter | Type | Default | Description | +| -------------------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------- | +| `SPRING_NEO4J_URI` | string | `""` | Bolt connection URI for the Neo4j graph database (e.g., `bolt://neo4j.mf-analyzer.svc.cluster.local:7687`) | +| `SPRING_NEO4J_AUTHENTICATION_USERNAME` | string | `""` | Neo4j database username for backend authentication | +| `SPRING_NEO4J_AUTHENTICATION_PASSWORD` | string | `""` | Neo4j database password (use a secrets manager in production) | + +#### Storage and Runtime + +| Parameter | Type | Default | Description | +| ---------------------------------- | ------ | ------- | ---------------------------------------------------- | +| `APP_WORKING_STORAGE` | string | `""` | Working directory for temporary analysis data | +| `PORTFOLIO_COBOL_PREPROCESSOR_JAR` | string | `""` | Path to the COBOL preprocessor JAR file | +| `JAVA_EXECUTABLE_PATH` | string | `""` | Path to the Java executable used by the preprocessor | + +## Step 3: Deploy MF Lens Frontend + +### Configure Values + +Update `mflens/frontend-values.yaml` before deploying. Set the `host` values to the actual domain: + +```yaml {4} +ingress: + # ... additional configuration fields + hosts: + - host: codemie.%%DOMAIN%% + paths: + - path: "/mflens" + pathType: Prefix +``` + +### Install Helm Chart + +Install or upgrade MF Lens Frontend using Helm: + +```bash +helm upgrade --install mf-analyzer-frontend \ + oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/mf-analyzer-frontend \ + --version x.y.z \ + --namespace mf-analyzer \ + -f ./mflens/frontend-values.yaml \ + --wait \ + --timeout 600s +``` + +## Step 4: Verify MF Lens Deployment + +Check that MF Lens components are running: + +```bash +# Check pod status +kubectl get pods -n mf-analyzer + +# Check deployments +kubectl get deployment -n mf-analyzer mf-analyzer-backend +kubectl get deployment -n mf-analyzer mf-analyzer-frontend + +# Check logs +kubectl logs -n mf-analyzer deployment/mf-analyzer-backend --tail=50 +kubectl logs -n mf-analyzer deployment/mf-analyzer-frontend --tail=50 +``` + +Expected output: + +- Pods should be in `Running` state +- Deployments should show ready replicas +- Logs should indicate successful startup + +## Step 5: Access the Application + +MF Lens UI is accessible at the following URL: + +- **URL Pattern**: `https://codemie.%%DOMAIN%%/mflens` +- **Example**: `https://codemie.airun.example.com/mflens` + +## Step 6: Register MF Lens in the Applications Menu + +To make MF Lens available in the **Applications** menu, add it to the integrated applications configuration. + +See [Integrated Applications](../../../configuration/codemie/customer-feature-configuration/#integrated-applications) for full configuration details. + +Add the following entry to the configuration: + +```yaml +- id: "applications:mflens" + settings: + enabled: true + name: "MFLens" + url: "https://codemie.%%DOMAIN%%/mflens/?theme=codemie" + type: "iframe" + description: "Mainframe code analysis and exploration solution within the EPAM AI/Run platform." + created_by: "AIMF Team" + icon_url: "https://raw.githubusercontent.com/epam-gen-ai-run/ai-run-install/main/docs/assets/ai/ai-run-mflens-logo.png" +``` + +## Next Steps + +- Return to [Extensions Overview](../) +- Configure other extensions diff --git a/docs/admin/update/release-notes.md b/docs/admin/update/release-notes.md index d69c4dd0..92f30f42 100644 --- a/docs/admin/update/release-notes.md +++ b/docs/admin/update/release-notes.md @@ -13,6 +13,61 @@ This page provides information about updated third-party components and configur --- +
+CodeMie 2.26.0 + +**Release Date:** May 12, 2026 · [GitHub Tag ↗](https://github.com/codemie-ai/codemie/releases/tag/2.26.0) + +

Third-Party Component Updates

+ +No third-party component updates in this release. + +

Configuration Changes

+ +1. **Update LiteLLM budget env vars** — remove `LITELLM_SPEND_COLLECTOR_SCHEDULE` and set `LLM_PROXY_BUDGET_BACKFILL_ENABLED: "true"`. See [Budget Configuration](../configuration/extensions/litellm-proxy/budget-configuration.md). + +2. **One-time reconciliation via `LLM_PROXY_BUDGET_RECONCILIATION_ENABLED`** + + :::warning One-time operation + Enable only on a **single API replica**, wait for reconciliation to complete (check pod logs), then disable and scale replicas back. + ::: + + Steps: + 1. Scale API to 1 replica. + 2. Set `LLM_PROXY_BUDGET_RECONCILIATION_ENABLED: "true"`. + 3. Wait for reconciliation log confirmation. + 4. Remove or set the variable to `"false"`. + 5. Scale API replicas back to the desired count. + +

Hotfixes

+ +- **2.26.1** · [GitHub Tag ↗](https://github.com/codemie-ai/codemie/releases/tag/2.26.1) – May 13, 2026 + +
+ +
+CodeMie 2.25.0 + +**Release Date:** May 8, 2026 · [GitHub Tag ↗](https://github.com/codemie-ai/codemie/releases/tag/2.25.0) + +

Third-Party Component Updates

+ +No third-party component updates in this release. + +

Configuration Changes

+ +No breaking configuration changes were introduced in this release. + +

Known Issues

+ +:::warning Skip to 2.26.0 if using LiteLLM integration +If your deployment has the **LiteLLM proxy integration enabled**, it is strongly recommended to **skip this version and upgrade directly to CodeMie 2.26.0**. + +Version 2.25.0 contains a known issue that causes instability in environments with LiteLLM configured. Upgrading to 2.26.0 resolves this issue. +::: + +
+
CodeMie 2.24.0 @@ -20,7 +75,9 @@ This page provides information about updated third-party components and configur

Third-Party Component Updates

-No third-party component updates in this release. +

LiteLLM 1.83.7 (CodeMie 2.24.1)

+ +Updated from 1.81.0. For details, see the [LiteLLM 1.83.7 Release Notes ↗](https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable).

Configuration Changes

@@ -75,6 +132,12 @@ No third-party component updates in this release. See [API Configuration](../configuration/codemie/api-configuration.md#inter-process-communication) for full details. +

Hotfixes

+ +- **2.24.1** – April 29, 2026 + + Updated LiteLLM to 1.83.7. For details, see the [LiteLLM 1.83.7 Release Notes ↗](https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable). +
diff --git a/docs/user-guide/analytics/ai-champions-leaderboard.md b/docs/user-guide/analytics/ai-champions-leaderboard.md new file mode 100644 index 00000000..2c141ec1 --- /dev/null +++ b/docs/user-guide/analytics/ai-champions-leaderboard.md @@ -0,0 +1,135 @@ +--- +id: ai-champions-leaderboard +title: AI Champions Leaderboard +sidebar_label: AI Champions Leaderboard +sidebar_position: 1 +pagination_prev: user-guide/analytics/analytics-overview +pagination_next: null +--- + +# AI Champions Leaderboard + +The AI Champions Leaderboard ranks platform users by their overall AI engagement score, +calculated across six dimensions of platform activity. It gives platform admins a structured +view of AI adoption patterns and helps identify top contributors across the organization. + +:::info +The full leaderboard is visible to [**platform admins**](../getting-started/glossary.md#platform-admin) only. Regular users can view their +own profile and score, but cannot see other users' rankings. +::: + +## Accessing the Leaderboard + +1. Click the **Analytics** icon in the left sidebar navigation. +2. Select the **Leaderboard** tab at the top of the Analytics Dashboard. + +Admins see the full ranked table with filters and aggregated statistics. Regular users land +directly on their personal score card. + +![AI Champions Leaderboard overview](./images/leaderboard-overview.png) + +## Scoring Model + +Each user receives a total score from **0 to 100**, calculated as a weighted sum of six +dimension scores. + +| # | Dimension | Weight | What it measures | +| --- | ------------------------- | ------ | ------------------------------------------------------------- | +| D1 | Core Platform Usage | 20% | Active days, conversations, assistants used, platform breadth | +| D2 | Core Platform Creation | 20% | Assistants, skills, and data sources created; asset maturity | +| D3 | Workflow Usage | 10% | Workflow execution volume, success rate, repeat usage | +| D4 | Workflow Creation | 10% | Workflows built, structural complexity, originality | +| D5 | CLI & Agentic Engineering | 30% | CLI sessions, repositories, code output, delivery efficiency | +| D6 | Impact & Knowledge | 10% | Asset reuse by others, knowledge sharing, kata completions | + +D5 carries the highest weight, reflecting that agentic, code-level AI usage is the most +advanced form of platform engagement. + +:::note +Users with a total score of **0** are excluded from the leaderboard entirely. Only active +users appear in rankings. +::: + +## Tiers + +Users are assigned a tier based on their total score: + +| Tier | Min Score | Description | +| ---------------- | --------- | --------------------------------------------------- | +| **Pioneer** | 80+ | Exceptional breadth and depth across all dimensions | +| **Expert** | 65–79 | Strong engagement across most platform areas | +| **Advanced** | 45–64 | Consistent usage with meaningful creation activity | +| **Practitioner** | 25–44 | Regular platform user with growing engagement | +| **Newcomer** | < 25 | Early-stage user just getting started | + +## Intent Classification + +In addition to a tier, each user is assigned an **intent** label that reflects their primary +usage pattern: + +| Intent | Description | +| ---------------------- | -------------------------------------------------------------------------- | +| **SDLC Unicorn** | Strong across platform usage, creation, workflows, and CLI engineering | +| **Developer** | CLI-dominant usage — primarily uses CodeMie through the command-line agent | +| **Workflow Architect** | Primarily builds and creates workflows | +| **Workflow User** | Primarily executes and consumes workflows | +| **Platform Builder** | Focused on creating assistants, skills, and data sources | +| **AI User** | Primarily uses the platform through web conversations and assistants | +| **Explorer** | Very low overall activity; early exploration stage | + +## Leaderboard Views + +The leaderboard supports three time-based views, selectable from the view switcher at the +top of the tab: + +| View | Description | +| ----------------------- | --------------------------------------------- | +| **Current 30 days** | Rolling 30-day window, recomputed nightly | +| **Monthly champions** | Final snapshot for a completed calendar month | +| **Quarterly champions** | Final snapshot for a completed quarter | + +Monthly and quarterly views are archived snapshots — they reflect the state at the end of +that period and do not change. + +## Admin Capabilities + +Platform admins have access to additional leaderboard functionality: + +### Browsing and Filtering + +The leaderboard table supports: + +- **Search** by user name or email +- **Filter** by tier or intent +- **Sort** by rank, total score, username, or tier level + +### User Detail View + +Click any user row to open their detailed profile, which shows: + +- Scores and component breakdowns for all six dimensions +- Assigned tier and intent +- Active projects + +### Leaderboard Summary + +The top of the Leaderboard tab displays aggregated statistics: + +- Total scored users +- Average score across the organization +- User count per tier +- Top score in the current period + +## Configuration + +The leaderboard feature is controlled by the following environment variables, set by the +platform administrator: + +| Variable | Default | Description | +| ------------------------- | ----------- | ------------------------------------------- | +| `LEADERBOARD_ENABLED` | `false` | Enables the nightly computation job | +| `LEADERBOARD_SCHEDULE` | `0 2 * * *` | Cron expression for the scheduled run (UTC) | +| `LEADERBOARD_PERIOD_DAYS` | `30` | Rolling window size in days | + +If `LEADERBOARD_ENABLED` is `false`, the leaderboard tab is not available and the nightly +job does not run. Contact your platform administrator to enable this feature. diff --git a/docs/user-guide/analytics/images/leaderboard-overview.png b/docs/user-guide/analytics/images/leaderboard-overview.png new file mode 100644 index 00000000..29276b52 Binary files /dev/null and b/docs/user-guide/analytics/images/leaderboard-overview.png differ diff --git a/docs/user-guide/analytics/index.md b/docs/user-guide/analytics/index.md index a7f58086..6b1ee6e7 100644 --- a/docs/user-guide/analytics/index.md +++ b/docs/user-guide/analytics/index.md @@ -131,3 +131,15 @@ The Analytics Dashboard features a powerful filtering system that allows you to - **Combined Filtering**: All active filters work together to refine data - **Persistent Selections**: Filter choices remain active as you navigate between dashboard sections - **Clear All**: Reset all filters with a single action using the "Clear all" button + +## AI Champions Leaderboard + +The Analytics Dashboard includes an **AI Champions Leaderboard** tab that ranks users by +their overall AI platform engagement score. Scores are calculated across six dimensions — +from daily platform usage to CLI-based agentic engineering — and users are grouped into +tiers from Newcomer to Pioneer. + +Platform admins can browse the full ranked leaderboard with filters and drill into individual +user profiles. Regular users can view their own score and tier. + +See [AI Champions Leaderboard](./ai-champions-leaderboard.md) for the full overview. diff --git a/docs/user-guide/assistants/group-chats.md b/docs/user-guide/assistants/group-chats.md index 3a16a828..db10a634 100644 --- a/docs/user-guide/assistants/group-chats.md +++ b/docs/user-guide/assistants/group-chats.md @@ -2,7 +2,7 @@ id: group-chats sidebar_position: 13 title: Group Chats -pagination_prev: user-guide/assistants/sub-assistants-multi-assistant-orchestrator +pagination_prev: user-guide/assistants/search-chats pagination_next: user-guide/assistants/folders-overview description: Communicate with multiple assistants in a single chat conversation --- diff --git a/docs/user-guide/assistants/images/search-in-chats-button.png b/docs/user-guide/assistants/images/search-in-chats-button.png new file mode 100644 index 00000000..693aaf80 Binary files /dev/null and b/docs/user-guide/assistants/images/search-in-chats-button.png differ diff --git a/docs/user-guide/assistants/images/search-panel-overview.png b/docs/user-guide/assistants/images/search-panel-overview.png new file mode 100644 index 00000000..7859ede6 Binary files /dev/null and b/docs/user-guide/assistants/images/search-panel-overview.png differ diff --git a/docs/user-guide/assistants/search-chats.md b/docs/user-guide/assistants/search-chats.md new file mode 100644 index 00000000..2f7dc373 --- /dev/null +++ b/docs/user-guide/assistants/search-chats.md @@ -0,0 +1,49 @@ +--- +id: search-chats +title: Search in Chats +sidebar_label: Search in Chats +sidebar_position: 20 +description: Find chats and folders quickly using keyword search in the CodeMie chat sidebar +pagination_prev: user-guide/assistants/sub-assistants-multi-assistant-orchestrator +pagination_next: user-guide/assistants/group-chats +--- + +# Search in Chats + +The **Search in Chats** panel lets you quickly find chats and folders by name, without +scrolling through your entire history. It opens as an overlay and provides both a search +input and a view of your recent activity. + +## Open the Search Panel + +Click the **Search in Chats** button in the left sidebar, below the Explore shortcuts. + +![Search in Chats button in the sidebar](./images/search-in-chats-button.png) + +The panel opens as an overlay showing your search history (if any) and your most recent chats. + +## Browse Recent Chats + +When the panel opens with no query entered, it shows two sections: + +- **Last Search** — your previously searched terms. Click any item to restore that query instantly. +- **Recent Chats** — your latest conversations grouped by time period. Click any chat to open it. + +![Search panel showing last search and recent chats](./images/search-panel-overview.png) + +## Search for Chats and Folders + +Type at least **3 characters** into the search field to trigger a search. The panel matches +by chat name or folder name and updates results as you type. + +Results are grouped and can include: + +- **Chats** — matched by title. Clicking a result opens the chat and scrolls to it in the sidebar. +- **Folders** — matched by partial name. Clicking a result expands that folder in the sidebar. + +If no matches are found, the panel displays **No chats or folders found**. + +## Clear a Search + +Click the **×** button on the right side of the search field to clear the current query and +return to the recent chats view. diff --git a/docs/user-guide/getting-started/glossary.md b/docs/user-guide/getting-started/glossary.md index 0ffc54fc..e3578653 100644 --- a/docs/user-guide/getting-started/glossary.md +++ b/docs/user-guide/getting-started/glossary.md @@ -194,6 +194,10 @@ A workspace within the CodeMie platform that delineates and isolates working env **Important**: Project names must be in lowercase only. Uppercase characters are not allowed in project names. +### Platform Admin + +A user with platform-wide administrative privileges in CodeMie, identified by the `isAdmin = true` flag. Platform Admins can create projects, manage all users and integrations, access platform-wide analytics data, and perform all administrative operations across the entire platform, regardless of project membership. + ### Project Admin A user with administrative privileges within the CodeMie platform. Project Admins have extended functionality including the ability configure Project Integrations (available to all team members), view all project assistants and workflows and manage project-level settings. Only Admin roles or user with attribute applications_admin have access to these administrative functions. diff --git a/docs/user-guide/tools_integrations/tools/git-azuredevops.md b/docs/user-guide/tools_integrations/tools/git-azuredevops.md index dcf3fe6d..3ad9e635 100644 --- a/docs/user-guide/tools_integrations/tools/git-azuredevops.md +++ b/docs/user-guide/tools_integrations/tools/git-azuredevops.md @@ -9,13 +9,27 @@ sidebar_position: 20 # Git AzureDevops -To integrate Version Control System Azure DevOps tool in CodeMie, follow the steps below: +CodeMie supports two authentication methods for Azure DevOps Git repositories depending on +your deployment type: + +| Method | When to use | +| ----------------------- | ---------------------------------------------- | +| **URL-based** (default) | Azure DevOps Services (cloud, `dev.azure.com`) | +| **Header-based** | Azure DevOps Server (on-premises) | + +To integrate the Azure DevOps Git tool in CodeMie, follow the steps below. ## 1. Generate Access Token for Azure DevOps GIT ### 1.1 Navigate to Personal Access Tokens -- Log in to your Azure DevOps account +Log in to your Azure DevOps account: + +- **Cloud**: `https://dev.azure.com/{your-organization}` +- **On-premises**: `https://{server}/{collection}` + +Then: + - Click on your **settings icon** in the top-right corner - Click **Personal Access Tokens** @@ -29,8 +43,8 @@ Click the **+ New Token** button. Fill in the token creation form: - **Name**: Enter a descriptive name (e.g., "CodeMie Integration Token") - **Organization**: Select your organization from the dropdown -- **Expiration (UTC)**: Set expiration date. -- **Scopes**: Select **Full access** for comprehensive integration +- **Expiration (UTC)**: Set expiration date +- **Scopes**: Select **Code (Read & Write)** for Git repository access - Click the **Create** button ![Create token](./images/image42.png) @@ -39,22 +53,65 @@ Click the **+ New Token** button. Fill in the token creation form: ![Copy token](./images/image17.png) -- Store the token securely - it will not be displayed again +- Store the token securely — it will not be displayed again + +:::tip +For full details on PAT creation and management, see the +[official Microsoft documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops-server). +::: ## 2. Configure Integration in CodeMie -- In the CodeMie main menu, click the **integrations** button. -- Select Integration Type: **User** or **Project** and click **Create**. +- In the CodeMie main menu, click the **Integrations** button. +- Select Integration Type: **User** or **Project** and click **+ Create**. - Select the Project Name. - Select the Credential Type: **Git**. -- Fill in the **Alias** is a representation of the user setting. -- Fill in the **URL** field. For example: https://dev.azure.com. -- Fill in the **Token name** field. +- Fill in the **Alias** field — a label to identify this integration. +- Select **Personal Access Token** as the **Authentication Type**. + +### Option A: Azure DevOps Services (cloud) + +Use this option if your repositories are hosted on `dev.azure.com`. + +- Fill in the **URL** field: `https://dev.azure.com` +- Fill in the **Token name** field (e.g., `oauth2`). - Fill in the **Token** field with the token created at step 1. - Click **+ Create**. ![Git AzureDevops assistant](./images/image29.png) +### Option B: Azure DevOps Server (on-premises) + +Use this option if your repositories are hosted on your own infrastructure (Azure DevOps +Server, formerly TFS). On-premises installations typically reject URL-embedded credentials +and require the token to be sent via an HTTP Authorization header instead. + +- Fill in the **URL** field with your server address: `https://{server}/{collection}` + +When **Authentication Type** is set to **Personal Access Token**, an **Extra Header** info +block appears in the form: + +> Most repositories use URL-based authentication, but some on-premise git servers +> (e.g., Azure DevOps Server) require header-based authentication. + +- Enable the **Use Header-Based Authentication** toggle. +- Fill in the **Token** field with the token created at step 1. + +:::note +When **Use Header-Based Authentication** is enabled, the **Token Name** field is not used +— you may leave it blank, it will be ignored. +::: + +- Click **+ Create**. + +![Header-Based Authentication toggle](./images/git-header-auth-toggle.png) + +:::info +When **Use Header-Based Authentication** is enabled, CodeMie encodes your token using +Base64 and sends it via the `Authorization: Basic` HTTP header during the git clone +operation. The token is never embedded in the repository URL. +::: + ## 3. Create Assistant - Click **Explore Assistant**, select **Templates** and choose for example [Template] Coder. diff --git a/docs/user-guide/tools_integrations/tools/images/git-header-auth-toggle.png b/docs/user-guide/tools_integrations/tools/images/git-header-auth-toggle.png new file mode 100644 index 00000000..c273d2b0 Binary files /dev/null and b/docs/user-guide/tools_integrations/tools/images/git-header-auth-toggle.png differ diff --git a/faq/codemie-assistants-webhooks.md b/faq/codemie-assistants-webhooks.md index 3a22d467..98950d24 100644 --- a/faq/codemie-assistants-webhooks.md +++ b/faq/codemie-assistants-webhooks.md @@ -10,7 +10,7 @@ Examples where webhooks are beneficial: 3. Trigger a customer support assistant when a new support ticket is created in your helpdesk system. -To create a webhook integrations (Project Admins only)application-admins to request permission you can create support request ticket [https://support.epam.com/ess?id=sc_cat_item\&sys_id=a914679897ffd910386e3a871153afca\&name=RequestHelpOrConsultation\&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D), follow the steps below: +To create webhook integrations, you must have the **Project Admin** role. If you are not a Project Admin, contact your project administrator to request access. Once you have the required role, follow the steps below: 1. Create the assistant you want to react to webhooks. diff --git a/faq/how-do-i-clone-azure-devops-server-on-premises-git-repositories-in-codemie.md b/faq/how-do-i-clone-azure-devops-server-on-premises-git-repositories-in-codemie.md new file mode 100644 index 00000000..5af38081 --- /dev/null +++ b/faq/how-do-i-clone-azure-devops-server-on-premises-git-repositories-in-codemie.md @@ -0,0 +1,15 @@ +# How do I clone Azure DevOps Server (on-premises) Git repositories in CodeMie? + +When setting up a **Git** integration in CodeMie for an on-premises Azure DevOps Server, enable the **Use Header-Based Authentication** toggle in the credential form. + +1. Go to **Integrations**, create or edit a **Git** integration. +2. Set **Authentication Type** to **Personal Access Token**. +3. Enable the **Use Header-Based Authentication** toggle. +4. Enter your PAT in the **Token** field. Leave **Token Name** blank — it is not used when header auth is enabled. +5. Save the integration. + +CodeMie will encode your token using Base64 and send it via the `Authorization: Basic` HTTP header during git clone. The token is never embedded in the repository URL. + +## Sources + +- [Git AzureDevops Integration](https://codemie-ai.github.io/docs/user-guide/tools_integrations/tools/git-azuredevops) diff --git a/faq/how-do-i-search-for-a-chat-or-folder-in-codemie.md b/faq/how-do-i-search-for-a-chat-or-folder-in-codemie.md new file mode 100644 index 00000000..5e766404 --- /dev/null +++ b/faq/how-do-i-search-for-a-chat-or-folder-in-codemie.md @@ -0,0 +1,12 @@ +# How do I search for a chat or folder in CodeMie? + +Click the **Search in Chats** button in the left sidebar to open the search panel. Type at +least 3 characters into the search field — the panel will display matching chats (by title) +and folders (by partial name). Click any result to open the chat or expand the folder. + +When no query is entered, the panel shows your recent chats grouped by date and your +previous search terms for quick access. + +## Sources + +- [Search in Chats](https://docs.codemie.ai/user-guide/assistants/search-chats) diff --git a/faq/how-is-my-ai-champions-leaderboard-score-calculated.md b/faq/how-is-my-ai-champions-leaderboard-score-calculated.md new file mode 100644 index 00000000..346ced2a --- /dev/null +++ b/faq/how-is-my-ai-champions-leaderboard-score-calculated.md @@ -0,0 +1,25 @@ +# How is my AI Champions Leaderboard score calculated? + +Your score is a weighted sum of six dimension scores, each normalized to a 0–1 range and +multiplied by the dimension's weight. The final result is scaled to 0–100. + +| Dimension | Weight | +| ----------------------------- | ------ | +| D1: Core Platform Usage | 20% | +| D2: Core Platform Creation | 20% | +| D3: Workflow Usage | 10% | +| D4: Workflow Creation | 10% | +| D5: CLI & Agentic Engineering | 30% | +| D6: Impact & Knowledge | 10% | + +CLI and agentic engineering (D5) carries the highest weight at 30%, reflecting that +command-line and agent-based AI usage represents the most advanced form of platform +engagement. + +Each dimension is itself composed of weighted sub-components — for example, D1 counts +active days, number of conversations, assistants used, and platform feature breadth. To +improve your score, focus on expanding usage across more dimensions, especially D5. + +## Sources + +- [AI Champions Leaderboard](https://codemie-ai.github.io/docs/user-guide/analytics/ai-champions-leaderboard) diff --git a/faq/how-much-does-codemie-cost.md b/faq/how-much-does-codemie-cost.md index a3169683..939a69a7 100644 --- a/faq/how-much-does-codemie-cost.md +++ b/faq/how-much-does-codemie-cost.md @@ -1,19 +1,42 @@ # How much does CodeMie cost? How is CodeMie licensed? -CodeMie pricing depends on your infrastructure setup and cloud provider preferences. The platform offers flexible licensing models tailored to your organization's needs. +CodeMie pricing has two independent cost components: **infrastructure** and **LLM usage**. Both depend on your cloud provider and team profile. -Codemie GenAI-X HUB - [https://epa.ms/codemie-about](https://epa.ms/codemie-about) -Codemie Offering - [https://epa.ms/codemie-offering](https://epa.ms/codemie-offering) -OnePager - [https://epa.ms/codemie-onepager](https://epa.ms/codemie-onepager) +For full details, see the official materials: -For further discussion, please kindly prepare the following details: +- Codemie GenAI-X HUB — [https://epa.ms/codemie-about](https://epa.ms/codemie-about) +- Codemie Offering — [https://epa.ms/codemie-offering](https://epa.ms/codemie-offering) +- OnePager — [https://epa.ms/codemie-onepager](https://epa.ms/codemie-onepager) -- Planned infrastructure setup; -- Preferred cloud provider. +## Infrastructure Costs -This will facilitate a more productive and efficient conversation: +The platform infrastructure (compute, storage, networking — excluding LLM API costs) runs approximately: -[Request help or consultation / CodeMie](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D) - request the team to assist with all questions use this link: https://support.epam.com/ess?id=sc_cat_item\&sys_id=a914679897ffd910386e3a871153afca\&name=RequestHelpOrConsultation\&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D +- **~$700/month** on AWS +- Similar range on GCP and Azure + +These costs cover the core platform services and scale modestly with the number of projects and active users. + +## LLM Usage Costs + +LLM costs depend heavily on how users interact with the platform. Typical estimates per active user per day: + +| Role | Usage pattern | Estimated cost/user/day | +| ------------------------ | ------------------------------------------- | ----------------------- | +| Business / non-technical | Chat interface, Q&A, document summarization | $4–$10 | +| Developer / technical | CLI tools, code generation, IDE integration | $10–$15 | + +These are estimates based on typical usage profiles. Actual costs vary with model choice, prompt length, and usage intensity. Use the built-in [Spending](https://docs.codemie.ai/user-guide/analytics/) analytics to track real consumption. + +## Planning a Discussion + +To prepare for a cost estimation call, have the following ready: + +- Planned infrastructure setup (cloud provider, region) +- Expected number of users and their roles (technical vs. non-technical) +- Preferred LLM models + +For questions and assistance, use the **Help Center** accessible from the bottom-left corner of the platform — the **AI/Run FAQ** assistant can answer questions about capabilities, and **AI/Run Feedback** lets you reach the team directly. ## Sources diff --git a/faq/how-to-contact-codemie-with-support-team.md b/faq/how-to-contact-codemie-with-support-team.md index 4d786bfd..e5e4c30a 100644 --- a/faq/how-to-contact-codemie-with-support-team.md +++ b/faq/how-to-contact-codemie-with-support-team.md @@ -1,7 +1,12 @@ # How to Contact codemie with support team? How to write to support? How to leave feedback on a project? -To contact us, you can always create a request through the support portal [link](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D): [https://support.epam.com/ess?id=sc_cat_item\&sys_id=a914679897ffd910386e3a871153afca\&name=RequestHelpOrConsultation\&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D) . Or leave feedback link: -https://codemie.lab.epam.com/#/assistants/4ac75d4a-35ab-4500-b6f5-11f43a4abd28 with feedback assistant +Use the **Help Center** built into the platform. Click the **Help Center** link in the bottom-left corner of the UI to access the following options: + +- **AI/Run FAQ** — ask the FAQ assistant any questions about CodeMie capabilities and usage. +- **AI/Run Feedback** — report bugs and suggest improvements. The assistant generates a structured Jira ticket from your input. +- **Survey** — fill out a satisfaction survey to share your overall experience. + +You can also report documentation issues, suggest improvements, or ask questions you could not find answers to in the documentation or FAQ directly on GitHub: [github.com/codemie-ai/docs/issues](https://github.com/codemie-ai/docs/issues). ## Sources diff --git a/faq/how-to-create-project-credentials-for-your-team-and-set-up-access-via-an-auto-us.md b/faq/how-to-create-project-credentials-for-your-team-and-set-up-access-via-an-auto-us.md index 8b563228..93f8d9f4 100644 --- a/faq/how-to-create-project-credentials-for-your-team-and-set-up-access-via-an-auto-us.md +++ b/faq/how-to-create-project-credentials-for-your-team-and-set-up-access-via-an-auto-us.md @@ -1,6 +1,17 @@ # How to Create Project Credentials for Your Team and Set Up Access via an Auto-User? How to Share Credentials with the Entire Project Team? Share credentials for project team members? -If you'd like to make certain members of your team administrators(applications-admin), you need to submit a request for assistance. You can do this through the following [link](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D): [https://support.epam.com/ess?id=sc_cat_item\&sys_id=a914679897ffd910386e3a871153afca\&name=RequestHelpOrConsultation\&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D) . Request the team to assist with any questions by providing the email of the employee to whom you wish to grant these rights. With these rights, you will be able to create integrations that your entire team can use. +Project-level credentials (Project Integrations) are shared with all project members and can be created by users with the **Project Admin** or `applications_admin` role. + +To create a **Project Integration**: + +1. Go to **Integrations** in the main menu and click the **Project** tab. +2. Click **+ Create**, select the tool, fill in the credentials and alias, then click **Save**. + +The integration is immediately available to all project members. + +:::note +Only users with the `isAdmin` (Project Admin) or `applications_admin` role can create Project Integrations. If you need `applications_admin` access, contact your Platform Admin. +::: ## Sources diff --git a/faq/how-to-onboard-your-team-to-a-codemie-project.md b/faq/how-to-onboard-your-team-to-a-codemie-project.md index 2a44b3e7..b72f5d9d 100644 --- a/faq/how-to-onboard-your-team-to-a-codemie-project.md +++ b/faq/how-to-onboard-your-team-to-a-codemie-project.md @@ -1,11 +1,27 @@ # How to Onboard Your Team to a Codemie Project? How to Create a New Project for Your Team? -To onboard a new project in CodeMie, you need to submit a request through the following [link](https://support.epam.com/ess?id=sc_cat_item&sys_id=12f071d6ff4d02d04045f800e34fd9fd&name=OnboardANewProjectInCodeAssistant&sysparm_copy_vars=%7B%7D): https://support.epam.com/ess?id=sc_cat_item\&sys_id=12f071d6ff4d02d04045f800e34fd9fd\&name=OnboardANewProjectInCodeAssistant\&sysparm_copy_vars=%7B%7D +Projects in CodeMie are fully self-service. Any user can create a project and manage its membership directly in the platform. -To add a user to an existing project in CodeMie and grant them the necessary access rights, you need to submit a request through this [link](https://support.epam.com/ess?id=sc_cat_item&sys_id=47512e46ff81ce904045f800e34fd967&name=AddAUserToTheExistingProjectInCodeAssistant&sysparm_copy_vars=%7B%7D) : +## Create a New Project -https://support.epam.com/ess?id=sc_cat_item\&sys_id=47512e46ff81ce904045f800e34fd967\&name=AddAUserToTheExistingProjectInCodeAssistant\&sysparm_copy_vars=%7B%7D +1. Click the **Profile** icon in the bottom-left corner → **Settings → Administration → Projects management**. +2. Click **Create** in the top-right corner. +3. Enter a unique, lowercase **Name** and a **Description**. +4. Click **Create**. + +The project appears in the list immediately. + +## Add Users to a Project + +Open the project detail page, then: + +- **Add one user at a time** — click **Add User to Project**, search by name or email, select the user, choose a role (**User** or **Project Admin**), and click **Add**. +- **Add multiple users at once** — click **Import Users**, upload a CSV file with `email` and `role` columns, and click **Import**. + +:::info User not found in search? +If a user does not appear in the search results, they have not logged in to CodeMie yet. Ask them to sign in first — their account will be available in the search after their first login. +::: ## Sources -- [Sharing Assistants](https://docs.codemie.ai/user-guide/assistants/sharing-assistants) +- [Projects Management](https://docs.codemie.ai/user-guide/project-user-management/projects) diff --git a/faq/how-to-share-my-assistant-with-my-team.md b/faq/how-to-share-my-assistant-with-my-team.md index 426d847e..94b0a70e 100644 --- a/faq/how-to-share-my-assistant-with-my-team.md +++ b/faq/how-to-share-my-assistant-with-my-team.md @@ -1,11 +1,35 @@ -# How to share my assistant with my team? How to share my assistant in CodeMie? How to add my project to CodeMie How to add my team to CodeMie? How to work as a team? How to add a new project in CodeMie? How can I contribute to the codemie repository as a developer ? I want to upload my plugin to codemie-plugins upstream repository? +# How to share my assistant with my team? How to share my assistant in CodeMie? How to add my project to CodeMie How to add my team to CodeMie? How to work as a team? How to add a new project in CodeMie? -1. [Onboard a new project in CodeMie](https://support.epam.com/ess?id=sc_cat_item&sys_id=12f071d6ff4d02d04045f800e34fd9fd&name=OnboardANewProjectInCodeAssistant&sysparm_copy_vars=%7B%7D) - request the team to onboard a new project use this link: https://support.epam.com/ess?id=sc_cat_item\&sys_id=12f071d6ff4d02d04045f800e34fd9fd\&name=OnboardANewProjectInCodeAssistant\&sysparm_copy_vars=%7B%7D -2. [Add a user to the existing project in CodeMie](https://support.epam.com/ess?id=sc_cat_item&sys_id=47512e46ff81ce904045f800e34fd967&name=AddAUserToTheExistingProjectInCodeAssistant&sysparm_copy_vars=%7B%7D) - request the team to add users (provide access rights) use this link: https://support.epam.com/ess?id=sc_cat_item\&sys_id=47512e46ff81ce904045f800e34fd967\&name=AddAUserToTheExistingProjectInCodeAssistant\&sysparm_copy_vars=%7B%7D -3. [Request help or consultation / CodeMie](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D) - request the team to assist with all questions use this link: [https://support.epam.com/ess?id=sc_cat_item\&sys_id=a914679897ffd910386e3a871153afca\&name=RequestHelpOrConsultation\&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D](https://support.epam.com/ess?id=sc_cat_item&sys_id=a914679897ffd910386e3a871153afca&name=RequestHelpOrConsultation&sysparm_copy_vars=%7B%22u_warning%22%3A%22%22%2C%22confrmation%22%3A%22false%22%2C%22u_topic%22%3A%2234cec5fd1b4d8a5c934e32649b4bcb63%22%7D) -4. To onboard your as developer in codemie repository you can use our onboarding assistant: https://codemie.lab.epam.com/#/assistants/365782c7-6515-4748-bab8-830ce0323c77 +Projects and team membership in CodeMie are fully self-service — no support ticket required. + +## Create a New Project + +1. Click the **Profile** icon in the bottom-left corner → **Settings → Administration → Projects management**. +2. Click **Create**, enter a unique lowercase **Name** and a **Description**, then click **Create**. + +The project is ready immediately. + +## Add Users to a Project + +Open the project detail page, then: + +- **One user at a time** — click **Add User to Project**, search by name or email, pick a role (**User** or **Project Admin**), and click **Add**. +- **Multiple users at once** — click **Import Users** and upload a CSV file with `email` and `role` columns. + +:::info User not found in search? +The user must log in to CodeMie at least once before they appear in search results. +::: + +## Share an Assistant with Your Team + +Once team members are added to the project, open the assistant and use the **Share** option to make it available to the project. See [Sharing Assistants](https://docs.codemie.ai/user-guide/assistants/sharing-assistants) for details. + +## Get Help + +For questions and feedback, use the **Help Center** accessible from the bottom-left corner of the platform. The **AI/Run FAQ** assistant can answer questions about capabilities and usage, and **AI/Run Feedback** lets you report bugs or suggest improvements. ## Sources +- [Projects Management](https://docs.codemie.ai/user-guide/project-user-management/projects) - [Sharing Assistants](https://docs.codemie.ai/user-guide/assistants/sharing-assistants) - [Marketplace Overview](https://docs.codemie.ai/user-guide/assistants/marketplace-overview) diff --git a/faq/what-is-the-ai-champions-leaderboard.md b/faq/what-is-the-ai-champions-leaderboard.md new file mode 100644 index 00000000..fbc11c8d --- /dev/null +++ b/faq/what-is-the-ai-champions-leaderboard.md @@ -0,0 +1,17 @@ +# What is the AI Champions Leaderboard? + +The AI Champions Leaderboard is a feature in the Analytics Dashboard that ranks all platform +users by their overall AI engagement score. Scores range from 0 to 100 and are calculated +across six dimensions of platform activity: core usage, asset creation, workflow usage, +workflow creation, CLI and agentic engineering, and impact and knowledge sharing. + +Users are grouped into five tiers — Newcomer, Practitioner, Advanced, Expert, and Pioneer — +based on their total score. Each user also receives an intent label (such as Developer, +Platform Builder, or SDLC Unicorn) that reflects their dominant usage pattern. + +The full leaderboard is visible to platform admins only. Regular users can view their own +score, tier, and dimension breakdown in their personal profile. + +## Sources + +- [AI Champions Leaderboard](https://codemie-ai.github.io/docs/user-guide/analytics/ai-champions-leaderboard) diff --git a/faq/what-is-the-difference-between-url-based-and-header-based-authentication-for-git-in-codemie.md b/faq/what-is-the-difference-between-url-based-and-header-based-authentication-for-git-in-codemie.md new file mode 100644 index 00000000..d73acfce --- /dev/null +++ b/faq/what-is-the-difference-between-url-based-and-header-based-authentication-for-git-in-codemie.md @@ -0,0 +1,14 @@ +# What is the difference between URL-based and header-based authentication for Git in CodeMie? + +CodeMie supports two ways to authenticate during git clone operations: + +| Method | How it works | When to use | +| ----------------------- | ----------------------------------------------------------------------------------------- | -------------------------------------------------------- | +| **URL-based** (default) | Credentials are embedded directly in the clone URL as `https://token_name:token@host/...` | Azure DevOps Services (cloud), GitHub, GitLab, Bitbucket | +| **Header-based** | Token is Base64-encoded and sent via the `Authorization: Basic` HTTP header | Azure DevOps Server (on-premises) | + +On-premises Azure DevOps Server installations typically reject URL-embedded credentials. Use the **Use Header-Based Authentication** toggle in the **Git** credential form (visible when Authentication Type is **Personal Access Token**) to switch to header-based auth. + +## Sources + +- [Git AzureDevops Integration](https://codemie-ai.github.io/docs/user-guide/tools_integrations/tools/git-azuredevops) diff --git a/faq/why-doesnt-search-show-results-when-i-type-in-the-chats-search-panel.md b/faq/why-doesnt-search-show-results-when-i-type-in-the-chats-search-panel.md new file mode 100644 index 00000000..0710db00 --- /dev/null +++ b/faq/why-doesnt-search-show-results-when-i-type-in-the-chats-search-panel.md @@ -0,0 +1,11 @@ +# Why doesn't search show results when I type in the chats search panel? + +Search in the chats panel is triggered only after you enter **3 or more characters**. Typing +fewer than 3 characters shows your recent chats and search history instead of live results. + +If you have typed 3 or more characters and still see no results, it means no chats or folders +match your query — the panel will display **No chats or folders found**. + +## Sources + +- [Search in Chats](https://docs.codemie.ai/user-guide/assistants/search-chats) diff --git a/sidebars.ts b/sidebars.ts index ddcdd1fc..6aec8bbe 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -59,6 +59,7 @@ const sidebars: SidebarsConfig = { label: 'Organizing and Managing Communication with Assistants', collapsed: true, items: [ + 'user-guide/assistants/search-chats', 'user-guide/assistants/group-chats', 'user-guide/assistants/folders-overview', 'user-guide/assistants/supported-file-formats-and-csv-handling-in-chat-assistant', @@ -301,9 +302,14 @@ const sidebars: SidebarsConfig = { ], }, { - type: 'doc', - id: 'user-guide/analytics/analytics-overview', + type: 'category', label: 'Analytics', + link: { + type: 'doc', + id: 'user-guide/analytics/analytics-overview', + }, + collapsed: true, + items: ['user-guide/analytics/ai-champions-leaderboard'], }, { type: 'category', @@ -620,6 +626,7 @@ const sidebars: SidebarsConfig = { 'admin/deployment/extensions/ai-code-explorer/ai-code-explorer', 'admin/deployment/extensions/angular-upgrade-assistant/angular-upgrade-assistant', 'admin/deployment/extensions/salesforce-devforce-ai/salesforce-devforce-ai', + 'admin/deployment/extensions/mf-lens/mf-lens', ], }, ], @@ -677,6 +684,7 @@ const sidebars: SidebarsConfig = { collapsed: true, items: [ 'admin/configuration/access-control/initial-realm-setup', + 'admin/configuration/access-control/platform-managed-mode-configuration', { type: 'category', label: 'User Provisioning', @@ -731,6 +739,16 @@ const sidebars: SidebarsConfig = { }, ], }, + { + type: 'category', + label: 'Observability', + link: { + type: 'doc', + id: 'admin/configuration/observability/observability-overview', + }, + collapsed: true, + items: ['admin/configuration/observability/logs-retention'], + }, ], }, { diff --git a/static/img/extensions/mf-lens-logo.png b/static/img/extensions/mf-lens-logo.png new file mode 100644 index 00000000..a78b13fb Binary files /dev/null and b/static/img/extensions/mf-lens-logo.png differ