8000 feat: assets and people, not recordings and speakers, unless it is audio by adeelahmad · Pull Request #273 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ body:
attributes:
label: Steps to reproduce
placeholder: |
1. Open a recording in a namespace with …
1. Open an asset in a namespace with …
2. Click …
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!--- Title: a Conventional Commit, e.g. `feat(chat): answer from the selected recordings` or `fix!: drop the v1 API`.
<!--- Title: a Conventional Commit, e.g. `feat(chat): answer from the selected assets` or `fix!: drop the v1 API`.
It becomes this PR's line in the changelog and decides the next version (CONTRIBUTING.md). -->

## Description
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,13 @@ The backend (`fastapi_backend`) and the frontend (`nextjs-frontend`) are version
anytopdf, telemetry), takes the administrator password when installing needs it, then installs with live progress
and opens Lens's setup page. Its answers become ordinary settings in Lens, editable there
([Get started](docs/get-started.md#the-web-installer)). `LENS_WIZARD=0` keeps the install in the terminal.
- **Assets, not recordings.** The web app, the assistant, the API descriptions and the docs now call an item of any
kind an asset (or a document, when it is one), and keep "recording" for audio and video. API paths, MCP tool names
and stored data are unchanged.
- **People, not speakers.** Everyone Lens recognises by voice or face is a person, on the People page, in the graph and
for the assistant; names found in text are named people. An item's text is its text, not its transcript, unless it
came from speech, and search says where words are found, not where they were said. The admin's account list is now
Members. "Speaker" stays for voices in audio (who spoke when).

### Features

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Use [Conventional Commits](https://www.conventionalcommits.org/): `type(optional
the colon for a breaking change.

```
feat(chat): answer from the selected recordings
feat(chat): answer from the selected assets
fix(worker): retry a stalled transcription
docs: explain the Synology package
feat(api)!: drop the v1 recordings endpoint
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ what their person may read.

Everything below is built and merged. Work that is still in a pull request is listed under [In progress](#in-progress).

- **Connect your agents.** Lens is an MCP server (`/mcp`): agents search, read transcripts and notes, cite exact
- **Connect your agents.** Lens is an MCP server (`/mcp`): agents search, read assets' text and notes, cite exact
moments, find similar content, explore the graph with Cypher or SPARQL or browse it as folders and files, suggest
topics and graph changes, write notes and make podcasts. They sign in with OAuth and see only what their person may
read; the account menu copies the MCP address in one click. The same folders and files can be mounted read-only over
Expand Down Expand Up @@ -93,17 +93,17 @@ Everything below is built and merged. Work that is still in a pull request is li
assistant, which can also use that browser on the sites you allow (open, read, click, type), asking before anything
that sends, deletes, buys or posts. ([Web clipper](docs/web-clipper.md),
[the assistant in your browser](docs/browser-assistant.md))
- **Understand it.** Transcription and speaker recognition (long recordings go to a speech provider in pieces that
- **Understand it.** Transcription, people recognised by voice (long recordings go to a speech provider in pieces that
fit its limits), text on screen and in scans, faces (off by default), NSFW pictures flagged by a model on your own
server (off by default, per namespace), entities and topics in a knowledge graph you can explore, query with Cypher
or SPARQL, and see as it was at any version. Find what is most like a passage, a resource, a topic or an entity, in
or SPARQL, and see as it was at any version. Find what is most like a passage, an asset, a topic or an entity, in
a Similar tab on every resource or by selecting text anywhere, and, with anytopdf, photos by what they show.
([Graph](docs/graph.md), [similar content](docs/processing.md#similar-content),
[graph history](docs/graph-history.md), [topics](docs/topics.md), [video](docs/video.md),
[NSFW classification](docs/nsfw.md), [long recordings](docs/speech-providers.md#long-recordings))
- **Learn from it.** Make a two-host podcast episode about what you pick, every claim cited and checked against its
source, read aloud in two voices. Keep notes beside every recording, entity and topic, written by you or the
assistant, and export a resource or a collection as an evidence PDF with everything Lens found about it, or the
source, read aloud in two voices. Keep notes beside every asset, entity and topic, written by you or the
assistant, and export an asset or a collection as an evidence PDF with everything Lens found about it, or the
parts you pick. ([Podcasts](docs/podcasts.md),
[notes](docs/notes.md), [evidence PDFs](docs/api.md#evidence-pdfs))
- **Automate it.** Pipelines and workflows on a canvas, routines on a schedule, batch runs over a collection, and
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ next release, and you're credited in its notes unless you'd rather not be.

## What counts

Lens keeps people's recordings, transcripts and documents, so these matter most:
Lens keeps people's documents, recordings, photos and messages, so these matter most:

- reading or changing anything in a namespace you have no role in (the API should answer 404 there), or doing more
than your role allows;
Expand Down
4 changes: 2 additions & 2 deletions ci/clicks/journeys.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ export const JOURNEYS = [
async run(ctx) {
const { page, meter } = ctx;
await go(ctx, "Search");
await meter.type(page.getByRole("searchbox", { name: "Search transcripts" }), "raspberry", "the word");
await meter.type(page.getByRole("searchbox", { name: "Search your assets" }), "raspberry", "the word");
await meter.press("Enter", "Enter to search");
await page.getByRole("main").getByText(/Raspberry Pi can run Lens/).first().waitFor();
},
Expand All @@ -228,7 +228,7 @@ export const JOURNEYS = [
async run(ctx) {
const { page, meter } = ctx;
await jumpTo(ctx);
await meter.type(page.getByRole("combobox", { name: /^Search recordings/ }), "welcome", "part of its title");
await meter.type(page.getByRole("combobox", { name: /^Search assets/ }), "welcome", "part of its title");
await page.getByRole("option", { name: /Welcome back/ }).first().waitFor();
await meter.press("Enter", "Enter to open");
await page.waitForURL(/\/(recordings|resources)\//);
Expand Down
Loading
Loading
0