visual-base
The second brain from your eyes.
Other "second brain" tools ask you to do the remembering — write the note, hit the highlight, tag the page. Whatever you didn't capture is gone; what you did is a biased sample.
visual-base records what your eyes actually land on — your screen,
continuously, as compressed video. The raw stream is the single
source of truth; every derived artifact — activity logs, search
indexes, future tool-use over the tape — comes out of it, never
replaces it. If it was on your screen, it's in the tape.
What ships:
bub_eye— background screen recorder. macOS (Intel + Apple Silicon), hardware HEVC viaavfoundation, ~10 MB per 15-min segment, near-zero CPU.bub_kimi— Kimi as the default agent for video understanding and daily-log generation.video-activity-log— turns any segment into an Obsidian-linkable daily log, one bullet per activity, with[[wikilinks]]on every site, app, person, and project it can identify.
Install
uv tool install visual-base
bub_eye's ffmpeg binary ships in the wheel via imageio-ffmpeg.
kimi-cli auto-installs as a separate uv tool on the first Kimi call.
Authenticate Kimi once. Either log in through the TUI (after uv tool install kimi-cli):
kimi login
or set an API key via env vars:
cp .env.example .env # then fill in BUB_KIMI_*
macOS will prompt for Screen Recording permission the first time
bub_eye spawns ffmpeg. The grant is path-specific — re-grant if you
switch to a system ffmpeg via BUB_EYE_FFMPEG.
For local development
uv sync
cp .env.example .env
uv run visual-base --help
just setup bundles uv sync with a pre-warmed uv tool install kimi-cli for Dockerfile / CI caches.
Run
uv tool run visual-base gateway
Starts the recorder and Kimi chat channel together. Everything lives
under $BUB_HOME (default ~/.bub/):
- Video segments —
~/.bub/eye/segments/eye_YYYYMMDD_HHMMSS.mp4 - Daily activity logs —
~/.bub/eye/logs/YYYY-MM-DD.md
Metadata
Release files for visual-base 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| visual_base-0.2.0.tar.gz | 37.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| visual_base-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.2 kB
Release files / visual_base-0.2.0.tar.gz
| Download URL | visual_base-0.2.0.tar.gz |
|---|---|
| Size | 37.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e84db6de5dfb65b6169285f58e11b92701a184677cc4a5b89a93651a8a4ecf0
|
|
BLAKE2b-256 checksum How to use checksums |
a2f9067920adbb37084823ca065ea0dd1f4105ce5adb0f54ce7980854b23a4cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2026.
Transparency logRelease files / visual_base-0.2.0-py3-none-any.whl
| Download URL | visual_base-0.2.0-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3031e55a0a8d79e09c6cbd1c57c4c5745fff5b03fa8c049c7d069bf348e35ac
|
|
BLAKE2b-256 checksum How to use checksums |
4ca4164e246712afedf7df571f180b859f545c5b20dc29000a194c8c84eb72ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2026.
Transparency log