EditaPlot
Transformez une question scientifique et un tableau en lecture seule en une figure Origin modifiable et vérifiable. Gardez l'expérience du débutant conversationnelle ; utilisez le moteur déterministe pour l'inspection, la planification, le rendu, l'exportation et la relecture.
Choisissez d'abord la voie (Nouveau dans la version Doubao Works)
Lorsqu'un utilisateur arrive, voyez d'abord ce qu'il a, puis décidez comment procéder. Ne commencez pas à deviner le type de graphique tant que l'utilisateur n'a pas donné d'orientation.
| Ce que l'utilisateur donne | Quelle voie | Comment faire |
|---|---|---|
| Une image de référence ("Dessine ça", "Reproduis ce style") | Mode image de référence | Suivez le flux existant, entrez à l'étape 10 reference-inspect. L'image de référence n'affecte que la grammaire graphique et les styles sécurisés confirmés par les données, n'ajoute pas de preuves, ne cache pas d'éléments nécessaires. |
| Un type de graphique spécifique ("Dessine un nuage de points", "Courbe ROC") | Mode direct | Suivez le flux existant. Vérifiez d'abord references/not-covered.md ; si le graphique demandé est dans cette liste, dites clairement qu'il n'est pas disponible, n'essayez pas. |
| Seulement des données, sans spécifier le type de graphique, ou dit "Je ne sais pas quoi dessiner" | Mode sélecteur | Voir ci-dessous. C'est le nouveau chemin de cette version, et aussi le plus courant. |
Mode sélecteur
Quand l'utilisateur ne sait pas quel graphique il veut, il est beaucoup plus précis de lui faire choisir visuellement que de lui faire décrire.
- Exécutez
python selector/selector.py. Cela ouvre une page locale : 45 exemples de graphiques Origin réels sont affichés, classés par catégorie. Lorsque l'utilisateur clique sur l'un d'eux, le côté droit affiche quelles colonnes de données sont nécessaires pour ce graphique et génère automatiquement une requête complète.- Si l'hôte dispose d'un panneau de navigateur intégré, utilisez plutôt
python selector/selector.py --print-path, obtenez le chemin et ouvrez-le dans le panneau, sans ouvrir une autre fenêtre.
- Si l'hôte dispose d'un panneau de navigateur intégré, utilisez plutôt
- L'utilisateur clique sur « Envoyer à Doubao » sur la page, le script récupère la requête générée et l'envoie en sortie standard. S'il clique sur « Copier », le contenu est dans son presse-papiers, demandez-lui de le coller. Les deux voies sont valables, n'attendez pas une seule.
- Une fois la requête récupérée, revenez à l'étape 6 du flux existant (
start→understand→ confirmation →plan→ rendu → validation). Le sélecteur sert uniquement à clarifier les besoins, il ne modifie pas le comportement de dessin et ne saute pas les étapes de confirmation.
Les « colonnes nécessaires » données par le sélecteur sont une indication, pas une conclusion. Les colonnes réelles des données de l'utilisateur sont toujours vérifiées colonne par colonne à l'étape 7 understand ; si des colonnes manquent, informez-en l'utilisateur comme d'habitude, ne présumez pas que les données sont complètes parce qu'il a cliqué sur la page.
Si selector.py ne démarre pas (ports occupés, pas d'interface graphique), ne vous arrêtez pas : donnez le chemin de la page à l'utilisateur, laissez-le double-cliquer pour l'ouvrir, cliquer sur « Copier » et le coller, le processus continue.
Ne demandez que les permissions Windows limitées nécessaires
- Lisez l'intégralité du dépôt, le tableau sélectionné et l'image de référence locale facultative.
- Écrivez uniquement dans le dépôt EditaPlot, le répertoire des compétences de l'utilisateur actuel (Doubao Works ou Codex) et le dossier parent du fichier source sélectionné pour les livrables adjacents.
- Exécutez le lanceur local, les sous-processus PowerShell/Python et une instance Origin appartenant à EditaPlot dans la même session utilisateur Windows interactive active.
- Une commande hôte normale peut d'abord s'exécuter sous un compte isolé. Si le travailleur Origin retourne
origin_codex_sandbox_context, soumettez une demande d'exécution locale formelle et étroitement ciblée pour cette commande exacteorigin-smokeourender. Ne réexécutez que si cette demande exacte est approuvée, soit par l'utilisateur lorsqu'il y est invité, soit par l'examinateur automatique configuré par l'hôte. L'approbation n'est pas garantie, et ce transfert n'est pas un contournement du bac à sable. Ne demandez jamais à l'utilisateur de copier la commande dans une fenêtre PowerShell séparée ou d'élargir la demande à un accès administrateur ou de configuration système. - Utilisez l'accès réseau uniquement pour le téléchargement/mise à jour du dépôt et la récupération verrouillée des dépendances. Considérez une installation Python via winget dans le scope utilisateur comme un changement système distinct nécessitant un consentement explicite.
- Ne demandez pas de droits d'administrateur, de contrôle de la souris, d'accès en écriture à l'ensemble du disque, de téléchargement cloud des entrées privées, ou de modifications DCOM, registre, pare-feu, groupes d'utilisateurs ou installation d'Origin. Lorsque l'accès contrôlé aux dossiers, une politique d'organisation, une synchronisation cloud ou un emplacement en lecture seule bloque les écritures, demandez l'accès uniquement au dossier concerné ou demandez un dossier de sortie alternatif explicite.
Commencez par le chemin du débutant
- Rejetez les plates-formes non prises en charge avant d'installer quoi que ce soit. Ne prenez en charge la couche CLI/dépendances que sur Windows 10/11 x64 physique avec CPython 3.10–3.12 64 bits. Visez Origin/OriginPro 2021 et versions ultérieures via
originproexterne ; Origin 2020b et versions antérieures ne sont pas pris en charge par cette voie. La base de référence en direct entièrement vérifiée est CPython 3.10 + Origin 2024b / 10.15. Traitez toute autre version 2021+ comme limitée par ses capacités, non automatiquement vérifiée, tant que son test et ses artefacts complets ne sont pas passés. Indiquez clairement que macOS (Intel/Apple Silicon), Linux, WSL, Wine/CrossOver, Parallels et autres machines virtuelles ne sont pas pris en charge dans V1.doctorne peut pas détecter de manière fiable toutes les machines virtuelles, demandez donc à l'utilisateur de confirmer un hôte Windows physique lorsque ce fait est inconnu. - Localisez
editaplot.cmddans le répertoire Skill installé ; lorsque vous travaillez à partir d'un dépôt cloné, utilisezeditaplot.cmdà la racine du dépôt. Utilisez un chemin de lanceur absolu dans les commandes. Ne demandez pas aux débutants de sélectionner un exécutable Python ou d'invoquerscripts/editaplot.pydirectement. - Exigez le dépôt complet pour la première installation. Exécutez
editaplot.cmd setupà la racine du dépôt ; n'incitez jamais les utilisateurs à copier uniquementskill/editaplot, car cela omet l'exécution. Lisezreferences/runtime.mdpour les détails d'installation, de découverte et de commandes. - Réutilisez un Python compatible existant. S'il n'en existe pas, expliquez en chinois que l'installation de Python est un changement au niveau système. Exécutez d'abord
winget showet expliquez l'éditeur exact, la source et les accords. Seule une confirmation explicite de l'utilisateur permet une installation ultérieure non interactive dePython.Python.3.12avec le scope utilisateur et l'architecture x64. Si winget n'est pas disponible, fournissez les instructions d'installation Windows officielles de python.org et attendez l'utilisateur ; n'utilisez jamais un miroir non fiable et n'installez pas Python en silence. - Exécutez
editaplot.cmd doctorpour chaque nouveau flux de travail. Autorisezdoctor --repairuniquement pour la réparation des dépendances Python locales du projet signalée. Gardez tous les packages Python dans.editaplot-venv. Traitez Origin comme une application locale gérée par l'utilisateur ; ne l'installez ni ne le modifiez jamais pendant la réparation. - Exécutez
editaplot.cmd start <fichier-données>pour un nouveau tableau. Ajoutez--intent "<intention utilisateur>"lorsque l'utilisateur énonce un objectif. Traitez sa charge utile d'inspection et de recommandation comme un état de travail interne. Utilisez le chemin source local d'origine exposé par la pièce jointe. Si l'hôte ne fournit qu'une copie temporaire de la pièce jointe et que le dossier d'origine ne peut pas être récupéré, demandez une fois le dossier source/sortie local prévu avant le rendu ; ne devinez jamais un espace de travail de destination sans rapport. - Après avoir sélectionné un modèle candidat, exécutez
editaplot.cmd understand <fichier-données> --template-id <id>avec le même mappage confirmé qui sera utilisé pour la planification. Regroupez son résultat dans une courte liste de contrôle : type de données ; colonnes à dessiner ; colonnes utilisées uniquement pour le support ou la validation ; colonnes conservées mais non dessinées ; éléments de figure proposés ; et calculs qui ne seront pas effectués. Chaque colonne source doit apparaître exactement une fois. Si un élément estincertain, demandez un mappage corrigé et réexécutezunderstand; ne confirmez ni ne planifiez. - Dites à un débutant uniquement : ce qui a été reconnu, les un à trois meilleurs choix de graphiques, pourquoi ils conviennent, et la plus petite décision scientifique encore requise. Ne déversez pas un pipeline
inspect → recommend → understand → planou du JSON brut, sauf s'ils demandent des détails techniques. - Demandez à l'utilisateur de confirmer à la fois un objectif scientifique en une phrase et la liste de contrôle concise des éléments. Figez le
proposal_hashexact, les ID d'éléments dérivés approuvés et les choix de résolution d'ambiguïté dans--semantic-confirmation-json. Ne réutilisez jamais une confirmation après que la source, le mappage, l'objectif ou le hachage de la proposition a changé. Lorsque la confiance est faible, les marges des candidats sont petites, les rôles ou les unités sont ambigus, ou une transformation d'affichage est proposée, ne posez que les questions supplémentaires ciblées nécessaires. - Si l'utilisateur fournit une figure de référence, exécutez d'abord
reference-inspect. Vous pouvez ensuite décrire uniquement sa grammaire de panneau/marque/encodage/disposition/style dans le JSON strict ReferenceFigureSpec et exécuterreference-review; le runtime n'effectue aucune OCR ou inférence de modèle. Montrez les fonctionnalités adoptées et rejetées, liez chaque marque essentielle à des données utilisateur confirmées et rendables, et obtenez une confirmation distincte liée au hachage. Ne copiez jamais les valeurs de référence, les étiquettes, les ajustements, les affectations de phase, le texte de l'auteur, les logos, les filigranes ou le bitmap dans le projet Origin. Privilégieztemplate_adaptationvérifié ; gardezcontrolled_compositionbloqué jusqu'à ce que cette composition exacte ait passé la porte de preuve complète d'Origin. Une référence ne peut pas ajouter de preuves manquantes ou modifier la liste d'éléments scientifiques confirmée. Traitez le style déduit de la référence comme une suggestion, pas comme une instruction de l'utilisateur. Demandez à l'utilisateur de choisir l'un des trois modes : conserver le modèle par défaut vérifié ; utiliser une approximation confirmée et autorisée suggérée par la référence ; ou fournir des valeurs personnalisées exactes. Pour le mode exact, demandez séparément les couleurs, la largeur de ligne physique, la transparence de remplissage, la taille de la page et la visibilité de la légende, le cadre ou la position. Un choix explicite de l'utilisateur a priorité sur un jeton de référence conflictuel. Figez chaque suggestion de référence commeappliqué,conservé_modèle_par_défautourejeté; ne prétendez jamais qu'une demande a été appliquée à moins que le modèle sélectionné n'ait la même prévisualisation/voie Origin vérifiée et la relecture d'objet Origin requise. - Lorsque la couleur est sélectionnable par l'utilisateur, exécutez
editaplot.cmd palettes, montrezassets/palettes/palette-selector-public.zh-CN.pnget recommandez au maximum deux valeurs depalette_idcompatibles. Lisezreferences/palettes.mdavant d'en figer une. - Figez en interne le choix confirmé avec
editaplot.cmd plan; ne modifiez jamais un plan à la main et n'écrivez jamais une décision dans le fichier source. Pour une requête XPS exacte, écrivez les valeurs confirmées dans un objet JSON séparé et transmettez son chemin avec--visual-style-json. Les champs exacts pris en charge sontseries_colors,line_width_pt,fill_transparency_percent,page_size_cm,legend_visible,legend_positionetlegend_frame. Les champs ou valeurs explicites invalides doivent échouer rapidement et être corrigés avec l'utilisateur ; ne les supprimez jamais en silence et ne revenez pas à un style par défaut/de référence. La commande de rendu copie ce plan approuvé dans le dossier de sortie final sous le nomrender-plan.json. - Considérez l'état de préparation d'Origin comme un état technique uniquement. Doctor effectue une découverte en lecture seule de
Origin.Application,Origin.ApplicationSI, des candidats installés, de Python, deoriginproet d'OriginExt; il ne lance jamais Origin etready_for_renderne signifie jamais qu'une connexion en direct a réussi. Si l'enregistrement de lancement par défaut est présent, passez au test de pré-rendu réel sans demander à l'utilisateur d'ouvrir Origin ou de le confirmer à nouveau. Gardez la sortie du débutant à une à trois phrases en langage simple ; laissez les CLSID, les vues du registre, les candidats et les étapes en JSON. Lisez leorigin_execution_contextrédigé séparément deready_for_render. Un statutcodex_sandboxnécessite le transfert d'approbation de commande exacte ci-dessus avant que COM ne soit appelé ; seule une demande approuvée peut être réexécutée. L'auto-examen évalue cette demande individuelle et n'accorde pas d'avance l'accès à Origin. Un contexte d'exécution Windowsinconnuest fermé en cas d'échec et n'est pas une demande d'approbation : arrêtez-vous avant COM et signalez que l'identité Windows actuelle n'a pas pu être vérifiée. - Exécutez
editaplot.cmd origin-smoke --output-dir <répertoire-test-unique>aveclaunch_isolated: démarrez et possédez une instance Origin dédiée, effectuez le test en direct et la poignée de main de version, puis appliquez la décision de capacité du modèle. Cette commande est obligatoire après la planification et avant le rendu formel.attach_existingest un mode avancé explicite uniquement ; ne réinitialisez, n'écrasez ou ne fermez jamais un projet appartenant à l'utilisateur, et détachez-vous au lieu de quitter. Signalez les échecs par étape technique et prochaine étape sans spéculation. N'utilisez jamais d'automatisation de la souris et ne fournissez jamais de correctifs d'application ou d'instructions de contournement. Le runtime doit tenter de nettoyer une activation partielle appartenant à EditaPlot et peut essayer une nouvelle instance isolée pour un code de démarrage réessayable uniquement si le nettoyage réussit. L'échec du nettoyage renvoieorigin_activation_cleanup_failedet s'arrête. Il doit ensuite attendre avecsec -poc 30et confirmerrun.isOCready()avant de lire la version ou de créer un projet. Ne bouclez jamais, ne passez jamais àApplicationSI, ne modifiez jamais les autorisations DCOM/registre et ne dites jamais à un débutant d'exécuter l'ensemble du flux de travail en tant qu'administrateur. Après l'épuisement de la tentative automatique, demandez l'approbation pour au plus une nouvelle tentative dans le même contexte utilisateur Windows actif et utilisez un nouveau répertoire test vide et frère afin que le premier rapport reste intact.origin_com_class_not_registeredetorigin_com_activation_access_denieds'arrêtent sans nouvelle tentative automatique. Ne forcez pas la terminaison d'un travailleur Python simplement parce qu'il a fonctionné longtemps : il peut posséder une instance Origin cachée. Conservez les diagnostics et signalez la dernière étape de progression avant de proposer une annulation contrôlée par l'utilisateur. Gardez le transfert d'approbation du bac à sable distinct d'une nouvelle tentative d'activation : le premier se produit avant COM, tandis que le second n'est disponible qu'après l'exécution de la politique d'activation/nettoyage limitée. Lorsque l'activation principale et le nettoyage échouent tous deux, exposez uniquementprimary_activation_code,primary_activation_stage,cleanup_error_codeetcleanup_error_stage. N'incluez jamais de nom de compte Windows, de chemin local, de HRESULT brut ou de texte COM brut dans cette charge utile de diagnostic structurée, et ne réessayez jamais car les deux paires sont présentes. Les travailleurs EditaPlot actuels sérialisent uniquement leur section Originorigin-smoke/renderactive dans une session Windows connectée ; l'inspection des données, la recommandation et la planification peuvent rester simultanées. Respectezorigin_job_queueprogress, qui est émis immédiatement lors de l'attente, puis environ toutes les 30 secondes. L'ordre n'est pas garanti d'être strictement FIFO. La limite de 30 minutes s'applique uniquement au travail en attente : elle arrête cet attenteur sans tuer ni interrompre le détenteur actif. Ne soumettez pas de doublon tant qu'un message de file d'attente est visible. Les scripts manuels, les anciennes versions d'EditaPlot et les programmes non liés sont en dehors de cette limite de coordination. - Ce n'est qu'après la réussite de ce test que vous pouvez effectuer le rendu d'une route de modèle autorisée avec
editaplot.cmd render <plan>. Gardez une instance Origin appartenant à EditaPlot ouverte après la réussite, sauf si l'utilisateur demande le contraire. Par défaut, laissez le runtime créer un frère direct du fichier source nommé<nom_source>_EditaPlot_AAAAMMJJ_HHMMSS; conservez tous les artefacts formels dans ce dossier. Ne redirigez pas les exécutions ordinaires vers le dépôt, le répertoire Skill, le répertoire de travail actuel ou un dossier de sortie global partagé. Utilisez--output-diruniquement lorsque l'utilisateur demande explicitement un autre emplacement. - ... [Levé pour la traduction]