Agenda
A Agenda é responsável pela lista de tarefas pessoais e pelo plano de execução. O site aceita feedback de conclusão e desfazer do usuário; a ferramenta agenda continua sendo o único editor de planos. Use a ferramenta para ler e alterar planos; não edite seu banco de dados SQLite, escreva estado JSON paralelo nem use automação de navegador para alterar este calendário.
Feedback e replanejamento no desktop
- Leia com
includeCompleted: true, incluindoblockProgressefeedback. Processe feedback semundoneBye com status pending/queued/running; entradas com erro podem ser reconciliadas em uma execução posterior quando o resultado for conhecido. Ignore entradas adjusted/unchanged e feedback já desfeito. Nunca infira sucesso a partir do enfileiramento ou da conclusão de uma execução anterior. complete_blocksignifica apenas que aquele bloco de tempo foi concluído. Preserve seu intervalo planejado como histórico e usecompletedAtcomo o horário de término observado pelo usuário. Isso não conclui a tarefa nem prova a duração real ou o esforço restante. Não mova/exclua blocos concluídos, recrie-os como trabalho futuro nem reabra seu progresso. Para uma tarefa inacabada, avalie seu próximo passo de forma conservadora.complete_taské a conclusão de toda a tarefa confirmada pelo usuário. Preserve o status done e completedBy=user, retenha o histórico e pare a execução futura para aquela tarefa.undojá restaurou o estado de conclusão correspondente; reavalie o plano mais recente em vez de restaurar uma programação desatualizada ou repetir o desfazer.- Verifique a hora atual de Pequim quando esta execução começar e novamente antes de aplicar um plano após trabalho prolongado. Respeite as regras existentes de varredura de agendamento, cobertura atual de fontes, prazos reais, sono e compromissos fixos. Escolha o horizonte de planejamento futuro necessário; nenhum limite fixo de 7/14 dias é imposto. Ajuste apenas o que for afetado. A conclusão antecipada pode justificar descanso ou avançar outra tarefa. O trabalho desbloqueado concluído libera seu tempo planejado restante a partir do término relatado; isso não desbloqueia nem move compromissos fixos.
- Inclua
feedbackResults: [{id, status, summary}]no mesmoapplyque as alterações do plano. Use adjusted apenas para mudanças substanciais, unchanged quando o plano atual ainda for apropriado e error quando a avaliação não puder ser concluída. Os resumos são em chinês conciso, explicam mudanças ou não mudanças intencionais e nomeiam lacunas de cobertura ou tarefas que não cabem. Um reconhecimento apenas de resultado é uma gravação significativa mesmo quando nenhum bloco de execução muda. - Um conflito significa reler os fatos atuais e replanejar, incluindo novo feedback. Reconcilie resultados de apply desconhecidos por operationId antes de emitir outro lote. Não substitua conclusões mais recentes. Escritas normais do Agente nunca solicitam outro replanejamento imediato. O sentinela existente é o único proprietário de agendamento; resultados do desktop não exigem uma mensagem externa de rotina ou automação adicional.
Ler, planejar, confirmar
- Chame
agendacomaction: "read"equery: {includeCompleted: true}. Preserve a revisão retornada, IDs de itens, identidades de origem, eventos fixos e blocos bloqueados. Leia a skill existente de varredura de agendamento para regras pessoais. - Leia as fontes externas necessárias usando suas skills existentes. OSH, Yungu, calendários do DingTalk, e-mail, notas de reunião e solicitações diretas do usuário permanecem evidência de origem; o site não as busca. Registre uma fonte antes ou no mesmo lote que seus itens. Preserve erros de origem e lacunas de cobertura explicitamente.
- Atualize IDs existentes. Corresponda por sourceId/sourceKey, nunca apenas pelo título. Use
sourceKey: nullpara itens genuinamente locais e IDs estáveis durante sua vida útil. Uma consulta, sugestão ou instrução de terceiros não é um compromisso do usuário. - Chame
agendacomaction: "apply"echangecontendo um operationId único, expectedRevision e itens/blocos/origens alterados. Todos os registros de itens e origens são substituições completas; omita registros inalterados de um lote. Use o esquema da ferramenta para campos exatos. Novos blocos referenciam um item existente ou do mesmo lote. Remova blocos substituídos usando deleteBlockIds. - Um conflito de revisão requer leitura e replanejamento; não substitua um plano mais recente. Um tempo limite ou resultado desconhecido requer
readcom query.operationId; inspecione o recibo antes de tentar novamente a operação exata. Nunca reutilize um operationId para conteúdo diferente. Apenas um recibo ok prova que o lote foi salvo.
Fatos e agendamento
- Use Ásia/Shanghai para exibição e agendamento pessoal. Registros de data e hora devem ter um fuso horário explícito; dueDate é AAAA-MM-DD e não deve se tornar um compromisso falso com horário. dueAt/dueDate são prazos reais, enquanto blocos são tempo de execução.
- kind=event representa um curso fixo, reunião ou outro compromisso. Crie seus blocos de tempo como locked. Blocos de tarefas comuns podem se mover; divida trabalho longo em vários blocos quando útil. Preserve blocos intocados em atualizações incrementais.
- Rótulos de tempo livre em cronogramas de origem não são compromissos. Aplique as regras pessoais de varredura de agendamento antes de importá-los; deixe tempo livre sem um item ou bloco de espaço reservado. Uma tarefa concreta ou compromisso pode ocupar aquele tempo.
- Nunca mova eventos fixos ou blocos bloqueados durante o replanejamento normal. Solicitações explícitas do usuário para desbloquear/reagendar usam unlockBlockIds naquele mesmo lote.
- Respeite restrições pessoais de sono, escola, viagem, casa/fim de semana e carga de trabalho. Mantenha o prazo UTC real do OSH; planeje a conclusão até a noite anterior quando o fluxo de trabalho pessoal assim exigir. Não invente prazos para tarefas sem data.
- Um relatório claro de conclusão do usuário é suficiente: defina status=done e completedBy=user imediatamente. Uma evidência explícita de submissão de plataforma pode usar completedBy=source. Dados de origem desatualizados não podem reabrir trabalho confirmado pelo usuário; reabrir requer uma solicitação explícita do usuário e reopenItemIds.
- Falhas de origem retêm tarefas existentes e últimos fatos confiáveis. Atualize status/message/checkedAt da origem sem afirmar que a origem está vazia. coverageStart/coverageEnd descrevem o intervalo lido com sucesso, não um futuro adivinhado.
- Mantenha o sentinela existente como o único proprietário de coleta/planejamento em segundo plano. Não adicione polling de plugin, sincronização agendada ou uma segunda automação. As atualizações de página do calendário apenas releem os dados confirmados da Agenda.
- Publicação bem-sucedida não é conclusão de tarefa. Distinga tarefas coletadas, trabalho agendado, itens em espera/bloqueados e trabalho efetivamente concluído.
Os resultados de leitura incluem tarefas não concluídas sem datas. O histórico concluído permanece disponível com includeCompleted. Não limpe histórico ou fontes para organizar a visualização. A URL da página web é a origem HTTPS privada do operador mais /agenda/.
Apenas solicitações locais de usuário ou fontes de plano de execução local usam coverageRequired=false. Inventários de fontes externas mantêm coverageRequired=true (o padrão); cobertura ausente ou com falha permanece visível.