Token导航 LogoToken导航TokenDH.com
研究检索执行命令clawhub未标认证来源可访问clear审计提醒

email-web-interface电子邮件网络界面

Agent Skill

email-web-interface 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,232

周安装

93

GitHub Stars

公开资料未说明

下载量

744
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:email-web-interface(电子邮件网络界面)
来源仓库:https://github.com/stefanferreira/email-web-interface
安装命令:
openclaw skills install email-web-interface
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install email-web-interface

简介

为代理提供图形化 Web 界面管理邮件,集成收件箱查看与草稿编辑。

  • 适合不熟悉命令行操作的用户通过浏览器控制邮件代理行为。
  • 支持 Gmail CLI 工具集成,简化发送流程与状态监控。
  • 需启动本地 Web 服务,暴露端口带来潜在安全风险。
  • 建议部署在隔离网络环境,并设置访问认证机制。email-web-interface 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
email-web-interface
description
Web interface for agent email communication (Lourens, Ace, etc.). Provides inbox viewing, draft creation/editing, and sending functionality via Gmail/Gog CLI integration.

Email Web Interface Skill

Description

Web interface for agent email communication (Lourens, Ace, etc.). Provides inbox viewing, draft creation/editing, and sending functionality via Gmail/Gog CLI integration.

When to Use

  • When user needs to access agent email inboxes
  • To compose and send non-bot emails
  • To view and manage email drafts
  • When existing webmail interfaces are clunky

Options Considered

Option A: Existing Webmail Solutions

  1. Roundcube (Recommended)

- Pros: Mature, feature-rich, good plugin ecosystem - Cons: Can be heavy, PHP-based

  1. RainLoop

- Pros: Modern, lightweight, good mobile support - Cons: Less mature, fewer features

  1. SnappyMail

- Pros: Fast, Gmail-like interface - Cons: Newer project, smaller community

Option B: Custom Interface

Build a custom React/Node.js interface that:

  • Uses Gog CLI for Gmail API access
  • Provides clean, minimal interface
  • Integrates with Mission Control
  • Tailored to our specific needs

Recommended Approach

Start with Roundcube, then customize if needed. Roundcube provides:

  • Full email functionality out of the box
  • IMAP/SMTP support (works with Gmail)
  • Plugin system for customization
  • Stable and well-documented

Procedure

1. Install Roundcube

# Install dependencies
apt-get update
apt-get install -y roundcube roundcube-core roundcube-mysql roundcube-plugins

# Or use Docker
docker run -d --name roundcube \
  -p 8081:80 \
  -e ROUNDCUBEMAIL_DEFAULT_HOST=ssl://imap.gmail.com \
  -e ROUNDCUBEMAIL_DEFAULT_PORT=993 \
  -e ROUNDCUBEMAIL_SMTP_SERVER=tls://smtp.gmail.com \
  -e ROUNDCUBEMAIL_SMTP_PORT=587 \
  roundcube/roundcubemail

2. Configure Gmail Access

Ace's Gmail account needs:

  1. App Password (if 2FA enabled): Generate in Google Account → Security
  2. IMAP enabled: Settings → Forwarding and POP/IMAP → Enable IMAP
  3. Less secure apps (if needed): May require allowing less secure apps

3. Roundcube Configuration

// config/config.inc.php
$config['default_host'] = 'ssl://imap.gmail.com';
$config['default_port'] = 993;
$config['smtp_server'] = 'tls://smtp.gmail.com';
$config['smtp_port'] = 587;
$config['smtp_user'] = 'ace.agent.email@gmail.com';
$config['smtp_pass'] = 'APP_PASSWORD_HERE';
$config['imap_conn_options'] = array(
  'ssl' => array(
    'verify_peer' => false,
    'verify_peer_name' => false,
  ),
);

4. Custom Integration (If Needed)

If Roundcube is clunky, build custom interface:

# Custom email interface using Gog CLI
from flask import Flask, render_template, request, jsonify
import subprocess
import json

app = Flask(__name__)

