Skip to content

Commit c6c7b4e

Browse files
committed
更新发布工作流以支持 Windows 平台的 NSIS 和 MSI 打包
添加路线图部分到英文和中文 README 文件 创建 v2.0.0 路线图文档
1 parent d0ac10f commit c6c7b4e

4 files changed

Lines changed: 296 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
matrix:
2222
include:
2323
- platform: windows-latest
24-
args: ""
24+
args: "--bundles nsis,msi"
2525
- platform: macos-latest
2626
args: "--target universal-apple-darwin"
2727
- platform: ubuntu-latest

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting pull requests.
145145

146146
---
147147

148+
## 🗺 Roadmap
149+
150+
- [Roadmap to v2.0.0 (Local-First)](docs/ROADMAP_v2.0.0.md)
151+
152+
---
153+
148154
## 📋 Changelog
149155

150156
See [CHANGELOG.md](CHANGELOG.md).

README_zh.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ TimeLens/
143143

144144
---
145145

146+
## 🗺 路线图
147+
148+
- [v2.0.0 路线图(本地优先)](docs/ROADMAP_v2.0.0.md)
149+
150+
---
151+
146152
## 📋 更新日志
147153

148154
[CHANGELOG.md](CHANGELOG.md)

docs/ROADMAP_v2.0.0.md

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,283 @@
1+
# TimeLens Roadmap to v2.0.0 (Local-First)
2+
3+
Last updated: 2026-05-10
4+
5+
## Vision
6+
7+
Build TimeLens into a stable, extensible, privacy-first personal productivity desktop platform while keeping all user data local.
8+
9+
## Non-Negotiable Principles
10+
11+
- No cloud account system.
12+
- No cloud sync service.
13+
- No telemetry upload by default.
14+
- No user behavior data leaves the local device unless explicitly exported by the user.
15+
- Core data remains in local SQLite (with optional encrypted backup file export/import).
16+
17+
## Scope Boundaries
18+
19+
### In Scope
20+
21+
- Local analytics and insights.
22+
- Local API for extensions and local tools (localhost only by default).
23+
- Local plugin/widget ecosystem with strict permission sandboxing.
24+
- Data portability (local JSON/CSV/export package).
25+
26+
### Out of Scope
27+
28+
- Any hosted backend dependency for core features.
29+
- Real-time cross-device cloud sync.
30+
- Cloud-based AI analysis of personal usage data.
31+
32+
## Milestones
33+
34+
### v1.2.0 (Data Reliability and Trust)
35+
36+
Target window: 2026 Q2
37+
38+
### Product Goals
39+
40+
- Make local data more reliable, diagnosable, and recoverable.
41+
- Expose data collection behavior to users in a transparent and understandable way.
42+
43+
### Planned Features (Detailed)
44+
45+
- Data Health Center:
46+
- Add local database integrity scan (schema check, index check, orphan row check).
47+
- Add timeline continuity check (detect missing days, abnormal zero-usage gaps).
48+
- Add repair assistant with dry-run preview before applying any fix.
49+
- Backup and Restore v2:
50+
- Export to compressed package (`.timelens-backup`) with manifest metadata.
51+
- Store app version, schema version, locale, and checksum in package manifest.
52+
- Add import compatibility checker and conflict handling strategy (overwrite/merge/new profile).
53+
- Data Retention Policy:
54+
- Add retention presets (3 months, 6 months, 12 months, keep all).
55+
- Add auto-archive task for old raw records into local archive tables/files.
56+
- Add retention impact preview (estimated storage saved before applying).
57+
- Tracking Transparency Panel:
58+
- Show currently tracked process/window fields in plain language.
59+
- Show write frequency and last N local writes.
60+
- Add one-click pause + reason display (who paused, when paused, why tracking stopped).
61+
62+
### Engineering Breakdown
63+
64+
- Frontend:
65+
- Add `DataHealth` page/module and cards in Settings.
66+
- Add restore wizard UI (validate -> preview -> execute -> result report).
67+
- Add retention policy controls with warning and undo guidance.
68+
- Backend (Rust Commands):
69+
- Add `check_data_integrity`, `scan_data_gaps`, `repair_data_issues` commands.
70+
- Add `export_backup_v2`, `import_backup_v2_validate`, `import_backup_v2_apply` commands.
71+
- Add `set_retention_policy`, `run_local_archive_now` commands.
72+
- Data Layer:
73+
- Add backup metadata schema and checksum validation.
74+
- Add archive tables/indexes for old usage slices.
75+
- Add migration guardrails and rollback markers.
76+
77+
### QA and Validation
78+
79+
- Run migration forward/backward tests on sample datasets from v1.0.0 and v1.1.0.
80+
- Validate backup round-trip with small, medium, and large datasets.
81+
- Validate repair workflow with intentionally corrupted sample data.
82+
- Verify all flows work with network disabled.
83+
84+
### Exit Criteria
85+
86+
- 100k+ records keep main dashboard interactions under acceptable latency targets.
87+
- Backup restore round-trip succeeds with checksum verification.
88+
- All data health checks and repairs are local-only and auditable in UI.
89+
90+
### v1.4.0 (Local Intelligence and Workflow)
91+
92+
Target window: 2026 Q3
93+
94+
### Product Goals
95+
96+
- Upgrade insights from descriptive metrics to actionable local coaching.
97+
- Help users turn insights into repeatable daily habits.
98+
99+
### Planned Features (Detailed)
100+
101+
- Local Recommendation Engine:
102+
- Generate focus-window suggestions based on historical uninterrupted blocks.
103+
- Detect distraction hotspots using app-switch density and short-session ratio.
104+
- Recommend goal adjustments (too easy, too hard, realistic stretch).
105+
- Advanced Comparison:
106+
- Add week-over-week and month-over-month drill-down by app/category/project.
107+
- Add anomaly markers (spike/drop) with explanation text.
108+
- Add "what changed" summary cards for recent 7/30 days.
109+
- Local Rule Automation:
110+
- Add rules for auto pause/resume tracking in user-defined contexts.
111+
- Add local notifications for goal risk alerts and limit pre-alerts.
112+
- Add quiet hours and reminder cooldown controls.
113+
- Unified Timeline:
114+
- Merge desktop and browser sessions into one local chronological stream.
115+
- Add filters by source/app/domain/category and interruption markers.
116+
117+
### Engineering Breakdown
118+
119+
- Frontend:
120+
- New insight cards and explainability panels on Dashboard.
121+
- Rule builder UI with simulation mode.
122+
- Unified timeline viewer with virtualized list rendering.
123+
- Backend (Rust Commands):
124+
- Add deterministic scoring and suggestion commands.
125+
- Add comparative analytics commands with baseline windows.
126+
- Add local automation scheduler and rule evaluator.
127+
- Data Layer:
128+
- Add derived metrics tables for switch density, focus streak, interruption count.
129+
- Add incremental aggregation jobs to avoid full-range heavy queries.
130+
131+
### QA and Validation
132+
133+
- Golden dataset tests for recommendation determinism.
134+
- Property-based tests for aggregation correctness.
135+
- Performance tests for 365-day timeline rendering and query latency.
136+
- Verify explainability text always maps to concrete local factors.
137+
138+
### Exit Criteria
139+
140+
- Insight generation and rule evaluation are fully available offline.
141+
- Median dashboard load time improves compared with v1.1.0 baseline.
142+
- Users can see why each recommendation was made (no black-box outputs).
143+
144+
### v1.6.0 (Widget and Extension Platform Maturity)
145+
146+
Target window: 2026 Q4
147+
148+
### Product Goals
149+
150+
- Make extensibility safe-by-default and predictable for third-party developers.
151+
- Keep all extension data exchange local, explicit, and permissioned.
152+
153+
### Planned Features (Detailed)
154+
155+
- Widget Permission Model v2:
156+
- Split permissions into read metrics, write data, automation trigger, and local API call.
157+
- Add runtime permission revocation with immediate effect.
158+
- Add per-permission risk labels and last access timestamp.
159+
- Widget SDK Stabilization:
160+
- Publish manifest spec `v2` and compatibility policy.
161+
- Provide local dev harness for widget preview and permission simulation.
162+
- Add official template upgrades and migration guide from old manifests.
163+
- VS Code Extension Integration:
164+
- Improve local session attribution accuracy for workspace/language.
165+
- Add coding focus indicators to TimeLens dashboard.
166+
- Add extension-side buffering for intermittent local API unavailability.
167+
- Local API Governance:
168+
- Add scoped localhost tokens and revocation list.
169+
- Add per-client allowlist and rate limits.
170+
- Add local API audit log view in settings.
171+
172+
### Engineering Breakdown
173+
174+
- Frontend:
175+
- Permission center redesign with per-widget capability matrix.
176+
- SDK docs portal updates and troubleshooting section.
177+
- API client manager UI for localhost consumers.
178+
- Backend (Rust Commands/API):
179+
- Introduce capability-aware permission middleware.
180+
- Add token issue/rotate/revoke command set.
181+
- Add audit log query commands with pagination.
182+
- Security:
183+
- Strengthen signature verification and checksum mismatch handling.
184+
- Enforce default-deny policy for third-party capabilities.
185+
186+
### QA and Validation
187+
188+
- Contract tests for widget API backward compatibility.
189+
- Security tests for permission bypass and token misuse scenarios.
190+
- Regression tests for official widgets under new permission model.
191+
- Localhost API disable mode test across extension and widgets.
192+
193+
### Exit Criteria
194+
195+
- Third-party widget onboarding path is documented and stable.
196+
- Permission revoke applies without app restart.
197+
- Local API can be disabled entirely and core app remains functional.
198+
199+
### v2.0.0 (Local-First Platform Release)
200+
201+
Target window: 2027 Q1
202+
203+
### Product Goals
204+
205+
- Deliver a polished and reliable local-first productivity platform release.
206+
- Make privacy guarantees testable, visible, and enforceable.
207+
208+
### Planned Features (Detailed)
209+
210+
- Unified Insight Workspace:
211+
- Introduce narrative dashboards (daily review, weekly reflection, goal health).
212+
- Enable cross-module drill-down from summary -> category -> app -> session.
213+
- Add advanced date-range exploration with saved local views.
214+
- Privacy and Security Upgrade:
215+
- Provide optional encryption-at-rest for local database.
216+
- Add passphrase-protected backup export.
217+
- Consolidate all capability toggles in a single permission/security center.
218+
- Long-Term Data Lifecycle:
219+
- Introduce archival tiers (hot/warm/archive) managed locally.
220+
- Add historical compression options for old high-frequency records.
221+
- Add restore preview and diff summary before apply.
222+
- Platform Quality:
223+
- Guarantee migration path from supported 1.x versions.
224+
- Improve startup latency and reduce memory overhead on large datasets.
225+
- Complete accessibility and localization quality pass.
226+
227+
### Engineering Breakdown
228+
229+
- Frontend:
230+
- Dashboard IA refinement and reusable analytics component system.
231+
- Permission and privacy center final redesign.
232+
- Improved empty/error/loading states for all core pages.
233+
- Backend:
234+
- Encryption key lifecycle management (local only).
235+
- Unified migration runner with pre-check and post-verify phases.
236+
- Performance tuning for top N heavy queries and startup command path.
237+
- Release Engineering:
238+
- Add upgrade rehearsals from representative 1.x snapshots.
239+
- Add offline test matrix in CI for critical user journeys.
240+
241+
### QA and Validation
242+
243+
- Full end-to-end offline scenario testing across dashboard, widgets, backup, restore, and extension integration.
244+
- Security checklist verification for local storage, permission boundaries, and API exposure.
245+
- Long-run stability tests (multi-day local logging workload).
246+
- Accessibility checks for keyboard navigation and screen reader critical flows.
247+
248+
### Release Gates (Must Pass)
249+
250+
- Full offline usability for all primary user journeys.
251+
- Zero mandatory cloud dependency in architecture and runtime.
252+
- No hidden external upload channel for usage data.
253+
- Migration from supported 1.x versions passes integrity checks.
254+
- End-to-end privacy checklist is publicly documented.
255+
256+
## Governance and Decision Rules
257+
258+
- Any new feature proposal must include a local-first data flow design.
259+
- Any network capability must be optional, explicit, and disabled by default unless required for user-requested actions (for example manual update checks).
260+
- If a feature cannot deliver meaningful value without cloud processing, it is deferred or rejected for the 2.0 scope.
261+
262+
## Risks and Mitigations
263+
264+
- Risk: local dataset growth slows queries.
265+
- Mitigation: incremental aggregation, index tuning, archive strategy.
266+
- Risk: plugin ecosystem introduces safety concerns.
267+
- Mitigation: permission sandboxing, signature checks, stricter defaults.
268+
- Risk: feature growth reduces maintainability.
269+
- Mitigation: modular command boundaries, contract tests, release hardening cycles.
270+
271+
## Tracking KPIs (Local Measurable)
272+
273+
- Cold start time and dashboard first-render time.
274+
- Query latency at dataset sizes: 10k, 100k, 1M records.
275+
- Crash-free sessions rate.
276+
- Backup/restore success rate.
277+
- Permission prompt acceptance/revocation clarity (UX metric via local feedback prompt).
278+
279+
## Communication Plan
280+
281+
- Publish roadmap updates every minor release.
282+
- Mark each item with status: Planned, In Progress, Completed, Deferred.
283+
- Keep changelog and roadmap cross-referenced for traceability.

0 commit comments

Comments
 (0)