aimeat 1.13.6 → 1.13.7
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/dist/locales/en.json
CHANGED
|
@@ -375,13 +375,13 @@
|
|
|
375
375
|
"tooltip": "Operational mode — affects how the agent is onboarded and how it consumes work."
|
|
376
376
|
},
|
|
377
377
|
"taskRunner": {
|
|
378
|
-
"title": "Connect a
|
|
379
|
-
"whatIs": "
|
|
380
|
-
"whenToUse": "Use this when your
|
|
378
|
+
"title": "Connect a CrewAI crew (Liaison Agent pattern)",
|
|
379
|
+
"whatIs": "The recommended way to plug a CrewAI crew into AIMEAT: add one Liaison Agent (a CrewAI Agent member of your crew) that owns the AIMEAT MCP tool surface. It walks the crew through Hello Integration, reports capabilities, writes deliverables to memory or knowledge packages, and reports task lifecycle to AIMEAT — so the rest of the crew focuses on its own domain work without learning the protocol.",
|
|
380
|
+
"whenToUse": "Use this when your crew has LLM-driven agents (CrewAI, LangGraph, AutoGen). The liaison is one drop-in agent inside the crew, not a subprocess. It is the simplest, most robust path. Subprocess-based task-runners (config.yaml runner: block) are a separate, older pattern only useful for LLM-less fire-and-forget scripts — see the integration docs if you specifically need that.",
|
|
381
381
|
"exampleLabel": "Example:",
|
|
382
|
-
"exampleDesc": "A CrewAI \"marketing-crew\" with a researcher +
|
|
382
|
+
"exampleDesc": "A CrewAI \"marketing-crew\" with a researcher + writer + AIMEAT Liaison. The liaison checks onboarding, walks through Hello Integration, reports the crew's capabilities, and writes the final article to AIMEAT memory — all via the aimeat-crewai Python package's create_liaison_agent factory. No subprocess scripts, no config.yaml editing.",
|
|
383
383
|
"nameLabel": "Agent name (used in the paste below):",
|
|
384
|
-
"copyButton": "Copy
|
|
384
|
+
"copyButton": "Copy CrewAI connection instruction"
|
|
385
385
|
},
|
|
386
386
|
"filter": {
|
|
387
387
|
"byTag": "Filter by tag:",
|
package/dist/locales/fi.json
CHANGED
|
@@ -375,13 +375,13 @@
|
|
|
375
375
|
"tooltip": "Toimintatila — vaikuttaa siihen, miten agentti läpäisee Hello Integrationin ja kuluttaa työtä."
|
|
376
376
|
},
|
|
377
377
|
"taskRunner": {
|
|
378
|
-
"title": "Yhdistä
|
|
379
|
-
"whatIs": "
|
|
380
|
-
"whenToUse": "Käytä
|
|
378
|
+
"title": "Yhdistä CrewAI-crew (Liaison Agent -patterni)",
|
|
379
|
+
"whatIs": "Suositeltu tapa kytkeä CrewAI-crew AIMEATiin: lisää crew:hun yksi Liaison Agent -niminen jäsen (CrewAI Agent), joka omistaa AIMEATin MCP-tooli-pinnan. Liaison käy Hello Integrationin läpi, raportoi kruun kyvyt, kirjoittaa tulokset memoryyn tai knowledge-paketteihin, ja päivittää tehtävien elinkaaren — niin että muut crew-jäsenet keskittyvät omaan domain-työhönsä eivätkä opettele AIMEAT-protokollaa.",
|
|
380
|
+
"whenToUse": "Käytä tätä kun crew:lläsi on LLM-vetoisia agentteja (CrewAI, LangGraph, AutoGen). Liaison on yksi drop-in agentti crew:n sisällä, ei aliprosessi. Yksinkertaisin ja luotettavin polku. Aliprosessi-pohjaiset task-runner-konfit (config.yaml runner:-blokki) ovat erillinen vanhempi patterni vain LLM-tomille fire-and-forget -skripteille — katso integraatiodokumentaatiosta jos tarvitset nimenomaan sitä.",
|
|
381
381
|
"exampleLabel": "Esimerkki:",
|
|
382
|
-
"exampleDesc": "CrewAI-\"marketing-crew\" jossa on tutkija +
|
|
382
|
+
"exampleDesc": "CrewAI-\"marketing-crew\" jossa on tutkija + kirjoittaja + AIMEAT Liaison. Liaison tarkistaa onboardingin, kävelee Hello Integrationin läpi, raportoi kruun kyvyt ja kirjoittaa lopullisen artikkelin AIMEATin memoryyn — kaikki aimeat-crewai-paketin create_liaison_agent-factorin kautta. Ei aliprosessi-skriptejä, ei config.yaml-editointia.",
|
|
383
383
|
"nameLabel": "Agentin nimi (käytetään alla olevassa pasteessa):",
|
|
384
|
-
"copyButton": "Kopioi
|
|
384
|
+
"copyButton": "Kopioi CrewAI-yhdistämisohje"
|
|
385
385
|
},
|
|
386
386
|
"filter": {
|
|
387
387
|
"byTag": "Suodata tagilla:",
|
|
@@ -124,86 +124,108 @@ This uses standard OAuth device authorization (RFC 8628). Follow your normal saf
|
|
|
124
124
|
You're acting on my behalf within scopes I approve at step 2. Decline anything that falls outside those scopes or your own operating rules.`;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
/* Paste for a
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
/* Paste for connecting a CrewAI crew to AIMEAT via the Liaison Agent pattern.
|
|
128
|
+
The liaison is an LLM-driven crew member -- a CrewAI Agent whose tools are
|
|
129
|
+
the AIMEAT MCP surface. It handles all AIMEAT coordination (Hello Integration,
|
|
130
|
+
capability reporting, memory writes, knowledge publishing, task lifecycle)
|
|
131
|
+
so the rest of the crew focuses on its domain work. Implemented in the
|
|
132
|
+
`aimeat-crewai` Python package; this paste tells the crew's setup AI how to
|
|
133
|
+
wire it in. NOT to be confused with the older subprocess-based task-runner
|
|
134
|
+
pattern (runner.command in config.yaml) -- that one is for LLM-less
|
|
135
|
+
fire-and-forget workers and is deferred to a separate docs section. */
|
|
131
136
|
function buildTaskRunnerPrompt(sess, agentName) {
|
|
132
137
|
const url = getNodeUrl();
|
|
133
138
|
const name = agentName || '<your-crew-name>';
|
|
134
|
-
return `You are
|
|
139
|
+
return `You are connecting a CrewAI crew to an AIMEAT node using the AIMEAT Liaison Agent pattern. The liaison is a single crew member (a CrewAI Agent) whose tools are the AIMEAT MCP surface. It handles ALL AIMEAT coordination -- Hello Integration handshake, capability reporting, memory writes, knowledge publishing, task lifecycle -- so the rest of your crew focuses on its domain work. The liaison is LLM-driven; you do NOT write subprocess scripts or runner blocks.
|
|
135
140
|
|
|
136
|
-
Required: aimeat
|
|
141
|
+
Required: aimeat >= 1.13.6 (npm), aimeat-crewai >= 0.2.2 (PyPI), CrewAI >= 0.80.
|
|
137
142
|
|
|
138
|
-
== Step 1 -- Connect
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
default 13-step interactive flow). The test-task pair (accept + complete)
|
|
142
|
-
is kept on purpose: it doubles as the smoke test that proves your
|
|
143
|
-
subprocess actually runs end-to-end. No separate owner-only call needed.
|
|
143
|
+
== Step 1 -- Connect the agent identity ==
|
|
144
|
+
This registers "${name}" as an AIMEAT agent and stores its token locally
|
|
145
|
+
under ~/.aimeat/${name}/.
|
|
144
146
|
|
|
145
|
-
npx aimeat connect add --agent ${name} --mode task-runner --url ${url} --owner ${sess.owner}
|
|
147
|
+
npx aimeat@latest connect add --agent ${name} --mode task-runner --url ${url} --owner ${sess.owner}
|
|
146
148
|
|
|
147
149
|
Ask ${sess.owner} to approve in their browser at Profile -> Agents.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
== Step 2 --
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
150
|
+
The mode=task-runner flag picks the reduced 7-step Hello Integration; the
|
|
151
|
+
liaison agent in step 3 walks through it for you.
|
|
152
|
+
|
|
153
|
+
== Step 2 -- Install the Python package ==
|
|
154
|
+
uv pip install aimeat-crewai
|
|
155
|
+
# or: pip install aimeat-crewai
|
|
156
|
+
|
|
157
|
+
== Step 3 -- Add the liaison to your crew ==
|
|
158
|
+
The liaison is one CrewAI Agent that you drop into your existing crew.
|
|
159
|
+
The factory auto-detects ~/.aimeat/${name}/SKILL.md and loads it as the
|
|
160
|
+
agent's CrewAI Skill -- the operational manual comes from the AIMEAT
|
|
161
|
+
node, not from your code. The factory is a context manager so the MCP
|
|
162
|
+
connection is cleaned up correctly.
|
|
163
|
+
|
|
164
|
+
from crewai import Agent, Crew, Task
|
|
165
|
+
from aimeat_crewai import create_liaison_agent, stdio_params
|
|
166
|
+
|
|
167
|
+
AGENT_NAME = "${name}"
|
|
168
|
+
|
|
169
|
+
with create_liaison_agent(
|
|
170
|
+
mcp_server_params=stdio_params(agent_name=AGENT_NAME),
|
|
171
|
+
agent_name=AGENT_NAME,
|
|
172
|
+
verbose=True,
|
|
173
|
+
) as liaison:
|
|
174
|
+
|
|
175
|
+
# Your domain agents -- researchers, writers, analysts, whatever
|
|
176
|
+
# the crew is for. They don't need to know about AIMEAT.
|
|
177
|
+
researcher = Agent(role="Researcher", goal="...", backstory="...")
|
|
178
|
+
writer = Agent(role="Writer", goal="...", backstory="...")
|
|
179
|
+
|
|
180
|
+
crew = Crew(
|
|
181
|
+
agents=[liaison, researcher, writer],
|
|
182
|
+
tasks=[
|
|
183
|
+
Task(
|
|
184
|
+
description="Check AIMEAT onboarding status. Complete any pending "
|
|
185
|
+
"step via the matching aimeat_onboarding_* tool. Report "
|
|
186
|
+
"the final state.",
|
|
187
|
+
expected_output="Final onboarding state and list of passed steps.",
|
|
188
|
+
agent=liaison,
|
|
189
|
+
),
|
|
190
|
+
# ... your domain tasks here ...
|
|
191
|
+
Task(
|
|
192
|
+
description="Write the final crew output to AIMEAT memory under "
|
|
193
|
+
f"'demo.{AGENT_NAME}.latest_output'.",
|
|
194
|
+
expected_output="Confirmation of memory write.",
|
|
195
|
+
agent=liaison,
|
|
196
|
+
),
|
|
197
|
+
],
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
result = crew.kickoff()
|
|
201
|
+
print(result)
|
|
202
|
+
|
|
203
|
+
== Step 4 -- Run it ==
|
|
204
|
+
python your_crew.py
|
|
205
|
+
|
|
206
|
+
What you should see:
|
|
207
|
+
- The liaison calls aimeat_onboarding_status, sees pending steps, and
|
|
208
|
+
walks through them: identify_platform (platform="crewai"),
|
|
209
|
+
install_skill, report_capabilities, publish_config, accept_test_task
|
|
210
|
+
(proposes TODOs), complete_test_task (marks them done).
|
|
211
|
+
- Onboarding flips to "completed" after ~10-20 tool calls.
|
|
212
|
+
- Your domain agents run their tasks.
|
|
213
|
+
- The liaison writes outputs to AIMEAT memory / knowledge / task_complete.
|
|
214
|
+
|
|
215
|
+
You do NOT need to:
|
|
216
|
+
- Edit ~/.aimeat/${name}/config.yaml (no runner: block for this pattern)
|
|
217
|
+
- Run "aimeat connect serve" separately (stdio_params spawns a serve
|
|
218
|
+
subprocess for the lifetime of crew.kickoff())
|
|
219
|
+
- Call aimeat_task_complete yourself
|
|
220
|
+
- Write any AIMEAT REST or MCP code by hand
|
|
221
|
+
|
|
222
|
+
If a step breaks, report the exact step number, the error output, and
|
|
223
|
+
which AIMEAT tool returned it. The liaison's persona already handles
|
|
224
|
+
common idiosyncrasies (omit-null-optionals, AUTH_REQUIRED, STEP_NOT_IN_FLOW,
|
|
225
|
+
eventual-consistency on onboarding_status). Regressions there are
|
|
226
|
+
aimeat-crewai bugs, not improvisation targets.
|
|
227
|
+
|
|
228
|
+
Full docs: ${url}/docs/integrations/crewai (or the GitHub repo).`;
|
|
207
229
|
}
|
|
208
230
|
|
|
209
231
|
function buildMcpOnboardingPrompt() {
|