@ozzylabs/suasor 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ozzy-labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.ja.md ADDED
@@ -0,0 +1,83 @@
1
+ # Suasor
2
+
3
+ **集め、覚え、助言する - 決めるのはあなた。**
4
+
5
+ Suasor はローカルファーストの AI 秘書です。チャット・メール・カレンダー・ドキュメント・コード・Web に散らばった業務情報をプライベートメモリに集め、あなたと AI エージェントが MCP 経由で検索・要約できるようにします。そして、助言し、返信・タスク・決定を提案します。送信も書き込みも、あなたの承認なく行いません。
6
+
7
+ [English →](README.md)
8
+
9
+ ## できること
10
+
11
+ - **集める** — あちこちのツールに散らばった業務情報を、手元のプライベートなストアに 1 か所へ集めます。read 専用で、元のソースに書き戻すことはありません。
12
+ - **覚える** — それを検索・参照できる記憶として、あなたのマシン上に保持します。
13
+ - **助言する** — MCP 経由で提示・要約し、返信・タスク・決定を提案します。あなたと AI エージェントが引き出し、適用するかはあなたが決めます。あなたの承認なく、送信も書き込みもしません。
14
+
15
+ ## ステータス
16
+
17
+ 開発初期。Suasor は仕様駆動で構築中です。
18
+
19
+ ## インストール
20
+
21
+ 4 つのチャネルで配布します(リリースは手動 — [docs/guide/install.md](docs/guide/install.md) 参照):
22
+
23
+ - **npm** — `bunx @ozzylabs/suasor mcp serve`(または `bun add -g @ozzylabs/suasor`)。canonical・OIDC publish(provenance 付き)。
24
+ - **単一バイナリ** — OS/arch 別に [Releases](https://github.com/ozzy-labs/suasor/releases) からダウンロード。core + 少数 native のみで、重い connector SDK は external(全 connector は npm/Docker を利用)。
25
+ - **Docker(Ollama 同梱)** — `docker run ghcr.io/ozzy-labs/suasor`。egress なしのローカル embedding。
26
+ - **MCP registry** — [`server.json`](server.json) で discovery 可能。
27
+
28
+ > 初回リリース公開までは、下記クイックスタートでソースから実行してください。
29
+
30
+ ## クイックスタート(暫定)
31
+
32
+ > 開発初期ですが、下記の CLI コマンドはすべて実装済みです(取り込み・検索・MCP server・skill すべて動作)。未提供は `brief` / `graph.related` の MCP tool のみ([docs/design/mcp-surface.md](docs/design/mcp-surface.md) 参照)。[Bun](https://bun.sh) 1.1+ が必要です。
33
+
34
+ ```bash
35
+ bun install # 依存インストール
36
+ bun run src/index.ts --version
37
+
38
+ # 初回セットアップ: ~/.config/suasor/config.toml とローカル SQLite ストアを作成。
39
+ bun run src/index.ts init
40
+
41
+ # コネクタから read 専用で取り込み(github / slack / ms-graph / google / box / web)。
42
+ bun run src/index.ts github sync
43
+
44
+ # source 本文の全文検索(FTS5。--json / --limit 利用可)。
45
+ bun run src/index.ts search "<query>"
46
+
47
+ # 同梱のアシスタント skill をエージェントホストへ展開。
48
+ bun run src/index.ts skills install # .claude/skills/ + .agents/skills/
49
+ bun run src/index.ts skills list # installed / missing / modified
50
+
51
+ # メンテナンス。
52
+ bun run src/index.ts db migrate # projection schema 適用(idempotent)
53
+ bun run src/index.ts projections rebuild # event log を replay して projection 再構築
54
+ ```
55
+
56
+ 設定は `~/.config/suasor/`(`SUASOR_CONFIG_DIR` で上書き)に置かれます。`<connector> sync` は github / slack / ms-graph / google / box / web から read 専用で取り込みます(各コネクタの設定は [docs/guide/connectors.md](docs/guide/connectors.md))。コマンド・フラグの一覧は [docs/design/cli.md](docs/design/cli.md)、アシスタント skill は [docs/skills/README.md](docs/skills/README.md) を参照してください。
57
+
58
+ ## エージェントホストと接続する(MCP)
59
+
60
+ Suasor は記憶を AI エージェントへ [Model Context Protocol](https://modelcontextprotocol.io)(stdio transport)で公開します。この server がエージェント境界です。**read** tool — `search` / `recall.search` / `source.list`・`source.get` / `task.list`・`decision.list`・`inbox.list` — はいずれも副作用なしで read-only annotation 付き(host が auto-approve 可)。**write** tool — `connector.sync` / `propose.generate` / `propose.apply` / `task.create` — も現在提供していますが、HITL(人の承認)の後ろに置かれます(ADR-0004)。承認なく適用・送信はしません。
61
+
62
+ ```bash
63
+ bun run src/index.ts mcp serve # MCP server を stdio で起動
64
+ ```
65
+
66
+ MCP host(Claude Code / Claude Desktop / Codex CLI 等)に登録します。Claude Desktop の場合は `claude_desktop_config.json` に以下を追加します:
67
+
68
+ ```jsonc
69
+ {
70
+ "mcpServers": {
71
+ "suasor": {
72
+ "command": "suasor",
73
+ "args": ["mcp", "serve"]
74
+ }
75
+ }
76
+ }
77
+ ```
78
+
79
+ 意味検索(`recall.search`)は embedding backend を有効にするまで `embedding_disabled` シグナルを返すため、host は FTS の `search` へ graceful にフォールバックできます(ADR-0005)。tool スキーマは [docs/design/mcp-surface.md](docs/design/mcp-surface.md) を参照してください。
80
+
81
+ ## ライセンス
82
+
83
+ MIT
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ # Suasor
2
+
3
+ **Gathers, remembers, advises - you decide.**
4
+
5
+ Suasor is a local-first AI secretary. It gathers your scattered work context - chat, email, calendar, documents, code, the web - into private memory on your own machine, so you and your AI agents can search and summarize it over MCP. It advises you, and proposes replies, tasks, and decisions. Nothing is sent or saved without your approval.
6
+
7
+ [日本語 / Japanese →](README.ja.md)
8
+
9
+ ## What it does
10
+
11
+ - **Gathers** — pulls your scattered work context from across your tools into one local, private store. Read-only: it never writes back to your sources.
12
+ - **Remembers** — keeps it as searchable, queryable memory on your own machine.
13
+ - **Advises** — surfaces, summarizes, and proposes replies, tasks, and decisions over MCP. You and your AI agents query it; you approve everything. Nothing is sent or saved without your say.
14
+
15
+ ## Status
16
+
17
+ Early development. Suasor is being built spec-first.
18
+
19
+ ## Install
20
+
21
+ Distributed via four channels (released manually — see [docs/guide/install.md](docs/guide/install.md)):
22
+
23
+ - **npm** — `bunx @ozzylabs/suasor mcp serve` (or `bun add -g @ozzylabs/suasor`). Canonical; OIDC-published with provenance.
24
+ - **Standalone binary** — download per OS/arch from [Releases](https://github.com/ozzy-labs/suasor/releases). Core + a few native bits; the heavier connector SDKs are external (use npm/Docker for the full connector set).
25
+ - **Docker (batteries-included + Ollama)** — `docker run ghcr.io/ozzy-labs/suasor`. Local embedding with no external egress.
26
+ - **MCP registry** — discoverable via [`server.json`](server.json).
27
+
28
+ > Until the first release is published, run from source with the Quickstart below.
29
+
30
+ ## Quickstart (provisional)
31
+
32
+ > Early development, but every CLI command below is implemented (ingest, retrieval, MCP server, and skills all work). The only not-yet-shipped pieces are the `brief` / `graph.related` MCP tools — see [docs/design/mcp-surface.md](docs/design/mcp-surface.md). Requires [Bun](https://bun.sh) 1.1+.
33
+
34
+ ```bash
35
+ bun install # install dependencies
36
+ bun run src/index.ts --version
37
+
38
+ # First-run setup: writes ~/.config/suasor/config.toml and the local SQLite store.
39
+ bun run src/index.ts init
40
+
41
+ # Ingest read-only from a connector (github / slack / ms-graph / google / box / web).
42
+ bun run src/index.ts github sync
43
+
44
+ # Full-text search over ingested sources (FTS5; --json / --limit available).
45
+ bun run src/index.ts search "<query>"
46
+
47
+ # Install the bundled assistant skills into your agent host(s).
48
+ bun run src/index.ts skills install # .claude/skills/ + .agents/skills/
49
+ bun run src/index.ts skills list # installed / missing / modified
50
+
51
+ # Maintenance.
52
+ bun run src/index.ts db migrate # apply the projection schema (idempotent)
53
+ bun run src/index.ts projections rebuild # replay the event log into projections
54
+ ```
55
+
56
+ Config lives in `~/.config/suasor/` (override with `SUASOR_CONFIG_DIR`). `<connector> sync` ingests read-only from github / slack / ms-graph / google / box / web — see [docs/guide/connectors.md](docs/guide/connectors.md) for per-connector setup. See [docs/design/cli.md](docs/design/cli.md) for the full command/flag reference and [docs/skills/README.md](docs/skills/README.md) for the assistant skills.
57
+
58
+ ## Connect an agent host (MCP)
59
+
60
+ Suasor exposes its memory to AI agents over the [Model Context Protocol](https://modelcontextprotocol.io) (stdio transport). The server is the agent boundary. **Read** tools — `search`, `recall.search`, `source.list` / `source.get`, and `task.list` / `decision.list` / `inbox.list` — are side-effect-free and annotated read-only so hosts may auto-approve them. **Write** tools — `connector.sync`, `propose.generate`, `propose.apply`, `task.create` — ship today but stay behind human-in-the-loop approval (ADR-0004); nothing is applied or sent without your say.
61
+
62
+ ```bash
63
+ bun run src/index.ts mcp serve # start the MCP server over stdio
64
+ ```
65
+
66
+ Register it with an MCP host (Claude Code, Claude Desktop, Codex CLI, …). For Claude Desktop, add to `claude_desktop_config.json`:
67
+
68
+ ```jsonc
69
+ {
70
+ "mcpServers": {
71
+ "suasor": {
72
+ "command": "suasor",
73
+ "args": ["mcp", "serve"]
74
+ }
75
+ }
76
+ }
77
+ ```
78
+
79
+ Semantic search (`recall.search`) returns an `embedding_disabled` signal until you enable an embedding backend, so hosts gracefully fall back to FTS `search` (ADR-0005). See [docs/design/mcp-surface.md](docs/design/mcp-surface.md) for the tool schemas.
80
+
81
+ ## License
82
+
83
+ MIT