[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11632":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":39,"discoverSource":40},11632,"newsflow-oss","Yaogui415\u002Fnewsflow-oss","Yaogui415","An AI-assisted newsroom workflow system for event tracking, evidence organization, approval chains, correction handling, and post-publication monitoring.","",null,"Python",118,10,8,13,0,2,73,3.12,"MIT License",false,"main",true,[25,26,27,28,29,30,31,32,33,34,35],"ai-agents","approval-workflow","editorial-workflow","fact-checking","fastapi","human-in-the-loop","journalism","newsroom","react","typescript","workflow","2026-06-12 02:02:32","# NewsFlow\n\n[![CI](https:\u002F\u002Fgithub.com\u002FYaogui415\u002Fnewsflow-oss\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FYaogui415\u002Fnewsflow-oss\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](.\u002FLICENSE)\n![Status: Prototype](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-prototype-0ea5e9)\n\n![NewsFlow icon](.\u002Fimage\u002Fnewsflow-icon.svg)\n\n> AI-assisted newsroom workflow for event tracking, evidence organization, approval chains, correction handling, and post-publication monitoring.\n\nNewsFlow is not just an AI writing tool. It is a newsroom workflow system designed to support the middle of the reporting process: lead intake, event clustering, evidence structuring, claim review, risk checks, sign-off decisions, correction handling, and post-publication follow-up.\n\n中文简介：NewsFlow 不是一个只围绕“自动写稿”的 AI 工具。它更关注新闻生产中真正高成本、也更高责任的中间流程：线索进入、事件归并、证据组织、Claim 结构化、风险暴露、签发审批、勘误流转，以及发布后的监测与知识回写。\n\n## Why this project exists\n\nMost AI products for journalism focus on output: drafting, rewriting, summarizing, or style transfer. NewsFlow focuses on a different problem: the hidden coordination and judgment costs that sit before and after the final text.\n\nIt is built around a simple belief:\n\n- the hardest part of responsible news work is often not writing itself\n- the real cost sits in organizing evidence, judgment, risk, and handoff across roles\n- if AI enters this space, it should make the process more visible and reviewable, not less accountable\n\n## What makes NewsFlow different\n\n| Dimension | General AI writing tools | NewsFlow |\n| --------- | ------------------------ | -------- |\n| Core object | Text | Events and Story Packets |\n| Main task | Generate or rewrite copy | Organize workflow, evidence, and approval |\n| Human role | Final editor | Embedded decision-maker at key checkpoints |\n| Risk handling | Often left to the end | Brought forward into workflow nodes |\n| Post-publication loop | Usually missing | Monitoring, correction, and knowledge write-back |\n\n## Screenshots\n\n### Dashboard\n\n![NewsFlow dashboard](.\u002Fimage\u002FREADME\u002F1774708458008.png)\n\n### Workflow and task detail\n\n![NewsFlow workflow detail](.\u002Fimage\u002FREADME\u002F1774708468195.png)\n\n## Best suited for\n\n- self-hosted product exploration\n- newsroom workflow demos and teaching\n- full-stack prototype extension\n- experiments around human-in-the-loop review, approval traceability, and editorial governance\n\n## Current status\n\n- End-to-end frontend and backend are in place\n- Core objects, workflow stages, and key review pages are implemented\n- Suitable for self-hosting, demos, and secondary development\n- Still closer to a high-fidelity prototype than a production-ready newsroom platform\n\n## Open-source entry points\n\n- `CONTRIBUTING.md` — contribution guide and development expectations\n- `SECURITY.md` — responsible disclosure and sensitive-data boundaries\n- `CODE_OF_CONDUCT.md` — collaboration expectations for contributors\n- `docs\u002FOPEN_SOURCE_GUIDE.md` — GitHub positioning, topics, and publishing checklist\n- `docs\u002FGITHUB_ABOUT.md` — ready-to-use repository description and About copy\n- `docs\u002FRELEASE_v0.1.0.md` — first public release notes and announcement copy\n- `docs\u002FSELF_HOSTING.md` — local and self-hosted setup guide\n- `backend\u002F.env.example` — backend environment example\n- `frontend\u002F.env.example` — frontend environment example\n\n## Project structure\n\n```text\nnewsflow\u002F\n├── backend\u002F                     # FastAPI backend\n│   ├── app\u002F\n│   │   ├── agents\u002F             # AI agents by workflow stage\n│   │   ├── api\u002Fv1\u002F             # REST API endpoints\n│   │   ├── core\u002F               # config, database, security, state machine\n│   │   ├── models\u002F             # ORM models\n│   │   └── services\u002F           # business services\n│   ├── migrations\u002F             # Alembic migrations\n│   └── tests\u002F                  # backend tests\n├── frontend\u002F                    # React + TypeScript frontend\n│   └── src\u002F\n│       ├── pages\u002F\n│       ├── layouts\u002F\n│       ├── services\u002F\n│       └── stores\u002F\n├── docs\u002F                        # open-source and audit documentation\n└── image\u002F                       # icon and preview assets\n```\n\n## Core agents\n\n| Agent | Responsibility | Stage |\n| ----- | -------------- | ----- |\n| Source Monitor | Multi-source lead intake and 5W1H extraction | Input |\n| Dedup & Cluster | Deduplication and event clustering | Input |\n| Triage | Intake review and risk grading | Input |\n| Evidence Structuring | Evidence organization and Claim generation | Cognition |\n| Relationship Investigation | Relationship mapping and event graph support | Cognition |\n| Verification | Multi-source verification and confidence scoring | Cognition |\n| Redaction & Risk | Redaction and risk detection | Governance |\n| Audit | Audit trail and chain integrity | Governance |\n| Drafting | Assisted drafting and structure planning | Production |\n| Channel Adaptation | Multi-channel adaptation and drift checks | Production |\n| Orchestrator | Workflow orchestration and state management | Control |\n| Post-Publish Monitor | Monitoring, correction, and follow-up loop | Closed loop |\n\n## Key capabilities\n\n### Input side\n\n- RSS, API, and manual intake\n- deduplication and event clustering\n- automatic risk grading\n- editor-facing triage suggestions\n\n### Cognition side\n\n- 5W1H extraction\n- Claim Card generation\n- evidence verification\n- relationship mapping\n\n### Governance side\n\n- multi-stage redaction gates\n- PII detection\n- source-protection boundaries\n- traceable audit logs\n\n### Production side\n\n- AI-assisted drafting\n- channel adaptation\n- semantic drift checks\n- platform rule checks\n\n### Approval flow\n\n- state-machine-driven workflow\n- multi-stage sign-off\n- SLA awareness\n- explicit human gates\n\n## Quick start\n\n### Prerequisites\n\n- Python `3.12` or `3.13` recommended for backend setup\n- Node.js `20.19+` recommended for frontend setup\n- Docker and Docker Compose for local infrastructure\n\nNote: Python `3.14` is not yet recommended here because some native dependencies such as `orjson` may fail to build depending on your environment.\n\n### 1. Start infrastructure\n\n```bash\ndocker compose up -d\n```\n\n### 2. Configure environment variables\n\n- copy `backend\u002F.env.example` to `backend\u002F.env`\n- copy `frontend\u002F.env.example` to `frontend\u002F.env.local`\n\n### 3. Start backend\n\n```bash\ncd backend\npip install -r requirements.txt\nalembic upgrade head\nuvicorn app.main:app --reload --port 8000\n```\n\n### 4. Start frontend\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n### 5. Visit the app\n\n- frontend: `http:\u002F\u002Flocalhost:5173`\n- health check: `http:\u002F\u002Flocalhost:8000\u002Fhealth`\n- API docs: `http:\u002F\u002Flocalhost:8000\u002Fdocs`\n\n### 6. Notes\n\n- frontend uses `VITE_API_BASE_URL` to connect to the backend\n- login warmup\u002Ffallback can also use `VITE_BACKEND_DIRECT_URL` and `VITE_BACKEND_HEALTH_URL`\n- default local API URL is `http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fv1`\n- set `OPENAI_API_KEY` in `backend\u002F.env` if you want to enable LLM-backed features\n\n## API surface\n\n| Path | Description |\n| ---- | ----------- |\n| `\u002Fapi\u002Fv1\u002Fauth` | Authentication and authorization |\n| `\u002Fapi\u002Fv1\u002Fevents` | Event case management |\n| `\u002Fapi\u002Fv1\u002Fstory-packets` | Story Packet management |\n| `\u002Fapi\u002Fv1\u002Fapprovals` | Sign-off and decision flow |\n| `\u002Fapi\u002Fv1\u002Fsources` | Source intake and upload |\n| `\u002Fapi\u002Fv1\u002Fdashboard` | Dashboard data |\n| `\u002Fapi\u002Fv1\u002Fworkflows` | Workflow runtime and audit stream |\n\n## Core objects\n\n- `EventCase`\n- `StoryPacket`\n- `ClaimCard`\n- `EvidencePack`\n- `DraftVersion`\n- `ChannelPackage`\n- `ReviewBundle`\n- `ApprovalTask`\n- `DecisionLog`\n- `SourceVault`\n- `RiskReport`\n- `CorrectionTicket`\n- `AuditLog`\n\n## Tech stack\n\n### Backend\n\n- FastAPI\n- SQLAlchemy + Alembic\n- aiosqlite \u002F asyncpg\n- LangChain Core\n- Gunicorn + Uvicorn\n\n### Frontend\n\n- React 18\n- TypeScript\n- Ant Design 5\n- React Router 6\n- Vite\n- Zustand\n\n### AI \u002F LLM\n\n- OpenAI GPT-4o \u002F GPT-4o-mini\n- LangChain OpenAI\n\n## Roadmap\n\n- [x] core object model and state machine\n- [x] multi-stage agents across input, cognition, governance, and production\n- [x] sign-off center and human override support\n- [x] post-publication monitoring and correction loop\n- [x] open-source packaging and self-hosting setup\n- [x] more complete self-hosting docs\n- [ ] finer-grained evidence anchors and citation mapping\n- [ ] stronger permissions, metrics, and long-term memory governance\n\n## Related docs\n\n- `docs\u002FAUDIT_FINDINGS.md` — audit findings across backend, frontend, and integration\n- `docs\u002FOPEN_SOURCE_GUIDE.md` — open-source packaging notes\n- `docs\u002FGITHUB_ABOUT.md` — repository description and public-facing copy\n- `docs\u002FRELEASE_v0.1.0.md` — first public release notes\n- `docs\u002FGITHUB_PAGE_SETUP.md` — final GitHub page copy and launch checklist\n- `docs\u002FPUBLICATION_AUDIT.md` — public-release scope and sensitive-info audit\n- `docs\u002FSELF_HOSTING.md` — self-hosting and deployment guidance\n\n## Maintainer notes\n\nIf you want this repository to feel complete on GitHub, the next good steps are:\n\n- upload `image\u002Fnewsflow-social-preview.png` as the GitHub social preview image\n- copy the text from `docs\u002FGITHUB_ABOUT.md` into the repository About section\n- publish a first Release using `docs\u002FRELEASE_v0.1.0.md`\n- follow `docs\u002FREPO_MAINTENANCE_CHECKLIST.md` for branch protection, issue hygiene, and release upkeep\n\n## License\n\nThis project is released under the [MIT License](.\u002FLICENSE).\n","NewsFlow 是一个面向新闻编辑室的工作流系统，旨在支持事件追踪、证据组织、审批链、勘误处理以及发布后的监测等环节。该项目利用FastAPI和React构建后端与前端，并结合AI技术辅助记者完成线索收集、事件归类、证据整理、风险评估、签发决策及后续的错误修正等工作，强调了人在环中的重要性，确保整个流程透明且可追溯。适用于需要探索自托管产品的团队、新闻工作流的教学演示、全栈原型扩展以及围绕人工审查、审批可追溯性和编辑治理实验的场景。目前项目已具备完整的前后端功能，适合进行二次开发或教学使用。","2026-06-11 03:32:10","CREATED_QUERY"]