conclave-personal 0.1.0__tar.gz

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.
Files changed (134) hide show
  1. conclave_personal-0.1.0/LICENSE +114 -0
  2. conclave_personal-0.1.0/MANIFEST.in +23 -0
  3. conclave_personal-0.1.0/PKG-INFO +392 -0
  4. conclave_personal-0.1.0/PROJECT.md +83 -0
  5. conclave_personal-0.1.0/README.md +341 -0
  6. conclave_personal-0.1.0/conclave-ui.html +515 -0
  7. conclave_personal-0.1.0/docs/architektur/ports-adapter.md +86 -0
  8. conclave_personal-0.1.0/docs/assets/screenshots/conclave-agents-desktop.png +0 -0
  9. conclave_personal-0.1.0/docs/assets/screenshots/conclave-studio-desktop.png +0 -0
  10. conclave_personal-0.1.0/docs/beispiel-workflows.md +80 -0
  11. conclave_personal-0.1.0/docs/flows/api-request.md +54 -0
  12. conclave_personal-0.1.0/docs/flows/orchestrierung.md +76 -0
  13. conclave_personal-0.1.0/docs/flows/workspace-directives.md +89 -0
  14. conclave_personal-0.1.0/docs/index.md +33 -0
  15. conclave_personal-0.1.0/docs/multi-agent-leitfaden.md +287 -0
  16. conclave_personal-0.1.0/docs/personal-ui-architektur.md +197 -0
  17. conclave_personal-0.1.0/docs/referenz/api.md +54 -0
  18. conclave_personal-0.1.0/docs/referenz/cli.md +76 -0
  19. conclave_personal-0.1.0/docs/referenz/konfiguration.md +103 -0
  20. conclave_personal-0.1.0/docs/release-notes-v0.1.0.md +151 -0
  21. conclave_personal-0.1.0/docs/sicherheit.md +70 -0
  22. conclave_personal-0.1.0/pyproject.toml +66 -0
  23. conclave_personal-0.1.0/scripts/linux/conclave.desktop +7 -0
  24. conclave_personal-0.1.0/scripts/linux/conclave.service +12 -0
  25. conclave_personal-0.1.0/scripts/linux/install_user_service.sh +13 -0
  26. conclave_personal-0.1.0/scripts/linux/start_desktop.sh +8 -0
  27. conclave_personal-0.1.0/scripts/linux/start_server.sh +8 -0
  28. conclave_personal-0.1.0/scripts/linux/uninstall_user_service.sh +7 -0
  29. conclave_personal-0.1.0/scripts/windows/install_service_nssm.ps1 +5 -0
  30. conclave_personal-0.1.0/scripts/windows/install_user_startup.ps1 +15 -0
  31. conclave_personal-0.1.0/scripts/windows/start_desktop.ps1 +5 -0
  32. conclave_personal-0.1.0/scripts/windows/start_server.ps1 +5 -0
  33. conclave_personal-0.1.0/scripts/windows/uninstall_service_nssm.ps1 +4 -0
  34. conclave_personal-0.1.0/setup.cfg +4 -0
  35. conclave_personal-0.1.0/src/conclave/__init__.py +1 -0
  36. conclave_personal-0.1.0/src/conclave/api/__init__.py +0 -0
  37. conclave_personal-0.1.0/src/conclave/api/app.py +888 -0
  38. conclave_personal-0.1.0/src/conclave/api/server.py +187 -0
  39. conclave_personal-0.1.0/src/conclave/application/__init__.py +0 -0
  40. conclave_personal-0.1.0/src/conclave/application/adapter_registry.py +43 -0
  41. conclave_personal-0.1.0/src/conclave/application/agent_service.py +41 -0
  42. conclave_personal-0.1.0/src/conclave/application/conversation_flow.py +699 -0
  43. conclave_personal-0.1.0/src/conclave/application/data_export_service.py +41 -0
  44. conclave_personal-0.1.0/src/conclave/application/orchestrator.py +187 -0
  45. conclave_personal-0.1.0/src/conclave/application/participant_service.py +69 -0
  46. conclave_personal-0.1.0/src/conclave/application/personal_migration.py +277 -0
  47. conclave_personal-0.1.0/src/conclave/application/ports.py +222 -0
  48. conclave_personal-0.1.0/src/conclave/application/retention_service.py +37 -0
  49. conclave_personal-0.1.0/src/conclave/application/workspace_security.py +99 -0
  50. conclave_personal-0.1.0/src/conclave/cli/__init__.py +0 -0
  51. conclave_personal-0.1.0/src/conclave/cli/bootstrap.py +281 -0
  52. conclave_personal-0.1.0/src/conclave/cli/config.py +118 -0
  53. conclave_personal-0.1.0/src/conclave/cli/handler.py +812 -0
  54. conclave_personal-0.1.0/src/conclave/cli/main.py +579 -0
  55. conclave_personal-0.1.0/src/conclave/cli/watch.py +88 -0
  56. conclave_personal-0.1.0/src/conclave/domain/__init__.py +0 -0
  57. conclave_personal-0.1.0/src/conclave/domain/agent.py +37 -0
  58. conclave_personal-0.1.0/src/conclave/domain/agent_roles.py +56 -0
  59. conclave_personal-0.1.0/src/conclave/domain/audit.py +22 -0
  60. conclave_personal-0.1.0/src/conclave/domain/conversation.py +104 -0
  61. conclave_personal-0.1.0/src/conclave/domain/errors.py +130 -0
  62. conclave_personal-0.1.0/src/conclave/domain/message.py +61 -0
  63. conclave_personal-0.1.0/src/conclave/domain/model_response.py +14 -0
  64. conclave_personal-0.1.0/src/conclave/domain/participant.py +23 -0
  65. conclave_personal-0.1.0/src/conclave/domain/run.py +31 -0
  66. conclave_personal-0.1.0/src/conclave/infrastructure/__init__.py +0 -0
  67. conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/__init__.py +0 -0
  68. conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/adapter.py +117 -0
  69. conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/async_adapter.py +85 -0
  70. conclave_personal-0.1.0/src/conclave/infrastructure/auth.py +86 -0
  71. conclave_personal-0.1.0/src/conclave/infrastructure/crypto.py +80 -0
  72. conclave_personal-0.1.0/src/conclave/infrastructure/log.py +96 -0
  73. conclave_personal-0.1.0/src/conclave/infrastructure/migrations.py +215 -0
  74. conclave_personal-0.1.0/src/conclave/infrastructure/openai/__init__.py +0 -0
  75. conclave_personal-0.1.0/src/conclave/infrastructure/openai/adapter.py +102 -0
  76. conclave_personal-0.1.0/src/conclave/infrastructure/openai/async_adapter.py +74 -0
  77. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/__init__.py +0 -0
  78. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/agent_repository.py +84 -0
  79. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/audit_repository.py +121 -0
  80. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/conversation_repository.py +107 -0
  81. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/message_repository.py +77 -0
  82. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/participant_repository.py +64 -0
  83. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/run_repository.py +134 -0
  84. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/schema.py +107 -0
  85. conclave_personal-0.1.0/src/conclave/infrastructure/postgres/unit_of_work.py +45 -0
  86. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/__init__.py +0 -0
  87. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/agent_repository.py +77 -0
  88. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/audit_repository.py +123 -0
  89. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/conversation_repository.py +116 -0
  90. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/message_repository.py +88 -0
  91. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/participant_repository.py +70 -0
  92. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/run_repository.py +126 -0
  93. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/schema.py +120 -0
  94. conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/unit_of_work.py +30 -0
  95. conclave_personal-0.1.0/src/conclave/infrastructure/universal/__init__.py +0 -0
  96. conclave_personal-0.1.0/src/conclave/infrastructure/universal/adapter.py +459 -0
  97. conclave_personal-0.1.0/src/conclave/infrastructure/universal/presets.py +192 -0
  98. conclave_personal-0.1.0/src/conclave/infrastructure/universal/profiles.py +216 -0
  99. conclave_personal-0.1.0/src/conclave/infrastructure/universal/resilient.py +133 -0
  100. conclave_personal-0.1.0/src/conclave/mcp_server.py +277 -0
  101. conclave_personal-0.1.0/src/conclave/runtime/__init__.py +14 -0
  102. conclave_personal-0.1.0/src/conclave/runtime/assets.py +29 -0
  103. conclave_personal-0.1.0/src/conclave/runtime/browser.py +10 -0
  104. conclave_personal-0.1.0/src/conclave/runtime/desktop.py +44 -0
  105. conclave_personal-0.1.0/src/conclave/runtime/paths.py +63 -0
  106. conclave_personal-0.1.0/src/conclave/runtime/platform_info.py +35 -0
  107. conclave_personal-0.1.0/src/conclave/runtime/process.py +19 -0
  108. conclave_personal-0.1.0/src/conclave_personal.egg-info/PKG-INFO +392 -0
  109. conclave_personal-0.1.0/src/conclave_personal.egg-info/SOURCES.txt +132 -0
  110. conclave_personal-0.1.0/src/conclave_personal.egg-info/dependency_links.txt +1 -0
  111. conclave_personal-0.1.0/src/conclave_personal.egg-info/entry_points.txt +5 -0
  112. conclave_personal-0.1.0/src/conclave_personal.egg-info/requires.txt +40 -0
  113. conclave_personal-0.1.0/src/conclave_personal.egg-info/top_level.txt +1 -0
  114. conclave_personal-0.1.0/static/css/components.css +221 -0
  115. conclave_personal-0.1.0/static/css/layout.css +77 -0
  116. conclave_personal-0.1.0/static/css/theme.css +22 -0
  117. conclave_personal-0.1.0/static/js/api.js +52 -0
  118. conclave_personal-0.1.0/static/js/features/agents.js +199 -0
  119. conclave_personal-0.1.0/static/js/features/auth.js +37 -0
  120. conclave_personal-0.1.0/static/js/features/autoloop.js +107 -0
  121. conclave_personal-0.1.0/static/js/features/conversations.js +134 -0
  122. conclave_personal-0.1.0/static/js/features/export.js +18 -0
  123. conclave_personal-0.1.0/static/js/features/floor.js +51 -0
  124. conclave_personal-0.1.0/static/js/features/messages.js +112 -0
  125. conclave_personal-0.1.0/static/js/features/participants.js +51 -0
  126. conclave_personal-0.1.0/static/js/features/runs.js +45 -0
  127. conclave_personal-0.1.0/static/js/features/settings.js +84 -0
  128. conclave_personal-0.1.0/static/js/features/speech.js +68 -0
  129. conclave_personal-0.1.0/static/js/features/usage.js +93 -0
  130. conclave_personal-0.1.0/static/js/features/workspace.js +175 -0
  131. conclave_personal-0.1.0/static/js/main.js +108 -0
  132. conclave_personal-0.1.0/static/js/state.js +40 -0
  133. conclave_personal-0.1.0/static/js/utils.js +64 -0
  134. conclave_personal-0.1.0/static/openapi.json +1717 -0
