Local-first persona and context portability for cross-LLM collaboration
Project description
Sayane (紗綾音)
Sayane is a local-first persona/context portability tool for cross-LLM workflows.
It keeps a canonical user context locally, then compiles it for different runtimes (ChatGPT, Claude, etc.).
What this tool does
- Keeps canonical persona/context in a local store (
~/.sayane/) - Compiles one Profile into per-target prompt outputs
- Prevents immediate blind merges (capture → candidate → evaluate)
- Tracks approved/rejected changes as lineage
What you can verify in 5 minutes
Install CLI first (detailed steps: docs/install.md).
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/zyx-corporation/sayane/main/scripts/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/zyx-corporation/sayane/main/scripts/install.ps1 | iex
Then verify the core flow:
sayane --version
sayane init
sayane compile --target chatgpt --profile examples/profiles/minimal.yaml
Within 5 minutes, you can verify:
- local profile store initialization
- target-specific prompt compilation from one profile
- the core flow: Profile → compile
Current status (Community Release 1.0 / v1.0.0)
| Interface | Status | Primary use |
|---|---|---|
| CLI | Available | init / compile / candidate / storage |
| Local Bridge | Available | sayane serve + HTTP API |
| MCP Server | Available | Cursor / Claude Desktop integration |
| Chrome Extension | Available | capture / context insert / candidate actions |
| RDE/Candidate evaluation | Available | evaluate / approve / reject / lineage |
| Storage (Obsidian/Git) | Available | import / index / export / commit |
Start here
- Installation
- Getting started (Japanese)
- CLI manual
- Local Bridge
- MCP Server
- Chrome Extension
- RDE / Candidate evaluation
- Storage / Obsidian / Git
- Docs index
Core principles
1. Separate persona from runtime
Canonical persona belongs to local Sayane Profile, not vendor memory.
2. Compile through intermediate representation (Prompt IR)
Do not copy one prompt string across runtimes; re-compile per target.
3. Evaluate meaning changes before merge
capture → candidate → evaluate (RDE/UIB) → approve/reject → lineage
Development
License
Apache License 2.0
SPDX-License-Identifier: Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sayane-1.0.3.tar.gz.
File metadata
- Download URL: sayane-1.0.3.tar.gz
- Upload date:
- Size: 187.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
241e53dfaa631716de5c09e068cd231188a5a69941f24469f98154a36100589d
|
|
| MD5 |
e603d8a412ed9a70902f1397013479ca
|
|
| BLAKE2b-256 |
bc5f26c27c301c940344ad9b089e5265ceea0750eb195e6c5d65f44a62e22711
|
File details
Details for the file sayane-1.0.3-py3-none-any.whl.
File metadata
- Download URL: sayane-1.0.3-py3-none-any.whl
- Upload date:
- Size: 68.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8264fba9cb554ef90bf5d06ed5a31db5b6fcce4eb9d362c4ef93c3a05026b08
|
|
| MD5 |
b8ae767b89d81334091169c9410445bb
|
|
| BLAKE2b-256 |
5e1fa43758b72fe447846d01160f9e7ed78e7fd3bfaa5037de90ee401cd573ca
|