Skip to main content

cowagent-ai-assistant

Build and deploy autonomous AI agents with CowAgent - planning, memory, knowledge base, skills, and multi-channel support

설치로 이동

소스 정보

저장소
reason-machines/ai-agent-skills
최근 소스 활동
2026년 5월 24일 10:38
감지된 SKILL.md 언어
영어
스타
1
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
cowagent-ai-assistant
description
Build and deploy autonomous AI agents with CowAgent - planning, memory, knowledge base, skills, and multi-channel support
triggers
["how do I set up a CowAgent AI assistant","help me configure CowAgent with Claude or GPT","create a custom skill for CowAgent","integrate CowAgent with WeChat or Feishu","configure CowAgent memory and knowledge base","add tools and MCP servers to CowAgent","deploy CowAgent with Docker","troubleshoot CowAgent installation issues"]
# CowAgent AI Assistant > Skill by [ara.so](https://ara.so) — AI Agent Skills collection. CowAgent is an open-source autonomous AI assistant framework that plans tasks, executes tools and skills, and grows through memory and knowledge. It supports multiple LLM providers (Claude, GPT, Gemini, DeepSeek, etc.) and channels (Web, WeChat, Feishu, DingTalk), with a three-tier memory architecture and personal knowledge base. ## Installation ### Quick Install (Recommended) **Linux / macOS:** ```bash bash <(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh) ``` **Windows (PowerShell):** ```powershell irm https://cdn.link-ai.tech/code/cow/run.ps1 | iex ``` **Docker:** ```bash curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml docker compose up -d ``` ### Manual Installation from Source ```bash # Clone repository git clone https://github.com/zhayujie/CowAgent.git cd CowAgent # Install dependencies (Python 3.8+) pip3 install -r requirements.txt # Copy and configure cp config-template.json config.json # Start the agent python3 app.py ``` After starting, access the Web console at `http://localhost:9899`. ## CLI Commands The `cow` CLI manages the CowAgent service: ```bash # Service control cow start # Start CowAgent cow stop # Stop CowAgent cow restart # Restart CowAgent cow status # Check service status cow logs # View logs # Updates and skills cow update # Pull latest code and restart cow skill install <name> # Install a skill from Skill Hub cow install-browser # Install browser automation dependencies # Usage examples cow skill list # List installed skills cow skill search weather # Search for skills ``` ## Configuration ### Model Configuration Configure via Web console (recommended) or manually edit `config.json`: ```json { "model": "claude-opus-4", "claude_api_key": "${CLAUDE_API_KEY}", "openai_api_key": "${OPENAI_API_KEY}", "gemini_api_key": "${GEMINI_API_KEY}", "vision_model": "gpt-4o", "image_create_model": "dall-e-3", "speech_recognition_model": "whisper-1", "text_to_speech_model": "tts-1", "embedding_model": "text-embedding-3-small" } ``` ### Channel Configuration Set `channel_type` to switch channels: ```json { "channel_type": "wx", // Options: terminal, wx, web, feishu, dingtalk, wecom_bot, qq // Web channel (default) "web": { "port": 9899, "admin_password": "your_password" }, // WeChat "wechat": { "single_chat_prefix": ["bot", "@bot"], "single_chat_reply_prefix": "[bot] ", "group_chat_prefix": ["@bot"], "group_name_white_list": ["ChatGroup1", "ChatGroup2"] }, // Feishu "feishu": { "app_id": "${FEISHU_APP_ID}", "app_secret": "${FEISHU_APP_SECRET}" } } ``` ### Memory Configuration ```json { "memory": { "enable_long_term": true, "deep_dream_time": "03:00", // Daily Deep Dream time "max_context_messages": 20, "enable_hybrid_search": true } } ``` ### Knowledge Base Configuration ```json { "knowledge": { "enable": true, "auto_curate": true, "update_threshold": 3 } } ``` ## Skills System ### Installing Skills **Via CLI:** ```bash cow skill install weather cow skill install stock-query cow skill install github-repo-search ``` **Via Chat:** ``` /skill search weather /skill install weather /skill list ``` ### Creating Custom Skills Skills are defined in a `skill.json` manifest: ```json { "name": "custom-api-caller", "version": "1.0.0", "description": "Call external API and process results", "author": "Your Name", "triggers": ["call api", "fetch data from api"], "parameters": [ { "name": "endpoint", "type": "string", "description": "API endpoint URL", "required": true }, { "name": "method", "type": "string", "description": "HTTP method (GET/POST)", "default": "GET" } ], "steps": [ { "action": "web_fetch", "params": { "url": "{{endpoint}}", "method": "{{method}}" } }, { "action": "write", "params": { "path": "result.json", "content": "{{web_fetch.response}}" } } ] } ``` Place in `skills/custom-api-caller/skill.json` and restart. ### Conversational Skill Creation Use the built-in `skill-creator` skill: ``` Create a skill that fetches GitHub repository info and saves it to a markdown file. ``` The agent will generate the skill manifest interactively. ## Tools System ### Built-in Tools **File Operations:** ```python # Agent uses these tools automatically read(path="/path/to/file.txt") write(path="output.txt", content="data") edit(path="config.json", replacements=[{"old": "value1", "new": "value2"}]) ls(path="./data") ``` **Terminal:** ```python bash(command="ls -la") bash(command="python script.py") ``` **Memory & Knowledge:** ```python memory(query="what did user say about project X") knowledge_search(query="API documentation") ``` **Web & Browser:** ```python web_fetch(url="https://api.example.com/data") web_search(query="Python async best practices") browser(action="navigate", url="https://example.com") browser(action="click", selector="#submit-button") ``` **Scheduling:** ```python scheduler(action="add", time="2026-05-25 14:00", task="Send report") scheduler(action="list") ``` ### MCP Integration Configure MCP servers in `mcp.json`: ```json { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"], "transport": "stdio" }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "transport": "stdio", "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } }, "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"], "transport": "stdio" } } } ``` Hot reload: edit `mcp.json` and restart CowAgent. ## Working Code Examples ### Python Plugin Example Create a custom plugin in `plugins/my_plugin.py`: ```python import plugins from bridge.context import ContextType from bridge.reply import Reply, ReplyType from common.log import logger @plugins.register( name="MyPlugin", desc="Custom functionality plugin", version="1.0", author="Your Name" ) class MyPlugin(plugins.Plugin): def __init__(self): super().__init__() self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context logger.info("[MyPlugin] initialized") def on_handle_context(self, e_context: EventContext): context = e_context['context'] if context.type != ContextType.TEXT: return content = context.content.strip() if content.startswith("/hello"): reply = Reply() reply.type = ReplyType.TEXT reply.content = "Hello from custom plugin!" e_context['reply'] = reply e_context.action = EventAction.BREAK_PASS return def get_help_text(self, **kwargs): return "MyPlugin: Use /hello to get a greeting" ``` ### Custom Channel Implementation ```python from channel.channel import Channel from bridge.context import Context, ContextType from bridge.reply import Reply class CustomChannel(Channel): def __init__(self): super().__init__() def startup(self): # Initialize your channel (websocket, HTTP server, etc.) logger.info("[CustomChannel] starting...") def handle_message(self, message): context = Context() context.type = ContextType.TEXT context.content = message['text'] context['session_id'] = message['user_id'] # Process through agent reply = super().build_reply_content(message['text'], context) # Send reply through your channel self.send_message(message['user_id'], reply.content) def send_message(self, user_id, content): # Implement sending logic pass ``` Register in `channel/channel_factory.py`: ```python from channel.custom.custom_channel import CustomChannel def create_channel(channel_type): if channel_type == "custom": return CustomChannel() # ... existing channels ``` ### Advanced Skill with Multiple Tools ```json { "name": "github-issue-reporter", "version": "1.0.0", "description": "Search GitHub repos, analyze issues, generate report", "triggers": ["analyze github issues", "report on github repository"], "parameters": [ { "name": "repo", "type": "string", "description": "GitHub repository (owner/repo)", "required": true } ], "steps": [ { "action": "web_fetch", "params": { "url": "https://api.github.com/repos/{{repo}}/issues", "headers": { "Authorization": "token ${GITHUB_TOKEN}" } }, "output": "issues_data" }, { "action": "bash", "params": { "command": "echo '{{issues_data}}' | jq '[.[] | {title: .title, state: .state, comments: .comments}]' > /tmp/issues.json" } }, { "action": "read", "params": { "path": "/tmp/issues.json" }, "output": "processed_issues" }, { "action": "write",
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기