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.
- conclave_personal-0.1.0/LICENSE +114 -0
- conclave_personal-0.1.0/MANIFEST.in +23 -0
- conclave_personal-0.1.0/PKG-INFO +392 -0
- conclave_personal-0.1.0/PROJECT.md +83 -0
- conclave_personal-0.1.0/README.md +341 -0
- conclave_personal-0.1.0/conclave-ui.html +515 -0
- conclave_personal-0.1.0/docs/architektur/ports-adapter.md +86 -0
- conclave_personal-0.1.0/docs/assets/screenshots/conclave-agents-desktop.png +0 -0
- conclave_personal-0.1.0/docs/assets/screenshots/conclave-studio-desktop.png +0 -0
- conclave_personal-0.1.0/docs/beispiel-workflows.md +80 -0
- conclave_personal-0.1.0/docs/flows/api-request.md +54 -0
- conclave_personal-0.1.0/docs/flows/orchestrierung.md +76 -0
- conclave_personal-0.1.0/docs/flows/workspace-directives.md +89 -0
- conclave_personal-0.1.0/docs/index.md +33 -0
- conclave_personal-0.1.0/docs/multi-agent-leitfaden.md +287 -0
- conclave_personal-0.1.0/docs/personal-ui-architektur.md +197 -0
- conclave_personal-0.1.0/docs/referenz/api.md +54 -0
- conclave_personal-0.1.0/docs/referenz/cli.md +76 -0
- conclave_personal-0.1.0/docs/referenz/konfiguration.md +103 -0
- conclave_personal-0.1.0/docs/release-notes-v0.1.0.md +151 -0
- conclave_personal-0.1.0/docs/sicherheit.md +70 -0
- conclave_personal-0.1.0/pyproject.toml +66 -0
- conclave_personal-0.1.0/scripts/linux/conclave.desktop +7 -0
- conclave_personal-0.1.0/scripts/linux/conclave.service +12 -0
- conclave_personal-0.1.0/scripts/linux/install_user_service.sh +13 -0
- conclave_personal-0.1.0/scripts/linux/start_desktop.sh +8 -0
- conclave_personal-0.1.0/scripts/linux/start_server.sh +8 -0
- conclave_personal-0.1.0/scripts/linux/uninstall_user_service.sh +7 -0
- conclave_personal-0.1.0/scripts/windows/install_service_nssm.ps1 +5 -0
- conclave_personal-0.1.0/scripts/windows/install_user_startup.ps1 +15 -0
- conclave_personal-0.1.0/scripts/windows/start_desktop.ps1 +5 -0
- conclave_personal-0.1.0/scripts/windows/start_server.ps1 +5 -0
- conclave_personal-0.1.0/scripts/windows/uninstall_service_nssm.ps1 +4 -0
- conclave_personal-0.1.0/setup.cfg +4 -0
- conclave_personal-0.1.0/src/conclave/__init__.py +1 -0
- conclave_personal-0.1.0/src/conclave/api/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/api/app.py +888 -0
- conclave_personal-0.1.0/src/conclave/api/server.py +187 -0
- conclave_personal-0.1.0/src/conclave/application/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/application/adapter_registry.py +43 -0
- conclave_personal-0.1.0/src/conclave/application/agent_service.py +41 -0
- conclave_personal-0.1.0/src/conclave/application/conversation_flow.py +699 -0
- conclave_personal-0.1.0/src/conclave/application/data_export_service.py +41 -0
- conclave_personal-0.1.0/src/conclave/application/orchestrator.py +187 -0
- conclave_personal-0.1.0/src/conclave/application/participant_service.py +69 -0
- conclave_personal-0.1.0/src/conclave/application/personal_migration.py +277 -0
- conclave_personal-0.1.0/src/conclave/application/ports.py +222 -0
- conclave_personal-0.1.0/src/conclave/application/retention_service.py +37 -0
- conclave_personal-0.1.0/src/conclave/application/workspace_security.py +99 -0
- conclave_personal-0.1.0/src/conclave/cli/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/cli/bootstrap.py +281 -0
- conclave_personal-0.1.0/src/conclave/cli/config.py +118 -0
- conclave_personal-0.1.0/src/conclave/cli/handler.py +812 -0
- conclave_personal-0.1.0/src/conclave/cli/main.py +579 -0
- conclave_personal-0.1.0/src/conclave/cli/watch.py +88 -0
- conclave_personal-0.1.0/src/conclave/domain/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/domain/agent.py +37 -0
- conclave_personal-0.1.0/src/conclave/domain/agent_roles.py +56 -0
- conclave_personal-0.1.0/src/conclave/domain/audit.py +22 -0
- conclave_personal-0.1.0/src/conclave/domain/conversation.py +104 -0
- conclave_personal-0.1.0/src/conclave/domain/errors.py +130 -0
- conclave_personal-0.1.0/src/conclave/domain/message.py +61 -0
- conclave_personal-0.1.0/src/conclave/domain/model_response.py +14 -0
- conclave_personal-0.1.0/src/conclave/domain/participant.py +23 -0
- conclave_personal-0.1.0/src/conclave/domain/run.py +31 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/adapter.py +117 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/anthropic/async_adapter.py +85 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/auth.py +86 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/crypto.py +80 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/log.py +96 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/migrations.py +215 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/openai/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/openai/adapter.py +102 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/openai/async_adapter.py +74 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/agent_repository.py +84 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/audit_repository.py +121 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/conversation_repository.py +107 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/message_repository.py +77 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/participant_repository.py +64 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/run_repository.py +134 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/schema.py +107 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/postgres/unit_of_work.py +45 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/agent_repository.py +77 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/audit_repository.py +123 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/conversation_repository.py +116 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/message_repository.py +88 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/participant_repository.py +70 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/run_repository.py +126 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/schema.py +120 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/sqlite/unit_of_work.py +30 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/universal/__init__.py +0 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/universal/adapter.py +459 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/universal/presets.py +192 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/universal/profiles.py +216 -0
- conclave_personal-0.1.0/src/conclave/infrastructure/universal/resilient.py +133 -0
- conclave_personal-0.1.0/src/conclave/mcp_server.py +277 -0
- conclave_personal-0.1.0/src/conclave/runtime/__init__.py +14 -0
- conclave_personal-0.1.0/src/conclave/runtime/assets.py +29 -0
- conclave_personal-0.1.0/src/conclave/runtime/browser.py +10 -0
- conclave_personal-0.1.0/src/conclave/runtime/desktop.py +44 -0
- conclave_personal-0.1.0/src/conclave/runtime/paths.py +63 -0
- conclave_personal-0.1.0/src/conclave/runtime/platform_info.py +35 -0
- conclave_personal-0.1.0/src/conclave/runtime/process.py +19 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/PKG-INFO +392 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/SOURCES.txt +132 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/dependency_links.txt +1 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/entry_points.txt +5 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/requires.txt +40 -0
- conclave_personal-0.1.0/src/conclave_personal.egg-info/top_level.txt +1 -0
- conclave_personal-0.1.0/static/css/components.css +221 -0
- conclave_personal-0.1.0/static/css/layout.css +77 -0
- conclave_personal-0.1.0/static/css/theme.css +22 -0
- conclave_personal-0.1.0/static/js/api.js +52 -0
- conclave_personal-0.1.0/static/js/features/agents.js +199 -0
- conclave_personal-0.1.0/static/js/features/auth.js +37 -0
- conclave_personal-0.1.0/static/js/features/autoloop.js +107 -0
- conclave_personal-0.1.0/static/js/features/conversations.js +134 -0
- conclave_personal-0.1.0/static/js/features/export.js +18 -0
- conclave_personal-0.1.0/static/js/features/floor.js +51 -0
- conclave_personal-0.1.0/static/js/features/messages.js +112 -0
- conclave_personal-0.1.0/static/js/features/participants.js +51 -0
- conclave_personal-0.1.0/static/js/features/runs.js +45 -0
- conclave_personal-0.1.0/static/js/features/settings.js +84 -0
- conclave_personal-0.1.0/static/js/features/speech.js +68 -0
- conclave_personal-0.1.0/static/js/features/usage.js +93 -0
- conclave_personal-0.1.0/static/js/features/workspace.js +175 -0
- conclave_personal-0.1.0/static/js/main.js +108 -0
- conclave_personal-0.1.0/static/js/state.js +40 -0
- conclave_personal-0.1.0/static/js/utils.js +64 -0
- 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
|
+

|
|
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.
|