Add support for extracting comments from Word documents (.docx, .docm, .doc, .dotx)
Maintainer thường phản hồi trong vòng 1 ngày
@paullizer đang làm issue này rồi.
Từ ngày 27/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 157
- Fork
- 117
- Merge trung bình
- 3 giờ 6 phút
- Pull request đã merge (30 ngày)
- 219
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/simplechat
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
microsoft/simplechat#1491 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
microsoft/simplechat#1370 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Fix mixed-source chat excerpt truncation, default system prompt suppression, bracketed citations, and Semantic Ranker quota fallbackCó thể đã có người làm @paullizer đã nhận 1 ngày trước. Đang mởbug P1
microsoft/simplechat#1855 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
V2: Preserve explicit reasoning None across existing tool pathsCó thể đã có người làm @paullizer đã nhận 2 ngày trước. Đang mởbug P1
microsoft/simplechat#1846 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
V2: Make Azure OpenAI v1 routing and API-version guidance consistentCó thể đã có người làm @paullizer đã nhận 2 ngày trước. Đang mởbug P1
microsoft/simplechat#1845 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của microsoft/simplechat
Issue tương tự
-
priority middle
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 62/100
KATO-Hiro/AtCoderClans#12940 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
huggingface/huggingface_hub#5283 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
ccxt/ccxt#31045 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug example
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày