# Lacan Knowledge OS
**ラカン精神分析のためのコーパス根拠型リサーチ環境。**
まず証拠、次に解釈、捏造はしない。
[English](README.md) · [中文](README.zh.md) · [Français](README.fr.md) · [**日本語**](README.ja.md) · [Deutsch](README.de.md) · [Italiano](README.it.md)
[](LICENSE)
[](docs/ARCHITECTURE.md)
[](docs/SCHOLARLY_REGRESSION_SPEC_V1.md)
[](docs/MCP_TOOL_CONTRACTS.md)
[](https://github.com/deepseek-ai)
---
> **このシステムが従う唯一の規則**
>
> *すべての主張は、必ず一つの段落番号に着地しなければならない。*
>
> コーパスが支えられない問いに対して、システムは**棄権**します —— モデルの知識で
> 答えることはありません。**棄権は結果であり、エラーではありません。**
---
## 目次
| | |
|---|---|
| [1. これは何か](#1-これは何か) | [6. アーキテクチャ](#6-アーキテクチャ) |
| [2. 誰のためか](#2-誰のためか) | [7. DSH / 任意の MCP クライアントから使う](#7-dsh--任意の-mcp-クライアントから使う) |
| [3. やらないこと](#3-やらないこと) | [8. コーパスは自分で用意する(重要)](#8-コーパスは自分で用意する重要) |
| [4. クイックスタート](#4-クイックスタート) | [9. 長所と短所](#9-長所と短所) |
| [5. 使い方](#5-使い方) | [10. 状態・ロードマップ・参加](#10-状態ロードマップ参加) |
---
## 1. これは何か
**Lacan Knowledge OS** は、ラカンを真剣に読むためのローカル・オフライン優先の研究器具です。
セミネールとエクリのテキストを**引用可能な証拠ストア**に変え、あなたの問いと答えの間に
**固定された学術コア**を置きます。
一つのシステムに六つの機能:
| | 機能 | 得られるもの |
|---|---|---|
| 🔎 | **Research** | 問いを投げる → コアが段落を検索し証拠契約を構築し、**その後にのみ**回答を合成。回答内の各主張は引用検証と含意検証を通過しなければならない |
| 📖 | **Explore** | コーパスを直接読む:段落・セッション・セミネール・概念・用語 —— モデルを介さない |
| 🔬 | **Evidence Inspector** | `回答 → 主張 → 段落 → セッション → セミネール → 証人/出典`、引用された**まさにその一句**と文脈ウィンドウ付き |
| 🗂️ | **Research Projects** | 繰り返しの実行を長期テーマに(問い・仮説・段落・人物・症例・文献) |
| 📚 | **文献と引用** | レビュー状態・メタデータ完全性・スタイル別の引用可否、**そして不可の理由** |
| ✍️ | **Obsidian ブリッジ** | 証拠と検証はこちらに。あなたの理解・ノート・執筆はあなたの vault に |
## 2. 誰のためか
- **研究者・大学院生** —— ラカンを正確に引用し、その読みが**どこから来たか**を示す必要がある人。
- **読書会・セミネール** —— 共有でき検証できる証拠基盤がほしい場。
- **ツール開発者** —— *固定コア* アーキテクチャの実例:意味論レイヤーが漂流せず、製品レイヤーがその周りで進化する。
- **AI エンジニア** —— 信頼度スコアではなく、明示的な棄権契約を伴う根拠付き生成に関心がある人。
## 3. やらないこと
これらの拒否は設計そのものです:
| 拒否 | 理由 |
|---|---|
| **モデルの知識で答えない** | 合成は検索された証拠のみを使える。契約が不足なら `ABSTAINED`。 |
| **出典を黙って修復しない** | `SOURCE_TRACE_INCOMPLETE` は可視のまま。隠すことは出典の誤表示。 |
| **書誌データを捏造しない** | 出版社・年・ISBN・ページは決して推測しない。出せないスタイルは理由を述べる。 |
| **自動で正典化しない** | 取り込み/AI 生成の素材は *候補* として入り、人間が昇格させるまで候補のまま。 |
| **未宣言の意味論を許さない** | 39 の学術コンポーネントはハッシュ固定。未宣言の変更は検証に失敗し、システムは**起動を拒否**する。 |
## 4. クイックスタート
> **この公開版はエンジンのみで、コーパスは含みません。** [§8](#8-コーパスは自分で用意する重要) と
> [`CORPUS.md`](CORPUS.md) を参照してください。
```bash
git clone https://github.com/YanKaFei/Lacan-Knowledge-OS.git
cd Lacan-Knowledge-OS
# 1) コーパスが無くても起動します —— ヘルプセンターと UI は完全に使用可能:
python3 -m workspace_ui.server.cli --port 3090
# → http://127.0.0.1:3090/help 13 ページのヘルプセンター
# → http://127.0.0.1:3090/research 研究画面(回答にはコーパスが必要)
# 2) 整合性チェック(これは契約であって飾りではない):
python3 _scripts/_tools/core_freeze.py --verify # 39 の学術コンポーネント
python3 _scripts/_tools/freeze_lineage.py --verify # フェーズ間の意味論変化
python3 _scripts/_tools/build_i18n.py --check # UI 文言 ↔ 辞書 ↔ 呼び出し点
python3 _scripts/_tools/build_help.py --check # Help のリンク・アンカー・捏造 0
# 3) 全リグレッション(コーパス依存のスイートはコーパスが必要;CORPUS.md 参照)
bash _scripts/run_all_tests.sh
```
**要件:** Python 3.9+(コア経路は標準ライブラリのみ)、モダンブラウザ。ベクトル検索や
実 LLM を使う場合のみ [`docs/EMBEDDING_PROVIDER.md`](docs/EMBEDDING_PROVIDER.md) の
オプション依存が必要です。**バンドラもビルド手順もありません** —— `index.html` が
ES モジュールを直接読み込みます。
## 5. 使い方
### 5.1 タスク指向のホーム画面
開いたときに見えるのは**何ができるか**であり、内部構造ではありません:
```
Hero → [研究を始める] [はじめての方へ]
タスク → ラカンへの問い · 原文と出典を探す · 概念を研究する
人物と症例を研究する · 長期プロジェクトを作る · 文献と引用を管理する
流れ → ① 問う → ② 証拠を見る → ③ 原文を読む
→ ④ 素材を残す → ⑤ 出典を整理 → ⑥ 自分の知を形成
5 分 → 最初の研究を終えるまでの 6 ステップ
```
すべての入口は**実リンク**(`/research`、`/explore`、`/projects`、`/bibliography`、
`/persons`、`/cases`、`/zotero`、`/help/...`)—— 共有・ブックマーク・新規タブで開けます。
### 5.2 一つの研究タスクの流れ
1. **問う** —— 一度に一つの問い。
2. **状態を読む** —— `VALIDATED`、`VALIDATED_WITH_QUALIFICATIONS`、`PARTIALLY_SUPPORTED`、
`VALIDATION_FAILED`、`INSUFFICIENT_EVIDENCE`、`ABSTAINED`。文字どおりに読むこと。
3. **検証する** —— 引用チップをクリック。Evidence Inspector が引用された一句・文脈・
出典チェーンを示します。*回答はコアの結論であり、インスペクタはコーパスが実際に
述べていることです。*
4. **深める** —— Explore で同じ段落を開いて周辺を読む。
5. **残す** —— `Add to Project`、または `Save to Obsidian`。
### 5.3 ヘルプセンター
`/help` は 13 ページ:サイドバー目次、アンカー、前後移動、トピック検索。
内容は *はじめ方・Research・証拠・Explore・三者の違い・Projects・人物と症例・
文献・Zotero・Obsidian・言語・状態一覧・トラブルシューティング*。
**Help に現れるコントロール名はすべて実 UI から描画**され、機能的主張はすべて機械検証
されます(`HELP_CLAIM_VERIFICATION.json`:**42/42 検証済み・捏造 0・保留 0**)。
### 5.4 UI 言語と研究言語
| 設定 | 範囲 | 例 |
|---|---|---|
| **Language**(`English` / `中文`)| 製品 UI のみ | 即時切替、リロード不要 |
| **Research language**(`any` / `zh` / `fr` / `en`)| 研究リクエストと共に送られる**質問言語** | UI を翻訳せず、検索も絞り込まない |
`UI = 中文` + `Research language = Français` は完全に妥当です。ラカンの原文・引用段落・
書誌メタデータは**決して翻訳されません**。
## 6. アーキテクチャ
```
あなたの問い
│
┌──────────▼───────────┐
│ 製品レイヤー │ workspace_ui/ · browse_api/ · project_api/
│ (自由に進化) │ export_system/ · bibliography/ · obsidian_adapter/
└──────────┬───────────┘
│ scholarly_api v1(製品境界 — 3 つの固定コンポーネント)
┌──────────▼───────────┐
│ 固定された学術コア │ 39 のハッシュ固定コンポーネント
│ (漂流しない) │ 検索 · 証拠契約 · 十分性 · 合成境界 · 引用 · 含意 · 棄権
└──────────┬───────────┘
│
┌──────────▼───────────┐
│ コーパス │ 段落ストア · 証人 · オントロジー · 索引
│ (自分で用意) │ 本リポジトリには**含まれません**
└──────────────────────┘
```
- **エージェントは Python ではなく MCP で話す。** `mcp_server/` が stdio で **10 ツール**を
公開(プロトコル `2025-11-25`)。Web UI はその契約の一クライアントにすぎません。
- **固定は実行可能。** `core_freeze.py --verify` が 39 のハッシュを再計算し、
`freeze_lineage.py --verify` が 7 フェーズを通じて**意味論変化ゼロ**を証明します。
- **派生物は再生成可能。** SQLite/FTS/ベクトル索引と 24.9 万段落は正典ソース+マニフェスト
から再構築できます。**vault が唯一の真実の源**です。
さらに:[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) ·
[`docs/MCP_ARCHITECTURE.md`](docs/MCP_ARCHITECTURE.md) ·
[`docs/HELP_SYSTEM_ARCHITECTURE.md`](docs/HELP_SYSTEM_ARCHITECTURE.md)。
## 7. DSH / 任意の MCP クライアントから使う
このリポジトリは**それ自体が** [DeepSeek Harness](https://github.com/deepseek-ai) の
プラグイン対象です:MCP サーバー、貼るだけの row、インストール可能な DSH バンドルを同梱します。
```bash
# A. DSH プラグインとして(MCP row を自動で書き込みます)
dsh plugin --profile web add github:YanKaFei/Lacan-Knowledge-OS
# B. あるいは row を自分で貼る — integrations/lacan-kb-mcp.row.yml
# ツールは mcp__lacan-kb__search_passages のような名前で現れます
# C. あるいはサーバーを単体で起動
python3 _scripts/_tools/lacan-kb-mcp
```
DSH 自身の MCP SDK で証明済み(`_data/mcp/DSH_CLIENT_PROOF.json`、**14/14**):
stdio ハンドシェイク、スキーマ付き 10 ツール、`mcp__lacan-kb__` 命名、構造化証拠の返却、
返却された passage id の独立再検証、未知ツールにはクラッシュではなくプロトコルエラー。
詳細は [`docs/MCP_DSH_INTEGRATION.md`](docs/MCP_DSH_INTEGRATION.md)。
## 8. コーパスは自分で用意する(**重要**)
本リポジトリは**意図的に一切のソーステキストを含みません**:
| 含まれないもの | 理由 |
|---|---|
| セミネール/エクリ全文(仏・中)| 権利者の著作権 |
| 段落ストア(`passages.jsonl`、249,105 件、約 384 MB)| コーパス本文 |
| 証人と実現テキスト(約 152 MB)| コーパス本文 |
| ベクトル/語彙索引 | 大容量、あなたのコーパスから再構築可能 |
**含まれるもの**:スキーマ、固定契約、ビルダー、バリデータ、テスト ——
つまり**あなたが使用する権利を持つテキスト**(自前のスキャン、ライセンス版、
パブリックドメイン、自分の翻訳)を取り込むために必要なすべてです。
```bash
python3 _scripts/build.py --help # コーパス目録とビルド入口
python3 _scripts/inventory_corpus.py --help # 正典目録とハッシュ
```
公開版は [`_scripts/_tools/build_public_edition.py`](_scripts/_tools/build_public_edition.py)
が生成し、**否定的検証**(コーパス N-gram 探査、秘密情報スキャン、絶対パススキャン、
サイズ門)を行います。[`docs/PUBLIC_EDITION.md`](docs/PUBLIC_EDITION.md) 参照。
## 9. 長所と短所
| ✅ 長所 | ⚠️ 短所・限界 |
|
**流暢さより検証可能性。** 各主張は段落 ID に結び付き、人間が手で監査できます。
**正直な失敗。** 棄権・`INSUFFICIENT_EVIDENCE`・明示的な利用不可が一等の出力。捏造の埋め草はありません。
**実行可能な契約。** 39 コンポーネントの固定と 7 段の系譜は、文書の約束ではなくコードが検査します。
**オフライン優先。** `Offline / Mock` は資格情報もネットワークも不要で、決定的な回答を返します。
**一つの契約、複数のクライアント。** 同じ MCP 面が Web UI・DSH・MCP 対応エディタに奉仕します。
**監査可能な履歴。** 各実行は不変スナップショット。同じ問いを再実行すると旧項目を上書きせず新項目が増えます。
**二言語が作り込み。** UI 文言は辞書駆動で欠落キー 0。ソーステキストは意図的に翻訳しません。
|
**使用権のあるコーパスが必要です。** そのままでは UI・ヘルプセンター・契約は見えますが、テキストを用意するまで問いに答えられません。
**範囲に主張があります。** *コーパスについて*答えます。出版史・出席者・日付の問いは棄権します(コーパスがそのメタデータを持たないため)。
**品質スコアはありません。** どこにも「信頼度 %」はなく、解釈の質はあなたの判断です。
**ノート PC 規模には重め。** 参照コーパスは派生索引と埋め込みを含め約 2.5 GB。
**ベクトル検索は任意かつ部分的。** embedding 依存が無い場合、語彙検索に退避します(UI がどちらかを表示)。
**実 LLM 合成は単一のブロッキング呼び出し。** 長い実行は 45〜60 秒。UI は実経過時間を表示し、「待機を中止」はバックエンド処理を取消しません。
**製品は速く、学術層は固定。** 便利機能は頻繁に変わりますが、*意味論*の変更には正式な Core Change Request が必要。
**領域の予備知識を前提とします。** ラカンを教えてくれるシステムではありません。
|
## 10. 状態・ロードマップ・参加
- **状態:** 学術コアは v1 で固定(`SCHOLARLY_CORE_READY`)。製品層は日常利用に必要な機能を
備えています(研究・探索・証拠・プロジェクト・文献・Zotero 取り込み・Obsidian ブリッジ・
エクスポート・ヘルプセンター)。
- **直近の受け入れ値:** **20/20 の阻断項目通過**、**146 スイート / 78 バリデータ / 失敗 0 /
スキップ 0**、コア固定 **PASS**、意味論ドリフト **0**。
- **ロードマップ:** [`docs/ROADMAP.md`](docs/ROADMAP.md)。
- **参加:** [`CONTRIBUTING.md`](CONTRIBUTING.md) —— 唯一譲れない規則は
*Core Change Request 無しに学術意味論を変えないこと*。
- **セキュリティ:** [`SECURITY.md`](SECURITY.md) —— 資格情報は製品 API を通りません。
**ライセンス** —— コード:[Apache-2.0](LICENSE) · ソーステキスト:**配布しません**([NOTICE](NOTICE))
*このシステムが引用確認の一週間を節約したなら、それは仕事を果たしています。*