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.
Metadata
Release files for cogents-smith 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cogents_smith-0.2.1.tar.gz | 94.2 kB | Without provenance | Details for cogents_smith-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cogents_smith-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for cogents_smith-0.2.1-py3-none-any.whl |
Total release size: 209.0 kB
Release files / cogents_smith-0.2.1.tar.gz
| Download URL | cogents_smith-0.2.1.tar.gz |
|---|---|
| Size | 94.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
398fdf249ca3fb45d3eb633df403d49e8d2de0d9c1caf8fe6b32e69c3e32a1b3
|
|
BLAKE2b-256 checksum How to use checksums |
314622eb242d8ea642d65de2e18708965754c1dd34eff56987f307770f640b20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Release files / cogents_smith-0.2.1-py3-none-any.whl
| Download URL | cogents_smith-0.2.1-py3-none-any.whl |
|---|---|
| Size | 114.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e2a7cab75a6bd823734989010a78e526b86f17339c89acff5a8cdd463c19022
|
|
BLAKE2b-256 checksum How to use checksums |
ccf5ece906218cc9d8ef552ab46f0e48d30570e43d37a241afd96a2ea28f243a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Security for cogents-smith 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.