watashi-db 0.0.5 → 0.0.8
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/.claude-docs/CODEX_INTEGRATION.md +116 -0
- package/README.md +120 -62
- package/Usersj.miyamoto.watashi-dbdefault.db +0 -0
- package/cowork-plugin/.claude-plugin/plugin.json +1 -1
- package/cowork-plugin/.mcp.json +1 -1
- package/cowork-plugin/hooks/hooks.json +18 -0
- package/cowork-plugin/skills/recall/SKILL.md +36 -0
- package/dist/config/loader.d.ts +12 -0
- package/dist/config/loader.js +73 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +406 -0
- package/dist/config/schema.js +78 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/validator.d.ts +22 -0
- package/dist/config/validator.js +194 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/constants.d.ts +15 -4
- package/dist/constants.js +67 -6
- package/dist/constants.js.map +1 -1
- package/dist/context-pack.d.ts +53 -0
- package/dist/context-pack.js +380 -0
- package/dist/context-pack.js.map +1 -0
- package/dist/database/archive.d.ts +39 -0
- package/dist/database/archive.js +180 -0
- package/dist/database/archive.js.map +1 -0
- package/dist/database/connection.d.ts +9 -1
- package/dist/database/connection.js +23 -2
- package/dist/database/connection.js.map +1 -1
- package/dist/database/groom.d.ts +39 -0
- package/dist/database/groom.js +246 -0
- package/dist/database/groom.js.map +1 -0
- package/dist/database/maintain.d.ts +39 -0
- package/dist/database/maintain.js +62 -0
- package/dist/database/maintain.js.map +1 -0
- package/dist/database/queries-core.d.ts +490 -0
- package/dist/database/queries-core.js +2707 -0
- package/dist/database/queries-core.js.map +1 -0
- package/dist/database/queries.d.ts +251 -105
- package/dist/database/queries.js +152 -663
- package/dist/database/queries.js.map +1 -1
- package/dist/database/schema.js +5056 -1
- package/dist/database/schema.js.map +1 -1
- package/dist/embedding/embed-on-write.d.ts +98 -0
- package/dist/embedding/embed-on-write.js +104 -0
- package/dist/embedding/embed-on-write.js.map +1 -0
- package/dist/embedding/ollama.d.ts +18 -0
- package/dist/embedding/ollama.js +67 -0
- package/dist/embedding/ollama.js.map +1 -0
- package/dist/embedding/openai.d.ts +17 -0
- package/dist/embedding/openai.js +77 -0
- package/dist/embedding/openai.js.map +1 -0
- package/dist/embedding/provider.d.ts +34 -0
- package/dist/embedding/provider.js +92 -0
- package/dist/embedding/provider.js.map +1 -0
- package/dist/embedding/search.d.ts +61 -0
- package/dist/embedding/search.js +165 -0
- package/dist/embedding/search.js.map +1 -0
- package/dist/embedding/similarity.d.ts +21 -0
- package/dist/embedding/similarity.js +48 -0
- package/dist/embedding/similarity.js.map +1 -0
- package/dist/embedding/transformers-local.d.ts +24 -0
- package/dist/embedding/transformers-local.js +65 -0
- package/dist/embedding/transformers-local.js.map +1 -0
- package/dist/embedding/types.d.ts +27 -0
- package/dist/embedding/types.js +6 -0
- package/dist/embedding/types.js.map +1 -0
- package/dist/hook.d.ts +60 -0
- package/dist/hook.js +594 -0
- package/dist/hook.js.map +1 -0
- package/dist/index.js +20 -53
- package/dist/index.js.map +1 -1
- package/dist/lint.d.ts +40 -0
- package/dist/lint.js +114 -0
- package/dist/lint.js.map +1 -0
- package/dist/policy.d.ts +54 -0
- package/dist/policy.js +205 -0
- package/dist/policy.js.map +1 -0
- package/dist/project-detect.d.ts +8 -0
- package/dist/project-detect.js +36 -0
- package/dist/project-detect.js.map +1 -0
- package/dist/prompts/bootstrap-prompts.js +39 -10
- package/dist/prompts/bootstrap-prompts.js.map +1 -1
- package/dist/provenance.js +1 -3
- package/dist/provenance.js.map +1 -1
- package/dist/resources/config-guide-content.d.ts +7 -0
- package/dist/resources/config-guide-content.js +180 -0
- package/dist/resources/config-guide-content.js.map +1 -0
- package/dist/resources/context-resources.js +32 -6
- package/dist/resources/context-resources.js.map +1 -1
- package/dist/scoring.d.ts +21 -0
- package/dist/scoring.js +35 -0
- package/dist/scoring.js.map +1 -0
- package/dist/server-instructions.d.ts +7 -0
- package/dist/server-instructions.js +90 -0
- package/dist/server-instructions.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +103 -0
- package/dist/server.js.map +1 -0
- package/dist/setup.d.ts +19 -0
- package/dist/setup.js +279 -0
- package/dist/setup.js.map +1 -0
- package/dist/store/federation.d.ts +190 -0
- package/dist/store/federation.js +1008 -0
- package/dist/store/federation.js.map +1 -0
- package/dist/store/merge.d.ts +47 -0
- package/dist/store/merge.js +198 -0
- package/dist/store/merge.js.map +1 -0
- package/dist/store/session-state.d.ts +47 -0
- package/dist/store/session-state.js +95 -0
- package/dist/store/session-state.js.map +1 -0
- package/dist/store/store-manager.d.ts +46 -0
- package/dist/store/store-manager.js +108 -0
- package/dist/store/store-manager.js.map +1 -0
- package/dist/store/sync-manager.d.ts +79 -0
- package/dist/store/sync-manager.js +374 -0
- package/dist/store/sync-manager.js.map +1 -0
- package/dist/tools/claim-tools.d.ts +7 -1
- package/dist/tools/claim-tools.js +368 -138
- package/dist/tools/claim-tools.js.map +1 -1
- package/dist/tools/decision-tools.d.ts +3 -2
- package/dist/tools/decision-tools.js +60 -102
- package/dist/tools/decision-tools.js.map +1 -1
- package/dist/tools/episode-tools.d.ts +2 -3
- package/dist/tools/episode-tools.js +71 -112
- package/dist/tools/episode-tools.js.map +1 -1
- package/dist/tools/export-tools.d.ts +7 -1
- package/dist/tools/export-tools.js +89 -69
- package/dist/tools/export-tools.js.map +1 -1
- package/dist/tools/get-tools.d.ts +11 -0
- package/dist/tools/get-tools.js +282 -0
- package/dist/tools/get-tools.js.map +1 -0
- package/dist/tools/groom-tools.d.ts +13 -0
- package/dist/tools/groom-tools.js +197 -0
- package/dist/tools/groom-tools.js.map +1 -0
- package/dist/tools/helpers.d.ts +10 -0
- package/dist/tools/helpers.js +10 -0
- package/dist/tools/helpers.js.map +1 -0
- package/dist/tools/insight-tools.d.ts +11 -0
- package/dist/tools/insight-tools.js +167 -0
- package/dist/tools/insight-tools.js.map +1 -0
- package/dist/tools/knowledge-tools.d.ts +7 -0
- package/dist/tools/knowledge-tools.js +151 -0
- package/dist/tools/knowledge-tools.js.map +1 -0
- package/dist/tools/maintenance-tools.d.ts +11 -0
- package/dist/tools/maintenance-tools.js +1074 -0
- package/dist/tools/maintenance-tools.js.map +1 -0
- package/dist/tools/memo-tools.d.ts +15 -0
- package/dist/tools/memo-tools.js +370 -0
- package/dist/tools/memo-tools.js.map +1 -0
- package/dist/tools/model-tools.d.ts +11 -0
- package/dist/tools/model-tools.js +175 -0
- package/dist/tools/model-tools.js.map +1 -0
- package/dist/tools/profile-tools.d.ts +13 -1
- package/dist/tools/profile-tools.js +83 -85
- package/dist/tools/profile-tools.js.map +1 -1
- package/dist/tools/promote-tools.d.ts +10 -0
- package/dist/tools/promote-tools.js +376 -0
- package/dist/tools/promote-tools.js.map +1 -0
- package/dist/tools/query-tools.d.ts +13 -1
- package/dist/tools/query-tools.js +359 -72
- package/dist/tools/query-tools.js.map +1 -1
- package/dist/tools/store-tools.d.ts +12 -0
- package/dist/tools/store-tools.js +102 -0
- package/dist/tools/store-tools.js.map +1 -0
- package/dist/tools/sync-tools.d.ts +9 -0
- package/dist/tools/sync-tools.js +55 -0
- package/dist/tools/sync-tools.js.map +1 -0
- package/dist/tools/theory-tools.d.ts +7 -0
- package/dist/tools/theory-tools.js +179 -0
- package/dist/tools/theory-tools.js.map +1 -0
- package/dist/types.d.ts +730 -168
- package/dist/types.js +197 -92
- package/dist/types.js.map +1 -1
- package/misc/work-notes/main 20260224.txt +98 -0
- package/misc/work-notes/plans/20260220084456_UNKNOWN_Issue-#24-Episode/343/202/277/343/202/244/343/203/210/343/203/253/343/201/256-Qiita/346/226/271/345/274/217/343/202/254/343/202/244.md +52 -0
- package/misc/work-notes/plans/20260220095602_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +120 -0
- package/misc/work-notes/plans/20260220100439_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +156 -0
- package/misc/work-notes/plans/20260220110445_UNKNOWN_Issue-#11-/343/203/227/343/203/255/343/203/225/343/202/241/343/202/244/343/203/253/350/246/201/347/264/204/343/201/256/343/202/271/343/202/263/343/202/242/343/203/252/303/243.md +154 -0
- package/misc/work-notes/plans/20260220114035_UNKNOWN_Issue-#15-/343/202/263/343/203/263/343/203/206/343/202/255/343/202/271/343/203/210/344/272/210/347/256/227API/357/274/210token-budg.md +178 -0
- package/misc/work-notes/plans/20260220133902_UNKNOWN_Issue-#16-/343/202/257/343/203/251/343/202/244/343/202/242/343/203/263/343/203/210/345/210/245/343/203/235/343/203/252/343/202/267/343/203/274/345/261/244/357/274/210r.md +284 -0
- package/misc/work-notes/plans/20260220151356_UNKNOWN_Issue-#28-V9/343/203/236/343/202/244/343/202/260/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/347/265/261/345/220/210/357/274/210#23-+.md +178 -0
- package/misc/work-notes/plans/20260227042805_UNKNOWN_config.json-/343/202/254/343/202/244/343/203/211/346/225/264/345/202/231-+-MCP-resourceprompt-/303/250.md +90 -0
- package/misc/work-notes/plans/20260302113135_UNKNOWN_MCP/343/203/204/343/203/274/343/203/253/343/203/210/343/203/274/343/202/257/343/203/263/343/203/200/343/202/244/343/202/250/343/203/203/343/203/210-(~17,370-/303/242.md +152 -0
- package/misc/work-notes/plans/20260302151940_UNKNOWN_README.md-/347/217/276/350/241/214API/345/217/215/346/230/240/343/202/242/343/203/203/343/203/227/343/203/207/343/203/274/343/203/210.md +87 -0
- package/misc/work-notes/plans/20260302173113_UNKNOWN_watashi-manage-claim-/343/202/250/343/203/251/343/203/274/346/224/271/345/226/204-+-search-summ.md +70 -0
- package/misc/work-notes/plans/20260303091511_UNKNOWN_Issue-#60-entity-type-/347/234/201/347/225/245/345/257/276/345/277/234-/342/200/224-ID/345/206/205/351/203/250/350/247/243.md +205 -0
- package/misc/work-notes/plans/20260304152700_UNKNOWN_Issue-#61-setup-/343/202/263/343/203/236/343/203/263/343/203/211/343/201/247-MCP-/343/202/265/343/203/274/343/203/220/343/203/274/303/247/302/231.md +67 -0
- package/misc/work-notes/plans/20260304170153_UNKNOWN_Issue-#54-user-memoplanissue-/343/201/256-content-/342/206/222-l1-co.md +76 -0
- package/package.json +13 -2
- package/scripts/backfill-search-summary.mjs +219 -0
- package/scripts/migrate-theories.mjs +231 -0
- package/{watashi-db-cowork-plugin.zip → watashi-db-plugin.zip} +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Codex CLI 連携ガイド
|
|
2
|
+
|
|
3
|
+
> codex-cli v0.98.0 / config.toml 設定済み前提
|
|
4
|
+
|
|
5
|
+
## 概要
|
|
6
|
+
|
|
7
|
+
OpenAI Codex CLI を Claude Code セッション内からレビュー・製造に利用する。
|
|
8
|
+
モデルは `gpt-5.3-codex`(config.toml で設定済み)。
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## サブコマンド体系
|
|
13
|
+
|
|
14
|
+
| サブコマンド | 用途 | 対話性 |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `codex` (引数なし) | 対話セッション | 対話 |
|
|
17
|
+
| `codex exec` | 非対話実行(製造・調査) | 非対話 |
|
|
18
|
+
| `codex review` | コードレビュー | 非対話 |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## レビュー依頼
|
|
23
|
+
|
|
24
|
+
### `codex review`(推奨)
|
|
25
|
+
|
|
26
|
+
ステージング済み差分をレビューする場合:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
codex review --uncommitted --title "レビュータイトル" \
|
|
30
|
+
-c 'model="gpt-5.3-codex"' \
|
|
31
|
+
> .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**重要な制約**:
|
|
35
|
+
- `--uncommitted` と `[PROMPT]` 引数は **排他的** — 同時指定するとエラーになる
|
|
36
|
+
- カスタムプロンプトを渡したい場合は `--uncommitted` を外して `[PROMPT]` を使う
|
|
37
|
+
- `-m` フラグは `review` サブコマンドには存在しない — `-c 'model="..."'` で指定
|
|
38
|
+
|
|
39
|
+
#### オプション一覧
|
|
40
|
+
|
|
41
|
+
| オプション | 説明 |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `--uncommitted` | staged + unstaged + untracked 全変更をレビュー |
|
|
44
|
+
| `--base <BRANCH>` | 指定ブランチとの差分をレビュー |
|
|
45
|
+
| `--commit <SHA>` | 特定コミットの差分をレビュー |
|
|
46
|
+
| `--title <TITLE>` | レビューサマリに表示するタイトル |
|
|
47
|
+
| `-c 'model="..."'` | モデル指定(config.toml のデフォルトを上書き) |
|
|
48
|
+
|
|
49
|
+
### プロンプト付きレビュー(`codex exec`経由)
|
|
50
|
+
|
|
51
|
+
レビュー観点を指定したい場合は `exec` を使う:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
codex exec -m gpt-5.3-codex -p automation -s read-only \
|
|
55
|
+
"この差分をレビューしてください。観点: ... : .codex_inputs/review_input.md" \
|
|
56
|
+
> .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 製造依頼
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
codex exec -m gpt-5.3-codex -p automation -s workspace-write \
|
|
65
|
+
"指示内容: .codex_inputs/task_input.md" \
|
|
66
|
+
-o .codex_outputs/YYYYMMDD_HHMMSS_last_message.txt \
|
|
67
|
+
> .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ファイル規約
|
|
73
|
+
|
|
74
|
+
| ディレクトリ | 用途 |
|
|
75
|
+
|---|---|
|
|
76
|
+
| `.codex_inputs/` | Codex への入力ファイル |
|
|
77
|
+
| `.codex_outputs/` | Codex からの出力ファイル |
|
|
78
|
+
|
|
79
|
+
ファイル名形式: `YYYYMMDD_HHMMSS_<目的>.md` / `_output.txt`
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## config.toml プロファイル
|
|
84
|
+
|
|
85
|
+
| プロファイル | 用途 | approval_policy | sandbox_mode |
|
|
86
|
+
|---|---|---|---|
|
|
87
|
+
| `human` | ユーザー直接利用 | on-request | workspace-write |
|
|
88
|
+
| `automation` | Claude Code / スクリプトから呼び出し | never | workspace-write |
|
|
89
|
+
|
|
90
|
+
Claude Code から呼ぶ場合は `-p automation` を指定。
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## タイムアウト目安
|
|
95
|
+
|
|
96
|
+
| 依頼種別 | 目安 |
|
|
97
|
+
|---|---|
|
|
98
|
+
| レビュー | 15分(timeout: 600000) |
|
|
99
|
+
| 製造 | 60分(timeout: 600000、必要に応じて分割) |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## エンコーディング注意
|
|
104
|
+
|
|
105
|
+
- 入力ファイルは **UTF-8(BOM無し)** で作成
|
|
106
|
+
- Windows 環境のコンソール出力は文字化けする場合があるが、ファイルリダイレクト先は正常
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## よくあるエラー
|
|
111
|
+
|
|
112
|
+
| エラー | 原因 | 対処 |
|
|
113
|
+
|---|---|---|
|
|
114
|
+
| `unexpected argument '--approval-mode'` | v0.98.0 で廃止 | `-p automation` または `-c 'approval_policy="never"'` |
|
|
115
|
+
| `unexpected argument '-m'` (review時) | `review` に `-m` なし | `-c 'model="..."'` を使う |
|
|
116
|
+
| `'--uncommitted' cannot be used with '[PROMPT]'` | 排他的オプション | プロンプトを外すか `exec` を使う |
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
> [!NOTE]
|
|
7
7
|
> **v0.x は開発初期段階です。** APIやデータ構造に破壊的変更が入る可能性があります。
|
|
8
|
-
> データはすべてローカル(`~/.watashi-db/
|
|
8
|
+
> データはすべてローカル(`~/.watashi-db/default.db`)に保存され、外部送信は一切ありません。
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
- **監査ログ**: 全操作に「誰が・何を・なぜ」を自動記録
|
|
25
25
|
- **Provenance自動付与**: 接続元AIの情報をサーバー側で自動記録(自己申告に依存しない)
|
|
26
26
|
- **L2推論基盤**: Claim間の関係(推論グラフ)、構造化根拠参照、検証ログ
|
|
27
|
+
- **マルチデバイス同期**: Google Drive等を介したスナップショット同期、複数PCで同一データを共有可能
|
|
27
28
|
|
|
28
29
|
---
|
|
29
30
|
|
|
@@ -32,51 +33,56 @@
|
|
|
32
33
|
### 前提条件
|
|
33
34
|
|
|
34
35
|
- Node.js >= 18
|
|
35
|
-
- MCP対応のAIクライアント(Claude Code, Claude Desktop 等)
|
|
36
|
+
- MCP対応のAIクライアント(Claude Code, Codex CLI, Claude Desktop 等)
|
|
36
37
|
|
|
37
|
-
###
|
|
38
|
+
### ステップ 1: MCP サーバーを登録(全クライアント共通)
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
npm install -g watashi-db
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Claude Code での設定
|
|
40
|
+
お使いの MCP クライアントに watashi-db を登録します:
|
|
44
41
|
|
|
45
42
|
```bash
|
|
46
|
-
|
|
43
|
+
# Claude Code
|
|
44
|
+
claude mcp add --scope user watashi-db -- npx -y watashi-db@latest
|
|
45
|
+
|
|
46
|
+
# Codex CLI
|
|
47
|
+
codex mcp add watashi-db -- npx -y watashi-db@latest
|
|
47
48
|
```
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
Claude Desktop の場合は `claude_desktop_config.json` に追加:
|
|
50
51
|
|
|
51
52
|
```json
|
|
52
53
|
{
|
|
53
54
|
"mcpServers": {
|
|
54
55
|
"watashi-db": {
|
|
55
56
|
"command": "npx",
|
|
56
|
-
"args": ["watashi-db"]
|
|
57
|
+
"args": ["-y", "watashi-db@latest"]
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
```
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
> [!TIP]
|
|
64
|
+
> `@latest` をつけるとクライアント起動時に常に最新版が使われます。
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
### ステップ 2: Hook と /recall を配置(Claude Code)
|
|
65
67
|
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
"mcpServers": {
|
|
69
|
-
"watashi-db": {
|
|
70
|
-
"command": "npx",
|
|
71
|
-
"args": ["watashi-db"]
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
68
|
+
```bash
|
|
69
|
+
npx watashi-db setup
|
|
75
70
|
```
|
|
76
71
|
|
|
72
|
+
Claude Code を再起動すれば使えます。
|
|
73
|
+
|
|
74
|
+
- **Hook**: プロンプト送信時に設計判断・好み・作業の節目を自動記録するリマインダー
|
|
75
|
+
- **@nolog**: プロンプトの先頭に `@nolog` を付けると、そのメッセージの内容は記録されません
|
|
76
|
+
- **/recall**: 過去の判断・好み・経験を検索するコマンド
|
|
77
|
+
|
|
78
|
+
> [!NOTE]
|
|
79
|
+
> ステップ 2 は現在 Claude Code 専用です。Codex CLI は Hook と Skill に未対応のため、
|
|
80
|
+
> watashi-db への記録・活用は server instructions 経由の LLM 任せとなります。
|
|
81
|
+
> 背景: [#31](https://github.com/bareforge/watashi-db/issues/31), [#32](https://github.com/bareforge/watashi-db/issues/32)
|
|
82
|
+
|
|
77
83
|
### Claude Code Cowork プラグイン
|
|
78
84
|
|
|
79
|
-
|
|
85
|
+
リポジトリの `cowork-plugin/` ディレクトリに Cowork 用プラグインが含まれています。
|
|
80
86
|
|
|
81
87
|
プラグインには以下のスキルが含まれます:
|
|
82
88
|
|
|
@@ -84,8 +90,58 @@ claude mcp add watashi-db -- npx watashi-db
|
|
|
84
90
|
|--------|------|
|
|
85
91
|
| `/session-start` | セッション開始時にプロファイルとコンテキストを自動読み込み |
|
|
86
92
|
| `/remember <内容>` | ユーザーの好み・スキル・知識をわたしDBに記録 |
|
|
93
|
+
| `/recall [トピック]` | 過去の判断・好み・経験を watashi-db から検索 |
|
|
87
94
|
| `/reflect [トピック]` | エピソード・意思決定の振り返りとパターン分析 |
|
|
88
95
|
|
|
96
|
+
### 開発者向け(ソースから)
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
git clone https://github.com/bareforge/watashi-db.git && cd watashi-db
|
|
100
|
+
npm install && npm run build && npm link
|
|
101
|
+
claude mcp add -s user watashi-db -- watashi-db serve
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### バージョンアップ
|
|
105
|
+
|
|
106
|
+
MCP 設定で `watashi-db@latest` を指定していれば、Claude の再起動で自動的に最新版が使われます。手動でグローバルインストールしている場合は:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -g watashi-db@latest
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### バックアップ・同期・マルチStore(オプション)
|
|
113
|
+
|
|
114
|
+
`~/.watashi-db/config.json` を作成すると、以下の機能が使えます:
|
|
115
|
+
|
|
116
|
+
- **バックアップ**: `sync.destination` を設定すると、書き込み時に自動でスナップショットをバックアップ
|
|
117
|
+
- **マルチデバイス同期**: Google Drive 等のクラウドストレージを介して複数 PC でデータを共有
|
|
118
|
+
- **マルチStore**: プロジェクト別に DB を分離、`watashi_maintain(action="promote")` でデータを移動
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"stores": {
|
|
123
|
+
"default": {
|
|
124
|
+
"type": "local",
|
|
125
|
+
"path": "~/.watashi-db/default.db",
|
|
126
|
+
"sync": {
|
|
127
|
+
"enabled": true,
|
|
128
|
+
"destination": "G:/マイドライブ/watashi-db",
|
|
129
|
+
"generations": 3
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"contexts": {
|
|
134
|
+
"default": {
|
|
135
|
+
"stores": { "default": "read-write" },
|
|
136
|
+
"default_store": "default"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"default_context": "default"
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
詳細なセットアップ手順・全設定項目のリファレンスについては [config.json 設定ガイド](docs/config-guide.md) を参照してください。
|
|
144
|
+
|
|
89
145
|
---
|
|
90
146
|
|
|
91
147
|
## 使い方
|
|
@@ -101,24 +157,22 @@ watashi_store_claim:
|
|
|
101
157
|
predicate: "prefers"
|
|
102
158
|
object: "日本語コメント"
|
|
103
159
|
category: "preference"
|
|
104
|
-
|
|
105
|
-
# 好みの簡易登録
|
|
106
|
-
watashi_store_preference:
|
|
107
|
-
preference: "ダークモードのエディタ"
|
|
108
160
|
```
|
|
109
161
|
|
|
110
162
|
### 情報の取得
|
|
111
163
|
|
|
112
164
|
```
|
|
113
165
|
# プロファイル全体像(セッション開始時に推奨)
|
|
114
|
-
|
|
166
|
+
watashi_get:
|
|
167
|
+
entity_type: "profile"
|
|
115
168
|
|
|
116
|
-
#
|
|
117
|
-
|
|
118
|
-
|
|
169
|
+
# 全エンティティ横断検索
|
|
170
|
+
watashi_search:
|
|
171
|
+
query: "TypeScript"
|
|
119
172
|
|
|
120
|
-
#
|
|
121
|
-
|
|
173
|
+
# カテゴリ絞り込み検索
|
|
174
|
+
watashi_search:
|
|
175
|
+
entity_types: ["claim"]
|
|
122
176
|
category: "skill"
|
|
123
177
|
status: "active"
|
|
124
178
|
```
|
|
@@ -129,8 +183,8 @@ watashi_search_claims:
|
|
|
129
183
|
watashi_log_decision:
|
|
130
184
|
title: "MIT LICENSEを採用"
|
|
131
185
|
description: "オープンソースライセンスの選定"
|
|
132
|
-
|
|
133
|
-
|
|
186
|
+
l2_reasoning: "最も自由度が高く、個人プロジェクトに適切"
|
|
187
|
+
l2_alternatives: ["Apache 2.0", "GPL v3"]
|
|
134
188
|
```
|
|
135
189
|
|
|
136
190
|
---
|
|
@@ -150,15 +204,15 @@ watashi_log_decision:
|
|
|
150
204
|
│ (MCP Server) │
|
|
151
205
|
│ │
|
|
152
206
|
│ ┌─────────────────┐ │
|
|
153
|
-
│ │ Tools (
|
|
154
|
-
│ │ Resources (
|
|
155
|
-
│ │ Prompts (
|
|
207
|
+
│ │ Tools (11) │ │
|
|
208
|
+
│ │ Resources (5) │ │
|
|
209
|
+
│ │ Prompts (2) │ │
|
|
156
210
|
│ └────────┬────────┘ │
|
|
157
211
|
│ │ │
|
|
158
212
|
│ ┌────────▼────────┐ │
|
|
159
213
|
│ │ SQLite + FTS5 │ │
|
|
160
214
|
│ │ (~/.watashi-db │ │
|
|
161
|
-
│ │
|
|
215
|
+
│ │ /default.db) │ │
|
|
162
216
|
│ └─────────────────┘ │
|
|
163
217
|
└───────────────────────┘
|
|
164
218
|
```
|
|
@@ -167,38 +221,39 @@ watashi_log_decision:
|
|
|
167
221
|
|
|
168
222
|
| テーブル | 説明 |
|
|
169
223
|
|---------|------|
|
|
170
|
-
| `claims` | SPO
|
|
171
|
-
| `claims_fts` | FTS5全文検索インデックス |
|
|
224
|
+
| `claims` | SPO三つ組の知識断片 |
|
|
172
225
|
| `claim_history` | Claimの変更履歴 |
|
|
173
|
-
| `claim_relations` | Claim
|
|
174
|
-
| `claim_evidence` |
|
|
175
|
-
| `claim_checks` |
|
|
226
|
+
| `claim_relations` | Claim間の推論関係 |
|
|
227
|
+
| `claim_evidence` | 構造化根拠参照 |
|
|
228
|
+
| `claim_checks` | 検証ログ |
|
|
176
229
|
| `decisions` | 意思決定ログ |
|
|
177
|
-
| `episodes` |
|
|
178
|
-
| `
|
|
230
|
+
| `episodes` | エピソード(問題→決定→結果→教訓) |
|
|
231
|
+
| `theories` | 仮説・パターン認識 |
|
|
232
|
+
| `insights` | エピソードからの知見 |
|
|
233
|
+
| `models` | 運用モデル・フレームワーク |
|
|
234
|
+
| `user_memos` | 参照メモ |
|
|
235
|
+
| `user_plans` | セッション間作業計画 |
|
|
236
|
+
| `user_issues` | 追跡対象の課題 |
|
|
179
237
|
| `audit_log` | 全操作の監査ログ |
|
|
238
|
+
| `store_meta` | Store メタデータ |
|
|
239
|
+
| `unified_search_items` | FTS5統合検索インデックス |
|
|
240
|
+
| `schema_version` | マイグレーションバージョン管理 |
|
|
180
241
|
|
|
181
242
|
### MCPツール一覧
|
|
182
243
|
|
|
183
244
|
| ツール | 説明 |
|
|
184
245
|
|--------|------|
|
|
185
246
|
| `watashi_store_claim` | SPO三つ組でユーザー知識を記録 |
|
|
186
|
-
| `watashi_update_claim` |
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
190
|
-
| `watashi_search_claims` | 条件検索(カテゴリ・スコープ・テキスト) |
|
|
191
|
-
| `watashi_query_context` | FTS5全文検索でコンテキスト取得 |
|
|
247
|
+
| `watashi_update_claim` | Claimの更新・撤回 |
|
|
248
|
+
| `watashi_manage_claim` | Claim高度管理(置換・検証・関係付け・Decision管理) |
|
|
249
|
+
| `watashi_search` | 全エンティティ横断検索(自然言語・タグ・embedding) |
|
|
250
|
+
| `watashi_get` | エンティティ詳細取得 + プロファイルサマリー |
|
|
192
251
|
| `watashi_log_decision` | 意思決定を構造的に記録 |
|
|
193
|
-
| `
|
|
194
|
-
| `
|
|
195
|
-
| `
|
|
196
|
-
| `
|
|
197
|
-
| `
|
|
198
|
-
| `watashi_list_episodes` | エピソードの検索・一覧(FTS5・タグ対応) |
|
|
199
|
-
| `watashi_get_episode` | エピソード詳細を取得 |
|
|
200
|
-
| `watashi_backup_db` | SQLiteファイルのバックアップ |
|
|
201
|
-
| `watashi_export_json` | 全データのJSONエクスポート |
|
|
252
|
+
| `watashi_log_episode` | エピソード(問題→決定→結果→教訓)を記録 |
|
|
253
|
+
| `watashi_store_knowledge` | Theory/Insight/Model を記録 |
|
|
254
|
+
| `watashi_store_user_memo` | Memo/Plan/Issue を記録 |
|
|
255
|
+
| `watashi_update_user_memo` | Memo/Plan/Issue を更新 |
|
|
256
|
+
| `watashi_maintain` | DB保守(統計・バックアップ・エクスポート・棚卸・Store管理) |
|
|
202
257
|
|
|
203
258
|
---
|
|
204
259
|
|
|
@@ -229,9 +284,12 @@ npm run dev
|
|
|
229
284
|
### DBファイルの場所
|
|
230
285
|
|
|
231
286
|
```
|
|
232
|
-
~/.watashi-db/
|
|
287
|
+
~/.watashi-db/default.db
|
|
233
288
|
```
|
|
234
289
|
|
|
290
|
+
> [!NOTE]
|
|
291
|
+
> 旧バージョンで `watashi.db` を使用していた場合、サーバー起動時に自動で `default.db` にリネームされます。
|
|
292
|
+
|
|
235
293
|
---
|
|
236
294
|
|
|
237
295
|
## ライセンス
|
|
File without changes
|
package/cowork-plugin/.mcp.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"UserPromptSubmit": [{
|
|
4
|
+
"hooks": [{
|
|
5
|
+
"type": "command",
|
|
6
|
+
"command": "npx watashi-db hook",
|
|
7
|
+
"timeout": 10
|
|
8
|
+
}]
|
|
9
|
+
}],
|
|
10
|
+
"Stop": [{
|
|
11
|
+
"hooks": [{
|
|
12
|
+
"type": "command",
|
|
13
|
+
"command": "npx watashi-db stop-hook",
|
|
14
|
+
"timeout": 10
|
|
15
|
+
}]
|
|
16
|
+
}]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >
|
|
3
|
+
過去の判断・好み・経験を watashi-db から参照する。
|
|
4
|
+
以下の場面で自動的に使用すること:
|
|
5
|
+
ユーザーが過去の判断・方針について言及した時 /
|
|
6
|
+
設計判断で類似の過去事例が参考になりそうな時 /
|
|
7
|
+
「前に〜したっけ?」等の直接的な問い /
|
|
8
|
+
技術選定で過去の好みや経験が影響しそうな時
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
watashi-db から過去のコンテキストを検索・参照します。
|
|
12
|
+
|
|
13
|
+
## 引数
|
|
14
|
+
- `$ARGUMENTS`: (オプション)検索トピック / キーワード
|
|
15
|
+
|
|
16
|
+
## 手順
|
|
17
|
+
|
|
18
|
+
1. **概要確認**: 引数なし、または初回利用時はまず `watashi_list_topics` で記録済みトピックの概要を確認する
|
|
19
|
+
|
|
20
|
+
2. **トピック特定**: $ARGUMENTS または会話の文脈から検索キーワードを抽出
|
|
21
|
+
|
|
22
|
+
3. **検索実行**: 以下のツールを適切に使い分ける:
|
|
23
|
+
- `watashi_list_topics`: 記録済みトピックの全体像(カテゴリ分布・タグ上位・最近の判断)
|
|
24
|
+
- `watashi_query_context`: 幅広いトピック検索(Claims + Decisions + Episodes 横断)
|
|
25
|
+
- `watashi_search_claims`: 特定カテゴリの好み・スキルを絞り込む場合
|
|
26
|
+
- `watashi_get_context_pack`: トークン予算を指定した効率的な検索
|
|
27
|
+
|
|
28
|
+
4. **結果の活用**:
|
|
29
|
+
- 検索結果が0件なら何も報告しない(ユーザーの邪魔をしない)
|
|
30
|
+
- 関連する過去の判断・好みが見つかったら、自然に応答に組み込む
|
|
31
|
+
- 「以前〜と判断されています」のように出典を示す
|
|
32
|
+
|
|
33
|
+
## 注意事項
|
|
34
|
+
- 控えめに: 検索したこと自体を逐一報告しない
|
|
35
|
+
- 結果が多すぎる場合は confidence や更新日時で上位のみ使用
|
|
36
|
+
- ユーザーが明示的に `/recall` で呼んだ場合は検索結果を詳細に表示
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ResolvedConfig } from "./schema.js";
|
|
2
|
+
/**
|
|
3
|
+
* config.json を読み込んで ResolvedConfig を返す
|
|
4
|
+
* ファイルが存在しない場合はデフォルト構成を返す
|
|
5
|
+
*/
|
|
6
|
+
export declare function loadConfig(): ResolvedConfig;
|
|
7
|
+
/**
|
|
8
|
+
* デフォルト構成: 現行の単一DB動作を再現
|
|
9
|
+
* Store名 "default" / Context名 "default"
|
|
10
|
+
*/
|
|
11
|
+
export declare function getDefaultConfig(): ResolvedConfig;
|
|
12
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config.json ローダー
|
|
3
|
+
* ファイルの読み込み・パース・バリデーション、またはデフォルト構成の生成
|
|
4
|
+
*/
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import { CONFIG_PATH, DB_PATH, LEGACY_DB_PATH } from "../constants.js";
|
|
7
|
+
import { validateAndResolveConfig, ConfigValidationError } from "./validator.js";
|
|
8
|
+
/**
|
|
9
|
+
* 旧デフォルトDB名 (watashi.db) → 新デフォルトDB名 (default.db) の自動リネーム
|
|
10
|
+
* WAL関連ファイル (-shm, -wal) も同時にリネームする
|
|
11
|
+
*/
|
|
12
|
+
function migrateDefaultDbName() {
|
|
13
|
+
if (fs.existsSync(LEGACY_DB_PATH) && !fs.existsSync(DB_PATH)) {
|
|
14
|
+
fs.renameSync(LEGACY_DB_PATH, DB_PATH);
|
|
15
|
+
// WAL関連ファイルもリネーム
|
|
16
|
+
for (const suffix of ["-shm", "-wal"]) {
|
|
17
|
+
const legacyWal = LEGACY_DB_PATH + suffix;
|
|
18
|
+
if (fs.existsSync(legacyWal)) {
|
|
19
|
+
fs.renameSync(legacyWal, DB_PATH + suffix);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// groom-state.json もリネーム
|
|
23
|
+
const legacyGroom = LEGACY_DB_PATH + ".groom-state.json";
|
|
24
|
+
if (fs.existsSync(legacyGroom)) {
|
|
25
|
+
fs.renameSync(legacyGroom, DB_PATH + ".groom-state.json");
|
|
26
|
+
}
|
|
27
|
+
process.stderr.write(`[watashi-db] DB名を自動マイグレーション: watashi.db → default.db\n`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* config.json を読み込んで ResolvedConfig を返す
|
|
32
|
+
* ファイルが存在しない場合はデフォルト構成を返す
|
|
33
|
+
*/
|
|
34
|
+
export function loadConfig() {
|
|
35
|
+
// 旧DB名の自動リネーム(config.json の有無に関わらず実行)
|
|
36
|
+
migrateDefaultDbName();
|
|
37
|
+
if (!fs.existsSync(CONFIG_PATH)) {
|
|
38
|
+
return getDefaultConfig();
|
|
39
|
+
}
|
|
40
|
+
const raw = fs.readFileSync(CONFIG_PATH, "utf-8");
|
|
41
|
+
let parsed;
|
|
42
|
+
try {
|
|
43
|
+
parsed = JSON.parse(raw);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
const message = e instanceof SyntaxError ? e.message : String(e);
|
|
47
|
+
throw new ConfigValidationError([`config.json のJSON構文エラー: ${message}`]);
|
|
48
|
+
}
|
|
49
|
+
return validateAndResolveConfig(parsed);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* デフォルト構成: 現行の単一DB動作を再現
|
|
53
|
+
* Store名 "default" / Context名 "default"
|
|
54
|
+
*/
|
|
55
|
+
export function getDefaultConfig() {
|
|
56
|
+
return {
|
|
57
|
+
stores: {
|
|
58
|
+
default: {
|
|
59
|
+
type: "local",
|
|
60
|
+
path: DB_PATH,
|
|
61
|
+
originalPath: DB_PATH,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
contexts: {
|
|
65
|
+
default: {
|
|
66
|
+
stores: { default: "read-write" },
|
|
67
|
+
default_store: "default",
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
default_context: "default",
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGjF;;;GAGG;AACH,SAAS,oBAAoB;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACvC,iBAAiB;QACjB,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;YAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,yBAAyB;QACzB,MAAM,WAAW,GAAG,cAAc,GAAG,mBAAmB,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,sCAAsC;IACtC,oBAAoB,EAAE,CAAC;IAEvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,IAAI,qBAAqB,CAAC,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;gBACjC,aAAa,EAAE,SAAS;aACzB;SACF;QACD,eAAe,EAAE,SAAS;KAC3B,CAAC;AACJ,CAAC"}
|