Skip to content

AizenPT/CircNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

CircNode

Short Description/Purpose

CircNode is a lightweight Android application designed to capture circumstantial input (user context), enrich user text input with this metadata, and forward it to a remote Large Language Model (LLM) API for more context-aware interactions. The primary goal is to provide a simple layer that makes LLM interactions more attuned to the user's immediate environment and recent interaction patterns.

Core Features (MVP)

  • Time-Awareness Module: Automatically tracks the time delay between consecutive user inputs and includes the current timestamp with each message. This helps the LLM understand the pace and timing of the conversation.
  • Basic Device Context: Detects the current state of the device screen (on/off) and the general time of day (morning, afternoon, evening, night).
  • Simple Logic/Emotion Analyzer: Performs a basic keyword-based analysis on the user's text input to determine if it leans towards "logical" or "emotional" content.
  • LLM API Integration:
    • Allows users to securely configure their own LLM API key and endpoint URL via a dedicated Settings screen.
    • Composes a detailed prompt that prefixes the user's raw input with the captured circumstantial context.
    • Sends the enriched prompt to the configured LLM API and displays the received response.
  • Minimal UI: Features a single main screen for user input, LLM response display, a clear view of the captured context being sent, and access to settings.

How to Set Up API

To use CircNode, you need to have access to an LLM API (like OpenAI, OpenRouter, or any other compatible service).

  1. Obtain API Key and Endpoint URL: Get your API key and the specific endpoint URL from your chosen LLM provider.
  2. Configure in CircNode:
    • Launch the CircNode app.
    • Navigate to the "Settings" screen (usually via a settings icon or button).
    • Enter your API Key and the complete API Endpoint URL into the respective fields.
    • Save the settings.

CircNode will then use these credentials to send prompts. The prompt sent to the LLM will be structured as follows:

Circumstantial Context:
- Input Delay: <calculated_delay>s
- Time: <current_time_of_day>
- Screen State: <on/off>
- Emotional Bias: <logical/emotional>
- Vision Context: null (placeholder for future feature)

User: <your_actual_text_input>

How to Build/Run

  1. Clone this repository to your local machine.
  2. Open the CircNode project in Android Studio (latest stable version recommended).
  3. Allow Gradle to sync and download necessary dependencies.
  4. Run the app on an Android Virtual Device (Emulator) or a physical Android device.
    • Minimum OS: Android 10 (API Level 29).

Future Features (Planned)

  • Vision Context Module: Integration with device camera or image analysis to understand visual surroundings or content.
  • Microphone State Detection / Voice Interaction Analysis: Analyzing microphone input or state for additional context (e.g., noisy environment, user speaking).
  • Circumstantial Directive System: An abstract layer to trigger directives like "pause interaction," "re-engage user," or "rephrase last output" based on combined circumstantial cues (e.g., long delays, specific visual input, or detected user tone).

Architecture Overview

  • Language: Written entirely in Kotlin.
  • Design: Follows a modular design pattern with distinct components for:
    • Contextual Modules (Time, Device, Emotion)
    • Context Aggregator
    • LLM API Service
  • Android Target: Targets Android SDK 10 (API Level 29) and above.
  • Build System: Uses Gradle with the Kotlin DSL (build.gradle.kts).
  • Networking: Utilizes OkHttp for efficient network communication with the LLM API.

About

circumstantial input layer for interacting with a remote LLM via API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages