Aller au contenu principal

CLI CWClock

Nous fournissons une CLI OpenSource1 pour CWClock. Vous pouvez l'utiliser pour enregistrer votre temps depuis un terminal, et bien plus encore.

Installation​

Choisissez le mode d'installation adapté à votre système d'exploitation, puis suivez les instructions.

Homebrew​

Première installation :

brew tap cwclock/cwclock https://gitlab.cwcloud.tech/oss/cwclock.git
brew trust --formula cwclock/cwclock/cwclock
brew install cwclock

Mise à jour :

brew update
brew upgrade cwclock

Curl​

Linux​

Linux x86 (64 bits)​
version="1.13.4"
curl -L "https://gitlab.cwcloud.tech/oss/cwclock/-/releases/v${version}/downloads/cwclock/cwclock_${version}_linux_amd64.tar.gz" -o "cwclock_cli.tar.gz"
mkdir cwclock_cli && tar -xf cwclock_cli.tar.gz -C cwclock_cli
sudo ./cwclock_cli/install.sh

Vérifiez que la version est disponible dans les releases, car seules les 5 dernières builds sont conservées.

Linux arm (64 bits)​
version="1.13.4"
curl -L "https://gitlab.cwcloud.tech/oss/cwclock/-/releases/v${version}/downloads/cwclock/cwclock_${version}_linux_arm64.tar.gz" -o "cwclock_cli.tar.gz"
mkdir cwclock_cli && tar -xf cwclock_cli.tar.gz -C cwclock_cli
sudo ./cwclock_cli/install.sh

Vérifiez que la version est disponible dans les releases, car seules les 5 dernières builds sont conservées.

MacOS​

macOS x86/arm (64 bits)​
version="1.13.4"
curl -L "https://gitlab.cwcloud.tech/oss/cwclock/-/releases/v${version}/downloads/cwclock/cwclock_${version}_darwin_all.tar.gz" -o "cwclock_cli.tar.gz"
mkdir cwclock_cli && tar -xf cwclock_cli.tar.gz -C cwclock_cli
sudo ./cwclock_cli/install.sh

Vérifiez que la version est disponible dans les releases, car seules les 5 dernières builds sont conservées.

Windows​

Téléchargement direct​

Vous pouvez directement télécharger depuis ici. Choisissez la bonne architecture (amd64 ou arm64), téléchargez, décompressez et vous trouverez un fichier exe à l'intérieur.

Windows x86 (64 bits) avec Powershell​

$version = "1.13.4"
$user = "YOUR_USER"
cd "C:\Users\${user}"
Invoke-WebRequest -Uri "https://gitlab.cwcloud.tech/oss/cwclock/-/releases/v${version}/downloads/cwclock/cwclock_${version}_windows_amd64.zip" -OutFile "cwclock_cli.zip"
Expand-Archive -Path "cwclock_cli.zip" -DestinationPath "cwclock_cli" -Force
Set-Location "cwclock_cli"
.\cwclock.exe

Vérifiez que la version est disponible dans les releases, car seules les 5 dernières builds sont conservées.

Windows arm (64 bits) avec Powershell​

$version = "1.13.4"
$user = "YOUR_USER"
cd "C:\Users\${user}"
Invoke-WebRequest -Uri "https://gitlab.cwcloud.tech/oss/cwclock/-/releases/v${version}/downloads/cwclock/cwclock_${version}_windows_arm64.zip" -OutFile "cwclock_cli.zip"
Expand-Archive -Path "cwclock_cli.zip" -DestinationPath "cwclock_cli" -Force
Set-Location "cwclock_cli"
.\cwclock.exe

Vérifiez que la version est disponible dans les releases, car seules les 5 dernières builds sont conservées.

Installation de quickwit avec la CLI​

cwclock bootstrap

