Commit graph

71 commits

Author SHA1 Message Date
Research Assistant
2d5f604ae8 feat: v1.4.11 — Obsidian plugin UX overhaul + headless_setup parity
- Plugin: multi-step install wizard modal (5 steps) with editable directory/key inputs
- Plugin: settings tab becomes operation guide; all config moved to wizard
- Plugin: Python/Zotero/BBT pre-check before wizard opens
- Plugin: agent platform selector (OpenCode/Claude/Cursor/Copilot etc.)
- Plugin: responsive dashboard (auto-fit grids, clamp typography)
- Plugin: command output styled in-panel (running/ok/error)
- Plugin: BBT export guidance in settings tab
- Plugin: rename defaults (Resources, Notes, Index_Cards, System, Base)
- Plugin: vault_path auto-detect from Obsidian
- Plugin: auto-update paperforge on plugin load
- CLI: headless_setup now creates Zotero junction (mklink /J)
- CLI: headless_setup deploys skill directory for flat_command agents
- sync: wikilink through junction (no .resolve() — keeps vault-relative paths)
- sync: route absolute paths through Zotero junction for vault-relative wikilinks
- config: remove library-records subdirectory (records now directly under control_dir)
- base_views: fix duplicate views on merge (skip legacy unmarked views)
- base_views: auto-update folder filter when path config changes
- Phases 20-22 planned and documented
- Bump to v1.4.11
2026-04-30 11:14:07 +08:00
Research Assistant
c5cb9c1bfd feat(21-01): add subprocess orchestration and Chinese notice helpers
- _runSetup(): validates fields, spawns paperforge setup --headless, disables/enables button
- Uses spawn (not exec) for stdout streaming, --headless (not --non-interactive)
- Explicit directory args override headless_setup defaults
- _showNotice(): renders success/error/progress via Obsidian Notice API
- _formatSetupError(): maps 5+ error patterns to Chinese, raw errors logged to console
- _processSetupOutput(): parses [*]/[OK]/[FAIL] step markers from stdout
- _setStatus(): updates status area with color-coded CSS class
- Button disable/enable in try/finally prevents double-click
- INST-04: sidebar and commands unchanged
2026-04-29 22:38:22 +08:00
Research Assistant
2820bc99e5 feat(21-01): add install status CSS styles (SECTION 5)
- .paperforge-install-status base style with margin/padding/border-radius
- .paperforge-install-success (green) with color-mix tinted background
- .paperforge-install-error (red) with color-mix tinted background
- .paperforge-install-progress (blue) with color-mix tinted background
- Uses Obsidian CSS variables for theme compatibility
2026-04-29 22:36:24 +08:00
Research Assistant
019ffb6e53 feat(21-01): add _validate() field validation method
- Check 7 required fields for non-empty values
- All error messages in Chinese per INST-03
- zotero_data_dir excluded (optional field, auto-detected)
- Returns empty array when valid, error strings array when invalid
2026-04-29 22:36:05 +08:00
Research Assistant
80e9912f67 feat(21-01): add install button section and status area to settings tab
- Append '\u5b89\u88c5\u914d\u7f6e' section with status div + CTA button
- Create _statusArea with initial status message
- Button onClick wired to _runSetup (forward declaration for Plan 02)
- No existing code modified (sidebar, actions, other sections preserved)
2026-04-29 22:35:46 +08:00
Research Assistant
fdc457455c feat(20-20): add settings data model with DEFAULT_SETTINGS and PaperForgeSettingTab UI
- DEFAULT_SETTINGS: vault_path, system_dir, resources_dir, literature_dir, control_dir, agent_config_dir, paddleocr_api_key, zotero_data_dir
- Plugin.loadSettings() merges DEFAULT_SETTINGS with saved data via Object.assign
- Plugin.saveSettings() persists via Obsidian Plugin.saveData() API
- PaperForgeSettingTab with 3 sections: 基础路径 (6 fields), API 密钥 (1 password), Zotero 链接 (1 field)
- Debounced 500ms save on field change via setTimeout/clearTimeout pattern
- 8 settings text inputs: 7 regular + 1 password field for paddleocr_api_key
- Settings survive tab switch (in-memory state) and Obsidian restart (data.json persistence)
2026-04-29 22:20:07 +08:00
Research Assistant
2329e82588 fix: include styles.css in package data; prevent Unicode crash on pip output 2026-04-29 01:06:59 +08:00
Research Assistant
6df746d20c fix: sync Obsidian plugin even when update is already current 2026-04-29 00:57:30 +08:00
Research Assistant
8d490a3ebc fix: read remote version from GitHub API content to avoid raw CDN cache 2026-04-29 00:29:45 +08:00
Research Assistant
8a3b6b4f7e chore: bump to v1.4.8 and unify update version checks on __init__.py 2026-04-29 00:26:16 +08:00
Research Assistant
6b567d004f fix: update pip installs from GitHub source instead of package index 2026-04-29 00:16:13 +08:00
Research Assistant
6394043441 fix: move install_obsidian_plugin to _utils.py, reload after update to always use latest code 2026-04-29 00:09:52 +08:00
Research Assistant
0d2c16172f fix: correct UPDATEABLE_PATHS repo paths; plugin install uses vault-first source; exclude table images from figure-map matching 2026-04-28 23:58:02 +08:00
Research Assistant
2eaeb30efa chore: bump to v1.4.5 2026-04-28 23:43:47 +08:00
Research Assistant
3aee514fd5 refactor: extract pipeline_paths into _utils.py — remove 7 copies, 3 of which were dead code 2026-04-28 23:42:00 +08:00
Research Assistant
61b72a467d refactor: extract load_domain_config into single _domain.py module — remove 7 copies, full rebuild on every call 2026-04-28 23:31:31 +08:00
Research Assistant
049f63ffec feat: overhaul Obsidian plugin UI — dashboard layout, segmented OCR bar, action cards 2026-04-28 23:14:52 +08:00
Research Assistant
a9ba944ddc refactor: __init__.py as single version source; pyproject.toml reads dynamically; paperforge.json drops version field 2026-04-28 22:41:48 +08:00
Research Assistant
0dc27b7c2c chore: bump to v1.4.4 to unify all fixes under a single version 2026-04-28 22:34:41 +08:00
Research Assistant
0bbcb41346 fix: reload paperforge module before installing plugin to get updated path 2026-04-28 22:31:13 +08:00
Research Assistant
1ec09b6baa fix: surface remote version check errors instead of silently swallowing 2026-04-28 22:23:28 +08:00
Research Assistant
998dc3489a feat: paperforge update now auto-installs Obsidian plugin 2026-04-28 22:18:42 +08:00
Research Assistant
8dbf188168 fix: sync __version__ to 1.4.3, _remote_version() reads from __init__.py 2026-04-28 22:13:23 +08:00
Research Assistant
40ee97c0f8 chore: bump to v1.4.3, update READMEs with multi-agent and plugin info 2026-04-28 19:43:58 +08:00
Research Assistant
f617054d5a feat: paperforge status --json, plugin panel with OCR progress bar 2026-04-28 19:21:52 +08:00
Research Assistant
11ebc85c4e feat: Obsidian plugin status panel — metric cards, progress bars, quick actions 2026-04-28 19:11:58 +08:00
Research Assistant
248a0b6446 fix: restructure skills — separate pf-deep/pf-paper, add prefix substitution, create config_file on deploy 2026-04-28 18:33:11 +08:00
Research Assistant
94ddf1f6a0 fix: apply missing deploy helper functions, SKILL.md source files, and format dispatch 2026-04-28 17:15:37 +08:00
Research Assistant
22e2fc547f fix: ensure parent dirs exist before copying skill files 2026-04-28 16:27:45 +08:00
Research Assistant
aac31c4a76 test: add AGENT_CONFIGS format/prefix field tests, update expected agents 2026-04-28 16:13:58 +08:00
Research Assistant
22c82dae24 fix: remove hardcoded literature-qa subdirs from Phase 2 directory creation 2026-04-28 16:11:59 +08:00
Research Assistant
c43c0c76a2 refactor: extend AGENT_CONFIGS with format and prefix fields, add codex 2026-04-28 16:03:11 +08:00
Research Assistant
859fa5ff97 feat: headless setup mode, Obsidian plugin, AI agent install guide (v1.4.2) 2026-04-28 14:33:35 +08:00
Research Assistant
ebc4fdeb00 chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
Research Assistant
ec1587febc fix: add exit button to setup wizard, fix Python version (3.8->3.10), remove outdated migration text 2026-04-28 01:24:28 +08:00
Research Assistant
45f47a51b9 chore: bump version to 1.4.1 2026-04-28 00:49:00 +08:00
Research Assistant
97d090a5e3 refactor: rewrite prompt_deep_subagent.md to directive command style 2026-04-28 00:25:54 +08:00
Research Assistant
61df09c77f feat: add postprocess-pass2 molecule for validating Pass 2 output 2026-04-28 00:24:31 +08:00
Research Assistant
cc1f696ded feat: add fixed sub-headings to figure/table callout blocks in skeleton 2026-04-28 00:15:48 +08:00
Research Assistant
d82fc52521 feat: persistent OCR poll until completion; fix OpenCode commands for pip install; fix test hangs; add command_files to package 2026-04-27 22:52:03 +08:00
Research Assistant
0505fd2fda feat: add paperforge setup CLI command, one-click install script, sync __version__ to 1.4.0, detect local version from pip metadata 2026-04-27 21:34:03 +08:00
Research Assistant
94f00e990a fix: sync paperforge.json version to 1.4.0; fix update.py missing GITHUB_REPO/GITHUB_ZIP imports; remove PaperForge.base generation (duplicates Literature Hub) 2026-04-27 21:25:00 +08:00
Research Assistant
f31efec521 chore: remove PaperForge.base generation (duplicates Literature Hub) 2026-04-27 21:20:14 +08:00
Research Assistant
2bfbec691e fix: add zotero_dir to paperforge_paths() for PDF resolution; fix L3 diagnostic to skip schema check without file upload 2026-04-27 21:12:29 +08:00
Research Assistant
ee260e05f5 fix: L2 diagnostic accepts 400 as reachable (PaddleOCR rejects bare POST without fileUrl) 2026-04-27 20:41:49 +08:00
Research Assistant
13b3e142cc fix: OCR diagnostic L2 probe uses POST instead of GET (PaddleOCR rejects GET) 2026-04-27 20:34:47 +08:00
Research Assistant
a3270dc791 fix: add creators/extra to load_export_rows row dict, fix journal key lookup for first_author/journal/IF in library-records; add first_author, journal, impact_factor columns to Base views; fix PDF storage/ subdirectory resolution 2026-04-27 20:25:35 +08:00
Research Assistant
67a52a898a fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
Research Assistant
2edb5b65cc docs(v1.4): commit planning artifacts, test files, and phase summaries for phases 13-19 2026-04-27 19:12:03 +08:00
Research Assistant
40868620dc docs(18-documentation-ux-polish): create chart-reading INDEX.md and update ROADMAP.md
- Create chart-reading/INDEX.md listing all 19 guides ordered by biomedical commonness
- Update ROADMAP.md Phase 18 details with 2 plans (1 wave)
- Mark 18-01 as complete, update progress table to 2/1
2026-04-27 18:06:08 +08:00