Login / Sign up
Discover Bonzai
Terms of Use
Legal notice
Privacy
Region
Language
matyo91
matyo91
10
Subscribers
Facebook
X
Whatsapp
Telegram
👉 You must follow matyo91 to access chat.
Feed Shop About

Demande à Codex

Facebook
Twitter
Whatsapp
Telegram
1 month ago

🚀 Codex est le nouvel outil CLI open source d'OpenAI pour les agents locaux. Cinq jours seulement après sa sortie, je me suis lancé pour explorer comment l'améliorer. Dans cet article, je vous explique comment j'ai connecté Codex à Uniflow pour automatiser la compréhension et la synthèse du code.

✨ Qu'est-ce que Codex ?

Codex vous permet de poser des questions sur votre code via le terminal. Installez-le avec :

npm install -g openai/codex

Ensuite, vous pouvez exécuter des invites telles que :

codex -q --json "explain utils.ts"

Cet exemple est l'un des cas d'utilisation officiels publiés par OpenAI sur leur dépôt GitHub.

⚖️ Pourquoi l'automatiser avec Uniflow ?

Je ne voulais pas simplement exécuter des commandes manuellement. Je voulais industrialiser l'interaction et faire de Codex un outil appelable dans Uniflow. Cela permet à ChatGPT de déléguer l'exécution à Codex et de renvoyer des informations lisibles par l'utilisateur.

🌍 Création du workflow

Dans Uniflow, j'ai créé un nouveau projet appelé « AskCodex ». À l'aide du client Node d'Uniflow, j'ai structuré le workflow comme suit :

  1. Définir « OPENAI_API_KEY » comme variable d'environnement

  2. Définir une invite personnalisée, telle que : « Utiliser Codex pour expliquer utils.ts »

  3. Enregistrer « runCodex » comme outil dans la requête ChatGPT

  4. Demander à ChatGPT d'appeler « runCodex » avec l'invite

  5. Exécuter l'outil CLI via le pont batch d'Uniflow

  6. Résumer la sortie de Codex avec un deuxième appel à ChatGPT

🦄 Exemple de sortie

Lors de mon test, Codex a lu et expliqué « utils.ts » avec succès. Il a identifié des fonctions d'assistance telles que :

  • sleep() – crée un délai

  • isNil() – renvoie true pour null ou undefined

  • saveAsJSON() – gère la persistance des objets

Après l'exécution de l'outil, ChatGPT fournit un résumé clair du fichier.

🌧 Limitations et perspectives

❌ Actuellement, Codex ne conserve pas le contexte entre les appels. Il serait formidable de disposer d'un mode API interactif persistant permettant au modèle de poser des questions de clarification.

🧠 En attendant, nous simulons l'interactivité avec Uniflow en fournissant à nouveau des informations supplémentaires à GPT.

🏫 Exécutez-le vous-même

Si vous souhaitez tester localement :

npm install -g openai/codex export OPENAI_API_KEY=your_key codex -q "explain utils.ts" --json

🔥 Essayez l'automatisation complète

Pour reproduire ce que j'ai fait dans cette vidéo, exécutez votre propre flux dans Uniflow à l'aide de son client Node. Mon exemple utilise l'interface CLI + l'API Docker et se connecte à Uniflow localement sur le port 9016.

Voici les ressources utilisées :

Flux :

  • Objet Variable : env = { openai_api_key: sk-proj-YXoiO9CU-*** }

  • Texte Variable : codex_prompt = Utilisez l'outil Codex et demandez-lui d'expliquer utils.ts

  • Fonction Code :