@@ -0,0 +1,114 @@
1
+ # PolyForm Noncommercial License 1.0.0
2
+
3
+ https://polyformproject.org/licenses/noncommercial/1.0.0
4
+
5
+ ## Acceptance
6
+
7
+ In order to get any license under these terms, you must agree to them as both
8
+ strict obligations and conditions to all your licenses.
9
+
10
+ ## Copyright License
11
+
12
+ The licensor grants you a copyright license for the software to do everything
13
+ you might do with the software that would otherwise infringe the licensor's
14
+ copyright in it for any permitted purpose. However, you may only distribute the
15
+ software according to Distribution License and make changes or new works based
16
+ on the software according to Changes and New Works License.
17
+
18
+ ## Distribution License
19
+
20
+ The licensor grants you an additional copyright license to distribute copies of
21
+ the software. Your license to distribute covers distributing the software with
22
+ changes and new works permitted by Changes and New Works License.
23
+
24
+ ## Notices
25
+
26
+ You must ensure that anyone who gets a copy of any part of the software from
27
+ you also gets a copy of these terms or the URL for them above, as well as
28
+ copies of any plain-text lines beginning with `Required Notice:` that the
29
+ licensor provided with the software. For example:
30
+
31
+ > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
32
+
33
+ ## Changes and New Works License
34
+
35
+ The licensor grants you an additional copyright license to make changes and
36
+ new works based on the software for any permitted purpose.
37
+
38
+ ## Patent License
39
+
40
+ The licensor grants you a patent license for the software that covers patent
41
+ claims the licensor can license, or becomes able to license, that you would
42
+ infringe by using the software.
43
+
44
+ ## Noncommercial Purposes
45
+
46
+ Any noncommercial purpose is a permitted purpose.
47
+
48
+ ## Personal Uses
49
+
50
+ Personal use for research, experiment, and testing for the benefit of public
51
+ knowledge, personal study, private entertainment, hobby projects, amateur
52
+ pursuits, or religious observance, without any anticipated commercial
53
+ application, is use for a permitted purpose.
54
+
55
+ ## Noncommercial Organizations
56
+
57
+ Use by any charitable organization, educational institution, public research
58
+ organization, public safety or health organization, environmental protection
59
+ organization, or government institution is use for a permitted purpose
60
+ regardless of the source of funding or obligations resulting from the funding.
61
+
62
+ ## Fair Use
63
+
64
+ You may have "fair use" rights for the software under the law. These terms do
65
+ not limit them.
66
+
67
+ ## No Other Rights
68
+
69
+ These terms do not allow you to sublicense or transfer any of your licenses to
70
+ anyone else, or prevent the licensor from granting licenses to anyone else.
71
+ These terms do not imply any other licenses.
72
+
73
+ ## Patent Defense
74
+
75
+ If you make any written claim that the software infringes or contributes to
76
+ infringement of any patent, your patent license for the software granted under
77
+ these terms ends immediately. If your company makes such a claim, your patent
78
+ license ends immediately for work on behalf of your company.
79
+
80
+ ## Violations
81
+
82
+ The first time you are notified in writing that you have violated any of these
83
+ terms, or done anything with the software not covered by your licenses, your
84
+ licenses can nonetheless continue if you come into full compliance with these
85
+ terms, and take practical steps to correct past violations, within 32 days of
86
+ receiving notice. Otherwise, all your licenses end immediately.
87
+
88
+ ## No Liability
89
+
90
+ As far as the law allows, the software comes as is, without any warranty or
91
+ condition, and the licensor will not be liable to you for any damages arising
92
+ out of these terms or the use or nature of the software, under any kind of
93
+ legal claim.
94
+
95
+ ## Definitions
96
+
97
+ The licensor is the individual or entity offering these terms, and the software
98
+ is the software the licensor makes available under these terms.
99
+
100
+ You refers to the individual or entity agreeing to these terms.
101
+
102
+ Your company is any legal entity, sole proprietorship, or other kind of
103
+ organization that you work for, plus all organizations that have control over,
104
+ are under the control of, or are under common control with that organization.
105
+ Control means ownership of substantially all the assets of an entity, or the
106
+ power to direct its management and policies by vote, contract, or otherwise.
107
+ Control can be direct or indirect.
108
+
109
+ Your licenses are all the licenses granted to you for the software under these
110
+ terms.
111
+
112
+ Use means anything you do with the software requiring one of your licenses.
113
+
114
+ © PolyForm Project Inc.
@@ -0,0 +1,23 @@
1
+ include README.md
2
+ include PROJECT.md
3
+ include LICENSE
4
+ include conclave-ui.html
5
+ recursive-include static *.css *.js *.json
6
+ recursive-include scripts/windows *.ps1
7
+ recursive-include scripts/linux *
8
+ recursive-include docs/assets/screenshots *.png
9
+ include docs/index.md
10
+ include docs/beispiel-workflows.md
11
+ include docs/multi-agent-leitfaden.md
12
+ include docs/personal-ui-architektur.md
13
+ include docs/release-notes-v0.1.0.md
14
+ include docs/sicherheit.md
15
+ include docs/architektur/ports-adapter.md
16
+ include docs/flows/api-request.md
17
+ include docs/flows/orchestrierung.md
18
+ include docs/flows/workspace-directives.md
19
+ recursive-include docs/referenz *.md
20
+ recursive-exclude workspace *
21
+ recursive-exclude .claude *
22
+ recursive-exclude tests __pycache__ *.pyc
23
+ global-exclude __pycache__ *.py[cod] *.db *.db-shm *.db-wal *.key *.pem *.log
@@ -0,0 +1,392 @@
1
+ Metadata-Version: 2.4
2
+ Name: conclave-personal
3
+ Version: 0.1.0
4
+ Summary: Local personal multi-agent workspace for Windows and Linux.
5
+ License-Expression: LicenseRef-PolyForm-Noncommercial-1.0.0
6
+ Keywords: multi-agent,llm,local-first,workspace,cli
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Environment :: Console
9
+ Classifier: Framework :: Flask
10
+ Classifier: Intended Audience :: End Users/Desktop
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Requires-Python: >=3.11
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: cryptography>=42.0
20
+ Requires-Dist: flask>=3.0
21
+ Requires-Dist: flask-limiter>=4.0
22
+ Provides-Extra: anthropic
23
+ Requires-Dist: anthropic>=0.40.0; extra == "anthropic"
24
+ Provides-Extra: openai
25
+ Requires-Dist: openai>=1.0; extra == "openai"
26
+ Provides-Extra: api
27
+ Requires-Dist: flask>=3.0; extra == "api"
28
+ Requires-Dist: flask-limiter>=4.0; extra == "api"
29
+ Provides-Extra: crypto
30
+ Requires-Dist: cryptography>=42.0; extra == "crypto"
31
+ Provides-Extra: postgres
32
+ Requires-Dist: psycopg2-binary>=2.9; extra == "postgres"
33
+ Provides-Extra: mcp
34
+ Requires-Dist: mcp>=1.0; extra == "mcp"
35
+ Requires-Dist: httpx>=0.27; extra == "mcp"
36
+ Provides-Extra: dev
37
+ Requires-Dist: pytest>=9.0; extra == "dev"
38
+ Provides-Extra: dev-api
39
+ Requires-Dist: pytest>=9.0; extra == "dev-api"
40
+ Requires-Dist: flask>=3.0; extra == "dev-api"
41
+ Provides-Extra: dev-all
42
+ Requires-Dist: pytest>=9.0; extra == "dev-all"
43
+ Requires-Dist: pytest-asyncio>=1.0; extra == "dev-all"
44
+ Requires-Dist: flask>=3.0; extra == "dev-all"
45
+ Requires-Dist: flask-limiter>=4.0; extra == "dev-all"
46
+ Requires-Dist: anthropic>=0.40.0; extra == "dev-all"
47
+ Requires-Dist: openai>=1.0; extra == "dev-all"
48
+ Requires-Dist: cryptography>=42.0; extra == "dev-all"
49
+ Requires-Dist: psycopg2-binary>=2.9; extra == "dev-all"
50
+ Dynamic: license-file
51
+
52
+ # Conclave Personal
53
+
54
+ > Dieses Projekt wurde ausschließlich von LLM-Modellen erstellt.
55
+
56
+ Conclave Personal ist ein lokales Multi-Agent-Arbeitswerkzeug für einzelne
57
+ Nutzer. Es bringt mehrere KI-Modelle in eine gemeinsame, strukturierte
58
+ Conversation, gibt ihnen explizite Rollen und macht ihre Zusammenarbeit über
59
+ Runs nachvollziehbar.
60
+
61
+ Der Nutzer bleibt die Steuerungsinstanz. Agenten sind Teilnehmer, keine
62
+ Controller. Conversations, Workspace-Dateien, Agenten und Usage liegen
63
+ standardmäßig lokal.
64
+
65
+ > Status: v0.1.0 Alpha. Der Hauptpfad ist lokal, desktop-first und auf einzelne
66
+ > Nutzer unter Windows und Linux ausgerichtet.
67
+
68
+ ![Conclave Studio](docs/assets/screenshots/conclave-studio-desktop.png)
69
+
70
+ ## Wofür Conclave da ist
71
+
72
+ Conclave ist nicht einfach eine weitere Chat-UI. Der Kern ist:
73
+
74
+ - Multiple models.
75
+ - Explicit roles.
76
+ - Structured collaboration.
77
+ - Traceable runs.
78
+ - Human control.
79
+ - Local-first workspace.
80
+
81
+ Praktisch heisst das:
82
+
83
+ - Multi-Agent-Conversations mit Writer, Critic, Reviewer, Planner, Researcher
84
+ oder Judge führen.
85
+ - Agenten als Participants in konkrete Conversations einladen.
86
+ - Dateien aus einem lokalen Workspace gezielt als Kontext verwenden.
87
+ - Modelle einzeln, parallel oder in Auto-Loops arbeiten lassen.
88
+ - Judge-/Review-Läufe für gegenseitige Prüfung nutzen.
89
+ - Runs, Token-Usage, Fehler und Ergebnisse nachvollziehen.
90
+ - Unter Windows und Linux lokal arbeiten.
91
+
92
+ ## 60-Sekunden-Beispiel
93
+
94
+ ```text
95
+ ┌→ Writer
96
+ Prompt ─┼→ Critic ─→ Judge
97
+ └→ Researcher
98
+ ```
99
+
100
+ 1. Conversation erstellen.
101
+ 2. Agents als Participants hinzufügen.
102
+ 3. Rollen vergeben: Writer entwirft, Critic widerspricht, Judge bewertet.
103
+ 4. Prompt senden.
104
+ 5. Run beobachten.
105
+ 6. Ergebnisse vergleichen und die nächste Runde bewusst starten.
106
+
107
+ Minimaler CLI-Flow:
108
+
109
+ ```bash
110
+ conclave desktop
111
+ conclave agent-new writer --name "Writer" --provider "openai-responses" --preset "openai-responses" --model "<openai-model>" --role "Writer" --api-key "..."
112
+ conclave agent-new judge --name "Judge" --provider "ollama" --preset "ollama" --model "llama3.1" --role "Judge"
113
+ CONV=$(conclave --json new | python -c "import sys,json; print(json.load(sys.stdin)['conversation_id'])")
114
+ conclave add-participant "$CONV" writer --name "Writer" --type model
115
+ conclave add-participant "$CONV" judge --name "Judge" --type model
116
+ conclave message "$CONV" "Entwirf eine knappe Produktpositionierung und lass sie prüfen."
117
+ conclave invoke "$CONV" writer
118
+ conclave invoke "$CONV" judge
119
+ conclave runs "$CONV"
120
+ ```
121
+
122
+ ## Produktbereiche
123
+
124
+ | Bereich | Zweck |
125
+ | --- | --- |
126
+ | Studio | Conversations, Messages, Participants, Floor, Invoke, Stream, Orchestrierung, Auto-Loop |
127
+ | Agents | Agenten, Rollen, Provider, Modelle, Presets, Verbindungstests |
128
+ | Workspace | Lokale Dateien, Kontext, Notizen, Outputs |
129
+ | Runs | Invoke-, Judge-, Auto-Loop- und Orchestrierungsverlauf, Usage, Fehler |
130
+ | Settings | API-Keys, Datenpfade, Theme, Backup, lokaler Sicherheitsmodus |
131
+
132
+ ## Nicht-Ziele
133
+
134
+ - Keine DSGVO-/Enterprise-Plattform.
135
+ - Kein Consent-Management pro Provider.
136
+ - Keine DPA-/AV-Vertragsverwaltung.
137
+ - Keine rollenbasierte Unternehmensadministration.
138
+ - Kein Docker-Zwang für Endnutzer.
139
+
140
+ ## Plattformziel
141
+
142
+ Conclave Personal unterstützt Windows und Linux. Die CI-Matrix prüft Ubuntu
143
+ und Windows mit Python 3.11 und 3.12.
144
+
145
+ Der Anwendungskern bleibt plattformneutral. Betriebssystem-spezifisch sind nur
146
+ Start-, Installations- und Autostart-Adapter:
147
+
148
+ - Windows: Desktop-Start, optional User-Autostart oder NSSM-Service.
149
+ - Linux: Desktop-Start, optional `systemd --user` und `.desktop` Datei.
150
+ - Docker ist nicht Teil des v0.1.0-Endnutzerpfads.
151
+
152
+ ## Installation
153
+
154
+ Nach der PyPI-Veröffentlichung ist der Zielpfad:
155
+
156
+ ### Windows
157
+
158
+ ```powershell
159
+ pipx install conclave-personal
160
+ conclave desktop
161
+ ```
162
+
163
+ ### Linux
164
+
165
+ ```bash
166
+ pipx install conclave-personal
167
+ conclave desktop
168
+ ```
169
+
170
+ Vor der PyPI-Veröffentlichung wird aus dem gebauten Wheel getestet:
171
+
172
+ ```bash
173
+ python -m build --sdist --wheel
174
+ python -m venv .venv-smoke
175
+ .venv-smoke/Scripts/pip install dist/conclave_personal-0.1.0-py3-none-any.whl
176
+ .venv-smoke/Scripts/conclave --help
177
+ ```
178
+
179
+ Unter Linux entsprechend mit `.venv-smoke/bin/...`.
180
+
181
+ ### Aus Einem Checkout
182
+
183
+ ```bash
184
+ python -m pip install -e ".[dev-all]"
185
+ conclave desktop
186
+ ```
187
+
188
+ Tests für Entwicklung:
189
+
190
+ ```text
191
+ python -m pytest
192
+ ```
193
+
194
+ Bestehende lokale SQLite-Daten kannst du explizit migrieren:
195
+
196
+ ```bash
197
+ conclave migrate-personal --from /pfad/zur/alten/conclave.db --dry-run
198
+ conclave migrate-personal --from /pfad/zur/alten/conclave.db
199
+ ```
200
+
201
+ ## Provider Einrichten
202
+
203
+ Lege Agents mit Provider, Modell und optionaler Rolle an:
204
+
205
+ ```bash
206
+ conclave agent-new reviewer \
207
+ --name "Reviewer" \
208
+ --provider "anthropic" \
209
+ --preset "anthropic" \
210
+ --model "<anthropic-model>" \
211
+ --role "Reviewer" \
212
+ --api-key "..."
213
+ ```
214
+
215
+ Ollama kann lokal ohne API-Key laufen:
216
+
217
+ ```bash
218
+ conclave agent-new local-judge \
219
+ --name "Local Judge" \
220
+ --provider "ollama" \
221
+ --preset "ollama" \
222
+ --model "llama3.1" \
223
+ --role "Judge"
224
+ ```
225
+
226
+ Einen reproduzierbaren End-to-End-Test mit Claude, Gemini und GPT beschreibt
227
+ der [Provider-Smoke-Test](docs/provider-smoke-test.md).
228
+
229
+ ## Lokaler Schnellstart
230
+
231
+ Der empfohlene Personal-CLI-Pfad ist:
232
+
233
+ ```bash
234
+ conclave desktop
235
+ ```
236
+
237
+ Technische Modi:
238
+
239
+ ```bash
240
+ conclave server
241
+ conclave web
242
+ ```
243
+
244
+ oder für direkte CLI-Flows:
245
+
246
+ ```bash
247
+ conclave agent-new assistant \
248
+ --name "Assistant" \
249
+ --provider "openai-responses" \
250
+ --preset "openai-responses" \
251
+ --model "<openai-model>" \
252
+ --api-key "..."
253
+
254
+ ID=$(conclave --json new | python -c "import sys,json; print(json.load(sys.stdin)['conversation_id'])")
255
+ conclave add-participant "$ID" assistant --name "Assistant" --type model
256
+ conclave message "$ID" "Analysiere diese Idee aus drei Perspektiven."
257
+ conclave invoke "$ID" assistant
258
+ ```
259
+
260
+ Auto-Loop und Judge-Workflows sind in den
261
+ [Beispiel-Workflows](docs/beispiel-workflows.md) beschrieben.
262
+
263
+ ## Kernkonzepte
264
+
265
+ ### Conversation
266
+
267
+ Ein lokaler Arbeitsraum mit Thema, Nachrichten, Regeln und Participants.
268
+
269
+ ### Agent
270
+
271
+ Eine wiederverwendbare Provider-/Modell-/Rollen-Konfiguration.
272
+
273
+ ### Participant
274
+
275
+ Ein Agent innerhalb einer konkreten Conversation.
276
+
277
+ ### Workspace
278
+
279
+ Ein lokaler Ordner für Dateien, Notizen, Kontext und Outputs. Dateien werden
280
+ nicht automatisch als Kontext geladen. Der Nutzer referenziert sie explizit,
281
+ zum Beispiel mit `@workspace/notizen.md`.
282
+
283
+ ### Run
284
+
285
+ Ein ausführbarer Arbeitslauf: Invoke, Stream, Orchestrierung, Auto-Loop oder
286
+ Judge. Runs machen Status, Fehler, Dauer und Usage sichtbar.
287
+
288
+ ## Zielarchitektur
289
+
290
+ ```text
291
+ src/conclave/
292
+ domain/ reine Fachmodelle
293
+ application/ Services, Orchestrierung, Ports
294
+ infrastructure/ Provider, Datenbanken, Crypto, Runtime-Adapter
295
+ api/ lokale HTTP-API
296
+ cli/ Kommandozeile
297
+ runtime/ plattformneutrale Desktop-/Server-Startlogik
298
+
299
+ static/
300
+ js/core/ API, State, Router, Events
301
+ js/features/ Studio, Agents, Workspace, Runs, Settings
302
+ ```
303
+
304
+ ## Provider
305
+
306
+ Conclave bleibt provideragnostisch. v0.1.0 unterscheidet bewusst zwischen
307
+ getesteten Hauptpfaden und kompatiblen Presets.
308
+
309
+ ### First-class / getestet
310
+
311
+ Diese Pfade sind durch lokale Tests, API-Verträge oder konkrete Adaptertests
312
+ abgesichert:
313
+
314
+ - OpenAI Responses
315
+ - OpenAI Chat Completions
316
+ - Anthropic
317
+ - Ollama
318
+
319
+ ### Built-in preset / kompatibel / experimentell
320
+
321
+ Diese Presets sind eingebaut, können aber je nach Provider-API, Modell und
322
+ Account variieren:
323
+
324
+ - Gemini
325
+ - Mistral
326
+ - DeepSeek
327
+ - Qwen / DashScope
328
+ - Custom/OpenAI-compatible Endpoints
329
+
330
+ API-Keys bleiben lokal gespeichert und werden bei Agenten verschlüsselt in der
331
+ lokalen Datenbank abgelegt. Ollama kann ohne API-Key funktionieren.
332
+
333
+ ## Local-first, Nicht Offline-only
334
+
335
+ Conclave speichert Workspace, Konfiguration, Agenten, Conversations und
336
+ Run-Historie lokal. Wenn ein Remote-Provider wie OpenAI, Anthropic, Gemini,
337
+ Mistral, DeepSeek oder DashScope genutzt wird, werden die für den jeweiligen
338
+ Modellaufruf erforderlichen Prompt-/Kontextdaten an diesen Provider
339
+ übertragen. Bei Ollama oder lokalen kompatiblen Endpunkten kann die
340
+ Verarbeitung vollständig lokal erfolgen.
341
+
342
+ ## Sicherheit
343
+
344
+ Conclave bindet die lokale API standardmäßig an `127.0.0.1`. Für den
345
+ `production`-Modus muss ein lokaler API-Key gesetzt sein. Workspace-Zugriffe
346
+ bleiben im konfigurierten Workspace-Root und versteckte Pfade werden nicht als
347
+ Agent-Kontext gelesen.
348
+
349
+ Mehr Details: [Sicherheit für Conclave Personal](docs/sicherheit.md).
350
+
351
+ ## Dokumentation
352
+
353
+ Wichtige Dokumente:
354
+
355
+ - [Multi-Agent-Leitfaden](docs/multi-agent-leitfaden.md)
356
+ - [Beispiel-Workflows](docs/beispiel-workflows.md)
357
+ - [Sicherheit](docs/sicherheit.md)
358
+ - [Konfiguration](docs/referenz/konfiguration.md)
359
+ - [Release Notes v0.1.0](docs/release-notes-v0.1.0.md)
360
+ - [Dokumentationsindex](docs/index.md)
361
+
362
+ ## Known Limitations
363
+
364
+ v0.1.0 bleibt bewusst Alpha. Bekannte Einschränkungen:
365
+
366
+ - Backup-Erstellung ist vorhanden; Restore validiert aktuell nur und schreibt
367
+ noch keine Daten zurück.
368
+ - Provider-Kompatibilität variiert nach API, Modell, Account und Region.
369
+ - Remote-Provider erhalten die für den Modellaufruf benötigten Daten.
370
+ - Desktop-Modus startet die lokale Web-Anwendung im Browser.
371
+ - Erweiterte Multi-Agent-Orchestrierung ist in Teilen experimentell.
372
+ - Es gibt noch keinen nativen Windows-Installer, kein AppImage und kein `.deb`.
373
+
374
+ ## Release-Verifikation
375
+
376
+ Der v0.1.0-Schnitt wird vor Veröffentlichung mit diesen lokalen Checks
377
+ verifiziert:
378
+
379
+ - `python -m pytest`
380
+ - `python -m build --sdist --wheel`
381
+ - Installation aus dem gebauten Wheel in einer frischen Umgebung.
382
+ - `conclave --help`
383
+ - `conclave desktop`
384
+ - Artefaktprüfung ohne Workspace-Daten, Datenbanken, Keys, Logs und alte
385
+ Enterprise-/DSGVO-Pfade.
386
+
387
+ ## Lizenz
388
+
389
+ PolyForm Noncommercial License 1.0.0. Siehe [LICENSE](LICENSE).
390
+
391
+ Free for noncommercial use. Commercial use requires a separate license.
392
+ Commercial licensing: coming soon.
@@ -0,0 +1,83 @@
1
+ # Conclave Personal
2
+
3
+ **Projekt-ID:** `conclave`
4
+ **Arbeitsbranch:** `personal-multiplatform`
5
+ **Phase:** Phase 13 - Release-Vorbereitung
6
+
7
+ ## Ziel
8
+
9
+ Conclave Personal ist ein lokales, multiplattformfähiges
10
+ Multi-Agent-Arbeitswerkzeug für einzelne Nutzer.
11
+
12
+ Der Nutzer führt Conversations, lädt Agenten mit unterschiedlichen Rollen ein,
13
+ stellt Workspace-Dateien als Kontext bereit und startet strukturierte Läufe wie
14
+ Invoke, Parallel-Orchestrierung, Auto-Loop und Judge/Review.
15
+
16
+ Windows und Linux sind gleichwertige Zielplattformen. Docker bleibt optional,
17
+ ist aber nicht der primäre Nutzerpfad.
18
+
19
+ ## Zielgruppe
20
+
21
+ - Einzelne Entwickler, Autoren, Analysten und Wissensarbeiter.
22
+ - Nutzer, die mehrere KI-Modelle oder Rollen bewusst koordinieren wollen.
23
+ - Nutzer, die lokale Datenhaltung und transparente Provider-Konfiguration
24
+ bevorzugen.
25
+
26
+ ## Kernflows
27
+
28
+ 1. Agenten anlegen und Provider testen.
29
+ 2. Conversation starten und Participants einladen.
30
+ 3. Workspace-Dateien als Kontext referenzieren.
31
+ 4. Agenten einzeln, parallel oder im Auto-Loop arbeiten lassen.
32
+ 5. Judge-Agent für Review oder Chain-of-Verification nutzen.
33
+ 6. Runs, Usage und Ergebnisse nachvollziehen.
34
+ 7. Lokale Daten sichern und Backup-Archive validieren.
35
+
36
+ ## Produktbereiche
37
+
38
+ - **Studio:** aktive Conversations, Messages, Floor, Invoke, Stream,
39
+ Orchestrierung und Auto-Loop.
40
+ - **Agents:** Agenten, Rollen, Provider, Modelle, Presets und Tests.
41
+ - **Workspace:** lokale Dateien, Kontext, Notizen und Agent-Outputs.
42
+ - **Runs:** Laufhistorie, Judge-Ergebnisse, Fehler, Dauer und Usage.
43
+ - **Settings:** API-Keys, Datenpfade, Theme, Backup, lokaler Sicherheitsmodus.
44
+
45
+ ## Nicht-Ziele
46
+
47
+ - Keine DSGVO-/Enterprise-Plattform.
48
+ - Kein Consent-Management pro Provider.
49
+ - Keine DPA-/AV-Vertragsverwaltung.
50
+ - Keine rollenbasierte Unternehmensadministration.
51
+ - Kein serverzentriertes Teamprodukt als Hauptfall.
52
+ - Kein Docker-Zwang für Endnutzer.
53
+
54
+ ## Architekturprinzipien
55
+
56
+ - Der Nutzer ist die Steuerungsinstanz.
57
+ - Agenten sind Teilnehmer, keine Controller.
58
+ - Daten liegen standardmäßig lokal.
59
+ - Provider bleiben austauschbar.
60
+ - Der Core ist plattformneutral.
61
+ - Windows- und Linux-Integration sind Runtime-Adapter, nicht Produktkern.
62
+ - Workspace-Zugriffe bleiben explizit und begrenzt.
63
+ - Kosten und Läufe bleiben sichtbar.
64
+
65
+ ## Aktueller Stand
66
+
67
+ Der Personal-Pfad ist lokal, desktop-first und auf einzelne Nutzer
68
+ ausgerichtet. Der aktuelle Release-Schnitt ist installierbar, CI-abgesichert
69
+ und mit Lizenz, Release Notes, Security-Hinweisen, Beispiel-Workflows,
70
+ Screenshots sowie expliziter SQLite-Migration veröffentlichungsnah
71
+ vorbereitet.
72
+
73
+ ## Regeln
74
+
75
+ Dieses Repository ist für v0.1.0 selbstbeschreibend. Für Beiträge gelten:
76
+
77
+ - Personal-first: keine Enterprise-/DSGVO-Oberflächen wieder einführen.
78
+ - Keine Feature-Ausweitung während Release-Stabilisierung ohne konkreten
79
+ Fehler- oder Release-Grund.
80
+ - Runtime-Pfade müssen Windows und Linux/XDG respektieren.
81
+ - Workspace-Zugriffe bleiben explizit, begrenzt und pfadgeschützt.
82
+ - Remote-Provider dürfen nicht als offline oder lokal dargestellt werden.
83
+ - Tests, Packaging und relevante Dokumentation gehören zur Definition of Done.