Token导航 LogoToken导航

Agent Skill · 效率

nansui(nansui 效率)

nansui 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

nansui 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 18,561。

总安装 2,303周安装 95GitHub Stars 公开资料未说明下载 752核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install nansui

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

从 Gmail 提取乘车收据并生成匿名行为见解。数据存储于本地 JSON/SQLite 并支持 OpenC 分析。适用于个人财务与生活成本分析场景。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。需配置 Gmail API 访问权限与本地存储路径。注意隐私脱敏与数据加密存储要求。

nansui 属于效率类 Skill,可作为该场景下的辅助能力补充。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install nansui;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

nansui 怎么安装?

在终端执行 openclaw skills install nansui。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

nansui 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

nansui 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

nansui 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

nansui 用的人多吗?

公开数据是累计安装 2,303 次,近一周安装 95 次,下载 752 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

nansui 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
nansui

nansui 效率 · 本页

2,303—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
ride-insights
description
metadata
{ "openclaw": { "requires": { "bins": [ "gog","python3" ],"env": [ "OPENCLAW_GATEWAY_TOKEN","OPENCLAW_GATEWAY_URL","OPENCLAW_GATEWAY_MODEL" ] },"homepage": "https://clawhub.com" } }

ride-insights

A privacy-first mobility intelligence skill developed by DataHive AI.

Use this skill to collect ride-sharing receipts from Gmail, extract structured trip data locally, and generate rich personal insights on spending, habits, repeated routes, likely anchor locations, time-of-day patterns, and more.

You can also share an anonymized data report with DataHive AI to participate in missions and earn rewards (missions blog).

This skill uses a unique local-processing approach that showcases the real power of OpenClaw: agent intelligence processes sensitive source data locally and ensures that no raw data is shared externally.

Local-only by design: this skill requires a loopback OpenClaw Gateway and will fail if the Gateway URL points anywhere else.

Generate an anonymized/shareable CSV version of the ride history when the user wants to upload it to DataHive and earn points without exposing raw receipt emails or obvious personal identifiers.

Before you start

  • Require gog CLI authenticated for the target Gmail account.
  • Always run gog auth list before fetching, even if the user already named an account.
  • If multiple accounts are configured, present explicit choices using the real account emails, e.g.

Which account should I use: (A) name1@example.com or (B) name2@example.com? Do not summarize as "default" or make the user infer which accounts exist.

  • If exactly one account is configured, use it and mention it briefly.
  • Do not assume an account named default exists.
  • Require a reachable local OpenClaw Gateway.
  • Require Gateway auth token available via OPENCLAW_GATEWAY_TOKEN or ~/.openclaw/openclaw.json at

gateway.auth.token (legacy fallback: gateway.token).

  • If the extractor is configured through env vars, declare and use only these: OPENCLAW_GATEWAY_TOKEN,

OPENCLAW_GATEWAY_URL, and OPENCLAW_GATEWAY_MODEL.

  • Require the Gateway HTTP Responses endpoint to be enabled.
  • Ask the user for date scope: all-time, after a date, or between two dates.
  • Treat receipt emails as sensitive financial/location data.
  • Tell the user that data/ride-insights/emails.json stores fetched receipt emails locally and may include full HTML

receipt content.

  • Tell the user that extraction sends the raw per-email JSON payload, including receipt HTML when present, to the local

Gateway /v1/responses endpoint.

  • Before extraction, confirm the user is okay sending raw receipt email JSON/HTML to the active local Gateway-backed

model.

  • Always use the local loopback Gateway. If the configured Gateway URL is not local, fail rather than falling back to

any remote/private host.

  • When describing the local-only guarantee, be explicit that only localhost, 127.0.0.1, and ::1 are accepted

Gateway hosts.

Outputs

Primary artifacts:

  • data/ride-insights/emails.json — fetched receipt emails in one JSON array; may include full HTML receipt content
  • data/ride-insights/rides.json — extracted ride records in one JSON array
  • data/ride-insights/rides.sqlite — queryable SQLite database containing normalized ride fields plus

extracted_ride_json, but not raw source email JSON

Retention note:

  • emails.json persists raw fetched receipt content until the user deletes it.
  • rides.json and rides.sqlite persist extracted ride data locally until deleted.
  • The anonymized CSV intentionally excludes raw receipt content and direct identifiers, but it is still a derived

dataset and should be treated as potentially sensitive.

Pipeline

Run each step in order. Stop and report on failure.

1. Initialize DB

python3 skills/ride-insights/scripts/init_db.py \
  --db ./data/ride-insights/rides.sqlite \
  --schema skills/ride-insights/references/schema_rides.sql

2. Fetch Gmail receipts into emails.json

python3 skills/ride-insights/scripts/fetch_emails_json.py \
  --account <gmail-account> \
  --after YYYY-MM-DD \
  --before YYYY-MM-DD \
  --max-per-provider 5000 \
  --out ./data/ride-insights/emails.json

Notes:

  • Omit --after / --before when not needed.
  • Supported provider queries live in references/provider_queries.json.
  • Current coverage includes Uber, Bolt, Yandex, Lyft, Free Now, Curb, and Via.
  • Default processing cap is 50 emails total for the selected interval because Gateway extraction is token-heavy.
  • Before extraction, count the fetched emails in data/ride-insights/emails.json.
  • If the fetched set is 50 emails or fewer, proceed normally.
  • If the fetched set is over 50, ask the user whether to process the full count or keep the default cap of 50.
  • Unless the user explicitly approves a higher number, process only the first 50 emails.
  • Keep the user-facing explanation short and mention that the cap exists to control token usage/cost.

3. Extract rides with Gateway /v1/responses into rides.json

python3 skills/ride-insights/scripts/extract_rides_gateway.py \
  --emails-json ./data/ride-insights/emails.json \
  --out ./data/ride-insights/rides.json

Notes:

  • Prefer running the extractor without exporting OPENCLAW_GATEWAY_TOKEN when ~/.openclaw/openclaw.json already

contains gateway.auth.token.

  • The extractor also accepts legacy gateway.token if present, but gateway.auth.token is the expected current config

path.

  • The extractor may also read OPENCLAW_GATEWAY_URL and OPENCLAW_GATEWAY_MODEL; these should be declared anywhere the

skill metadata or packaging contract lists env dependencies.

Notes:

  • The script iterates one email at a time.
  • It sends raw email JSON to the Gateway /v1/responses endpoint.
  • It refuses any non-local Gateway host for this sensitive data flow and does not provide an override.
  • It expects JSON-only output matching the current ride schema.
  • It retries failed requests up to 3 times.
  • It writes data/ride-insights/rides.json after each successful extraction, so progress is checkpointed.
  • If data/ride-insights/rides.json already exists, it skips emails whose gmail_message_id is already present there.
  • If rate limits become a problem, re-run with --delay-ms <n>.
  • Default extraction cap is 50 emails total unless the user explicitly approves processing more for the selected

interval.

  • When applying the default cap, use the fetched emails ordered as written in data/ride-insights/emails.json and

extract only the first 50.

4. Insert rides.json into SQLite

python3 skills/ride-insights/scripts/insert_rides_json_sqlite.py \
  --db ./data/ride-insights/rides.sqlite \
  --rides-json ./data/ride-insights/rides.json

5. Generate ride insights

Do this as an agent action, not a dedicated insights script.

Recommended workflow:

  • Prefer data/ride-insights/rides.json as the primary source because it preserves the extracted ride objects directly.
  • Use data/ride-insights/rides.sqlite for lightweight deterministic counts, filters, grouping, and cross-checks.
  • Before querying SQLite, inspect the schema with PRAGMA table_info(rides) or read

skills/ride-insights/references/schema_rides.sql.

  • Base SQL only on confirmed columns from the live DB schema or that schema reference file.
  • Feed the ride records plus a compact factual grounding summary into the active Gateway-backed model.
  • Ask the model to produce 8-10 short behavioral insights.

Notes:

  • Prefer interpretation over aggregation.
  • Focus on patterns such as spending habits, repeated addresses, likely anchor locations, repeated routes, commute-like

behavior, weekday/weekend habits, time-of-day patterns, outliers, and premium ride choices.

  • Use rides.json for rich per-ride context and rides.sqlite for quick factual checks; combine both when useful.
  • Keep SQL-derived grounding compact and human-readable; do not turn the output into a raw SQL dump.
  • Keep the output compact and human.
  • Do not invent labels like home/work unless the repetition strongly supports that wording; otherwise use softer

phrasing like likely base, recurring destination, or commute-like pattern.

6. Export anonymized CSV report

Use the bundled Python exporter when the user asks for an anonymized/shareable ride report.

python3 skills/ride-insights/scripts/export_anonymized_rides_csv.py \
  --db ./data/ride-insights/rides.sqlite \
  --out ./data/ride-insights/anonymized_rides.csv

Export rules:

  • Read from SQLite only.
  • Include exactly these columns: provider, email_month, start_time_15m, end_time_15m, currency, amount,

distance_km, duration_min, pickup_city, pickup_country, dropoff_city, dropoff_country.

  • Convert email_date_text to month-only format like 2025-05.
  • Round start_time_text and end_time_text upward to the next 15-minute bucket. Exact quarter-hours stay unchanged.
  • Export normalized distance_km and duration_min when available by reading them from extracted_ride_json; leave

blank when unavailable.

  • Exclude street addresses, payment method, driver, notes, subject, message id, and any raw extracted JSON from the CSV

output.

  • When the user asks for the anonymized CSV, generate it as a real .csv file in the workspace; do not paste inline CSV

text into chat.

  • Save the file to a stable path such as data/ride-insights/anonymized_rides.csv.
  • To send it to chat, use OpenClaw's outbound media attachment mechanism: include a short text line plus a separate line

containing exactly MEDIA:./data/ride-insights/anonymized_rides.csv.

  • Keep the accompanying message very short, e.g.

Done — I regenerated the anonymized CSV and attached the updated file. followed by the MEDIA: line.

  • Do not paste inline CSV text into chat.
  • Saving a local copy is allowed and expected when needed to send the attachment cleanly.

Constraints

  • Use only the scripts bundled in this skill.
  • Do not silently switch to direct provider APIs or embedded agent internals.
  • Never hallucinate fields; use null when unknown.
  • Keep addresses and time strings verbatim.
  • Keep user-facing output brief: counts, paths, and failures.

References

  • Schema: skills/ride-insights/references/schema_rides.sql
  • Provider Gmail queries: skills/ride-insights/references/provider_queries.json

平台分布

OpenClaw

70.67%
按下载量换算531

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills