EditaPlot
Transforme uma pergunta científica e uma tabela somente leitura em uma figura Origin auditável e editável. Mantenha a experiência do iniciante conversacional; use o motor determinístico para inspeção, planejamento, renderização, exportação e leitura de volta.
Primeiro, decida qual caminho seguir (novo na versão 豆包工作)
Quando o usuário chegar, primeiro veja o que ele tem e depois decida como proceder. Não comece a adivinhar o tipo de gráfico sem que o usuário tenha indicado uma direção.
| O que o usuário forneceu | Qual caminho seguir | Como fazer |
|---|---|---|
| Uma figura de referência ("desenhe igual a esta", "reproduza este estilo") | Modo referência | Siga o fluxo original, entrando a partir do passo 10 reference-inspect. A figura de referência afeta apenas a gramática gráfica e os estilos seguros que são suportados pelos dados confirmados; não adiciona novas evidências nem oculta elementos obrigatórios. |
| Especificou o tipo de gráfico ("desenhe um gráfico de nuvem", "curva ROC") | Modo direto | Siga o fluxo original. Primeiro, consulte references/not-covered.md; se o gráfico solicitado estiver naquela lista, diga claramente que não há suporte para essa rota, não tente forçar. |
| Apenas dados, sem especificar o gráfico, ou disse explicitamente "não sei qual gráfico usar" | Modo seletor | Veja abaixo. Este é o novo caminho nesta versão e também o mais comum. |
Modo seletor
Quando o usuário não sabe qual gráfico usar, deixe-o escolher visualmente, o que é muito mais preciso do que fazê-lo descrever.
- Execute
python selector/selector.py. Isso abrirá uma página local: 45 exemplos reais de gráficos Origin, organizados por categoria; quando o usuário clicar em um, o lado direito mostrará quais colunas de dados aquele gráfico precisa e montará automaticamente uma solicitação completa.- Se o host tiver um painel de navegador embutido, use
python selector/selector.py --print-pathpara obter o caminho e abri-lo no painel, sem abrir uma nova janela.
- Se o host tiver um painel de navegador embutido, use
- O usuário clica em "Enviar para 豆包" na página, e o script captura a solicitação montada e a envia para a saída padrão; se clicar em "Copiar", o conteúdo vai para a área de transferência. Peça para ele colar. Ambos os caminhos funcionam, não espere apenas um.
- Ao receber esta solicitação, volte ao passo 6 do fluxo original (
start→understand→ confirmação →plan→ renderização → validação). O seletor é responsável apenas por esclarecer os requisitos; ele não altera nenhum comportamento de plotagem nem pula nenhuma etapa de confirmação.
As colunas indicadas pelo seletor são uma sugestão, não uma conclusão. A verificação de quais colunas os dados do usuário realmente possuem ainda é feita pelo passo 7 (understand), coluna por coluna; se faltar alguma coluna, informe o usuário normalmente, não presuma que os dados estão completos só porque ele clicou em algo na página.
Se o selector.py não iniciar (todas as portas ocupadas, sem interface gráfica), não pare: forneça o caminho da página para o usuário, peça para ele abrir, clicar em "Copiar" e colar de volta. O fluxo continua normalmente.
Solicite apenas permissões restritas do Windows
- Leia o repositório completo, a tabela selecionada e a imagem de referência local opcional.
- Escreva apenas no repositório EditaPlot, no diretório de skill do usuário atual (豆包工作 ou Codex) e na pasta pai do arquivo fonte selecionado para artefatos adjacentes à fonte.
- Execute o launcher local, subprocessos PowerShell/Python e uma instância do Origin de propriedade do EditaPlot na mesma sessão ativa do usuário Windows.
- Um comando host normal pode ser executado inicialmente em uma conta isolada. Se o worker Origin retornar
origin_codex_sandbox_context, submeta uma solicitação de execução local formal e estritamente delimitada para aquele comandoorigin-smokeourenderexato. Reexecute apenas se essa solicitação exata for aprovada, seja pelo usuário quando solicitado ou pelo revisor automático configurado pelo host. A aprovação não é garantida, e esta passagem de mão não é uma bypass da sandbox. Nunca peça ao usuário para copiar o comando para uma janela separada do PowerShell ou ampliar a solicitação para acesso de administrador ou configuração do sistema. - Use acesso de rede apenas para download/atualização do repositório e recuperação de dependências bloqueadas. Trate uma instalação Python via winget no escopo do usuário como uma alteração separada do sistema que ainda requer consentimento explícito.
- Não solicite direitos de administrador, controle do mouse, acesso de gravação a todo o disco, upload para nuvem de entradas privadas ou alterações em DCOM, registro, firewall, grupos de usuários ou instalação do Origin. Quando o Acesso a Pastas Controladas, uma política organizacional, sincronização em nuvem ou um local somente leitura bloquear gravações, solicite acesso apenas à pasta afetada ou peça uma pasta de saída alternativa explícita.
Comece pelo caminho para iniciantes
- Rejeite plataformas não suportadas antes de instalar qualquer coisa. Suporte a camada de CLI/dependências apenas em Windows físico 10/11 x64 com CPython 3.10–3.12 de 64 bits. Alvo Origin/OriginPro 2021 e posteriores através de
originproexterno; Origin 2020b e anteriores não são suportados por esta rota. A linha de base verificada ao vivo é CPython 3.10 + Origin 2024b / 10.15. Trate outra versão 2021+ como limitada por capacidade, não automaticamente verificada, até que seus testes de fumaça e artefatos completos passem. Afirme claramente que macOS (Intel/Apple Silicon), Linux, WSL, Wine/CrossOver, Parallels e outras VMs não são suportados na V1. Odoctornão pode detectar todas as VMs de forma confiável, então peça ao usuário para confirmar um host Windows físico quando esse fato for desconhecido. - Localize
editaplot.cmdno diretório de Skill instalado; ao trabalhar a partir de um repositório clonado, use oeditaplot.cmdna raiz do repositório. Use um caminho absoluto para o launcher nos comandos. Não faça iniciantes selecionarem um executável Python ou invocaremscripts/editaplot.pydiretamente. - Exija o repositório completo para a primeira instalação. Execute
editaplot.cmd setupna raiz do repositório; nunca instrua os usuários a copiar apenasskill/editaplot, pois isso omite o runtime. Leiareferences/runtime.mdpara detalhes de configuração, descoberta e comandos. - Reutilize um Python compatível existente. Se nenhum existir, explique em português que instalar o Python é uma alteração no nível do sistema. Execute
winget showprimeiro e explique o editor, a fonte e os acordos exatos. Apenas a confirmação explícita do usuário permite uma instalação não interativa posterior dePython.Python.3.12com escopo de usuário e arquitetura x64. Se o winget não estiver disponível, forneça as instruções oficiais de instalação do Windows python.org e aguarde o usuário; nunca use um mirror não confiável ou instale o Python silenciosamente. - Execute
editaplot.cmd doctorpara cada novo fluxo de trabalho. Permitadoctor --repairapenas para reparo de dependências Python locais do projeto relatado. Mantenha todos os pacotes Python em.editaplot-venv. Trate o Origin como um aplicativo gerenciado pelo usuário instalado localmente; nunca o instale ou modifique durante o reparo. - Execute
editaplot.cmd start <data-file>para uma nova tabela. Adicione--intent "<user intent>"quando o usuário declarar um objetivo. Trate sua carga de inspeção e recomendação como estado de trabalho interno. Use o caminho fonte local original exposto pelo anexo. Se o host fornecer apenas uma cópia temporária do anexo e a pasta original não puder ser recuperada, pergunte uma vez pela pasta fonte/saída local pretendida antes de renderizar; nunca adivinhe um destino de espaço de trabalho não relacionado. - Após selecionar um modelo candidato, execute
editaplot.cmd understand <data-file> --template-id <id>com o mesmo mapeamento confirmado que será usado para o planejamento. Agrupe seu resultado em uma lista de verificação curta: tipo de dados; colunas a desenhar; colunas usadas apenas para suporte ou validação; colunas retidas mas não desenhadas; elementos de figura propostos; e cálculos que não serão realizados. Cada coluna fonte deve aparecer exatamente uma vez. Se algum item foruncertain, peça um mapeamento corrigido e executeunderstandnovamente; não confirme ou planeje. - Informe a um iniciante apenas: o que foi reconhecido, as melhores uma a três opções de gráfico, por que elas se encaixam e a menor decisão científica ainda necessária. Não despeje um pipeline
inspect → recommend → understand → planou JSON bruto a menos que ele solicite detalhes técnicos. - Peça ao usuário para confirmar tanto o propósito científico em uma frase quanto a lista de verificação concisa de elementos. Congele o
proposal_hashexato, os IDs de itens derivados aprovados e as escolhas de ambiguidade resolvidas em--semantic-confirmation-json. Nunca reutilize uma confirmação após a fonte, mapeamento, propósito ou hash da proposta mudar. Quando a confiança for baixa, as margens candidatas forem pequenas, as funções ou unidades forem ambíguas, ou uma transformação de exibição for proposta, faça apenas as perguntas focadas adicionais necessárias. - Se o usuário fornecer uma figura de referência, primeiro execute
reference-inspect. Você pode então descrever apenas sua gramática de painel/marca/codificação/layout/estilo no JSON estrito ReferenceFigureSpec e executarreference-review; o runtime não realiza OCR ou inferência de modelo. Mostre os recursos adotados e rejeitados, vincule cada marca essencial a dados de usuário confirmados e renderizáveis, e obtenha uma confirmação separada vinculada ao hash. Nunca copie valores de referência, rótulos, ajustes, atribuições de fase, texto do autor, logotipos, marcas d'água ou bitmap para o projeto Origin. Prefiratemplate_adaptationverificado; mantenhacontrolled_compositionbloqueado até que essa composição exata tenha passado pela portão completo de evidências do Origin. Uma referência não pode adicionar evidências ausentes ou alterar a lista de elementos científicos confirmados. Trate o estilo inferido da referência como uma sugestão, não como uma instrução do usuário. Peça ao usuário para escolher um de três modos: manter o padrão do modelo verificado; usar uma aproximação confirmada e permitida sugerida pela referência; ou fornecer valores personalizados exatos. Para o modo exato, pergunte separadamente sobre cores, largura da linha física, transparência do preenchimento, tamanho da página e visibilidade da legenda, moldura ou posição. Uma escolha explícita do usuário tem precedência sobre um token de referência conflitante. Congele cada sugestão de referência comoapplied,retained_template_defaultourejected; nunca afirme que uma solicitação foi aplicada a menos que o modelo selecionado tenha a mesma rota de visualização/origem verificada e a leitura de retorno do objeto Origin necessária. - Quando a cor for selecionável pelo usuário, execute
editaplot.cmd palettes, mostreassets/palettes/palette-selector-public.zh-CN.pnge recomende no máximo dois valorespalette_idcompatíveis. Leiareferences/palettes.mdantes de congelar um. - Internamente, congele a escolha confirmada com
editaplot.cmd plan; nunca edite um plano manualmente ou escreva uma decisão de volta ao arquivo fonte. Para uma solicitação XPS exata, escreva os valores confirmados em um objeto JSON separado e passe seu caminho com--visual-style-json. Os campos exatos suportados sãoseries_colors,line_width_pt,fill_transparency_percent,page_size_cm,legend_visible,legend_positionelegend_frame. Campos ou valores inválidos explícitos devem falhar rapidamente e ser corrigidos com o usuário; nunca os descarte silenciosamente ou recorra a um estilo de referência/padrão. O comando de renderização copia este plano aprovado para a pasta de saída final comorender-plan.json. - Trate a prontidão do Origin apenas como estado técnico. O Doctor realiza descoberta somente leitura de
Origin.Application,Origin.ApplicationSI, candidatos instalados, Python,originproeOriginExt; ele nunca inicia o Origin eready_for_rendernunca significa que uma conexão ao vivo foi bem-sucedida. Se o registro de inicialização padrão estiver presente, prossiga para o teste de fumaça pré-renderização real sem pedir ao usuário para abrir o Origin ou confirmá-lo novamente. Mantenha a saída do iniciante em uma a três frases em linguagem simples; deixe CLSIDs, visualizações do registro, candidatos e estágios em JSON. Leia oorigin_execution_contexteditado separadamente deready_for_render. Um statuscodex_sandboxrequer a passagem de aprovação de comando exato acima antes que o COM seja chamado; apenas uma solicitação aprovada pode ser reexecutada. A revisão automática avalia essa solicitação individual e não pré-concede acesso ao Origin. Um contexto de execução Windowsunknowné fail-closed e não é uma solicitação de aprovação: pare antes do COM e relate que a identidade atual do Windows não pôde ser verificada. - Execute
editaplot.cmd origin-smoke --output-dir <unique-smoke-directory>comlaunch_isolated: inicie e possua uma instância dedicada do Origin, execute o teste de fumaça ao vivo e handshake de versão, depois aplique a decisão de capacidade do modelo. Este comando é obrigatório após o planejamento e antes da renderização formal.attach_existingé um modo avançado explícito apenas; nunca redefina, sobrescreva ou feche um projeto de propriedade do usuário, e desconecte em vez de sair. Relate falhas por estágio técnico e próximo passo sem especulação. Nunca use automação de mouse ou forneça patches de aplicativos ou instruções de bypass. O runtime deve tentar limpar uma ativação parcial de propriedade do EditaPlot e pode tentar uma nova instância isolada para um código de inicialização repetível apenas se a limpeza for bem-sucedida. A falha na limpeza retornaorigin_activation_cleanup_failede para. Deve então aguardar comsec -poc 30e confirmarrun.isOCready()antes de ler a versão ou criar um projeto. Nunca faça loop, mude paraApplicationSI, edite permissões DCOM/registro ou diga a um iniciante para executar todo o fluxo de trabalho como administrador. Após a tentativa automática ser esgotada, solicite aprovação para no máximo uma nova tentativa no mesmo contexto de usuário Windows ativo e use um novo diretório irmão vazio para o teste de fumaça para que o primeiro relatório permaneça intacto.origin_com_class_not_registeredeorigin_com_activation_access_deniedparam sem nova tentativa automática. Não force o encerramento de um worker Python apenas porque ele está em execução por muito tempo: ele pode possuir uma instância oculta do Origin. Preserve diagnósticos e relate o último estágio de progresso antes de propor qualquer cancelamento controlado pelo usuário. Mantenha a passagem de aprovação da sandbox distinta de uma nova tentativa de ativação: a primeira acontece antes do COM, enquanto a última está disponível apenas após a política limitada de ativação/limpeza ter sido executada. Quando a ativação primária e a limpeza falharem, exponha apenasprimary_activation_code,primary_activation_stage,cleanup_error_codeecleanup_error_stage. Nunca inclua um nome de conta Windows, caminho local, HRESULT bruto ou texto COM bruto nessa carga de diagnóstico estruturada, e nunca tente novamente porque ambos os pares estão presentes. Os workers atuais do EditaPlot serializam apenas sua seçãoorigin-smoke/renderativa do Origin em uma sessão Windows conectada; a inspeção de dados, recomendação e planejamento podem permanecer concorrentes. Respeite o progresso deorigin_job_queue, que é emitido imediatamente ao esperar e depois a cada 30 segundos aproximadamente. A ordenação não é garantida como FIFO estrito. O limite de 30 minutos se aplica apenas ao trabalho em espera: ele para esse esperador sem matar ou interromper o titular ativo. Não submeta um duplicado enquanto uma mensagem de fila estiver visível. Scripts manuais, versões mais antigas do EditaPlot e programas não relacionados estão fora deste limite de coordenação. - Somente após o teste de fumaça passar, renderize uma rota de modelo permitida com
editaplot.cmd render <plan>. Mantenha uma instância do Origin de propriedade do EditaPlot aberta após o sucesso, a menos que o usuário solicite o contrário. Por padrão, deixe o runtime criar um irmão direto do arquivo fonte chamado<source_stem>_EditaPlot_YYYYMMDD_HHMMSS; mantenha todos os artefatos formais nessa pasta. Não redirecione execuções comuns para o repositório, diretório de Skill, diretório de trabalho atual ou uma pasta de saída global compartilhada. Use--output-dirapenas quando o usuário solicitar explicitamente outro local. - ...
[truncado para tradução]