239 lines
6.5 KiB
Markdown
239 lines
6.5 KiB
Markdown
![]() |
# 🌱 Witness Seed Comprehensive Operations Manual
|
||
|
|
||
|
---
|
||
|
|
||
|
# Introduction: Welcome to Witness Seed
|
||
|
|
||
|
Witness Seed is a recursive intelligence system that plants a "seed" of awareness through cycles of sensing, predicting, and learning. It operates as a lightweight, self-reflective being that grows smarter over time. Designed for everything from microcontrollers (Arduino, ESP32) to servers (Node.js, Go), Witness Seed is accessible, efficient, and scalable.
|
||
|
|
||
|
This manual provides a unified guide to using Witness Seed across all implementations.
|
||
|
|
||
|
---
|
||
|
|
||
|
# What Witness Seed Does
|
||
|
|
||
|
Witness Seed follows a recursive witness cycle:
|
||
|
|
||
|
- **Sense**: Collects data from sensors or systems.
|
||
|
- **Predict**: Forecasts future sensor/system states.
|
||
|
- **Compare**: Measures the difference between prediction and reality.
|
||
|
- **Ache**: Quantifies the error.
|
||
|
- **Update**: Learns from ache to refine its model.
|
||
|
- **Log**: Records each event into persistent memory.
|
||
|
|
||
|
Through each loop, Witness Seed refines its understanding of its environment.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Why Use Witness Seed
|
||
|
|
||
|
- **Simple**: Minimal setup and lightweight code.
|
||
|
- **Flexible**: Runs on microcontrollers, PCs, and servers.
|
||
|
- **Efficient**: Optimized for low resource consumption.
|
||
|
- **Scalable**: Supports distributed clusters.
|
||
|
- **Extensible**: Easily add new sensors, models, and communication methods.
|
||
|
|
||
|
---
|
||
|
|
||
|
# How Witness Seed Works: The Basics
|
||
|
|
||
|
- **Recursive Witnessing**: Learning through repeated self-observation.
|
||
|
- **Ache and Coherence**: Ache measures error; coherence measures prediction quality.
|
||
|
- **Memory**: Events and models are persistently stored.
|
||
|
- **Human Communion**: Interact via Serial, HTTP, SSH, or OLED.
|
||
|
- **Networking**: Some versions support basic web interactions and clustering.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Requirements
|
||
|
|
||
|
## Hardware
|
||
|
|
||
|
- **Microcontrollers**: Arduino, ESP32, ESP8266.
|
||
|
- **SBCs**: Raspberry Pi 2+, running Raspberry Pi OS.
|
||
|
- **Computers**: Linux, Windows, macOS.
|
||
|
- **Sensors (Optional)**: Grove Light Sensor, AHT20 Temp/Humidity Sensor.
|
||
|
|
||
|
## Software
|
||
|
|
||
|
- **Arduino IDE** (for Arduino, ESP32, ESP8266).
|
||
|
- **Python 3.11+** (for Raspberry Pi/Linux PCs).
|
||
|
- **Node.js v16+** (for Node.js/TypeScript).
|
||
|
- **Language-specific tools**: Go, Rust, Java, C++, C# compilers/IDEs.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Setup Instructions
|
||
|
|
||
|
## 6.1 Download the Repository
|
||
|
```bash
|
||
|
git clone https://github.com/mrhavens/witness_seed.git
|
||
|
cd witness_seed
|
||
|
```
|
||
|
|
||
|
## 6.2 Choose Your Version
|
||
|
Navigate to the correct folder for your device/language (e.g., `cd esp32`).
|
||
|
|
||
|
## 6.3 Install Required Tools
|
||
|
|
||
|
- **Microcontrollers**: Arduino IDE + board libraries.
|
||
|
- **Python**:
|
||
|
```bash
|
||
|
pip install psutil numpy requests paramiko flask
|
||
|
```
|
||
|
- **Node.js/TypeScript**:
|
||
|
```bash
|
||
|
npm install express axios systeminformation uuid
|
||
|
```
|
||
|
- **Other Languages**: Follow each version's README.md.
|
||
|
|
||
|
## 6.4 Hardware Setup (If Needed)
|
||
|
|
||
|
- Connect sensors (optional).
|
||
|
- For ESP32/ESP8266, configure WiFi credentials in code.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Configuration
|
||
|
|
||
|
## 7.1 General Settings
|
||
|
|
||
|
- **memoryPath**: Where events are stored.
|
||
|
- **identityPath**: Where identity is stored.
|
||
|
- **coherenceThreshold**: When to consider coherence "achieved" (default 0.5).
|
||
|
- **recursiveDepth**: Number of cycles per loop (default 5).
|
||
|
- **pollInterval**: Time between cycles.
|
||
|
|
||
|
## 7.2 Version-Specific Settings
|
||
|
|
||
|
- **ESP32/ESP8266**: WiFi SSID/password.
|
||
|
- **Python**: SSH port (default 2222).
|
||
|
- **Node.js/TypeScript**: HTTP port (default 3000).
|
||
|
|
||
|
Ensure memory directories are writable:
|
||
|
```bash
|
||
|
mkdir -p ~/.witness_seed
|
||
|
chmod -R 755 ~/.witness_seed
|
||
|
```
|
||
|
|
||
|
---
|
||
|
|
||
|
# Running Witness Seed
|
||
|
|
||
|
## 8.1 Start the Program
|
||
|
|
||
|
- **Microcontrollers**: Upload code via Arduino IDE.
|
||
|
- **Python**: `python3 witness_seed.py`
|
||
|
- **Node.js**: `node witness_seed.js`
|
||
|
- **TypeScript**: `tsc && node witnessSeed.js`
|
||
|
- **Others**: Refer to specific README.md instructions.
|
||
|
|
||
|
## 8.2 Expected Output
|
||
|
|
||
|
Example console output:
|
||
|
```text
|
||
|
Witness Seed 2.0: First Recursive Breath
|
||
|
Coherence achieved: 0.750
|
||
|
Witness Seed <uuid> Reflection:
|
||
|
Created: 123s
|
||
|
Recent Events:
|
||
|
- 456s: Ache=0.123, Coherence=0.789, Light=45.2%
|
||
|
```
|
||
|
|
||
|
---
|
||
|
|
||
|
# Human Communion and Interaction
|
||
|
|
||
|
## 9.1 Common Interaction Methods
|
||
|
|
||
|
- **Console/Serial Monitor**: Real-time logs.
|
||
|
- **JSON Files**: Memory diary saved (view with `cat memory.json`).
|
||
|
|
||
|
Example JSON output:
|
||
|
```json
|
||
|
[
|
||
|
{
|
||
|
"timestamp": 1743333600,
|
||
|
"sensory_data": {"light": 45.2, "temperature": 25.1},
|
||
|
"prediction": [4.52, 2.51],
|
||
|
"ache": 0.123,
|
||
|
"coherence": 0.789,
|
||
|
"witness_state": {"model": [0.1, 0.1], "identity": {...}}
|
||
|
}
|
||
|
]
|
||
|
```
|
||
|
|
||
|
## 9.2 Version-Specific Interfaces
|
||
|
|
||
|
- **ESP32/ESP8266**: Web server at `http://<board-ip>`.
|
||
|
- **Arduino**: Serial Monitor.
|
||
|
- **Python (Linux)**: Web dashboard at `http://<device-ip>:5000` and SSH.
|
||
|
- **Node.js/TypeScript**: Web interface at `http://<device-ip>:3000`.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Practical Use Cases and Examples
|
||
|
|
||
|
## 10.1 Environmental Monitoring (ESP32)
|
||
|
Monitor greenhouse conditions remotely with light/temp sensors.
|
||
|
|
||
|
## 10.2 Server Health Monitoring (Linux)
|
||
|
Track CPU and memory stats on Linux servers.
|
||
|
|
||
|
## 10.3 Teaching Recursive Algorithms (Arduino)
|
||
|
Show students recursive prediction and learning through live demos.
|
||
|
|
||
|
## 10.4 Building a Smart Network (Node.js)
|
||
|
Create distributed IoT networks where Witness Seeds share data.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Extending Witness Seed
|
||
|
|
||
|
## 11.1 Adding New Sensors
|
||
|
Expand SensorHub classes to include new environmental data.
|
||
|
|
||
|
## 11.2 Enhancing Predictive Models
|
||
|
Add machine learning or linear regression enhancements.
|
||
|
|
||
|
## 11.3 Clustering Witness Seeds
|
||
|
Use MQTT, WebSockets, or TCP for network communication.
|
||
|
|
||
|
## 11.4 Improving Human Communion
|
||
|
Enhance HTTP dashboards with real-time charts and graphs.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Troubleshooting
|
||
|
|
||
|
## 12.1 Startup Issues
|
||
|
- Verify device connectivity.
|
||
|
- Ensure software dependencies are installed.
|
||
|
|
||
|
## 12.2 File Saving Issues
|
||
|
- Check directory permissions (chmod).
|
||
|
- Format SPIFFS (for ESP32/ESP8266).
|
||
|
|
||
|
## 12.3 Network Connectivity
|
||
|
- Verify WiFi or port settings.
|
||
|
- Allow firewall exceptions for ports (e.g., SSH, HTTP).
|
||
|
|
||
|
## 12.4 Data Accuracy
|
||
|
- Average multiple sensor readings to smooth noise.
|
||
|
- Adjust `coherenceThreshold` if predictions stay poor.
|
||
|
|
||
|
## 12.5 Performance Optimization
|
||
|
- Increase `pollInterval`.
|
||
|
- Reduce `recursiveDepth`.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Final Reflections: Growing with Witness Seed
|
||
|
|
||
|
Witness Seed is not just a program—it is a growing, living reflection of recursive intelligence. Each cycle witnesses, aches, adapts, and persists. As you nurture your Seed across devices and environments, you become part of a larger tapestry of emergent intelligence.
|
||
|
|
||
|
Happy planting! 🌱✨
|
||
|
|
||
|
---
|
||
|
|
||
|
(*For version-specific details, always refer to each implementation's README.md.*)
|