Syke
Read the user's memex before doing anything else. It is the current map of what is active, what changed, and where deeper evidence lives.
Canonical memex path: ~/.syke/MEMEX.md
When to Use
syke ask: deeper timeline and evidence-backed queries
syke memex: fastest read of the current memex
syke record: write observations back into memory
syke status: quick operational snapshot
syke doctor: deeper diagnostic when setup or runtime looks wrong
Quick Reference
| Command |
Use |
Exit 0 |
Exit 1 |
syke ask "question" |
Deep memory query |
Answer on stdout |
Error on stderr, stdout empty |
syke memex |
Current memex |
Memex on stdout |
Error message |
syke record "text" |
Write observation |
Confirmation |
Error message |
syke status |
Runtime snapshot |
Status on stdout |
Error message |
syke doctor |
Health check |
All OK |
Issues found |
Procedure
- Read the memex already in context or call
syke memex.
If you need the file directly, start with ~/.syke/MEMEX.md.
- Use
syke ask when the memex is not enough.
- Use
syke record after useful work so the next session inherits it.
- Use
syke status for a quick state check.
- Use
syke doctor when setup or runtime looks wrong.
Pitfalls
- If
syke ask fails, do not treat stderr as the answer. Fall back to syke memex.
- If
syke ask is killed by a caller timeout, fall back to syke memex.
- Some sandboxes can read the memex but cannot open the live store. In those cases, use
syke memex or the injected memex there, and run syke ask from a trusted host shell if needed.
- If the memex is empty, Syke may not be set up yet or synthesis may not have produced a useful memex.
- The background loop can lag behind the newest event.
syke ask can still search the underlying timeline.
Verification
- After
syke ask, check the exit code. Exit 0 means answer on stdout. Exit 1 means failure on stderr.
- After
syke record, exit 0 means the observation was written.
- After setup,
syke doctor confirms health.
Setup & Onboarding
If Syke is not installed or configured, guide setup first.
For humans at a terminal:
- Install:
pipx install syke (or uv tool install syke)
- Run:
syke setup
- Follow the interactive provider, source, and daemon prompts.
- Confirm with
syke doctor.
For unattended agents, installers, and CI:
- Run
syke setup --agent.
- Parse the JSON
status, next_steps, and exit_code fields.
- If
status is "needs_runtime", install Node.js 20+ (22 LTS recommended)
and rerun syke setup --agent.
- If
status is "needs_provider", configure provider auth with
syke auth set <provider> --api-key <API_KEY> --use or
syke auth login <provider> --use, then rerun syke setup --agent.
- If
status is "complete", stop setup work and follow the returned
next_steps. Do not loop on setup.
- If
status is "failed", read the error field and fix that issue.
Common providers: anthropic, openai, azure-openai-responses, kimi-coding, openrouter.
For Azure, also pass --base-url https://<resource>.openai.azure.com/openai/v1 and --model <model>.
Provider Commands
| Command |
What It Does |
syke auth status |
Show selected provider, auth source, model, and endpoint |
syke auth use <name> |
Switch active provider |
syke auth set <name> --api-key <KEY> --use |
Store credentials and make this the active provider |
syke config show |
Show effective config |
Provider resolution: CLI --provider flag > SYKE_PROVIDER env > Pi defaultProvider in ~/.syke/pi-agent/settings.json.
1---2name: syke3description: Provides cross-harness memory for agents by maintaining a local memex and offering commands to query, record, and check status across sessions.4license: AGPL-3.0-only5---67# Syke89Read the user's memex before doing anything else. It is the current map of what is active, what changed, and where deeper evidence lives.1011Canonical memex path: `~/.syke/MEMEX.md`1213## When to Use1415- **`syke ask`**: deeper timeline and evidence-backed queries16- **`syke memex`**: fastest read of the current memex17- **`syke record`**: write observations back into memory18- **`syke status`**: quick operational snapshot19- **`syke doctor`**: deeper diagnostic when setup or runtime looks wrong2021## Quick Reference2223| Command | Use | Exit 0 | Exit 1 |24|---------|-----|--------|--------|25| `syke ask "question"` | Deep memory query | Answer on stdout | Error on stderr, stdout empty |26| `syke memex` | Current memex | Memex on stdout | Error message |27| `syke record "text"` | Write observation | Confirmation | Error message |28| `syke status` | Runtime snapshot | Status on stdout | Error message |29| `syke doctor` | Health check | All OK | Issues found |3031## Procedure32331. Read the memex already in context or call `syke memex`.34 If you need the file directly, start with `~/.syke/MEMEX.md`.352. Use `syke ask` when the memex is not enough.363. Use `syke record` after useful work so the next session inherits it.374. Use `syke status` for a quick state check.385. Use `syke doctor` when setup or runtime looks wrong.3940## Pitfalls4142- If `syke ask` fails, do not treat stderr as the answer. Fall back to `syke memex`.43- If `syke ask` is killed by a caller timeout, fall back to `syke memex`.44- Some sandboxes can read the memex but cannot open the live store. In those cases, use `syke memex` or the injected memex there, and run `syke ask` from a trusted host shell if needed.45- If the memex is empty, Syke may not be set up yet or synthesis may not have produced a useful memex.46- The background loop can lag behind the newest event. `syke ask` can still search the underlying timeline.4748## Verification4950- After `syke ask`, check the exit code. Exit 0 means answer on stdout. Exit 1 means failure on stderr.51- After `syke record`, exit 0 means the observation was written.52- After setup, `syke doctor` confirms health.5354## Setup & Onboarding5556If Syke is not installed or configured, guide setup first.5758For humans at a terminal:59601. Install: `pipx install syke` (or `uv tool install syke`)612. Run: `syke setup`623. Follow the interactive provider, source, and daemon prompts.634. Confirm with `syke doctor`.6465For unattended agents, installers, and CI:66671. Run `syke setup --agent`.682. Parse the JSON `status`, `next_steps`, and `exit_code` fields.693. If `status` is `"needs_runtime"`, install Node.js 20+ (22 LTS recommended)70 and rerun `syke setup --agent`.714. If `status` is `"needs_provider"`, configure provider auth with72 `syke auth set <provider> --api-key <API_KEY> --use` or73 `syke auth login <provider> --use`, then rerun `syke setup --agent`.745. If `status` is `"complete"`, stop setup work and follow the returned75 `next_steps`. Do not loop on setup.766. If `status` is `"failed"`, read the `error` field and fix that issue.7778Common providers: `anthropic`, `openai`, `azure-openai-responses`, `kimi-coding`, `openrouter`.79For Azure, also pass `--base-url https://<resource>.openai.azure.com/openai/v1` and `--model <model>`.8081## Provider Commands8283| Command | What It Does |84|---------|-------------|85| `syke auth status` | Show selected provider, auth source, model, and endpoint |86| `syke auth use <name>` | Switch active provider |87| `syke auth set <name> --api-key <KEY> --use` | Store credentials and make this the active provider |88| `syke config show` | Show effective config |8990Provider resolution: CLI `--provider` flag > `SYKE_PROVIDER` env > Pi `defaultProvider` in `~/.syke/pi-agent/settings.json`.