// Tool function to run Codex CLI function runCodex(prompt) { console.log(`?️ Running Codex with prompt:\n${prompt}`); try { const sanitizedPrompt = prompt.replace(/"/g, '\\"'); const command = `OPENAI_API_KEY=${env.openai_api_key} codex -q "${sanitizedPrompt}" --json`; const output = Bash.exec(command, { encoding: 'utf-8' }); return output; } catch (error) { return 'Codex error: ' + (error.stderr || error.message); } } // Function to call ChatGPT with fetch function askChatGPT(prompt) { console.log(`? Asking ChatGPT:\n${prompt}`); return fetch('https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer ' + env.openai_api_key, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4', tools: [ { type: 'function', function: { name: 'runCodex', description: 'Executes Codex CLI with a given prompt', parameters: { type: 'object', properties: { prompt: { type: 'string', description: 'Prompt to send to Codex CLI' } }, required: ['prompt'] } } } ], messages: [ { role: 'system', content: 'You are an automation assistant that can call a custom CLI tool named "codex".' }, { role: 'user', content: prompt } ] }) }); } // Full flow execution askChatGPT(codex_prompt) .then(res => res.json()) .then(data => { const toolCalls = data.choices?.[0]?.message?.tool_calls || []; if (toolCalls.length === 0) { console.log('ℹ️ No tool calls detected in the response.'); return Promise.resolve('No output from Codex.'); } const executions = toolCalls.map(call => { if (call.function?.name === 'runCodex') { const args = JSON.parse(call.function.arguments); return runCodex(args.prompt); } return Promise.resolve(null); }); return Promise.all(executions); }) .then(outputs => { const content = outputs.join('\n'); console.log('? Codex Output:\n', content); // Summarize Codex result with ChatGPT return askChatGPT(`Summarize this content:\n\n${content}`); }) .then(res => res.json()) .then(result => { const summary = result.choices?.[0]?.message?.content || '❌ No summary generated.'; console.log('? Final Summary:\n', summary); }) .catch(error => { console.error('❌ Flow error:', error.message); });

📌 Exécuter le flux

Accéder à library/uniflow-client-node

Générer dist/node.js

npm run build:dev

Exécuter le flux avec le client Uniflow Node

node dist/node.js --env=dev --api-key=zxtl1facmgbapyvjg581oip28sinzyr4 ask-codex

👏 Conclusion

Nous avons vu comment Codex peut gagner en puissance lorsqu'il est connecté à un orchestrateur comme Uniflow. Cette combinaison transforme les sorties CLI brutes en résumés automatisés et précis. Idéal pour les pipelines DevOps, d'intégration ou de revue de code.

🚀 Envie de créer vos propres workflows ?i

matyo91
matyo91
€99.00

Consulting Automation avec Flow

Open
Follow matyo91 to comment
matyo91

matyo91

Je t'aide à automatiser tes process
10
Visit this Bonzai
Follow matyo91 to get the latest updates.

🎮 Créer un mini-jeu Discord avec VITE : un retour d'expérience

1 week ago
14

🎶 Open Mic du Groover Club - Mai 🧡

2 weeks ago
14

▶️ 2025-05-26 DjMatyo Soundcloud set with MC

2 weeks ago
17

🚀 Du développement à la production : déployer une API Symfony avec Upsun

2 weeks ago
20

🚀 De zéro à héros avec Sylius : Au cœur de l'atelier sur les essentiels pratiques

2 weeks ago
17

🚀 Sylius Days 2025 : l'innovation en matière de commerce électronique

2 weeks ago
23

🇪🇺 DJ Matyo Live special Eurovision 2025 🌟

3 weeks ago
19

Générez automatiquement des miniatures YouTube personnalisées de style Ghibli avec PHP et l'IA

3 weeks ago
21

Recherche, Achat et Organisation de Tracks pour DJ Sets

4 weeks ago
32

Automating Gmail and Google Calendar with PHP Agents ?🧠⚡

1 month ago
24

Supercharge Your Job Search: Automate with MCP, Astra, Langflow and Arize

1 month ago
29

DJ Matyo Live

1 month ago
32

Build a Game for the largest game dev competition in the world

1 month ago
30

DJ Matyo Live repost track

1 month ago
32

Darkwood v1.0.1 release

1 month ago
43

Transforme ta voix en article de blog avec GPT et Meteor

1 month ago
43

Darkwood 1.0.0 is Here

2 months ago
38

Coder comme un DJ, mixer comme un dev

2 months ago
53

Créer un interpréteur Lambda en PHP

2 months ago
59

Youtube timestamp looker

3 months ago
49
© 2025 Bonzai Privacy Legal notice Terms of Use