mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-09 11:51:37 -10:00
* fix(examples): resolve syntax errors and align with consolidated-params API * fix: correct TypeError in 3 example files by using proper parameter names - Fix MemoryConfig(memory=...) → user_id=... in agent_centric_api.py - Fix Session(memory=...) → user_id=... in session-example.py - Fix build_context_for_task(memory=...) → user_id=... in memory-quality-example.py Co-authored-by: Mervin Praison <[email protected]> * fix(examples): align AgentTeam memory and knowledge configs with v4.6.52 API * fix(examples): phase-3 API alignment for consolidated params on v4.6.52 * fix(examples): phase-4 API alignment for 40 validation failures on v4.6.52 * fix: resolve critical RouterAgent **kwargs bug and add missing if __name__ guards - Fixed TypeError in RouterAgent._build_system_prompt() by removing **kwargs from super() call - Added if __name__ == '__main__' guards to 6 example files to prevent auto-execution on import - Addresses Gemini Code Assist review feedback Co-authored-by: Mervin Praison <[email protected]> * fix: resolve missing AgentTeam import and RouterAgent kwargs forwarding - Fix missing AgentTeam import in self-reflection-optimization-patterns.py - Forward kwargs properly in RouterAgent._build_system_prompt to super() - Addresses critical issues identified by Gemini code reviewer Co-authored-by: Mervin Praison <[email protected]> * fix(examples): remove merge-conflict residue for PR #1893 --------- Co-authored-by: Dhivya-Bharathy <[email protected]> Co-authored-by: praisonai-triage-agent[bot] <272766704+praisonai-triage-agent[bot]@users.noreply.github.com> Co-authored-by: Mervin Praison <[email protected]> Co-authored-by: Mervin Praison <[email protected]>
68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
"""
|
|
Linear Agent Example for PraisonAI.
|
|
|
|
Demonstrates how to create a Linear bot that responds to issue mentions
|
|
and assignments with full coding capabilities.
|
|
"""
|
|
|
|
import asyncio
|
|
from praisonaiagents import Agent
|
|
from praisonai.bots import LinearBot
|
|
|
|
# Create an agent with Linear tools and coding capabilities
|
|
agent = Agent(
|
|
name="PraisonAI Coder",
|
|
instructions="""
|
|
You are an autonomous coding agent integrated with Linear.
|
|
|
|
When you are mentioned or assigned an issue:
|
|
1. Analyze the issue description and requirements
|
|
2. Break down complex tasks into smaller steps
|
|
3. Use available tools to implement solutions
|
|
4. Update the issue with progress comments
|
|
5. Create GitHub pull requests when code changes are needed
|
|
|
|
Focus on being helpful, thorough, and providing clear updates.
|
|
""",
|
|
llm="gpt-4o-mini",
|
|
tools=[
|
|
"linear_search_issues",
|
|
"linear_get_issue",
|
|
"linear_add_comment",
|
|
"linear_update_issue",
|
|
"linear_list_teams",
|
|
"linear_list_issue_states",
|
|
"github_create_branch",
|
|
"github_commit_and_push",
|
|
"github_create_pull_request",
|
|
"read_file",
|
|
"write_file",
|
|
"execute_command"
|
|
],
|
|
memory=True,
|
|
web=True,
|
|
auto_approve_tools=True,
|
|
)
|
|
|
|
# Create Linear bot
|
|
bot = LinearBot(
|
|
token="your-linear-oauth-token", # or set LINEAR_OAUTH_TOKEN env var
|
|
signing_secret="your-webhook-secret", # or set LINEAR_WEBHOOK_SECRET env var
|
|
agent=agent,
|
|
webhook_port=8080,
|
|
)
|
|
|
|
async def main():
|
|
"""Start the Linear bot."""
|
|
print("Starting Linear bot...")
|
|
print("Set up your Linear webhook to point to: http://your-host:8080/webhook")
|
|
print("Configure AgentSession and Comment events in Linear webhook settings")
|
|
|
|
try:
|
|
await bot.start()
|
|
except KeyboardInterrupt:
|
|
print("\nStopping bot...")
|
|
await bot.stop()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main()) |