class EmailInterface:
    def __init__(self):
        self.gog_path = "/usr/local/bin/gog"
    
    def get_inbox(self, limit=50):
        """Get inbox emails via Gog CLI."""
        cmd = [self.gog_path, "gmail", "messages", "list", 
               "--limit", str(limit), "--format", "json"]
        
        try:
            result = subprocess.run(cmd, capture_output=True, text=True)
            if result.returncode == 0:
                return json.loads(result.stdout)
        except Exception as e:
            print(f"Error getting inbox: {e}")
        
        return []
    
    def get_message(self, message_id):
        """Get specific email message."""
        cmd = [self.gog_path, "gmail", "messages", "get",
               message_id, "--format", "json"]
        
        try:
            result = subprocess.run(cmd, capture_output=True, text=True)
            if result.returncode == 0:
                return json.loads(result.stdout)
        except Exception as e:
            print(f"Error getting message: {e}")
        
        return None
    
    def send_email(self, to, subject, body):
        """Send email via Gog CLI."""
        cmd = [self.gog_path, "gmail", "messages", "send",
               "--to", to, "--subject", subject, "--body", body]
        
        try:
            result = subprocess.run(cmd, capture_output=True, text=True)
            return result.returncode == 0
        except Exception as e:
            print(f"Error sending email: {e}")
            return False

@app.route('/')
def inbox():
    """Inbox view."""
    email_iface = EmailInterface()
    messages = email_iface.get_inbox(limit=20)
    return render_template('inbox.html', messages=messages)

@app.route('/message/<message_id>')
def view_message(message_id):
    """View specific message."""
    email_iface = EmailInterface()
    message = email_iface.get_message(message_id)
    return render_template('message.html', message=message)

@app.route('/compose', methods=['GET', 'POST'])
def compose():
    """Compose new email."""
    if request.method == 'POST':
        to = request.form['to']
        subject = request.form['subject']
        body = request.form['body']
        
        email_iface = EmailInterface()
        success = email_iface.send_email(to, subject, body)
        
        return jsonify({'success': success})
    
    return render_template('compose.html')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8082, debug=True)

5. Mission Control Integration

Add email interface to Mission Control sidebar:

// mission-control sidebar config
{
  name: "📧 Ace Email",
  path: "/email",
  icon: "email",
  external: true,
  url: "http://localhost:8081"  // Roundcube
  // or: "http://localhost:8082"  // Custom interface
}

6. Security Considerations

  1. HTTPS: Use reverse proxy with SSL
  2. Authentication: Add login to email interface
  3. Rate limiting: Prevent abuse
  4. Logging: Monitor email access
  5. Backup: Regular backup of important emails

Implementation Steps

Phase 1: Quick Setup (Today)

  1. Install Roundcube via Docker
  2. Configure with Ace's Gmail credentials
  3. Test basic email functionality
  4. Add link to Mission Control

Phase 2: Customization (This Week)

  1. Evaluate Roundcube usability
  2. If clunky, start custom interface development
  3. Implement essential features:

- Inbox with threading - Compose with rich text - Draft saving - Search functionality

Phase 3: Integration (Next Week)

  1. Deep integration with Mission Control
  2. Notification system for new emails
  3. Email templates for common responses
  4. Advanced search and filtering

Testing Checklist

  • [ ] Can view inbox
  • [ ] Can read emails
  • [ ] Can compose new email
  • [ ] Can send email
  • [ ] Can save drafts
  • [ ] Search works
  • [ ] Mobile responsive
  • [ ] Secure (HTTPS, auth)

Fallback Plan

If Roundcube doesn't work well:

  1. Try RainLoop (lighter alternative)
  2. Build minimal custom interface
  3. Use Gog CLI directly with simple web wrapper

Resources

  • Roundcube: https://roundcube.net
  • Gmail IMAP: https://support.google.com/mail/answer/7126229
  • Gog CLI: https://github.com/openclaw/gog
  • Mission Control Integration Guide

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.37%
按下载量换算576

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install email-web-interface 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills