hanakassahun/freelance-shield-
GitHub: hanakassahun/freelance-shield-
一款帮助自由职业者在损失发生前识别风险客户的全栈工具包,集成了客户风险评分、合同生成、发票追踪和危险信号检测功能。
Stars: 0 | Forks: 1
# 🛡️ Freelance Shield
**一款面向自由职业者的风险感知工具包**
自由职业者经常会遇到被无视、少付报酬或被操纵的情况。Freelance Shield 可以帮助自由职业者在损失发生*之前*识别有风险的客户。
## 🎯 问题陈述
自由职业本身伴随着一定的风险:
- 客户回避讨论付款事宜
- 不切实际的时间线和范围蔓延
- 以“机会”为名要求免费工作
- 偏袒客户的模糊合同
Freelance Shield 提供了实用的工具来评估、记录和规避这些风险。
## ✨ 功能
### 1. **合同生成器**
生成专为你的项目定制的专业服务协议:
- 项目类型选择(设计、开发、写作等)
- 定价模型(固定价格或按小时计费)
- 付款计划(预付、按里程碑、交付时付款)
- 修改次数限制
- 清晰、分区的合同输出
### 2. **客户风险评分** 🔥
基于规则的风险评估系统:
- 根据可观察的信号对客户进行 0-100 的评分
- 加权风险因素(要求免费工作、逃避付款等)
- 对每个风险因素提供清晰的解释
- 可视化风险标签(🟢 低 / 🟡 中 / 🔴 高)
### 3. **发票与提醒追踪器**
追踪发票并生成付款提醒:
- 创建和管理发票
- 追踪付款状态
- 生成从礼貌到强硬的提醒消息
- 适用于 WhatsApp/电子邮件且易于复制的提醒文本
### 4. **危险信号检测器**
检测客户沟通中的危险用语:
- 关键词和短语模式匹配
- 严重程度分类(高/中/低)
- 对每个检测到的危险信号提供解释
- 高亮的文本预览
## 🛠️ 技术栈
**前端:**
- React 18
- Tailwind CSS
- React Router
- Axios
**后端:**
- Node.js + Express
- SQLite (MVP) - 可轻松迁移至 PostgreSQL
- RESTful API
**架构:**
- 基于规则的系统(没有 ML 的炒作,只有可解释的逻辑)
- 清晰的关注点分离
- RESTful 端点
## 🚀 快速开始
### 前置条件
- Node.js 18+
- npm 或 yarn
### 安装
1. **安装所有依赖:**
```
npm run install:all
```
2. **启动开发服务器:**
```
npm run dev
```
这将启动:
- 后端 API 位于 `http://localhost:3001`
- 前端位于 `http://localhost:3000`
### 手动设置(备选方案)
**后端:**
```
cd backend
npm install
npm run dev
```
**前端:**
```
cd frontend
npm install
npm run dev
```
## 📁 项目结构
```
freelance-shield/
├── backend/
│ ├── db/
│ │ └── database.js # SQLite setup & schema
│ ├── routes/
│ │ ├── contracts.js # Contract generation endpoints
│ │ ├── clients.js # Client risk scoring endpoints
│ │ ├── invoices.js # Invoice tracking endpoints
│ │ └── risk.js # Red flag detection endpoints
│ ├── services/
│ │ ├── contractGenerator.js # Contract template logic
│ │ ├── riskScoring.js # Risk calculation engine
│ │ └── redFlagDetector.js # Pattern matching for red flags
│ └── server.js # Express app setup
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ └── Layout.jsx # Main layout with navigation
│ │ ├── pages/
│ │ │ ├── Dashboard.jsx
│ │ │ ├── ContractGenerator.jsx
│ │ │ ├── ClientRiskScoring.jsx
│ │ │ ├── InvoiceTracker.jsx
│ │ │ └── RedFlagDetector.jsx
│ │ ├── App.jsx
│ │ └── main.jsx
│ └── package.json
└── README.md
```
## 🎨 设计理念
**产品思维:**
- 解决真实的痛点
- 明确的权衡(不过度设计)
- 可解释的逻辑(没有黑盒)
- 克制(专注于 MVP 范围,而非功能臃肿)
**作品集品质:**
- 展现系统化思维
- 展示对基于规则系统的理解
- 干净、可维护的代码
- 专业的 UI/UX
## 📊 数据模型
```
Users - Basic user info (optional auth for v1)
Clients - Client info + risk_score, risk_level
Contracts - Generated contracts with parameters
Invoices - Invoice tracking with status
RiskSignals - Individual risk factors per client
```
## 🔮 未来增强功能(不在 MVP 范围内)
- 合同导出为 PDF
- 用于提醒的电子邮件集成
- 用于危险信号的简单 NLP 评分(可选)
- 用户身份验证
- 多货币支持
- 导出/导入功能
## 📝 许可证
MIT
## 🙏 致谢
基于产品工程原则构建:**实用、可演示、可解释、可完成**。
*由 Freelance Shield 生成 - 一款面向自由职业者的风险感知工具包*
标签:GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 发票管理, 合同生成, 幻觉检测, 自定义脚本, 自由职业工具