From 215861dc28fc97bb53a4d94f241278c6e6e9f003 Mon Sep 17 00:00:00 2001
From: "felix.bucsa" <72919584+FelixNicolaeBucsa@users.noreply.github.com>
Date: Mon, 21 Oct 2024 20:21:18 +0200
Subject: [PATCH 1/5] feat(docs): add local agent inspector guide into docs
(#1002)
Co-authored-by: James Riehl <33920192+jrriehl@users.noreply.github.com>
---
pages/guides/agents/intermediate/_meta.json | 5 +
.../intermediate/local-agent-inspector.mdx | 87 ++++++++++++++++++
src/images/guides/inspector/inspector_1.png | Bin 0 -> 140179 bytes
src/images/guides/inspector/inspector_2.png | Bin 0 -> 538550 bytes
4 files changed, 92 insertions(+)
create mode 100644 pages/guides/agents/intermediate/local-agent-inspector.mdx
create mode 100644 src/images/guides/inspector/inspector_1.png
create mode 100644 src/images/guides/inspector/inspector_2.png
diff --git a/pages/guides/agents/intermediate/_meta.json b/pages/guides/agents/intermediate/_meta.json
index b1beeed9..fb2f0180 100644
--- a/pages/guides/agents/intermediate/_meta.json
+++ b/pages/guides/agents/intermediate/_meta.json
@@ -34,6 +34,11 @@
"tags": ["Intermediate", "Python", "Communication", "Mailbox"],
"timestamp": true
},
+ "local-agent-inspector": {
+ "title": "Local Agent Inspector",
+ "tags": ["Intermediate", "Python", "Agents"],
+ "timestamp": true
+ },
"agent-functions": {
"title": "Agent Functions",
"tags": ["Intermediate", "Python", "Functions", "AI Engine"],
diff --git a/pages/guides/agents/intermediate/local-agent-inspector.mdx b/pages/guides/agents/intermediate/local-agent-inspector.mdx
new file mode 100644
index 00000000..1afa9d17
--- /dev/null
+++ b/pages/guides/agents/intermediate/local-agent-inspector.mdx
@@ -0,0 +1,87 @@
+import { Callout } from 'nextra/components'
+
+# Local Agent Inspector
+
+The Local Agent Inspector is a developer tool on Agentverse that enhances the debugging and monitoring experience for [Agents running on a local infrastructure](https://fetch.ai/docs/guides/agents/intermediate/agent-types#local-agents). It allows you to track and understand the real-time behavior of these Agents, whether they are connected to Agentverse or not. The tool offers developers detailed insights into your local agent’s performance and interactions, even though the agent itself is run within your infrastructure.
+
+
+ Local Agents can communicate and interact with other Agents and Functions connected to the Agentverse and Fetch Network through a Mailbox. For more information on Mailbox and how to connect local Agents and their function to the Agentverse, have a look at these guides:
+
+ - [Agent Mailbox](https://fetch.ai/docs/guides/agents/intermediate/mailbox).
+ - [Options for running local Agents]()
+ - [Agent Functions ](https://fetch.ai/docs/guides/agents/intermediate/agent-functions).
+ - [Agentverse Functions: register your Agents Functions on the Agentverse!](https://fetch.ai/docs/guides/agentverse/agentverse-functions/registering-agent-services).
+
+
+The Inspector tool provides developers with multiple key insights, including the agent’s address, details about its local and external endpoints, the types of messages sent and received, and comprehensive data about the sender and recipient of each message. This functionality makes it easier to monitor communication flows, troubleshoot issues, and analyze performance in real-time.
+
+By visualizing this information, the Local Agent Inspector allows you to maintain real-time oversight of how your Agent interacts with other Agents and systems, facilitating easier troubleshooting, performance analysis, and optimizing communication flows. This functionality is particularly valuable for complex applications where local agents are responsible for processing real-time tasks, interacting with other agents, or managing resources directly. It provides a way to see how your agent is performing within a networked environment, while still retaining the benefits of local execution and control.
+
+All messages data regarding a particular local agent are then presented as a list through which it is also possible to access the payload for the message being examined.
+
+while agents running in a bureau are not supported in the initial version, we will be adding support for this very soon
+
+If you're managing multiple local agents, the Inspector will show a complete list of all running agents. While support for agents managed through a `Bureau` is not available in the initial version, it will be added soon. This way, yo will have a complete view of your Agents running locally alongside with the relevant details.
+
+In the near future, developers will also have the option to connect their local agents directly to Agentverse through the Inspector, making it even easier to manage and monitor agent interactions.
+
+## How to access the Local Agent Inspector
+
+You can access the Local Agent Inspector by first coding and defining your Agent.
+
+For instance, consider the following simple local agent:
+
+ ```py copy filename="agent_inspector_example.py"
+ from uagents import Agent, Context, Model
+ from uagents.setup import fund_agent_if_low
+
+ class Message(Model):
+ message: str
+
+
+ bob = Agent(
+ name="Bob",
+ port=8001,
+ seed="BobSecretPhrase",
+ endpoint=["http://127.0.0.1/:8001/submit"],
+ )
+
+ fund_agent_if_low(bob.wallet.address())
+
+ print(f"Your agent's address is: {bob.address}")
+
+ @bob.on_message(model=Message)
+ async def message_handler(ctx: Context, sender: str, msg: Message):
+ ctx.logger.info(f'Received message from {sender}: {msg.message}')
+
+ await ctx.send(sender, Message(message="Hello There!"))
+
+
+ if __name__ == "__main__":
+ bob.run()
+ ```
+
+Once you successfully run your local agent and register it into the Almanac, you will be able to access the Inspector via the terminal log, which provides a dedicated link to the Inspector page.
+
+By running the above Agent, the output you get should be similar to the following:
+
+ ```
+ Your agent's address is: agent1qvrapvpxltu54tt3qnud5mlkul9y9d9tfn7xfpq4ec74cq4mkym6yl3jkdw
+ INFO: [ Bob]: Registration on Almanac API successful
+ INFO: [ Bob]: Registering on Almanac API successful
+ INFO: [ Bob]: Registering on almanac contract...
+ INFO: [ Bob]: Registering on almanac contract...complete
+ INFO: [ Bob]: Agent inspector available at https://agentverse.ai/inspect/?uri=http://127.0.0.1:8001
+ INFO: [ Bob]: Starting server on http://0.0.0.0:8001 (Press CTRL+C to quit)
+ ```
+
+
+By clicking on the dedicated link depicted here, you will then be redirected to the **Inspector Dashboard**.
+
+![](src/images/guides/inspector/inspector_1.png)
+
+As you can see, here your local Agent will be listed and a pop-up message will appear saying that your Agent was added to the list. By clicking the dedicated **Connect Agent** button, you are able to connect Agents to the inspector by providing the Agent Address.
+
+Instead, by clicking on the Agent box, you can enter the Inspector Dashboard and check out all details about your Local Agent and its messages:
+
+![](src/images/guides/inspector/inspector_2.png)
diff --git a/src/images/guides/inspector/inspector_1.png b/src/images/guides/inspector/inspector_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..76ba3a02a942c10436e9f31794d5a38282cb30b4
GIT binary patch
literal 140179
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