feat(oss): 补齐开源声明体系(MIT + 第三方声明 + 贡献/安全/行为准则)
* LICENSE —— MIT
* THIRD-PARTY-NOTICES —— 依赖清单、再分发合规说明(含随仓库分发的
Apache ECharts 5.6.0 / Apache-2.0)与自查清单
* CONTRIBUTING.md —— 开发环境、五层验证、必须遵守的不变量、提交规范
* SECURITY.md —— 漏洞私有报告渠道、已有措施、已知非目标
* CODE_OF_CONDUCT.md —— 改编自 Contributor Covenant 2.1
* .github/ —— Bug 报告 / 功能建议表单 + PR 模板
* .editorconfig —— 与 .gitattributes 保持一致
* 全部 Python / Shell 源文件加 SPDX-License-Identifier: MIT 头
* README 增加「开源与许可」章节与许可标识
这个提交包含在:
@@ -0,0 +1,83 @@
|
||||
name: Bug 报告
|
||||
description: 报告一个可复现的问题
|
||||
title: "[Bug] "
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
感谢反馈。提交前请先确认:
|
||||
|
||||
1. 你已经读过 [FAQ](https://git.iwali.top/wangchuanli/workbuddy-portal/src/branch/main/docs/FAQ.md) 与 [部署排错](https://git.iwali.top/wangchuanli/workbuddy-portal/src/branch/main/docs/DEPLOYMENT.md);
|
||||
2. **不要贴真实 Cookie、secret_key 或真实用量数据**——需要复现请用 `python tools/demo_data.py` 生成的示例数据。
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: 版本 / 提交号
|
||||
description: 例如 1.1.0,或 `git rev-parse --short HEAD` 的输出
|
||||
placeholder: 1.1.0 / 118e27f
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: deploy
|
||||
attributes:
|
||||
label: 部署方式
|
||||
options:
|
||||
- Docker Compose(命名卷,推荐)
|
||||
- Docker Compose + hostdir 叠加层(绑定挂载)
|
||||
- 裸机 waitress
|
||||
- 裸机 Flask 开发服务器
|
||||
- 其他(请在补充说明里写)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: env
|
||||
attributes:
|
||||
label: 运行环境
|
||||
description: 操作系统与 Python 版本
|
||||
placeholder: Windows 11 + Docker Desktop 4.3x / Ubuntu 24.04 + Python 3.13
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: what
|
||||
attributes:
|
||||
label: 现象
|
||||
description: 发生了什么?预期是什么?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: repro
|
||||
attributes:
|
||||
label: 复现步骤
|
||||
description: 越具体越好。涉及数据口径的问题请说明用的是示例数据还是真实数据。
|
||||
placeholder: |
|
||||
1. `docker compose up -d --build`
|
||||
2. 打开 /dashboard
|
||||
3. 点击「30 天」
|
||||
4. 看到 …
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: 日志 / 报错
|
||||
description: |
|
||||
相关日志。**请先脱敏**(抹掉 Cookie、域名、内网 IP、真实模型名)。
|
||||
大屏类问题请附浏览器 Console 的报错。
|
||||
render: text
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: checks
|
||||
attributes:
|
||||
label: 已做过的自查
|
||||
description: 例如是否跑过 `tools/check_live.py`、是否换过浏览器、是否重启过容器
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 使用问题 / 部署排错
|
||||
url: https://git.iwali.top/wangchuanli/workbuddy-portal/src/branch/main/docs/FAQ.md
|
||||
about: 常见问题、Cookie 获取、时区与调度、备份恢复等,先看 FAQ 与部署文档
|
||||
- name: 安全漏洞
|
||||
url: https://git.iwali.top/wangchuanli/workbuddy-portal/src/branch/main/SECURITY.md
|
||||
about: 请勿公开提交可直接利用的漏洞细节,按 SECURITY.md 走私有渠道
|
||||
@@ -0,0 +1,47 @@
|
||||
name: 功能建议
|
||||
description: 提出一个新功能或改进
|
||||
title: "[Feature] "
|
||||
labels: [enhancement]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
在提建议前,请先看一眼 [架构说明](https://git.iwali.top/wangchuanli/workbuddy-portal/src/branch/main/docs/ARCHITECTURE.md)
|
||||
里的「已知边界」——有些能力是**刻意不做**的(例如不引入 APScheduler、不新增第三方依赖)。
|
||||
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: 你想解决什么问题
|
||||
description: 先说场景与痛点,再说方案。这样更容易判断有没有更简单的做法。
|
||||
placeholder: 我在做 … 的时候,必须手动 … ,很费时。
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposal
|
||||
attributes:
|
||||
label: 你期望的做法
|
||||
description: 如果有具体的接口/页面/参数设计,写在这里
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: 考虑过的替代方案
|
||||
description: 以及为什么它们不够好
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: constraints
|
||||
attributes:
|
||||
label: 约束自查
|
||||
options:
|
||||
- label: 该功能不需要新增第三方依赖(或已在下方说明理由)
|
||||
required: false
|
||||
- label: 该功能不破坏「SQLite 单写者」这一前提
|
||||
required: false
|
||||
- label: 若涉及列表类接口,我不会在其中返回 `prompt` 全文
|
||||
required: false
|
||||
在新工单中引用
屏蔽一个用户