{"id":49388905,"url":"https://github.com/openakita/openakita-plugins","last_synced_at":"2026-04-28T11:08:04.463Z","repository":{"id":350514867,"uuid":"1190818905","full_name":"openakita/openakita-plugins","owner":"openakita","description":"Official plugin repository for OpenAkita — drop-in extensions for your AI team","archived":false,"fork":false,"pushed_at":"2026-04-10T17:04:37.000Z","size":127,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T19:06:54.332Z","etag":null,"topics":["ai-agent","extensions","openakita","plugin-sdk","plugins"],"latest_commit_sha":null,"homepage":"https://github.com/openakita/openakita","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openakita.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-24T16:43:42.000Z","updated_at":"2026-04-10T17:04:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/openakita/openakita-plugins","commit_stats":null,"previous_names":["openakita/openakita-plugins"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/openakita/openakita-plugins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openakita%2Fopenakita-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openakita%2Fopenakita-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openakita%2Fopenakita-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openakita%2Fopenakita-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openakita","download_url":"https://codeload.github.com/openakita/openakita-plugins/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openakita%2Fopenakita-plugins/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32377612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","extensions","openakita","plugin-sdk","plugins"],"created_at":"2026-04-28T11:07:58.933Z","updated_at":"2026-04-28T11:08:04.451Z","avatar_url":"https://github.com/openakita.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenAkita Plugins\n\n[English](#english) | [中文](#中文)\n\n\u003ca id=\"中文\"\u003e\u003c/a\u003e\n\n## 中文\n\nOpenAkita 官方插件仓库 — 示例插件 + SDK 开发文档。\n\n### 这个仓库是什么？\n\n本仓库包含两部分内容：\n\n1. **`plugins/`** — 各类型插件的**参考实现**和示例，覆盖所有 9 种插件类型\n2. **`sdk-docs/`** — 插件开发 SDK 文档，插件开发者的完整指南\n\n\u003e **安装插件**不需要克隆本仓库。在 OpenAkita 中直接输入 Git URL 或本地路径即可安装。\n\n### 快速开始\n\n```bash\n# 1. 安装 SDK（开发插件时使用）\npip install openakita-plugin-sdk\n\n# 2. 脚手架创建新插件\npython -m openakita_plugin_sdk.scaffold --id my-plugin --type tool --dir ./my-plugin\n\n# 3. 在 OpenAkita 中安装插件\n#    方式一：设置中心 → 插件管理 → 输入路径或 Git URL → 安装\n#    方式二：将插件目录复制到 data/plugins/\n#    方式三：告诉 Akita \"帮我安装 xxx 插件\"\n```\n\n### 示例插件\n\n| 插件 | 类型 | 说明 | 适合学习 |\n|------|------|------|---------|\n| [hello-tool](plugins/hello-tool/) | Tool | 最简工具注册示例 | 入门必看 |\n| [echo-channel](plugins/echo-channel/) | Channel | 消息回声通道（IM 适配器示例） | Channel 开发 |\n| [sqlite-memory](plugins/sqlite-memory/) | Memory | SQLite 轻量记忆后端，零外部依赖 | Memory 后端 |\n| [echo-llm](plugins/echo-llm/) | LLM | Echo 模型提供商（测试用） | LLM 接入 |\n| [ollama-provider](plugins/ollama-provider/) | LLM | Ollama 本地大模型接入（双注册示例） | LLM 高级用法 |\n| [obsidian-kb](plugins/obsidian-kb/) | RAG | Obsidian 笔记库检索，支持全文搜索和标签过滤 | RAG/知识库 |\n| [message-logger](plugins/message-logger/) | Hook | 消息日志记录（钩子示例） | Hook 开发 |\n| [translate-skill](plugins/translate-skill/) | Skill | 翻译技能包（SKILL.md 示例） | Skill 开发 |\n| [github-mcp](plugins/github-mcp/) | MCP | GitHub MCP 服务封装 | MCP 集成 |\n| [whatsapp-channel](plugins/whatsapp-channel/) | Channel | WhatsApp IM 接入（Cloud API + Web） | 生产级 Channel |\n| [qdrant-memory](plugins/qdrant-memory/) | Memory | Qdrant 向量记忆后端 | 向量存储 |\n\n### 插件类型\n\nOpenAkita 支持 **9 种插件类型**：\n\n| 类型 | 说明 | 权限级别 | 需要 Python？ |\n|------|------|---------|:---:|\n| Tool | 注册 AI 可调用的自定义工具 | Basic | 是 |\n| Channel | 添加 IM 通道适配器 | Advanced | 是 |\n| Memory | 替换/扩展记忆后端 | Advanced / System | 是 |\n| LLM | 添加 LLM 提供商 | Advanced | 是 |\n| Knowledge/RAG | 接入知识源 | Advanced | 是 |\n| Hook | 拦截生命周期事件 | Basic / Advanced | 是 |\n| Skill | 捆绑 SKILL.md 技能文件 | Basic | **否** |\n| MCP | 封装 MCP 服务 | Basic | **否** |\n| **Full-Stack UI** | 带独立前端页面的全栈插件 (Plugin 2.0) | Advanced | 是 |\n\n### 开发你自己的插件\n\n```bash\n# Python 插件目录结构\nmy-plugin/\n├── plugin.json          # 清单文件（必需）\n├── plugin.py            # 入口代码（Python 类型必需）\n├── config_schema.json   # 配置 schema（可选）\n├── README.md            # 文档\n└── icon.png/svg         # 图标（可选）\n```\n\n**关键约定：**\n- Python 插件的入口文件必须导出名为 `Plugin` 的类，继承 `PluginBase`\n- MCP 类型只需 `plugin.json` + `mcp_config.json`，无需 Python 代码\n- Skill 类型只需 `plugin.json` + `SKILL.md`，无需 Python 代码\n- 默认插件安装目录：`{project_root}/data/plugins/`\n\n详细文档见 [SDK 文档](sdk-docs/) 和 [插件开发指南](CONTRIBUTING.md)。\n\n---\n\n\u003ca id=\"english\"\u003e\u003c/a\u003e\n\n## English\n\nOfficial plugin repository for [OpenAkita](https://github.com/openakita/openakita) — reference plugins + SDK documentation.\n\n### What Is This Repository?\n\nThis repository contains two parts:\n\n1. **`plugins/`** — **Reference implementations** and examples covering all 9 plugin types\n2. **`sdk-docs/`** — Plugin development SDK documentation, a complete guide for plugin developers\n\n\u003e You don't need to clone this repo to **install plugins**. Just provide a Git URL or local path in OpenAkita.\n\n### Quick Start\n\n```bash\n# 1. Install the SDK (for plugin development)\npip install openakita-plugin-sdk\n\n# 2. Scaffold a new plugin\npython -m openakita_plugin_sdk.scaffold --id my-plugin --type tool --dir ./my-plugin\n\n# 3. Install a plugin in OpenAkita\n#    Option A: Setup Center → Plugin Manager → enter path or Git URL → Install\n#    Option B: Copy plugin directory to data/plugins/\n#    Option C: Tell Akita \"install the xxx plugin for me\"\n```\n\n### Example Plugins\n\n| Plugin | Type | Description | Good For Learning |\n|--------|------|-------------|-------------------|\n| [hello-tool](plugins/hello-tool/) | Tool | Minimal tool registration example | Getting started |\n| [echo-channel](plugins/echo-channel/) | Channel | Message echo adapter (IM adapter demo) | Channel dev |\n| [sqlite-memory](plugins/sqlite-memory/) | Memory | SQLite memory backend, zero deps | Memory backends |\n| [echo-llm](plugins/echo-llm/) | LLM | Echo model provider (for testing) | LLM integration |\n| [ollama-provider](plugins/ollama-provider/) | LLM | Ollama local LLM (dual-registration demo) | Advanced LLM |\n| [obsidian-kb](plugins/obsidian-kb/) | RAG | Obsidian vault retrieval with full-text search | RAG/Knowledge |\n| [message-logger](plugins/message-logger/) | Hook | Message logging (hook demo) | Hook dev |\n| [translate-skill](plugins/translate-skill/) | Skill | Translation skill pack (SKILL.md demo) | Skill dev |\n| [github-mcp](plugins/github-mcp/) | MCP | GitHub MCP server wrapper | MCP integration |\n| [whatsapp-channel](plugins/whatsapp-channel/) | Channel | WhatsApp IM (Cloud API + Web) | Production channel |\n| [qdrant-memory](plugins/qdrant-memory/) | Memory | Qdrant vector memory backend | Vector storage |\n\n### Plugin Types\n\nOpenAkita supports **9 plugin types**:\n\n| Type | Description | Permission Level | Python Required? |\n|------|-------------|-----------------|:---:|\n| Tool | Register custom AI-callable tools | Basic | Yes |\n| Channel | Add IM channel adapters | Advanced | Yes |\n| Memory | Replace / extend memory backends | Advanced / System | Yes |\n| LLM | Add LLM providers | Advanced | Yes |\n| Knowledge/RAG | Connect knowledge sources | Advanced | Yes |\n| Hook | Intercept lifecycle events | Basic / Advanced | Yes |\n| Skill | Bundle SKILL.md files | Basic | **No** |\n| MCP | Wrap MCP servers | Basic | **No** |\n| **Full-Stack UI** | Plugin with dedicated frontend page (Plugin 2.0) | Advanced | Yes |\n\n### Develop Your Own Plugin\n\n```bash\n# Python plugin directory structure\nmy-plugin/\n├── plugin.json          # Manifest (required)\n├── plugin.py            # Entry point (required for Python type)\n├── config_schema.json   # Config schema (optional)\n├── README.md            # Documentation\n└── icon.png/svg         # Icon (optional)\n```\n\n**Key conventions:**\n- Python plugin entry file must export a class named `Plugin` inheriting from `PluginBase`\n- MCP type only needs `plugin.json` + `mcp_config.json`, no Python code\n- Skill type only needs `plugin.json` + `SKILL.md`, no Python code\n- Default plugin install directory: `{project_root}/data/plugins/`\n\nSee [SDK Documentation](sdk-docs/) and [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License\n\nMIT — see individual plugin directories for their respective licenses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenakita%2Fopenakita-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenakita%2Fopenakita-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenakita%2Fopenakita-plugins/lists"}