Commit Graph

72 Commits

Author SHA1 Message Date
starmen1265 a11a2dde99 docs(05): create phase 5 plans for archive and directory optimization 2026-03-16 23:03:14 +08:00
starmen1265 c92ace8e2d docs(state): record phase 5 context session 2026-03-16 22:54:58 +08:00
starmen1265 2eff597c3b docs(05): capture phase context 2026-03-16 22:54:52 +08:00
starmen1265 0bc5bb7584 docs: create milestone v1.1 roadmap (2 phases) 2026-03-16 21:06:43 +08:00
starmen1265 90b5ec2a27 docs: define milestone v1.1 requirements 2026-03-16 20:58:59 +08:00
starmen1265 643acbf165 docs: start milestone v1.1 Architecture Refactor 2026-03-16 20:54:53 +08:00
starmen1265 f358c52578 fix(zhihu): 修复文章归档格式问题
PR Test / lint (pull_request) Successful in 1s
1. author 字段清理零宽度空格和换行符,修复 Obsidian 解析
2. 扩展 content_type 条件,answer/zhuanlan 使用文章模板
3. 读取 content.md 时去除 YAML frontmatter
4. generate_frontmatter 正确推断 platform 为 zhihu

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 18:19:42 +08:00
starmen1265 e288a16944 docs: resolve debug zhihu-article-images-missing 2026-03-16 17:49:31 +08:00
starmen1265 ae8f6080c9 删除就技能
PR Test / lint (pull_request) Successful in 2s
2026-03-16 16:55:21 +08:00
starmen1265 f98d649b5c docs: resolve debug kb-workflow-legacy-code-removal
PR Test / lint (pull_request) Successful in 1s
2026-03-16 15:27:57 +08:00
starmen1265 f05c93d2b1 fix(zhihu): remove noscript tags to prevent duplicate images
PR Test / lint (pull_request) Successful in 1s
Zhihu HTML structure includes noscript fallback images:
<figure><img data-actualsrc=...><noscript><img src=...></noscript></figure>

After fixing lazy-load (replacing src with data-actualsrc), both imgs
have real URLs, causing duplicates. The fix removes noscript tags before
processing img elements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 15:08:08 +08:00
starmen1265 1239fed9a9 docs(debug): mark bilibili subtitle debug session as resolved
All fixes verified working:
- Video download for videos without official subtitles
- Whisper transcription with correct offset parsing
- Text extraction from Whisper JSON format
- End-to-end analysis with real video content

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 00:24:21 +08:00
starmen1265 c7cdd49f01 chore: add debug session and init file
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 00:09:16 +08:00
starmen1265 07a9db85f7 feat(download): add video download capability for videos without official subtitles
- When content_type is video and no official subtitle available:
  - Download video using yt-dlp
  - Extract audio for Whisper fallback
- Update content_file with actual video path

This enables the pipeline to handle videos that don't have
official Bilibili subtitles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 00:09:16 +08:00
starmen1265 aae4d2fd70 docs(debug): resolve asyncio nested loop debug session
Root cause: BilibiliExtractor sync wrappers use asyncio.run() internally,
which fails when called from async context in BilibiliAdapter.

Fix: Call async methods directly instead of sync wrappers.

Verified: Human confirmed fix works (bilibili_BV16cNMzpExh)
2026-03-15 22:59:24 +08:00
starmen1265 46f7feb146 chore: complete v1.0 milestone
- Archive ROADMAP and REQUIREMENTS to milestones/
- Delete original ROADMAP.md and REQUIREMENTS.md
- Update PROJECT.md with v1.0 validated requirements
- Update STATE.md for milestone complete status
- Update MILESTONES.md with key accomplishments
- Add VERIFICATION.md for phase 04

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 00:59:18 +08:00
starmen1265 7cf6ddd02f chore: complete v1.0 milestone 2026-03-15 00:59:12 +08:00
starmen1265 5736e2228e docs(04-05): complete CLI process subcommand and E2E tests plan
- CLI 'process' subcommand for single-command workflow execution
- End-to-end integration tests (16 tests passing)
- State persistence and resumability verified

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 00:10:10 +08:00
starmen1265 f9f8ec84fc docs(04-04): complete Pipeline schemas and class plan 2026-03-13 23:39:49 +08:00
starmen1265 93c4f20044 docs(04-03): complete AnalyzeProcessor plan
- AnalyzeProcessor wraps DeepAnalyzer for AI-powered content analysis
- Analysis reports saved as Markdown with YAML frontmatter
- All 15 tests passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 23:34:52 +08:00
starmen1265 df4323af13 docs(04-02): complete DownloadProcessor plan 2026-03-13 23:25:27 +08:00
starmen1265 57e6d9b6b2 docs(04-01): complete BaseProcessor and ParseProcessor plan
- BaseProcessor abstract class with unified interface
- ParseProcessor wrapping LinkParser for URL parsing
- ParseInput/ParseOutput schemas for parse step
- All tests passing (18 tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 23:16:17 +08:00
starmen1265 747bb799ca docs(04): complete phase planning 2026-03-13 23:05:27 +08:00
starmen1265 0fd243c8e1 fix(04-05): revise plan based on checker feedback
Issues addressed:
1. Remove non-existent 04-06 from depends_on → [04-04] only
2. Add CLI 'process' subcommand implementation task (was missing)
3. Fix verify command syntax (pytest instead of malformed python -c)
4. Rewrite Task 2 action with proper test code structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 23:03:41 +08:00
starmen1265 bf44050392 docs(04): add validation strategy 2026-03-13 22:53:13 +08:00
starmen1265 4b4ed9cab6 docs(04-analysis-orchestration): create phase plans 2026-03-13 22:50:28 +08:00
starmen1265 debd53961a docs(04): research phase 04 domain 2026-03-13 22:43:32 +08:00
starmen1265 777fe38a9d docs(state): record phase 4 context session 2026-03-13 22:37:52 +08:00
starmen1265 62c33cdfd5 docs(04): capture phase context 2026-03-13 22:37:52 +08:00
starmen1265 6e4582f7ad docs(phase-03): complete phase execution 2026-03-13 19:39:56 +08:00
starmen1265 cb20090162 docs(03-01): complete ASr processing plan
- Created ASRInput/ASroputput schemas extending StepInput/StepOutput
- Implemented ASRProcessor with subtitle-first strategy
- Added Whisper.cpp integration with auto-cleanup
- Integrated speaker diarization (HF_TOKEN detection)
- All 22 tests passing
- Updated ROADMAP progress: Phase 3: 1/1 complete
- Updated state with completion timestamp and- Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 19:34:36 +08:00
starmen1265 d8f4df9149 docs(03-01): complete ASr processing plan
- Created ASRInput/ASroOutput schemas
- Implemented ASRProcessor with subtitle-first strategy
- Added whisper.cpp integration with auto-cleanup
- Integrated speaker diarization (HF_TOKEN detection)
- All 22 tests passing

- Updated ROADmap progress: Phase 3: 1/1 complete
- Updated state with completion timestamp

- recorded execution metrics

- Updated session info
- Added final documentation commit
2026-03-13 19:29:27 +08:00
starmen1265 2039a45bf0 docs(03): create ASR processing plan 2026-03-13 19:11:29 +08:00
starmen1265 eaa68acb9d docs(03): add research and validation strategy 2026-03-13 19:06:19 +08:00
starmen1265 46bd809bf6 docs(phase-03): research ASR processing domain 2026-03-13 19:05:28 +08:00
starmen1265 acb6e15621 docs(state): record phase 3 context session 2026-03-13 18:50:40 +08:00
starmen1265 2148f1632a docs(03): capture phase context 2026-03-13 18:49:57 +08:00
starmen1265 cfd61d6cf6 docs(phase-02): complete phase execution 2026-03-13 18:32:20 +08:00
starmen1265 45df259047 docs(02-02): complete bilibili adapter plan
- Create 02-02-SUMMARY.md with execution results
- Update STATE.md with decisions and session info
- Update ROADMAP.md with plan progress

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:27:51 +08:00
starmen1265 d7f1ddde47 docs(02-03): complete zhihu adapter plan
- ZhihuAdapter supports answer and zhuanlan content extraction
- Cookie-based authentication with login page detection
- Markdown output with YAML frontmatter
- 13 new tests, all 35 platform tests passing
- Test coverage: 86%

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:27:10 +08:00
starmen1265 ae7dea9581 docs(02-01): complete link parser & idempotency plan
- Created LinkParser for unified URL parsing (B站/知乎)
- Created IdempotencyChecker for file existence checking
- All 23 new tests passing, 95% coverage
- Requirements PLAT-01, PLAT-02, PLAT-03 completed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 18:16:04 +08:00
starmen1265 8a8959cebe docs(02): add phase 2 plans 2026-03-13 18:04:48 +08:00
starmen1265 cc6c915f10 fix(02): revise plan 02-02 based on checker feedback 2026-03-13 18:02:24 +08:00
starmen1265 65e7c276d0 docs(02): create phase 2 plans for platform skills 2026-03-13 17:57:10 +08:00
starmen1265 3d262ff230 docs(02): research phase 2 platform skills 2026-03-13 17:49:06 +08:00
starmen1265 b8b2f72311 docs(state): record phase 2 context session 2026-03-13 17:43:15 +08:00
starmen1265 ea82f5d965 docs(02): capture phase 2 context 2026-03-13 17:43:03 +08:00
starmen1265 8736f240ec docs(phase-01): complete phase execution with verification
Phase 1 Foundation verified with 5/5 must-haves passed.
All 9 requirements covered: PIPE-01~03, REL-01~03, VAL-01, MNT-02~03.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:28:35 +08:00
starmen1265 b7db451d9d docs(01-03): complete error handler & config manager plan
- Structured error types with rich context (KBError, NetworkError, etc.)
- Configuration management via pydantic-settings from ~/.kb_env
- Automatic retry mechanism with tenacity (3 attempts, exponential backoff)
- All 100 tests passing
- Requirements REL-02, MNT-02, MNT-03 completed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:22:58 +08:00
starmen1265 770225439b feat(01-03): export all public APIs from package root
- Export error types (KBError, NetworkError, ValidationError, SystemError, AuthError, ErrorType)
- Export config (KBSettings, get_settings)
- Export retry (retry_on_network_error)
- Clean import interface for users

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:20:38 +08:00