Giter VIP home page Giter VIP logo

cytev2's Introduction

🧐 Cyte

🚧 Work in progress - this is beta software, use with care

A background screen recorder for easy history search. If you choose to supply an OpenAI key, or a local language model like LLaMA, it can act as a knowledge base. Be aware that transcriptions will be sent to OpenAI when you chat if you provide an OpenAI API key.

Cyte Screenshot

Uses

🧠 Train-of-thought recovery

Autosave isn’t always an option, in those cases you can easily recover your train of thought, a screenshot to use as a stencil, or extracted copy from memories recorded.

🌏 Search across applications

A lot of research involves collating information from multiple sources; internal tools like confluence, websites like wikipedia, pdf and doc files etc; When searching for something we don’t always remember the source (or it's at the tip of your tongue)

Features

  • When no OpenAI key is supplied, and browser context awareness is disabled, Cyte is completely private, data is stored on disk only, no outside connections are made
  • Pause/Restart recording easily
  • Set applications that are not to be recorded (while taking keystrokes)
  • Chat your data; ask questions about work you've done

Development/Contributing

  • Generally, try to follow the surrounding style, but it's fine if you don't, linters can fix that stuff
  • Fork this repository, make any changes, and when you're happy, submit a PR
  • I prefer to keep documentation in the code (that's the most likely place it won't go too stale IMO)
  • If you have a feature suggestion, please submit it through the website and I'll triage it and add it to the planned features below (which is also a rough roadmap)
  • mainline is latest - if you want a 'stable' (as stable as pre-release can be) branch use a tag

Issues

  • App sandbox is disabled to allow file tracking; instead should request document permissions
  • Some results from searching fail to highlight the result snippet
  • Keyboard navigation events: Return to open selected episode, escape to pop timeline view
  • Apply object recognition per frame
  • Test automation
  • Unit tests for Memory
  • Sync between Cytes
  • Chat this episode
  • Split episodes
  • Incomplete features from the table below, or ports for Android or Linux

Feature parity/Roadmap

In general, features further down the table are planned for future releases, in priority order. To bump a feature, put in a request through the website.

Feature macOS iOS Windows
Automatic recording βœ… ❌1 βœ…
Full text search βœ… βœ… βœ…
Rolling deletion βœ… βœ… βœ…
Favorites βœ… βœ… βœ…
Display source icons βœ… βœ… βœ…
Date range filter βœ… βœ… βœ…
Application filter βœ… βœ… βœ…
Select save location βœ… βœ… βœ…
Block selected applications βœ… βœ… βœ…
OpenAI Chat βœ… βœ… βœ…
Batch delete βœ… βœ… βœ…
Single delete βœ… βœ… βœ…
Timelapse βœ… βœ… βœ…
HEVC compression βœ… βœ… βœ…
LLaMa Chat βœ… βœ… βœ…
Highlight search text in preview βœ… βœ… ❌
Recording status indicator ❌ ❌ ❌
URL tracking βœ… ❌ ❌
Block selected websites βœ… ❌ ❌
Semantic search βœ… βœ… ❌
Menu bar shortcuts βœ… βœ… ❌
Encryption βœ…2 βœ…2 ❌
File tracking βœ…3 ❌ ❌
Display Recomposition βœ… ❌ ❌
Reporting ❌ ❌ ❌
Sync ❌ ❌ ❌
Export ❌ ❌ ❌
Object Recognition ❌ ❌ ❌

1 There is currently no API on iOS that allows this (except when jailbroken)

2 When using the encryption branch

3 When enabled via plist

Credits

Thanks to these great open source projects:

  • DiffMatchPatch: Used to differentiate unchanged and changed text from OCR (macOS)
  • SwiftDiff: Used to differentiate unchanged and changed text from OCR (iOS)
  • AXSwift: Used for browser context awareness
  • KeychainSwift: Used to securely store API keys in the Apple Keychain Manager
  • SQLite.swift: Used for the text search functionality
  • XCGLogger: Used to save debug logs to disk
  • llama.cpp: Used to load and run LLMs for chat when a local model is provided
  • MacPaw OpenAI: Used to run LLMs for chat when OpenAI API enabled (macOS/iOS)
  • SimpleRecorder: Used as a seed for the windows version
  • OpenAI-API-dotnet: Used to run LLMs for chat when OpenAI API enabled (windows)
  • Diff.Match.Patch: Used to differentiate unchanged and changed text from OCR (windows)
  • LLamaSharp: Used to load and run LLMs for chat when a local model is provided (windows)

cytev2's People

Contributors

shaunnarayan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.