Flags disponibles :

  • -r ou --release : Nom de release pour le déploiement (par défaut : cwclock)
  • -n ou --namespace : Namespace utilisé pour le déploiement (par défaut : cwclock)
  • -k ou --keep-dir : Conserver le répertoire helm local
  • -d ou --recreate-ns : Recréer le namespace
  • -o ou --openshift : Utiliser la CLI OpenShift au lieu de kubectl
  • -p ou --value : Valeurs pour surcharger la configuration (peut être répété)
  • --directory : Changer le répertoire (utile si vous souhaitez utiliser vos propres templates helm)
  • --kind-cluster : Spécifier le cluster kind à utiliser (il sera recréé même s'il existe déjà)

Exemple :

cwclock bootstrap -r my-release -n production --value key=value --value values-override.yaml

Ouvrir des tunnels​

cwclock bootstrap pfw

Ouvre des tunnels (ou port forward) vers les différents services. Vous pouvez surcharger la configuration comme ceci :

cwclock bootstrap pfw --config my-pfw-config.yml

Le format YAML de configuration attendu :

---
pfwConfigs:
- name: "cwclock-api"
port: 8080
targetPort: 8080
- name: "cwclock-ui"
port: 3000
targetPort: 3000

Configuration​

cwclock configure
cwclock configure set format pretty
cwclock configure set api_url https://api.cwclock.me
cwclock configure set api_key <your api key>

Remarque : il est aussi possible d'utiliser des variables d'environnement QWCTL_{VAR_NAME} au lieu de ce fichier de configuration. Par exemple, pour le format de sortie, vous pouvez définir la variable QWCTL_FORMAT à json ou pretty.

Métriques​

Récupérer toutes les métriques disponibles (depuis l'URL prometheus /v1/metrics de l'API) avec :

cwclock metrics ls

Récupérer une métrique particulière avec :

cwclock metrics get -n <metric_name>
cwclock metrics get --name <metric_name>

Remarques :

  • Le wildcard * est pris en charge pour récupérer toutes les métriques qui commencent par une chaîne particulière (ex. : cwclock metrics get -n "quickwit_metastore_*" pour récupérer toutes les métriques dont le nom commence par quickwit_metastore_)
  • Le filtrage par labels est aussi pris en charge avec le flag --filter (ex. : cwclock metrics get -n "quickwit_metastore_grpc_request_duration_seconds_bucket" --filter "kind=client" pour récupérer la métrique quickwit_metastore_grpc_request_duration_seconds_bucket avec le label kind égal à client)

IA MCP et agents​

Créer un serveur MCP​

cwclock ai mcp
cwclock ai mcp -l 127.0.0.1 -p 8080 -e /mcp

Créer un agent appelant le serveur MCP​

cwclock ai agent -p "List the indexes"
cwclock ai agent -p "Search *" -s "http://127.0.0.1:8080/mcp" --provider anthropic

Remarque : les fournisseurs disponibles sont anthropic, openai, deepseek ou openrouter. Pour le moment, vous pouvez configurer vos clés comme ceci :

cwclock configure set openai_api_key "your_key"
cwclock configure set anthropic_api_key "your_key"
cwclock configure set openrouter_api_key "your_key"
cwclock configure set deepseek_api_key "your_key"
cwclock configure set gemini_api_key "your_key"
cwclock configure set mistral_api_key "your_key"

Vous pouvez aussi utiliser des variables d'environnement :

export CWCLOCK_OPENAI_API_KEY="your_key"
export CWCLOCK_ANTHROPIC_API_KEY="your_key"
export CWCLOCK_OPENROUTER_API_KEY="your_key"
export CWCLOCK_DEEPSEEK_API_KEY="your_key"
export CWCLOCK_GEMINI_API_KEY="your_key"
export CWCLOCK_MISTRAL_API_KEY="your_key"

Remarque : vous pouvez aussi utiliser le mode interactif pour créer votre agent avec le flag -i ou --interactive :

cwclock ai agent -i

Créer un agent web​

Vous pouvez aussi utiliser un mode serveur web pour interroger votre agent via des requêtes HTTP POST au lieu de la CLI :

cwclock ai web-agent -a 0.0.0.0 -p 8081

Le chemin / peut être configuré comme un adaptateur IA externe (utilisable directement depuis Aristochat), et le chemin /gitlab comme un webhook GitLab si vous définissez les configurations suivantes :

cwclock configure set gitlab_base_url "https://gitlab.cwcloud.tech"
cwclock configure set gitlab_token "your_gitlab_token"
cwclock configure set gitlab_webhook_secret "your webhook secret"

Ou avec les variables d'environnement suivantes :

export CWCLOCK_GITLAB_BASE_URL="https://gitlab.cwcloud.tech"
export CWCLOCK_GITLAB_TOKEN="your_gitlab_token"
export CWCLOCK_GITLAB_WEBHOOK_SECRET="your webhook secret"

Lister tous les outils MCP disponibles​

cwclock ai agent -p "list_mcp_dynamic_tools"

Remarque : un serveur MCP cwclock doit être en cours d'exécution pour que cette commande fonctionne.

Footnotes​

  1. Sous licence MIT, les sources sont disponibles ici. ↩