Skip to main content

Local-first persona and context portability for cross-LLM collaboration

Project description

Sayane (紗綾音)

日本語版 README · Documentation · Roadmap

Sayane is a local-first toolkit for carrying persona, context, prompts, and audit trails across LLM workflows.

It keeps your canonical context on your own machine, compiles it for different LLM runtimes such as ChatGPT and Claude, and prevents captured changes from being merged blindly.

Your context should not disappear when you change models.

Why Sayane exists

AI work is increasingly spread across multiple tools: ChatGPT, Claude, Gemini, Cursor, local models, browser extensions, and knowledge bases. Each runtime has its own memory, prompt format, and assumptions. As a result, serious users often lose:

  • the context behind an answer,
  • the persona or working stance used to produce it,
  • the history of what changed,
  • the ability to review whether a captured insight should become part of the canonical profile.

Sayane separates your context from any single vendor memory or chat service. It treats persona and context as local, reviewable project assets.

What Sayane does

Need Sayane mechanism
Keep a canonical user profile locally Sayane Profile in ~/.sayane/
Generate prompts for different LLMs Profile → Prompt IR → target adapter
Avoid blind context merges capture → candidate → evaluate → approve/reject
Track accepted and rejected changes lineage records
Use local Markdown context context/, storage index, optional Obsidian/Git workflows
Connect tools and editors CLI, Local Bridge, MCP server, Chrome Extension

Current status

Community Edition v1.0.3 is available on PyPI and supports the core local-first workflow.

Interface Status Primary use
CLI Available init / compile / candidate / storage
Local Bridge Available sayane serve + local 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 Available Markdown / Obsidian / Git-oriented workflows

Try it in 5 minutes

Install the CLI first. See docs/install.md for detailed installation notes.

# PyPI (macOS / Linux / Windows with Python 3.11+)
pip install 'sayane==1.0.3'
# macOS / Linux install script
curl -fsSL https://raw.githubusercontent.com/zyx-corporation/sayane/main/scripts/install.sh | bash
# Windows PowerShell install script
irm https://raw.githubusercontent.com/zyx-corporation/sayane/main/scripts/install.ps1 | iex

Verify the core flow:

sayane --version
sayane init
sayane compile --target chatgpt --profile examples/profiles/minimal.yaml

This verifies:

  • local profile store initialization,
  • target-specific prompt compilation from one profile,
  • the basic flow: Profile → Prompt IR → Adapter output.

Core workflow

Sayane Profile (local canonical context)
        ↓
Prompt IR (runtime-independent intermediate representation)
        ↓
Adapter (ChatGPT / Claude / Gemini / local targets)
        ↓
Target-specific prompt output

captured context → Candidate → evaluation → approve/reject → lineage

The LLM is not the owner of your persona. It is a runtime that receives a compiled prompt from your local profile.

Core principles

1. Separate persona from runtime

Your canonical persona and context belong to the local Sayane Profile, not to vendor memory.

2. Compile through Prompt IR

Do not copy one giant prompt string across runtimes. Compile one canonical profile into target-specific outputs.

3. Review meaning changes before merge

Captured context should become a candidate first. It should be evaluated, accepted, rejected, and recorded.

capture → candidate → evaluate (RDE/UIB-inspired review) → approve/reject → lineage

4. Prefer local-first portability

Sayane is designed so that serious AI work can remain inspectable, portable, and independent from any single hosted LLM memory.

Documentation

Start here:

Development

git clone https://github.com/zyx-corporation/sayane.git
cd sayane
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest -q

Development references:

Positioning

Sayane is not a prompt snippet manager.

It is a small infrastructure layer for people who want AI collaboration to be:

  • portable across models,
  • local-first by default,
  • reviewable before merge,
  • inspectable after change,
  • grounded in explicit persona, context, and lineage.

License

Apache License 2.0
SPDX-License-Identifier: Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sayane-1.0.5.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sayane-1.0.5-py3-none-any.whl (160.8 kB view details)

Uploaded Python 3

File details

Details for the file sayane-1.0.5.tar.gz.

File metadata

  • Download URL: sayane-1.0.5.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for sayane-1.0.5.tar.gz
Algorithm Hash digest
SHA256 44c8da0ac39600891441c8dc085bfde5df65f9c0b402ddc9b8be3072e517e999
MD5 af1be46800c5ada0ea5a2568b89b0fc2
BLAKE2b-256 65349aac9277aea0d03bcf48ff7974ea5f654fa0dc2577cd3d2fa6243ca638e6

See more details on using hashes here.

File details

Details for the file sayane-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: sayane-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for sayane-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 04a963276474d70e874574be295464752c12189f4f7c04d21449e300dcfc1f98
MD5 5003ed33a562256c9adc204e247fa105
BLAKE2b-256 c58aae28a4e36019c8939ef58ffd5fa46d6a60c2cb1e8ab1bf30a8a87a45b2be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page