← Back to Skills Marketplace
Learning Assistant App
by
fish1981bimmer
· GitHub ↗
· v1.0.0
· MIT-0
31
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install learning-assistant-app
Description
一个集成多个免费API的学习助手应用
README (SKILL.md)
学习助手应用
一个完全免费的学习助手应用,集成多个免费API,无需任何认证。
功能特性
- 📚 词典查询 - 使用DictionaryAPI查询单词定义和例句
- 🌍 翻译工具 - 使用LibreTranslate进行多语言翻译
- 💡 有趣事实 - 获取随机有趣的知识事实
- 🔢 数学计算 - 支持复杂数学表达式计算
- 📜 历史事件 - 查看历史上的今天发生的事件
技术栈
- 后端: Node.js + Express
- HTTP客户端: Axios
- 前端: 原生HTML/CSS/JavaScript
- 数据存储: 本地文件系统
集成的API
| API | 用途 | 认证 |
|---|---|---|
| DictionaryAPI | 词典查询 | ❌ |
| LibreTranslate | 文本翻译 | ❌ |
| Useless Facts | 有趣事实 | ❌ |
| MathJS | 数学计算 | ❌ (本地) |
| History API | 历史事件 | ❌ |
快速开始
- 安装依赖:
npm install
- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件配置API地址
- 启动服务:
npm start
- 访问应用: 打开浏览器访问 http://localhost:3000
API端点
GET /api/dictionary/:word- 查询单词POST /api/translate- 翻译文本GET /api/fact- 获取有趣事实POST /api/calculate- 数学计算GET /api/history- 获取历史事件GET /api/data/preferences- 获取用户偏好POST /api/data/preferences- 保存用户偏好
项目结构
learning-assistant-app/
├── server.js # Express服务器主文件
├── dataManager.js # 数据管理类
├── api/ # API路由
│ └── data.js # 数据管理API
├── public/ # 静态资源
│ ├── index.html # 前端页面
│ ├── script.js # 前端脚本
│ └── style.css # 前端样式
├── data/ # 数据存储目录
├── package.json # 项目配置
├── .env # 环境变量
└── .gitignore # Git忽略文件
使用说明
- 词典查询: 输入英文单词,获取定义、音标和例句
- 翻译工具: 选择源语言和目标语言,输入文本进行翻译
- 有趣事实: 点击按钮获取随机有趣的知识事实
- 数学计算: 支持基本运算、函数调用等复杂数学表达式
- 历史事件: 查看历史上的今天发生的重要事件
开发计划
- 添加更多API集成
- 实现用户认证系统
- 添加数据持久化
- 优化UI界面
- 添加移动端适配
许可证
MIT License
致谢
Usage Guidance
Do not run this app as-is on a machine with sensitive files or credentials. If you still want to use it, replace the eval-based calculator, restrict the server to localhost, limit CORS, declare and control any API keys, and clear or disable local history for sensitive study or translation text.
Capability Analysis
Type: OpenClaw Skill
Name: learning-assistant-app
Version: 1.0.0
The application contains a critical Remote Code Execution (RCE) vulnerability in `server.js` where user-provided input is passed directly to the `eval()` function within the `/api/calculate` endpoint. While a code comment acknowledges this is unsafe, it allows any user to execute arbitrary JavaScript on the server. Additionally, the data management logic in `api/data.js` and `dataManager.js` includes broad data import/export and 'clear all' capabilities that lack input validation, posing a risk of data corruption or unauthorized state manipulation.
Capability Tags
Capability Assessment
Purpose & Capability
The learning-assistant purpose is coherent, but the calculator is implemented with raw server-side eval of user input, which exceeds normal math-calculator needs.
Instruction Scope
The runtime HTTP API accepts broad user-controlled inputs without authentication or clear safeguards, including code-like calculator expressions and data import/export/clear operations.
Install Mechanism
The skill is documented as a manual npm install/npm start app with standard dependencies and no install scripts shown, but it references .env setup while no .env.example is included in the manifest.
Credentials
The metadata declares no credentials or required environment variables, but the server reads API URL environment variables and may send HISTORY_API_KEY to an external API.
Persistence & Privilege
The app stores search/translation/calculation history locally and exposes export/import/clear data routes; this is related to the app purpose but lacks authentication or strong containment.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install learning-assistant-app - After installation, invoke the skill by name or use
/learning-assistant-app - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
learning-assistant-app 1.0.0 初始发布
- 发布了集成多API的免费学习助手应用
- 提供词典、翻译、有趣事实、数学计算、历史事件功能
- 支持本地数据存储与用户偏好管理
- 前后端开源,基于 Node.js 与原生前端开发
- 全部API无需认证即可使用
Metadata
Frequently Asked Questions
What is Learning Assistant App?
一个集成多个免费API的学习助手应用. It is an AI Agent Skill for Claude Code / OpenClaw, with 31 downloads so far.
How do I install Learning Assistant App?
Run "/install learning-assistant-app" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Learning Assistant App free?
Yes, Learning Assistant App is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Learning Assistant App support?
Learning Assistant App is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Learning Assistant App?
It is built and maintained by fish1981bimmer (@fish1981bimmer); the current version is v1.0.0.
More Skills