Onlyne Status
August 6, 2026 ยท View on GitHub
This file tracks implementation and verification notes. The root README is the product manual.
Implemented locally
- Workspace-local
.onlyne/bootstrap. - TOML config plus root
.env/.onlyne/.envsecret lookup. - Foreground daemon with Unix socket.
- Stdio mode using the same NDJSON schema.
- SQLite history store.
- Event subscription over local IPC.
- Per-channel FIFO IO under
.onlyne/channels/<channel>/, including configurable Markdown/raw-text input. - Taplo-compatible config schema generated from Rust config types via
schemars. - Loopback activation messages over local IPC.
- Singleton channel routing via per-adapter
bind_conversation_id. - Workspace-local agent skill export via
onlyne export-skill. - Feishu/Lark and WeChat auth helpers.
- Zsh/fish completion generation.
- CLI/FIFO examples for single-channel, broadcast, multicast, multi-channel, and file-descriptor workflows.
Adapter notes
| Platform | Implemented | Needs live validation |
|---|---|---|
| Telegram | Bot token, getUpdates, send text/media, media download. | Real bot polling and send. |
| Feishu/Lark | QR/app credential auth, tenant token, websocket receive, OpenAPI send. | Tenant QR completion, permissions, websocket in target tenant. |
| QQ Bot | qclaw QR/manual auth, official gateway websocket, group/C2C/channel event parsing, scene-aware text/media send. | Live qclaw QR completion and long-run gateway behavior. |
| WeChat ilink | QR/token auth, long-poll receive, context-token send, CDN media helpers. | Live CDN edge cases and expired context-token recovery. |
Latest local checks
cargo fmt --checkcargo clippy --all-targets -- -D warningscargo testcurrently covers 49 tests.cd harness/pi-onlyne && npm run check- Example scripts support
--local-checkwhere applicable. onlyne shell-completions zshandonlyne shell-completions fishgenerate completion scripts.cargo build --releasecurrently produces a stripped size-optimized binary around 7.3 MiB on macOS arm64.
Live platform smoke is intentionally manual because it requires real credentials and may send external messages.
Channel FIFO IO notes
See CHANNEL_IO.md for the design.
Onlyne exposes per-channel file-descriptor style IO under .onlyne/channels/<channel>/:
in: write side, so local scripts canecho 'message' > .onlyne/channels/telegram/inand send through that channel's bound conversation.out: read side, so local scripts cancat .onlyne/channels/telegram/out.outread behavior must be configurable as the 2x2 combination of:- content mode: latest new message with conversation history context, or latest message only.
- cursor mode: retain after read, or consume/advance after read.
- File IO cursors must synchronize with other local consumers. Example: if pi-onlyne has already surfaced an inbound notification, then a consume-mode
outfor the same channel must not later include that already-consumed new message. - Include a
loopbackchannel directory with the samein/outbehavior. - Keep paths stable enough for symlinks.
- Preserve singleton channel routing: channel name selects the adapter; conversation is still the configured or
/handshake-boundbind_conversation_id.