dreamloop 0.1.0__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dreamloop-0.1.2/CHANGELOG.md +45 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/PKG-INFO +61 -5
- {dreamloop-0.1.0 → dreamloop-0.1.2}/README.md +60 -4
- dreamloop-0.1.2/README.zh-CN.md +248 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/pyproject.toml +1 -1
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/__init__.py +1 -1
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/analysis.py +172 -11
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/cli.py +62 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/core.py +459 -6
- dreamloop-0.1.2/src/dreamloop/images.py +201 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/static/style.css +243 -8
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/templates/detail.html +58 -4
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/templates/index.html +91 -9
- {dreamloop-0.1.0 → dreamloop-0.1.2}/src/dreamloop/web.py +211 -7
- dreamloop-0.1.2/tests/test_cli.py +68 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/tests/test_core_workflow.py +362 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/tests/test_readme_positioning.py +11 -2
- {dreamloop-0.1.0 → dreamloop-0.1.2}/tests/test_web_api.py +279 -2
- {dreamloop-0.1.0 → dreamloop-0.1.2}/uv.lock +1 -1
- dreamloop-0.1.0/CHANGELOG.md +0 -21
- dreamloop-0.1.0/README.zh-CN.md +0 -210
- dreamloop-0.1.0/tests/test_cli.py +0 -25
- {dreamloop-0.1.0 → dreamloop-0.1.2}/.github/workflows/ci.yml +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/.github/workflows/publish.yml +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/.gitignore +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/LICENSE +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/docs/assets/dashboard-placeholder.svg +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/docs/assets/dashboard-screenshot.png +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/docs/assets/hero-dashboard.svg +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/docs/assets/social-preview.png +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/docs/demo-recording.md +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/scripts/start-dreamloop.cmd +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/tests/test_ai_config.py +0 -0
- {dreamloop-0.1.0 → dreamloop-0.1.2}/tests/test_packaging_release.py +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v0.1.2 - 2026-06-14
|
|
4
|
+
|
|
5
|
+
DreamLoop's second patch tightens first-screen quality and introduces an explicit image-generation path:
|
|
6
|
+
|
|
7
|
+
- Reduced Dashboard hero title weight and spacing so the screenshot screen no longer visually overflows.
|
|
8
|
+
- Added subtle page-enter transitions and sidebar active-state motion, with `prefers-reduced-motion` support.
|
|
9
|
+
- Fixed the language toggle mojibake so Chinese renders as `中文`.
|
|
10
|
+
- Added optional image provider configuration: local visual cards by default, ComfyUI readiness checks, and a custom OpenAI-compatible cloud image endpoint.
|
|
11
|
+
- Added `dream_images` storage and `.dreamloop/assets/images/` output for generated image files.
|
|
12
|
+
- Added dream image web/API routes and `dreamloop image test`.
|
|
13
|
+
- Gallery now prefers real generated images and falls back to local visual memory cards.
|
|
14
|
+
|
|
15
|
+
## v0.1.1 - 2026-06-14
|
|
16
|
+
|
|
17
|
+
This patch focuses on first-impression reliability and the trust loop around interpretation quality:
|
|
18
|
+
|
|
19
|
+
- Fixed Dashboard hero overflow in English and Chinese so the README-ready screenshot no longer breaks at common desktop widths.
|
|
20
|
+
- Added `dreamloop doctor` for local setup checks covering data directory, SQLite, AI provider, Ollama/custom endpoints, and hidden key status.
|
|
21
|
+
- Added `dreamloop demo` to seed sample local dreams, mock analyses, and visual memory cards without requiring cloud AI.
|
|
22
|
+
- Added local feedback on interpretation reports: resonates, not accurate, and unsure.
|
|
23
|
+
- Added a `user_feedback` SQLite table plus API endpoints for feedback capture and summary.
|
|
24
|
+
- Added high-resonance theme summaries to Patterns.
|
|
25
|
+
- Added Settings privacy audit copy explaining what may leave the machine for cloud AI, weather sync, and future sync features.
|
|
26
|
+
|
|
27
|
+
## v0.1.0 - 2026-06-13
|
|
28
|
+
|
|
29
|
+
DreamLoop's first public release turns the project into a usable local-first dream journal:
|
|
30
|
+
|
|
31
|
+
- Six-page Web loop: Dashboard, Log, Detail, Patterns, Gallery, and Settings.
|
|
32
|
+
- Draft-first dream capture: analyze first, then save locally when the result looks useful.
|
|
33
|
+
- Detailed interpretation reports with optional reflection prompts, multiple hypotheses, reality-grounded questions, and backward-compatible structured output.
|
|
34
|
+
- Local SQLite storage under `.dreamloop/`, automatically ignored by Git.
|
|
35
|
+
- AI providers: Ollama, DeepSeek, OpenAI, custom OpenAI-compatible endpoints, and capture-only mode.
|
|
36
|
+
- Multilingual UI and per-language AI analysis for English and Chinese.
|
|
37
|
+
- Clickable pattern calendar, symbol trends, theme trends, local gallery cards, and detail pages.
|
|
38
|
+
- CLI entry point: `dreamloop init`, `dreamloop add`, `dreamloop web`, AI provider commands, imports, weather sync, and export.
|
|
39
|
+
- English and Chinese README files with privacy-first positioning and Obsidian-oriented roadmap.
|
|
40
|
+
|
|
41
|
+
Release assets:
|
|
42
|
+
|
|
43
|
+
- Real dashboard screenshot in `docs/assets/dashboard-screenshot.png`.
|
|
44
|
+
- Social preview image in `docs/assets/social-preview.png`.
|
|
45
|
+
- Reproducible demo recording guide in `docs/demo-recording.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dreamloop
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: A local-first AI dream journal for people who want to notice patterns in their dreams.
|
|
5
5
|
Project-URL: Homepage, https://github.com/saime428/DreamLoop
|
|
6
6
|
Project-URL: Repository, https://github.com/saime428/DreamLoop
|
|
@@ -38,6 +38,7 @@ Description-Content-Type: text/markdown
|
|
|
38
38
|
- Free with Ollama. Optional DeepSeek/OpenAI or custom OpenAI-compatible endpoints.
|
|
39
39
|
- CLI-first, forkable, and built for Obsidian-minded knowledge workers.
|
|
40
40
|
- Detailed dream analysis that favors emotions, real-life context, and multiple verifiable interpretations.
|
|
41
|
+
- Optional dream images are explicit opt-in: local cards by default, OpenAI-compatible cloud endpoints only when configured, and local ComfyUI reserved for workflow-backed generation.
|
|
41
42
|
|
|
42
43
|
```bash
|
|
43
44
|
git clone https://github.com/saime428/DreamLoop.git
|
|
@@ -51,6 +52,23 @@ DreamLoop is a local-first dream journal for people who want fast capture, priva
|
|
|
51
52
|
|
|
52
53
|
## Quick Start
|
|
53
54
|
|
|
55
|
+
### Five-minute PyPI demo
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pipx install dreamloop
|
|
59
|
+
dreamloop init
|
|
60
|
+
dreamloop demo
|
|
61
|
+
dreamloop web
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Expected result:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
DreamLoop seeds three local sample dreams, mock analyses, and visual memory cards.
|
|
68
|
+
The dashboard opens at http://127.0.0.1:8765 with Dashboard, Patterns, and Gallery populated.
|
|
69
|
+
No cloud AI is required for this demo.
|
|
70
|
+
```
|
|
71
|
+
|
|
54
72
|
### Run locally without AI
|
|
55
73
|
|
|
56
74
|
```bash
|
|
@@ -70,6 +88,8 @@ The local dashboard starts at http://127.0.0.1:8765.
|
|
|
70
88
|
AI analysis stays pending until you configure a provider.
|
|
71
89
|
```
|
|
72
90
|
|
|
91
|
+
You can also run `uv run dreamloop doctor` to check the data directory, SQLite, provider settings, Ollama connectivity, and hidden key status without printing secrets.
|
|
92
|
+
|
|
73
93
|
### Enable local Ollama analysis
|
|
74
94
|
|
|
75
95
|
```bash
|
|
@@ -143,6 +163,19 @@ Provider defaults:
|
|
|
143
163
|
- `custom`: any OpenAI-compatible `/v1` endpoint, including local gateways
|
|
144
164
|
- `none`: capture-only local journal mode
|
|
145
165
|
|
|
166
|
+
## Image Providers
|
|
167
|
+
|
|
168
|
+
DreamLoop does not call an image API by default. Detail pages always support a local visual-memory card, and real image generation is opt-in. In v0.1.2 the cloud OpenAI-compatible path can generate files; the local ComfyUI option is a configuration and connectivity checkpoint until a workflow is attached.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
dreamloop image use local_card
|
|
172
|
+
dreamloop image use local_comfyui --base-url http://127.0.0.1:8188
|
|
173
|
+
dreamloop image use cloud_openai_compatible --model image-model --base-url https://images.example/v1
|
|
174
|
+
dreamloop image test
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Generated image files are stored under `.dreamloop/assets/images/`; the database stores local metadata such as provider, model, prompt, path, status, and error. ComfyUI readiness can be checked with `dreamloop image test`, but prompt submission stays disabled until a workflow is configured.
|
|
178
|
+
|
|
146
179
|
## Web App Loop
|
|
147
180
|
|
|
148
181
|
The FastAPI/Jinja dashboard is intentionally lightweight:
|
|
@@ -151,8 +184,8 @@ The FastAPI/Jinja dashboard is intentionally lightweight:
|
|
|
151
184
|
- Log: draft-first dream capture, optional reflection prompts, and AI analysis before saving
|
|
152
185
|
- Detail: original dream text, detailed interpretation, reality-grounded questions, raw JSON, and an opt-in visual-memory entry point
|
|
153
186
|
- Patterns: clickable calendar, recurring symbols, theme trends, and filters back into Log
|
|
154
|
-
- Gallery:
|
|
155
|
-
- Settings: provider
|
|
187
|
+
- Gallery: real generated images when configured, otherwise local visual cards derived from saved dreams
|
|
188
|
+
- Settings: AI provider, image provider, launch notes, local data directory, and privacy status
|
|
156
189
|
|
|
157
190
|
DreamLoop is currently launched with `uv run dreamloop web` from a checkout or `dreamloop web` after package install. A native desktop app is a later packaging task; v0.1 stays lightweight so the local-first core remains easy to inspect and fork.
|
|
158
191
|
|
|
@@ -163,6 +196,10 @@ The same app exposes JSON endpoints:
|
|
|
163
196
|
- `GET /api/dreams/{id}`
|
|
164
197
|
- `GET /api/dreams/{id}/similar`
|
|
165
198
|
- `POST /api/analyze/pending`
|
|
199
|
+
- `POST /api/dreams/{id}/feedback`
|
|
200
|
+
- `POST /api/dreams/{id}/image`
|
|
201
|
+
- `GET /api/feedback/summary`
|
|
202
|
+
- `GET /api/images/status`
|
|
166
203
|
- `POST /api/import/ics`
|
|
167
204
|
- `POST /api/weather/sync`
|
|
168
205
|
- `GET /api/insights/heatmap`
|
|
@@ -175,6 +212,7 @@ The same app exposes JSON endpoints:
|
|
|
175
212
|
dreamloop.sqlite3
|
|
176
213
|
config.json
|
|
177
214
|
secrets.env
|
|
215
|
+
assets/images/
|
|
178
216
|
chroma/
|
|
179
217
|
exports/
|
|
180
218
|
imports/
|
|
@@ -182,13 +220,15 @@ The same app exposes JSON endpoints:
|
|
|
182
220
|
|
|
183
221
|
SQLite stores dreams, analysis results, imported calendar events, and synced weather. ChromaDB remains optional for richer vector search.
|
|
184
222
|
|
|
185
|
-
## PyPI
|
|
223
|
+
## PyPI Install
|
|
186
224
|
|
|
187
|
-
|
|
225
|
+
Install the published package with:
|
|
188
226
|
|
|
189
227
|
```bash
|
|
190
228
|
pipx install dreamloop
|
|
191
229
|
dreamloop init
|
|
230
|
+
dreamloop doctor
|
|
231
|
+
dreamloop demo
|
|
192
232
|
dreamloop add "I was flying above a dark ocean."
|
|
193
233
|
dreamloop web
|
|
194
234
|
```
|
|
@@ -212,6 +252,22 @@ dreamloop web
|
|
|
212
252
|
- Similar dreams and basic trends.
|
|
213
253
|
- Real screenshot assets, CI, changelog, and public release packaging.
|
|
214
254
|
|
|
255
|
+
### v0.1.1
|
|
256
|
+
|
|
257
|
+
- Dashboard hero overflow fix for English and Chinese layouts.
|
|
258
|
+
- `dreamloop doctor` for local setup checks without revealing secrets.
|
|
259
|
+
- `dreamloop demo` for a fast no-AI walkthrough with sample dreams and local visual cards.
|
|
260
|
+
- Local feedback buttons on interpretations: resonates, not accurate, unsure.
|
|
261
|
+
- Patterns summary for high-resonance themes.
|
|
262
|
+
|
|
263
|
+
### v0.1.2
|
|
264
|
+
|
|
265
|
+
- Dashboard first-screen polish for screenshot quality.
|
|
266
|
+
- Subtle page transitions with reduced-motion support.
|
|
267
|
+
- Optional image provider settings for local visual cards, ComfyUI readiness checks, and custom cloud image endpoints.
|
|
268
|
+
- Real generated image storage in `.dreamloop/assets/images/`.
|
|
269
|
+
- Gallery prefers real dream images and falls back to local visual cards.
|
|
270
|
+
|
|
215
271
|
### v0.2
|
|
216
272
|
|
|
217
273
|
- Markdown export.
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- Free with Ollama. Optional DeepSeek/OpenAI or custom OpenAI-compatible endpoints.
|
|
13
13
|
- CLI-first, forkable, and built for Obsidian-minded knowledge workers.
|
|
14
14
|
- Detailed dream analysis that favors emotions, real-life context, and multiple verifiable interpretations.
|
|
15
|
+
- Optional dream images are explicit opt-in: local cards by default, OpenAI-compatible cloud endpoints only when configured, and local ComfyUI reserved for workflow-backed generation.
|
|
15
16
|
|
|
16
17
|
```bash
|
|
17
18
|
git clone https://github.com/saime428/DreamLoop.git
|
|
@@ -25,6 +26,23 @@ DreamLoop is a local-first dream journal for people who want fast capture, priva
|
|
|
25
26
|
|
|
26
27
|
## Quick Start
|
|
27
28
|
|
|
29
|
+
### Five-minute PyPI demo
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pipx install dreamloop
|
|
33
|
+
dreamloop init
|
|
34
|
+
dreamloop demo
|
|
35
|
+
dreamloop web
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Expected result:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
DreamLoop seeds three local sample dreams, mock analyses, and visual memory cards.
|
|
42
|
+
The dashboard opens at http://127.0.0.1:8765 with Dashboard, Patterns, and Gallery populated.
|
|
43
|
+
No cloud AI is required for this demo.
|
|
44
|
+
```
|
|
45
|
+
|
|
28
46
|
### Run locally without AI
|
|
29
47
|
|
|
30
48
|
```bash
|
|
@@ -44,6 +62,8 @@ The local dashboard starts at http://127.0.0.1:8765.
|
|
|
44
62
|
AI analysis stays pending until you configure a provider.
|
|
45
63
|
```
|
|
46
64
|
|
|
65
|
+
You can also run `uv run dreamloop doctor` to check the data directory, SQLite, provider settings, Ollama connectivity, and hidden key status without printing secrets.
|
|
66
|
+
|
|
47
67
|
### Enable local Ollama analysis
|
|
48
68
|
|
|
49
69
|
```bash
|
|
@@ -117,6 +137,19 @@ Provider defaults:
|
|
|
117
137
|
- `custom`: any OpenAI-compatible `/v1` endpoint, including local gateways
|
|
118
138
|
- `none`: capture-only local journal mode
|
|
119
139
|
|
|
140
|
+
## Image Providers
|
|
141
|
+
|
|
142
|
+
DreamLoop does not call an image API by default. Detail pages always support a local visual-memory card, and real image generation is opt-in. In v0.1.2 the cloud OpenAI-compatible path can generate files; the local ComfyUI option is a configuration and connectivity checkpoint until a workflow is attached.
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
dreamloop image use local_card
|
|
146
|
+
dreamloop image use local_comfyui --base-url http://127.0.0.1:8188
|
|
147
|
+
dreamloop image use cloud_openai_compatible --model image-model --base-url https://images.example/v1
|
|
148
|
+
dreamloop image test
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Generated image files are stored under `.dreamloop/assets/images/`; the database stores local metadata such as provider, model, prompt, path, status, and error. ComfyUI readiness can be checked with `dreamloop image test`, but prompt submission stays disabled until a workflow is configured.
|
|
152
|
+
|
|
120
153
|
## Web App Loop
|
|
121
154
|
|
|
122
155
|
The FastAPI/Jinja dashboard is intentionally lightweight:
|
|
@@ -125,8 +158,8 @@ The FastAPI/Jinja dashboard is intentionally lightweight:
|
|
|
125
158
|
- Log: draft-first dream capture, optional reflection prompts, and AI analysis before saving
|
|
126
159
|
- Detail: original dream text, detailed interpretation, reality-grounded questions, raw JSON, and an opt-in visual-memory entry point
|
|
127
160
|
- Patterns: clickable calendar, recurring symbols, theme trends, and filters back into Log
|
|
128
|
-
- Gallery:
|
|
129
|
-
- Settings: provider
|
|
161
|
+
- Gallery: real generated images when configured, otherwise local visual cards derived from saved dreams
|
|
162
|
+
- Settings: AI provider, image provider, launch notes, local data directory, and privacy status
|
|
130
163
|
|
|
131
164
|
DreamLoop is currently launched with `uv run dreamloop web` from a checkout or `dreamloop web` after package install. A native desktop app is a later packaging task; v0.1 stays lightweight so the local-first core remains easy to inspect and fork.
|
|
132
165
|
|
|
@@ -137,6 +170,10 @@ The same app exposes JSON endpoints:
|
|
|
137
170
|
- `GET /api/dreams/{id}`
|
|
138
171
|
- `GET /api/dreams/{id}/similar`
|
|
139
172
|
- `POST /api/analyze/pending`
|
|
173
|
+
- `POST /api/dreams/{id}/feedback`
|
|
174
|
+
- `POST /api/dreams/{id}/image`
|
|
175
|
+
- `GET /api/feedback/summary`
|
|
176
|
+
- `GET /api/images/status`
|
|
140
177
|
- `POST /api/import/ics`
|
|
141
178
|
- `POST /api/weather/sync`
|
|
142
179
|
- `GET /api/insights/heatmap`
|
|
@@ -149,6 +186,7 @@ The same app exposes JSON endpoints:
|
|
|
149
186
|
dreamloop.sqlite3
|
|
150
187
|
config.json
|
|
151
188
|
secrets.env
|
|
189
|
+
assets/images/
|
|
152
190
|
chroma/
|
|
153
191
|
exports/
|
|
154
192
|
imports/
|
|
@@ -156,13 +194,15 @@ The same app exposes JSON endpoints:
|
|
|
156
194
|
|
|
157
195
|
SQLite stores dreams, analysis results, imported calendar events, and synced weather. ChromaDB remains optional for richer vector search.
|
|
158
196
|
|
|
159
|
-
## PyPI
|
|
197
|
+
## PyPI Install
|
|
160
198
|
|
|
161
|
-
|
|
199
|
+
Install the published package with:
|
|
162
200
|
|
|
163
201
|
```bash
|
|
164
202
|
pipx install dreamloop
|
|
165
203
|
dreamloop init
|
|
204
|
+
dreamloop doctor
|
|
205
|
+
dreamloop demo
|
|
166
206
|
dreamloop add "I was flying above a dark ocean."
|
|
167
207
|
dreamloop web
|
|
168
208
|
```
|
|
@@ -186,6 +226,22 @@ dreamloop web
|
|
|
186
226
|
- Similar dreams and basic trends.
|
|
187
227
|
- Real screenshot assets, CI, changelog, and public release packaging.
|
|
188
228
|
|
|
229
|
+
### v0.1.1
|
|
230
|
+
|
|
231
|
+
- Dashboard hero overflow fix for English and Chinese layouts.
|
|
232
|
+
- `dreamloop doctor` for local setup checks without revealing secrets.
|
|
233
|
+
- `dreamloop demo` for a fast no-AI walkthrough with sample dreams and local visual cards.
|
|
234
|
+
- Local feedback buttons on interpretations: resonates, not accurate, unsure.
|
|
235
|
+
- Patterns summary for high-resonance themes.
|
|
236
|
+
|
|
237
|
+
### v0.1.2
|
|
238
|
+
|
|
239
|
+
- Dashboard first-screen polish for screenshot quality.
|
|
240
|
+
- Subtle page transitions with reduced-motion support.
|
|
241
|
+
- Optional image provider settings for local visual cards, ComfyUI readiness checks, and custom cloud image endpoints.
|
|
242
|
+
- Real generated image storage in `.dreamloop/assets/images/`.
|
|
243
|
+
- Gallery prefers real dream images and falls back to local visual cards.
|
|
244
|
+
|
|
189
245
|
### v0.2
|
|
190
246
|
|
|
191
247
|
- Markdown export.
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# DreamLoop
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
[](https://github.com/saime428/DreamLoop/actions/workflows/ci.yml)
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
**梦会重复说话,DreamLoop 帮你在本地听见。**
|
|
10
|
+
|
|
11
|
+
- 完全本地优先。梦境数据默认不离开你的机器。
|
|
12
|
+
- 支持 Ollama 零成本运行;需要云模型时再显式配置 DeepSeek、OpenAI 或 Custom OpenAI-compatible。
|
|
13
|
+
- CLI 优先、易 fork,适合开发者和 Obsidian 式知识工作流。
|
|
14
|
+
- 解梦更重视情绪、现实处境、多种可验证解释,而不是只给一两句玄学摘要。
|
|
15
|
+
- 梦境图像默认不调用外部 API;先生成本地视觉卡片,需要时再显式接入 OpenAI-compatible 云端图像接口,ComfyUI 暂作为工作流生图的配置预留。
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
git clone https://github.com/saime428/DreamLoop.git
|
|
19
|
+
cd DreamLoop
|
|
20
|
+
uv sync --extra dev
|
|
21
|
+
uv run dreamloop init
|
|
22
|
+
uv run dreamloop web
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
DreamLoop 是一个面向梦境记录爱好者、开发者和知识工作者的本地优先 AI 梦境日志。它不是云端日记应用,而是一个可以检查、扩展、fork 的个人工具。
|
|
26
|
+
|
|
27
|
+
## 快速开始
|
|
28
|
+
|
|
29
|
+
### 5 分钟体验,不需要 AI
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pipx install dreamloop
|
|
33
|
+
dreamloop init
|
|
34
|
+
dreamloop demo
|
|
35
|
+
dreamloop web
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
预期结果:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
DreamLoop 会写入 3 条本地示例梦境、mock 分析和本地视觉记忆卡片。
|
|
42
|
+
Dashboard、Patterns、Gallery 会立刻有内容可看。
|
|
43
|
+
这个 demo 不需要云模型,也不会上传梦境。
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 从源码运行
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
git clone https://github.com/saime428/DreamLoop.git
|
|
50
|
+
cd DreamLoop
|
|
51
|
+
uv sync --extra dev
|
|
52
|
+
uv run dreamloop init
|
|
53
|
+
uv run dreamloop add "我梦见海底有一扇蓝色的门。"
|
|
54
|
+
uv run dreamloop web
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
预期结果:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
DreamLoop 把梦境写入 .dreamloop/dreamloop.sqlite3。
|
|
61
|
+
本地 Dashboard 在 http://127.0.0.1:8765 启动。
|
|
62
|
+
未配置模型时,AI 分析会保持 pending,不影响记录和浏览。
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
如果你不确定本机环境是否就绪,可以运行:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
dreamloop doctor
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
它会检查数据目录、SQLite、AI provider、Ollama 连接和密钥配置状态,但不会打印任何密钥。
|
|
72
|
+
|
|
73
|
+
## 为什么做它
|
|
74
|
+
|
|
75
|
+
很多梦境类 App 把 AI 分析做成订阅功能,也默认把非常私密的文本送进云端。DreamLoop 的方向相反:数据先在本地落地,AI 是可替换层,用户明确选择后才使用云模型。
|
|
76
|
+
|
|
77
|
+
默认推荐路径是 Ollama,本机即可零成本分析。DeepSeek、OpenAI 和 Custom OpenAI-compatible 端点都是可选增强,适合想要更强模型或自建网关的人。
|
|
78
|
+
|
|
79
|
+
## 六页闭环
|
|
80
|
+
|
|
81
|
+
DreamLoop v0.1 的产品逻辑是一个完整闭环:
|
|
82
|
+
|
|
83
|
+
- Dashboard 总览:作为首页和 README 截图位,展示 AI 洞察、热力图、统计摘要和最近梦境。
|
|
84
|
+
- Log 录入:高频输入页,先写梦境,也可补充醒来感受、现实关联和个人联想,再点击 AI 分析。
|
|
85
|
+
- Detail 分析:查看梦境原文、详细解梦、现实问题、自我验证问题、原始 JSON,并能给每条解释打反馈。
|
|
86
|
+
- Patterns 规律:可点击梦境日历、符号趋势、主题趋势和高共鸣主题,图表能跳回 Log 过滤记录。
|
|
87
|
+
- Gallery 记忆:优先展示真实生成图像;没有配置图像 provider 时展示本地视觉卡片。
|
|
88
|
+
- Settings 信任托底:配置 AI 提供方、图像提供方、查看本地数据目录、确认密钥不回显,并阅读隐私审计说明。
|
|
89
|
+
|
|
90
|
+
## 无 AI 模式也能用
|
|
91
|
+
|
|
92
|
+
DreamLoop 的核心能力不依赖云模型:
|
|
93
|
+
|
|
94
|
+
- 你可以记录、浏览、删除梦境。
|
|
95
|
+
- 可以导入日历、同步天气、查看基础统计。
|
|
96
|
+
- 可以运行 `dreamloop demo` 体验完整页面状态。
|
|
97
|
+
- AI 只在你配置 provider 并明确触发分析时运行。
|
|
98
|
+
|
|
99
|
+
## 隐私承诺
|
|
100
|
+
|
|
101
|
+
- 梦境文本存储在 `.dreamloop/dreamloop.sqlite3`。
|
|
102
|
+
- `.dreamloop/` 会自动写入 `.gitignore`,避免误提交私密数据。
|
|
103
|
+
- 默认不会上传梦境。
|
|
104
|
+
- Ollama 路径保持本机分析。
|
|
105
|
+
- DeepSeek/OpenAI/Custom 只有在你显式配置后才会使用。
|
|
106
|
+
- API Key 写入 `.dreamloop/secrets.env`,不会进入源码、README、测试或页面 HTML。
|
|
107
|
+
|
|
108
|
+
## AI Provider
|
|
109
|
+
|
|
110
|
+
可用命令:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
dreamloop ai status
|
|
114
|
+
dreamloop ai use ollama --model qwen3:8b
|
|
115
|
+
dreamloop ai use deepseek --model deepseek-v4-flash
|
|
116
|
+
dreamloop ai use openai --model gpt-4.1-mini
|
|
117
|
+
dreamloop ai use custom --model local-model --base-url http://localhost:1234/v1
|
|
118
|
+
dreamloop ai test
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Provider 说明:
|
|
122
|
+
|
|
123
|
+
- `ollama`:本地优先,默认 `http://localhost:11434/v1`,推荐零成本路径。
|
|
124
|
+
- `deepseek`:可选云模型,默认 `deepseek-v4-flash`。
|
|
125
|
+
- `openai`:可选 OpenAI 云模型。
|
|
126
|
+
- `custom`:任意 OpenAI-compatible `/v1` 端点,包括本地网关。
|
|
127
|
+
- `none`:只记录和浏览,不做 AI 分析。
|
|
128
|
+
|
|
129
|
+
## 图像 Provider
|
|
130
|
+
|
|
131
|
+
DreamLoop 默认不会调用图像 API。详情页始终可以生成本地视觉记忆卡片;真实图像生成需要你显式配置。v0.1.2 中,OpenAI-compatible 云端接口可以生成文件;本地 ComfyUI 先作为配置和连通性检测入口,等绑定 workflow 后再提交生图任务。
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
dreamloop image use local_card
|
|
135
|
+
dreamloop image use local_comfyui --base-url http://127.0.0.1:8188
|
|
136
|
+
dreamloop image use cloud_openai_compatible --model image-model --base-url https://images.example/v1
|
|
137
|
+
dreamloop image test
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
真实图像文件会写入 `.dreamloop/assets/images/`。数据库只保存 provider、model、prompt、路径、状态和错误信息等本地元数据。ComfyUI 可以用 `dreamloop image test` 检查服务是否在线,但在配置 workflow 前不会启用真实生图按钮。
|
|
141
|
+
|
|
142
|
+
## 常见排查
|
|
143
|
+
|
|
144
|
+
- 页面没有分析:先运行 `dreamloop doctor`,确认 provider 是否 ready。
|
|
145
|
+
- Ollama 不可用:确认已启动 Ollama,并执行 `ollama pull qwen3:8b`。
|
|
146
|
+
- 不想用云:选择 `dreamloop ai use ollama --model qwen3:8b` 或 `dreamloop ai use none`。
|
|
147
|
+
- 页面没内容:运行 `dreamloop demo` 添加本地示例数据。
|
|
148
|
+
- 需要给别人看:运行 `dreamloop web` 后打开 `http://127.0.0.1:8765`。
|
|
149
|
+
|
|
150
|
+
## CLI 与 Obsidian 路线
|
|
151
|
+
|
|
152
|
+
DreamLoop 保持 CLI 优先:
|
|
153
|
+
|
|
154
|
+
```text
|
|
155
|
+
$ dreamloop add "A door opened under the sea."
|
|
156
|
+
saved locally -> .dreamloop/dreamloop.sqlite3
|
|
157
|
+
analysis -> pending
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Obsidian 路线图:
|
|
161
|
+
|
|
162
|
+
- v0.2:Markdown export,带 frontmatter 和分析摘要。
|
|
163
|
+
- v0.3:Obsidian vault sync。
|
|
164
|
+
- v0.4:社区插件,支持捕获、双链和本地 Dashboard 启动。
|
|
165
|
+
|
|
166
|
+
## 本地数据模型
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
.dreamloop/
|
|
170
|
+
dreamloop.sqlite3
|
|
171
|
+
config.json
|
|
172
|
+
secrets.env
|
|
173
|
+
assets/images/
|
|
174
|
+
chroma/
|
|
175
|
+
exports/
|
|
176
|
+
imports/
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
SQLite 保存梦境、分析结果、用户反馈、日历事件和天气摘要。ChromaDB 是可选增强,用于后续更强的相似梦境和聚类能力。
|
|
180
|
+
|
|
181
|
+
## 路线图
|
|
182
|
+
|
|
183
|
+
### v0.1
|
|
184
|
+
|
|
185
|
+
- CLI 和轻量 Web 六页闭环。
|
|
186
|
+
- SQLite 本地存储。
|
|
187
|
+
- Ollama 优先的 provider 设置。
|
|
188
|
+
- 可选 DeepSeek/OpenAI/Custom 结构化分析。
|
|
189
|
+
- 可选输入预设和更长的现实关联解梦报告。
|
|
190
|
+
- 可点击热力图、符号趋势、主题趋势、详情页分析。
|
|
191
|
+
- Gallery 最小视觉记忆闭环。
|
|
192
|
+
- 真实截图资产、CI、CHANGELOG 和公开发布包装。
|
|
193
|
+
|
|
194
|
+
### v0.1.1
|
|
195
|
+
|
|
196
|
+
- 修复 Dashboard 首屏撑爆。
|
|
197
|
+
- 增加 `dreamloop doctor` 和 `dreamloop demo`。
|
|
198
|
+
- 增加解梦解释反馈:有共鸣、不准、不确定。
|
|
199
|
+
- Patterns 展示高共鸣主题。
|
|
200
|
+
- Settings 增加隐私审计说明。
|
|
201
|
+
|
|
202
|
+
### v0.1.2
|
|
203
|
+
|
|
204
|
+
- 修复 Dashboard 首屏视觉撑爆。
|
|
205
|
+
- 增加轻量页面切换动效,并支持 reduced motion。
|
|
206
|
+
- 增加本地视觉卡片、ComfyUI 连通性检查和自定义云端图像接口配置。
|
|
207
|
+
- 真实图像保存到 `.dreamloop/assets/images/`。
|
|
208
|
+
- Gallery 优先展示真实梦境图像,没有图像时回退到本地视觉卡片。
|
|
209
|
+
|
|
210
|
+
### v0.2
|
|
211
|
+
|
|
212
|
+
- Markdown/Obsidian 导出。
|
|
213
|
+
- CLI GIF/cast 传播资产。
|
|
214
|
+
- ChromaDB 聚类与 recurring theme insight。
|
|
215
|
+
- 备份和恢复流程。
|
|
216
|
+
|
|
217
|
+
### v0.3+
|
|
218
|
+
|
|
219
|
+
- Obsidian vault sync。
|
|
220
|
+
- Obsidian community plugin。
|
|
221
|
+
- 本地保存的 opt-in 梦境插画。
|
|
222
|
+
- 原生桌面壳或更顺手的本地启动器。
|
|
223
|
+
|
|
224
|
+
## 贡献
|
|
225
|
+
|
|
226
|
+
这个项目刻意保持小而可 fork。适合贡献的方向:
|
|
227
|
+
|
|
228
|
+
- 改进本地模型 prompt
|
|
229
|
+
- 补充 `.ics` fixture
|
|
230
|
+
- 打磨 Dashboard 可访问性
|
|
231
|
+
- 扩展 Markdown/Obsidian 导出
|
|
232
|
+
- 制作终端演示资产
|
|
233
|
+
|
|
234
|
+
运行测试:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
uv run --extra dev pytest
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
构建:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
uv build
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## License
|
|
247
|
+
|
|
248
|
+
MIT
|