Agentic toolkit for COGENTS
Project description
CogentsSmith
This is part of project COGENTS, an initiative to develop a cognitive, computation-driven agentic system. This repo is built upon cogents-core and hosts an extensive and extendable list of integrated services, well-tested toolkits, and ready-to-go agents. Our philosophy focuses on a modular, composable design that can be easily integrated into existing systems or used to build new ones from the ground up.
🎯 Core Capabilities
Cogents-smith has evolved into a mature, production-ready toolkit ecosystem featuring semantic organization. The project now offers 18 specialized toolkits organized into 10 semantic groups, providing comprehensive coverage for cognitive agent development, plus 1 production-ready agent for specialized tasks.
Toolkit Ecosystem (18 Tools)
- Academic Research: arXiv integration for paper discovery and analysis
- Development Tools: Bash execution, file editing, GitHub integration, Python execution
- Media Processing: Image analysis, video processing, audio transcription
- Information Retrieval: Wikipedia, web search, and knowledge extraction
- Data Management: Tabular data processing, memory systems, document handling
- Communication: Gmail integration for email management
- Human Interaction: User communication and feedback collection systems
Ready-to-Use Agents
- Askura Agent: Dynamic conversational agent for collecting structured information through natural dialogue
- Seekra Agent: Deep research agent for comprehensive topic investigation and report generation
Architecture & Performance
- Lazy Loading: Only load what you need, when you need it
- Semantic Organization: Intuitive grouping reduces cognitive overhead
- Async-First Design: Built for high-performance concurrent operations
- Extensible Registry: Easy integration of custom tools and capabilities
- Error Resilience: Graceful handling of missing dependencies and failures
📦 Semantic Organization
Cogents-smith features semantic organization that makes it easy to find and use related toolkits:
- 🎯 Organized structure: Toolkits grouped by functionality
- 📦 Group-wise loading: Import semantic groups of related toolkits
- 🔧 Easy discovery: Simple group-based API
Available Toolkit Groups
| Group | Description | Toolkits |
|---|---|---|
academic |
Academic research tools | arxiv_toolkit |
audio |
Audio processing | audio_toolkit, audio_aliyun_toolkit |
communication |
Communication & messaging | gmail_toolkit |
development |
Development tools | bash_toolkit, file_edit_toolkit, github_toolkit, python_executor_toolkit, tabular_data_toolkit |
file_processing |
File manipulation | document_toolkit, file_edit_toolkit, tabular_data_toolkit |
hitl |
Human-in-the-loop | user_interaction_toolkit |
image |
Image processing | image_toolkit |
info_retrieval |
Information search | search_toolkit, serper_toolkit, wikipedia_toolkit |
memorization |
Data storage & memory | memory_toolkit |
video |
Video processing | video_toolkit |
Install
pip install -U cogents-smith
🚀 Quick Examples
Group Loading
import cogents_smith
# Get available groups
print(f"Available groups: {cogents_smith.get_available_groups()}")
# Load specific group
dev_toolkits = cogents_smith.load_toolkit_group('development')
# Or use semantic group imports
from cogents_smith.groups import development, info_retrieval
# Access toolkits from groups
bash = development().bash_toolkit()
search = info_retrieval().search_toolkit()
Using Askura Agent (Conversational Data Collection)
from cogents_smith.agents.askura_agent import AskuraAgent
from cogents_smith.agents.askura_agent.models import AskuraConfig, InformationSlot
# Define what information you want to collect
config = AskuraConfig(
information_slots=[
InformationSlot(
name="trip_info",
description="Travel plan details: destination, dates, interests",
priority=5,
required=True
)
],
conversation_purpose=["collect user information about planned trip"]
)
# Start conversation
agent = AskuraAgent(config=config)
response = agent.start_conversation(
user_id="user123",
initial_message="I want to plan a trip"
)
Using Seekra Agent (Deep Research)
from cogents_smith.agents.seekra_agent import SeekraAgent, Configuration
# Initialize research agent
researcher = SeekraAgent(
configuration=Configuration(
search_engine="tavily",
number_of_initial_queries=2,
max_research_loops=2
)
)
# Conduct research
result = researcher.research(
user_message="Deep learning trends in 2025"
)
print(result.summary)
print(f"Sources: {len(result.sources)}")
📚 Demo Scripts
Explore the capabilities with our comprehensive demo scripts:
- Agents: examples/agents/ - Interactive demos for Askura and Seekra agents
- Tools: examples/tools/ - Toolkit usage examples
🤖 Agents
Askura Agent
A dynamic conversational agent designed for structured information collection through natural dialogue. Askura adapts to user communication styles and maintains conversation purpose alignment.
Key Features:
- Structured information slot collection
- Adaptive conversation flow
- Memory and context management
- Reflection and summarization capabilities
- Token usage tracking
Use Cases: User interviews, data collection, form filling, customer onboarding
Seekra Agent
A deep research agent that conducts comprehensive investigations on given topics, generating detailed reports with source citations.
Key Features:
- Multi-source web research
- Iterative research loops for depth
- Automatic query generation
- Source citation and aggregation
- Configurable search engines (Tavily, etc.)
Use Cases: Market research, academic literature reviews, competitive analysis, knowledge synthesis
Best Practices
- Use group imports for related functionality to keep dependencies organized
- Use semantic groups to discover and access toolkits intuitively
- Leverage async capabilities for better performance in concurrent operations
- Check the demos to understand agent capabilities and performance characteristics
- Use lazy loading to minimize startup time and memory footprint
License
MIT License - see LICENSE file for details.
Acknowledgment
- Tencent Youtu-agent toolkits integration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cogents_smith-0.2.1.tar.gz.
File metadata
- Download URL: cogents_smith-0.2.1.tar.gz
- Upload date:
- Size: 94.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
398fdf249ca3fb45d3eb633df403d49e8d2de0d9c1caf8fe6b32e69c3e32a1b3
|
|
| MD5 |
1624e6dca19881f8ff04e1127148c88a
|
|
| BLAKE2b-256 |
314622eb242d8ea642d65de2e18708965754c1dd34eff56987f307770f640b20
|
File details
Details for the file cogents_smith-0.2.1-py3-none-any.whl.
File metadata
- Download URL: cogents_smith-0.2.1-py3-none-any.whl
- Upload date:
- Size: 114.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e2a7cab75a6bd823734989010a78e526b86f17339c89acff5a8cdd463c19022
|
|
| MD5 |
44bb976fe76bfa278b6caddc1a67ae3d
|
|
| BLAKE2b-256 |
ccf5ece906218cc9d8ef552ab46f0e48d30570e43d37a241afd96a2ea28f243a
|