Add support for extracting comments from Word documents (.docx, .docm, .doc, .dotx)
I maintainer di solito rispondono entro 1 giorno
@paullizer ci sta già lavorando.
Dal 27/10/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Add support for extracting review comments from Word documents across both modern OOXML formats (.docx, .docm, .dotx) and legacy Word 97–2003 binary OLE documents (.doc).
User Value
Users and customers frequently store critical review feedback, clarifications, and Threaded Q&A in Word margin comments. Previously:
.docxfiles processed by Azure Document Intelligence (prebuilt-read) only extracted main document text, headers/footers, tables, and footnotes, ignoringword/comments.xml..docmfiles processed viadocx2txtignoredword/comments.xml..doc(Word 97–2003 OLE) files flattened the piece table without extracting structured comment metadata (ccpAtn,PlcfandTxt,PlcfandRef,GrpXstAtnOwners), author names, or anchor positions.
Extracting and indexing Word comments alongside the document chunks where they are anchored makes review comments searchable and available to AI chat, workspace RAG, M365 extraction, and content screening.
Proposed Behavior
- OOXML Word files (
.docx,.docm,.dotx):- Safely parse
word/comments.xml(author, initials, date, comment text),word/commentsExtended.xml(threaded replies viaparaIdParentand resolved/done state), andword/document.xml(w:commentRangeStart,w:commentRangeEnd,w:commentReferencefor quoted anchor text and reading-orderword_offset).
- Safely parse
- Legacy binary Word files (
.doc):- Parse the MS-DOC File Information Block (
FibRgLw97ccpAtnandFibRgFcLcb97PlcfandTxt,PlcfandRef,GrpXstAtnOwners) to extract structured comments with author/initials and anchor positions while keeping raw annotation subdocument text separate from body text.
- Parse the MS-DOC File Information Block (
- Chunk & Text Integration:
- Merge extracted comments into the chunk containing their anchored text during workspace ingestion (
process_di_document,process_office_template), include them inextract_word_text()/ direct chat uploads, and pass them to content screening.
- Merge extracted comments into the chunk containing their anchored text during workspace ingestion (
Acceptance Criteria
-
.docx,.docm, and.dotxcomments (including author, date, anchored text, threaded replies, and resolved status) are extracted and indexed. - Legacy
.docOLE comments are extracted with author/initials and anchor context without duplicating raw annotation text in the body. - Extracted comments in
.docxdocuments are merged into their corresponding reading-order chunk (with overflow fallback). - Functional tests cover both OOXML
.docxand legacy.doccomment extraction and chunk placement, and release notes are updated.
Notes
- Uses local bounded XML (
defusedxml) and OLE (olefile) parsing with zero additional Azure API calls.
- Lingua principale
- Python
- Stelle
- 157
- Fork
- 117
- Merge medio
- 3h 6m
- PR unite (30g)
- 219
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/simplechat
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/simplechat#1491 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/simplechat#1370 ·
I maintainer di solito rispondono entro 1 giorno
-
Fix mixed-source chat excerpt truncation, default system prompt suppression, bracketed citations, and Semantic Ranker quota fallbackForse già presa @paullizer l’ha presa 1 giorno fa. Apertabug P1
microsoft/simplechat#1855 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
V2: Preserve explicit reasoning None across existing tool pathsForse già presa @paullizer l’ha presa 2 giorni fa. Apertabug P1
microsoft/simplechat#1846 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
V2: Make Azure OpenAI v1 routing and API-version guidance consistentForse già presa @paullizer l’ha presa 2 giorni fa. Apertabug P1
microsoft/simplechat#1845 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/simplechat
Issue simili
-
priority middle
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
KATO-Hiro/AtCoderClans#12940 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
huggingface/huggingface_hub#5283 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
ccxt/ccxt#31045 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug example
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno