dgngjx-skill
多功能免费工具箱 - 图片处理、PDF转换、数据换算、文本工具、开发工具、视频工具、教育、生活娱乐、实用小工具、系统工具、AI办公。11大模块49个工具。v4.1 包化架构:SKILL.md 129KB→30KB + 11模块外置 + 四包机制(core/dev/ent/media)+ 首次体检报告。 Skill: dgngjx-skill Owner: fyniujin Summary: 多功能免费工具箱 - 图片处理、PDF转换、数据换算、文本工具、开发工具、视频工具、教育、生活娱乐、实用小工具、系统工具、AI办公。11大模块49个工具。v4.1 包化架构:SKILL.md 129KB→30KB + 11模块外置 + 四包机制(core/dev/ent/media)+ 首次体检报告。 Tags: latest:4.1.0 Version history: v4.1.0 | 2026-10-09T08:30:01.429Z | auto **v4.1.0 包化架构重大更新** - 全新包化架构:11大模块全部外置,SKILL.md 缩减至 30KB,支持四包机制(core/dev/ent/media)。 - 新增可选包管理:支持 --list-packs 查看、--install-pack 一键安装可选工具包。 - 支持首次
Rank
62
Safety
84
Downloads
1.3k
Updated
Oct 10, 2026
Version
4.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.3K downloadsadoption · observed Oct 10, 2026
- Latest release
- 4.1.0release · observed Oct 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s177r8w7p1d7cpbys9bn33kwhs89d0xw:dgngjx-skill- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-dgngjx-skill/snapshot"
Documentation
CLAWHUB
145,076 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: dgngjx-skill
description: "多功能免费工具箱 - 图片处理、PDF转换、数据换算、文本工具、开发工具、视频工具、教育、生活娱乐、实用小工具、系统工具、AI办公。11大模块49个工具。v4.1 包化架构:SKILL.md 129KB→30KB + 11模块外置 + 四包机制(core/dev/ent/media)+ 首次体检报告。"
version: 4.1.0
---
# 多功能工具箱 dgngjx-skill v4.1.0
## 🚀 dgngjx CLI 统一入口 ⭐ v3.9.0 新增
**✅ 开箱即用**(纯 Python 标准库 argparse,零依赖)
> v4.1.0 新增:`--install-pack` 安装可选包、`--list-packs` 列出可用包、`--health` 首次体检报告。
<details>
<summary>📋 CLI 使用方式</summary>
```bash
# 直接调用工具(参数化,非交互)
dgngjx calc.mortgage --amount 1000000 --years 30 --rate 4.2
dgngjx text.encode --method base64 --text "Hello World"
dgngjx img.compress --path ./photos/ --quality 80 --format JPEG
dgngjx hash.md5 --file document.pdf
dgngjx exchange --amount 100 --from USD --to CNY
# 机器可解析输出(供 CI/计划任务使用)
dgngjx sys.monitor --json
# 无人值守模式(跳过非危险确认点)
dgngjx file.rename --dir ./photos/ --prefix "vacation_" --yes
# 或设置环境变量
export DGNGJX_ASSUME_YES=1
dgngjx img.convert --path ./photos/ --format PNG
# 包管理(v4.1.0 新增)
dgngjx --list-packs # 列出所有可用包
dgngjx --install-pack ent # 安装娱乐包
dgngjx --install-pack media # 安装媒体包
dgngjx --install-pack ai # 安装 AI 包
# 体检报告(v4.1.0 新增)
dgngjx --health # 首次运行体检
# 无参数启动 → 进入交互向导(兼容旧体验)
dgngjx
```
</details>
<details>
<summary>📋 CLI 入口代码(dgngjx 命令)</summary>
```python
#!/usr/bin/env python3
"""dgngjx CLI - 多功能工具箱统一命令行入口"""
import argparse, json, os, sys
def load_registry():
"""加载工具注册表"""
reg_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "registry.json")
with open(reg_path, encoding="utf-8") as f:
return json.load(f)
def build_tool_index(registry):
"""将 modules[].tools 嵌套结构扁平化为 tool_id → info 索引"""
index = {}
for mod in registry.get("modules", []):
for tool_id, tool_info in mod.get("tools", {}).items():
tool_info["module_id"] = mod["id"]
tool_info["module_name"] = mod["name"]
tool_info["pack"] = mod.get("pack", "core")
index[tool_id] = tool_info
return index
def main():
parser = argparse.ArgumentParser(prog="dgngjx", description="多功能工具箱 dgngjx-skill")
parser.add_argument("tool", nargs="?", help="工具路径,如 calc.mortgage / text.encode / img.compress")
parser.add_argument("--json", action="store_true", help="输出机器可解析 JSON")
parser.add_argument("--yes", "-y", action="store_true", help="跳过非危险确认点")
parser.add_argument("--help-tools", action="store_true", help="列出所有可用工具")
parser.add_argument("--list-packs", action="store_true", help="列出所有可用包(v4.1.0)")
parser.add_argument("--install-pack", metavar="PACK", help="安装指定包(v4.1.0)")
parser.add_argument("--health", action="store_true", help="运行体检报告(v4.1.0)")
args, remaining = parser.parse_known_args()
if os.environ.get("DGNGJX_ASSUME_YES"):
args.yes = True
registry = load_registry()
# 包管理命令
if args.list_packs:
packs = registry.get("packs", {})
print("📦 可用包:")
for pid, pinfo in packs.items():
defaul_meta.json
{
"ownerId": "kn7chdrwbdhaqkwajcyhtfvjx989ddb1",
"slug": "dgngjx-skill",
"version": "4.1.0",
"publishedAt": 1791534601429
}references/modules/ai.md
# 🤖 模块 11:AI 办公 ⭐ v3.8.0 新增模块
---
#### 11.1 会议纪要生成器 ⭐ v3.8.0 新增
**✅ 开箱即用**(零依赖保底:支持本地 whisper / 在线 API / 手动粘贴文本 三级降级)
> 语音→ASR 转写→LLM 摘要→结构化会议纪要。覆盖 TOP50 高频需求。
<details>
<summary>📋 模式 A:本地 Whisper CLI(离线,零成本)</summary>
```python
import subprocess, os, sys
path = input("音频文件路径(mp3/wav/m4a):").strip().strip('"').strip("'")
if not os.path.isfile(path):
print(f"❌ 文件不存在: {path}")
else:
r = subprocess.run(["whisper", "--help"], capture_output=True, text=True, timeout=5)
if r.returncode != 0:
print("❌ 未检测到 whisper CLI。请先安装:pip install openai-whisper")
print(" 或选择模式 B(在线 API)或模式 C(手动粘贴文本)")
else:
print("🎙️ 正在转写(可能需要几分钟,取决于音频长度)...")
result = subprocess.run(
["whisper", path, "--language", "zh", "--output_format", "txt",
"--output_dir", os.path.dirname(path)],
capture_output=True, text=True, timeout=600
)
if result.returncode == 0:
out_path = os.path.splitext(path)[0] + ".txt"
if os.path.exists(out_path):
with open(out_path, encoding="utf-8") as f:
text = f.read()
print(f"✅ 转写完成!文本长度: {len(text)} 字")
print("--- 转写结果 ---")
print(text[:500])
else:
print("❌ 转写输出文件未生成")
else:
print(f"❌ 转写失败: {result.stderr[:200]}")
```
</details>
<details>
<summary>📋 模式 B:Paraformer API(在线,中文识别率高)</summary>
```python
import urllib.request, urllib.parse, json, os
path = input("音频文件路径:").strip().strip('"').strip("'")
if not os.path.isfile(path):
print(f"❌ 文件不存在: {path}")
else:
API_URL = input("API URL(留空使用内置示例):").strip()
API_KEY = input("API Key(留空使用内置示例):").strip()
if not API_URL:
print("💡 未配置 API,将使用模式 C(手动粘贴文本)")
print(" 如需在线识别,请提供 Paraformer API 地址和密钥")
else:
with open(path, "rb") as f:
audio_data = f.read()
req = urllib.request.Request(
API_URL,
data=audio_data,
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "audio/wav"}
)
try:
resp = urllib.request.urlopen(req, timeout=120)
result = json.loads(resp.read())
text = result.get("text", result.get("result", ""))
if text:
print(f"✅ 转写完成!文本长度: {len(text)} 字")
print("--- 转写结果 ---")
print(text[:500])
else:
print("❌ API 返回空文本")
except Exception as e:
print(f"❌ API 调用失败: {e}")
print(" 请检查网络连接和 API 配置")
```
</details>
<details>
<summary>📋 模式 C:手动粘贴文本(零依赖保底,推荐)</summary>
```python
import datetime
print("📋 模式 C:手动粘贴会议录音转写文本")
print(" (如无 ASR 工具,可手动复制会议录音转写内容)")
print(" 输入文本后输入 END 结束:")
lines = []
while True:
line = input()
line = line.strip() if line else ""
if line.upper() == "END":
break
lines.append(line)
text = "\n".join(lines)
if notreferences/modules/calc.md
# 📊 模块 1:数据换算
---
#### 1.1 房贷计算器
**✅ 开箱即用** | 🌐 [在线房贷计算器](https://www.zhujisuanqi.com/)
<details>
<summary>📋 展开查看命令</summary>
```python
import math
try:
P = float(input("贷款总额(万元): ") or 100) * 10000
n = int(float(input("贷款年限: ") or 30) * 12)
r = float(input("年利率(%): ") or 4.2) / 100 / 12
method = input("方式(等额本息/等额本金): ").strip() or "等额本息"
if n <= 0:
print("❌ 贷款年限必须大于0")
elif r <= 0:
print("❌ 年利率必须大于0")
elif method == "等额本息":
m = P*r*(1+r)**n / ((1+r)**n-1)
total = m * n
print(f"月供: {m:.2f}元 | 总利息: {total-P:.2f}元 | 还款总额: {total:.2f}元")
else:
tot = sum(P/n + (P-P*i/n)*r for i in range(n))
print(f"首月: {P/n+P*r:.2f}元 | 末月: {P/n+r*(P/n):.2f}元 | 总利息: {tot-P:.2f}元")
except ValueError:
print("❌ 输入错误:请输入有效数字。例如:贷款100万输 100,年限30年输 30")
```
</details>
---
#### 1.2 五险一金计算器 ⭐ v4.0.0 查表累进引擎
**✅ 开箱即用** | 🌐 [个税计算器](https://www.taxcalculator.com)
> v4.0 重写计算引擎:数据与引擎分离,读取 `references/tax_2026.yaml` 数据驱动计算。支持 13 个城市,查表确定基数上下限,7 级超额累进个税。
<details>
<summary>📋 五险一金 + 个税计算器(查表 + 分段累进)</summary>
```python
import os, yaml, math
def calc_insurance_tax(salary, city_code="beijing"):
"""读取 tax_2026.yaml,查表+分段累进计算五险一金和个税"""
yaml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "references", "tax_2026.yaml")
with open(yaml_path, encoding="utf-8") as f:
data = yaml.safe_load(f)
meta = data.get("meta", {})
bases = data.get("social_insurance_bases", {})
rates = data.get("insurance_rates", {})
overrides = rates.get("overrides", {})
tax_brackets = data.get("individual_income_tax", {}).get("brackets", [])
monthly_threshold = data.get("individual_income_tax", {}).get("monthly_threshold", 5000)
if city_code not in bases:
city_name = city_code
supported = [f"{v.get('name', k)} ({k})" for k, v in bases.items()]
return None, f"❌ 不支持的城市: {city_name}。支持: {', '.join(supported)}"
city_data = bases[city_code]
city_name = city_data.get("name", city_code)
city_overrides = overrides.get(city_code, {})
personal_rates = {**rates.get("default", {}).get("personal", {}), **city_overrides.get("personal", {})}
company_rates = {**rates.get("default", {}).get("company", {}), **city_overrides.get("company", {})}
def get_base(insurance_type):
base_info = city_data.get(insurance_type, {})
lower = base_info.get("lower", 0)
upper = base_info.get("upper", float("inf"))
return max(lower, min(salary, upper))
personal_items = {}
personal_total = 0
for insurance_type in ["pension", "medical", "unemployed", "injury", "maternity"]:
base = get_base(insurance_type)
rate = personal_rates.get(insurance_type, 0)
amount = base * rate
if amount > 0:
names = {"pension": "养老", "medical": "医疗", "unemployed": "失业", "injury": "工伤", "maternity": "生育"}
personal_items[names.get(insurancreferences/modules/dev.md
# 💻 模块 5:开发工具
---
#### 5.1 JSON 工具
**✅ 开箱即用**
<details>
<summary>📋 展开查看命令</summary>
```python
import json
try:
r = input("输入JSON:").strip() or '{"key":"value"}'
if not r: print("❌ 没有输入")
else:
p = json.loads(r)
print(f"✅ 合法\n格式化: {json.dumps(p,ensure_ascii=False,indent=2)}")
print(f"压缩: {json.dumps(p,ensure_ascii=False,separators=(',',':'))}")
except json.JSONDecodeError as e:
print(f"❌ JSON错误: {e}")
```
</details>
---
#### 5.2 HTTP 接口测试
**✅ 开箱即用**
<details>
<summary>📋 展开查看命令</summary>
```python
import urllib.request, socket, ssl
try:
u = input("URL:").strip() or "https://api.github.com"
if not u: print("❌ URL不能为空")
elif not u.startswith("http"): print("❌ 应以 http:// 或 https:// 开头")
else:
req = urllib.request.Request(u, headers={"User-Agent":"dgngjx/3.5"})
ctx = ssl.create_default_context()
ctx.check_hostname = False
resp = urllib.request.urlopen(req, timeout=15, context=ctx)
body = resp.read()
print(f"✅ 状态: {resp.status} ({len(body)} bytes)")
except urllib.error.HTTPError as e:
print(f"❌ HTTP {e.code}: {e.reason}")
except urllib.error.URLError as e:
print(f"❌ 网络错误: {e.reason}")
except Exception as e:
print(f"❌ {e}")
```
</details>
---
#### 5.3 Token 计算器
**✅ 开箱即用**
<details>
<summary>📋 展开查看命令</summary>
```python
t = input("文本:") or "计算Token数"
if not t.strip(): print("❌ 请输入文字")
else:
cn = sum(1 for c in t if '一' <= c <= '鿿')
en = len(t) - cn
print(f"中文: {cn} ≈{int(cn/1.5)} | 英文: {en} ≈{int(en/4)} | 总计 ≈{int(cn/1.5+en/4)}")
```
</details>
---
#### 5.4 在线 Photoshop
📦 **需 Pillow**
<details>
<summary>📋 展开查看命令</summary>
```python
from PIL import Image, ImageEnhance
try:
f = input("图片路径:").strip().strip('"').replace("\\","/") or "photo.jpg"
img = Image.open(f)
w,h = map(int, input("裁剪 宽,高:").strip() or "200,200").split(","))
if w > img.width or h > img.height: w,h = min(w,img.width), min(h,img.height)
img2 = img.crop(((img.width-w)//2,(img.height-h)//2,w+img.width//2,h+img.height//2))
img2.save("cropped.jpg")
e = ImageEnhance.Brightness(img).enhance(float(input("亮度(1.2):") or 1.2))
e.save("bright.jpg")
print("✅ 已保存 cropped.jpg, bright.jpg")
except Exception as e: print(f"❌ {e}")
```
</details>
---
#### 5.5 Mermaid 时序图
**✅ 开箱即用**
<details>
<summary>📋 展开查看命令</summary>
```python
seq = input("时序图代码:").strip() or "A->B: Hello"
if seq: print(f"sequenceDiagram\n{seq}")
else: print("❌ 代码不能为空")
```
</details>AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/fyniujin/skills/dgngjx-skill",
"sourceUrl": "https://clawhub.ai/fyniujin/skills/dgngjx-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T17:17:30.035Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-dgngjx-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-dgngjx-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T17:17:30.035Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.3K downloads",
"href": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceUrl": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T17:17:30.035Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "4.1.0",
"href": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceUrl": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T08:30:01.429Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-dgngjx-skill/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-dgngjx-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 4.1.0",
"description": "**v4.1.0 包化架构重大更新** - 全新包化架构:11大模块全部外置,SKILL.md 缩减至 30KB,支持四包机制(core/dev/ent/media)。 - 新增可选包管理:支持 `--list-packs` 查看、`--install-pack` 一键安装可选工具包。 - 支持首次环境体检:`--health` 生成系统支持及依赖体检报告,提升首次体验。 - 所有模块说明文档分离为 references/modules 目录,结构更清晰。 - 移除 legacy skill-card.md,registry.json 工具注册表全面升级。 - CLI 主命令支持包与健康相关新参数,配置文件自动管理已装包。",
"href": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceUrl": "https://clawhub.ai/fyniujin/dgngjx-skill",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T08:30:01.429Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
