patent-drafting-assistant 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- patent_drafting_assistant-0.1.0/LICENSE +21 -0
- patent_drafting_assistant-0.1.0/PKG-INFO +213 -0
- patent_drafting_assistant-0.1.0/README.md +174 -0
- patent_drafting_assistant-0.1.0/config/__init__.py +0 -0
- patent_drafting_assistant-0.1.0/config/chapter_schema.yaml +70 -0
- patent_drafting_assistant-0.1.0/config/prompts.yaml +275 -0
- patent_drafting_assistant-0.1.0/config/settings.py +51 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/PKG-INFO +213 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/SOURCES.txt +40 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/dependency_links.txt +1 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/entry_points.txt +2 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/requires.txt +11 -0
- patent_drafting_assistant-0.1.0/patent_drafting_assistant.egg-info/top_level.txt +2 -0
- patent_drafting_assistant-0.1.0/pyproject.toml +60 -0
- patent_drafting_assistant-0.1.0/setup.cfg +4 -0
- patent_drafting_assistant-0.1.0/src/__init__.py +0 -0
- patent_drafting_assistant-0.1.0/src/db/__init__.py +32 -0
- patent_drafting_assistant-0.1.0/src/main.py +77 -0
- patent_drafting_assistant-0.1.0/src/models/__init__.py +0 -0
- patent_drafting_assistant-0.1.0/src/models/chapter.py +35 -0
- patent_drafting_assistant-0.1.0/src/models/figure.py +18 -0
- patent_drafting_assistant-0.1.0/src/models/project.py +19 -0
- patent_drafting_assistant-0.1.0/src/models/schemas.py +130 -0
- patent_drafting_assistant-0.1.0/src/routes/__init__.py +0 -0
- patent_drafting_assistant-0.1.0/src/routes/chapters.py +108 -0
- patent_drafting_assistant-0.1.0/src/routes/export.py +42 -0
- patent_drafting_assistant-0.1.0/src/routes/figures.py +33 -0
- patent_drafting_assistant-0.1.0/src/routes/generation.py +167 -0
- patent_drafting_assistant-0.1.0/src/routes/projects.py +81 -0
- patent_drafting_assistant-0.1.0/src/services/__init__.py +0 -0
- patent_drafting_assistant-0.1.0/src/services/ai_service.py +81 -0
- patent_drafting_assistant-0.1.0/src/services/analysis_service.py +25 -0
- patent_drafting_assistant-0.1.0/src/services/export_service.py +215 -0
- patent_drafting_assistant-0.1.0/src/services/generation_service.py +138 -0
- patent_drafting_assistant-0.1.0/src/services/prompt_loader.py +35 -0
- patent_drafting_assistant-0.1.0/src/static/css/style.css +637 -0
- patent_drafting_assistant-0.1.0/src/static/js/api.js +49 -0
- patent_drafting_assistant-0.1.0/src/static/js/common.js +21 -0
- patent_drafting_assistant-0.1.0/src/static/js/project.js +441 -0
- patent_drafting_assistant-0.1.0/src/templates/base.html +32 -0
- patent_drafting_assistant-0.1.0/src/templates/index.html +102 -0
- patent_drafting_assistant-0.1.0/src/templates/project.html +99 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Patent Drafting Assistant Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: patent-drafting-assistant
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AI-powered Chinese patent disclosure drafting tool
|
|
5
|
+
Author-email: Dyp130 <dyp130@example.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Dyp130/Patent-assistant
|
|
8
|
+
Project-URL: Repository, https://github.com/Dyp130/Patent-assistant.git
|
|
9
|
+
Project-URL: Issues, https://github.com/Dyp130/Patent-assistant/issues
|
|
10
|
+
Keywords: patent,chinese-patent,ai-assistant,fastapi,legal-tech
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Legal Industry
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Text Processing :: Markup
|
|
22
|
+
Classifier: Natural Language :: Chinese (Simplified)
|
|
23
|
+
Classifier: Operating System :: OS Independent
|
|
24
|
+
Requires-Python: >=3.10
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: fastapi>=0.115.0
|
|
28
|
+
Requires-Dist: uvicorn[standard]>=0.34.0
|
|
29
|
+
Requires-Dist: pydantic>=2.0
|
|
30
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
31
|
+
Requires-Dist: sqlalchemy>=2.0
|
|
32
|
+
Requires-Dist: anthropic>=0.60.0
|
|
33
|
+
Requires-Dist: python-docx>=1.1.0
|
|
34
|
+
Requires-Dist: markdown>=3.7
|
|
35
|
+
Requires-Dist: pyyaml>=6.0
|
|
36
|
+
Requires-Dist: jinja2>=3.1
|
|
37
|
+
Requires-Dist: python-multipart>=0.0.18
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
|
|
40
|
+
<h1 align="center">Patent Drafting Assistant</h1>
|
|
41
|
+
<p align="center"><strong>专利撰写助手 — AI-powered patent disclosure drafting</strong></p>
|
|
42
|
+
|
|
43
|
+
<p align="center">
|
|
44
|
+
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License">
|
|
45
|
+
<img src="https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white" alt="Python 3.10+">
|
|
46
|
+
<img src="https://img.shields.io/badge/Backend-FastAPI-009688?logo=fastapi&logoColor=white" alt="FastAPI">
|
|
47
|
+
<img src="https://img.shields.io/badge/AI-Anthropic%20SDK-8b5cf6" alt="Anthropic SDK">
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<p align="center">
|
|
51
|
+
<a href="#features">Features</a> •
|
|
52
|
+
<a href="#quick-start">Quick Start</a> •
|
|
53
|
+
<a href="#usage">Usage</a> •
|
|
54
|
+
<a href="#chapter-structure">Structure</a> •
|
|
55
|
+
<a href="#customizing">Customize</a> •
|
|
56
|
+
<a href="#contributing">Contributing</a>
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
Input your core technical concept and let AI generate a complete 10-chapter Chinese patent disclosure. Supports streaming generation, per-chapter editing, auto figure prompts, version history, and DOCX/Markdown export — all through a clean local web UI.
|
|
62
|
+
|
|
63
|
+
## Features
|
|
64
|
+
|
|
65
|
+
- **AI-driven drafting** — Generate a complete patent disclosure from a single technical concept
|
|
66
|
+
- **10-chapter standard structure** — Follows Chinese patent disclosure conventions
|
|
67
|
+
- **Concept-first workflow** — Analyze your concept first, then generate chapters based on structured extraction
|
|
68
|
+
- **Technical feature analysis** — AI extracts key elements, innovation points, and expected effects
|
|
69
|
+
- **Streaming generation** — Watch each chapter generate in real time via SSE
|
|
70
|
+
- **Per-chapter editing** — Edit any chapter manually, switch between Markdown edit and preview modes
|
|
71
|
+
- **Auto figure prompts** — AI inserts `[Figure N: description]` markers; right panel shows the figure checklist
|
|
72
|
+
- **Version history** — Every save creates a snapshot; rollback anytime
|
|
73
|
+
- **DOCX export** — Professional Word documents with correct Chinese fonts (Song Ti / Hei Ti)
|
|
74
|
+
- **Markdown export** — Plain text for other editing tools
|
|
75
|
+
- **Zero-config LLM** — Auto-reads API keys from Claude Code settings or environment variables
|
|
76
|
+
|
|
77
|
+
## Quick Start
|
|
78
|
+
|
|
79
|
+
### Prerequisites
|
|
80
|
+
|
|
81
|
+
- Python **3.10+**
|
|
82
|
+
- An Anthropic-compatible LLM API (e.g. DeepSeek, OpenAI, Claude)
|
|
83
|
+
|
|
84
|
+
### Install
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
git clone https://github.com/Dyp130/Patent-assistant.git
|
|
88
|
+
cd Patent-assistant
|
|
89
|
+
pip install -r requirements.txt
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Configure
|
|
93
|
+
|
|
94
|
+
Copy the example env file and set your credentials:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
cp .env.example .env
|
|
98
|
+
# Edit .env with your API key, base URL, and model
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Or export as environment variables:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
export ANTHROPIC_BASE_URL="https://api.deepseek.com"
|
|
105
|
+
export ANTHROPIC_AUTH_TOKEN="your-api-key"
|
|
106
|
+
export ANTHROPIC_MODEL="deepseek-chat"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
If you have [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed, the app automatically reads API config from `~/.claude/settings.json`.
|
|
110
|
+
|
|
111
|
+
### Launch
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
python run.py
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Open **http://127.0.0.1:8000**
|
|
118
|
+
|
|
119
|
+
## Usage
|
|
120
|
+
|
|
121
|
+
### Workflow
|
|
122
|
+
|
|
123
|
+
| Step | Action |
|
|
124
|
+
|------|--------|
|
|
125
|
+
| 1 | Click **New Patent Draft**, choose patent type, and enter your core technical concept |
|
|
126
|
+
| 2 | Click **Save Concept**, then optionally **Analyze Technical Features** |
|
|
127
|
+
| 3 | Click **Generate All** (or select individual chapters via **AI Generate**) |
|
|
128
|
+
| 4 | Review, edit, and preview each chapter |
|
|
129
|
+
| 5 | Export as **DOCX** or **Markdown** |
|
|
130
|
+
|
|
131
|
+
### Screenshots
|
|
132
|
+
|
|
133
|
+
<!-- TODO: add screenshots -->
|
|
134
|
+
<p align="center">
|
|
135
|
+
<em>Screenshots coming soon — run <code>python run.py</code> to see it in action.</em>
|
|
136
|
+
</p>
|
|
137
|
+
|
|
138
|
+
## Chapter Structure
|
|
139
|
+
|
|
140
|
+
| # | Chapter (EN) | Chapter (中文) | Description |
|
|
141
|
+
|---|-------------|---------------|-------------|
|
|
142
|
+
| 1 | Title | 发明名称 | Concise, ≤25 characters, no marketing terms |
|
|
143
|
+
| 2 | Technical Field | 技术领域 | Specific technical domain |
|
|
144
|
+
| 3 | Background Art | 背景技术 | 2-3 existing solutions and their shortcomings |
|
|
145
|
+
| 4 | Purpose | 发明目的 | Technical problems to be solved |
|
|
146
|
+
| 5 | **Technical Solution** | **技术方案** | Core chapter: elements, relationships, mechanisms |
|
|
147
|
+
| 6 | Beneficial Effects | 有益效果 | Quantitative/qualitative advantages |
|
|
148
|
+
| 7 | Drawing Description | 附图说明 | Numbered list of all required figures |
|
|
149
|
+
| 8 | Detailed Embodiments | 具体实施方式 | At least one complete, reproducible embodiment |
|
|
150
|
+
| 9 | Alternative Embodiments | 替代方案 | Optional variants and alternatives |
|
|
151
|
+
| 10 | Key Points & Protection | 关键点与保护点 | Innovation points ranked by importance |
|
|
152
|
+
|
|
153
|
+
## Customizing
|
|
154
|
+
|
|
155
|
+
Edit `config/prompts.yaml` to adjust AI generation behavior for each chapter — no code changes needed. Variables use `{placeholder}` syntax.
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
chapter_5_technical_solution:
|
|
159
|
+
system: |
|
|
160
|
+
你是一位资深的中国专利代理人。
|
|
161
|
+
请根据以下核心技术构思,撰写"技术方案"章节。
|
|
162
|
+
...
|
|
163
|
+
user: |
|
|
164
|
+
发明名称:{title}
|
|
165
|
+
核心技术构思:{technical_concept}
|
|
166
|
+
...
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Project Structure
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
Patent-assistant/
|
|
173
|
+
├── config/
|
|
174
|
+
│ ├── settings.py # Configuration & env reading
|
|
175
|
+
│ ├── prompts.yaml # AI prompt templates
|
|
176
|
+
│ └── chapter_schema.yaml # Chapter definitions
|
|
177
|
+
├── src/
|
|
178
|
+
│ ├── main.py # FastAPI application entry
|
|
179
|
+
│ ├── db/ # Database setup (SQLAlchemy + SQLite)
|
|
180
|
+
│ ├── routes/ # Project, chapter, generation, export APIs
|
|
181
|
+
│ ├── models/ # ORM models and Pydantic schemas
|
|
182
|
+
│ ├── services/ # AI generation, analysis, export
|
|
183
|
+
│ ├── templates/ # Jinja2 HTML templates
|
|
184
|
+
│ └── static/ # CSS & vanilla JavaScript
|
|
185
|
+
├── .env.example # API configuration template
|
|
186
|
+
├── requirements.txt
|
|
187
|
+
├── run.py # Launch script
|
|
188
|
+
└── README.md
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Tech Stack
|
|
192
|
+
|
|
193
|
+
| Layer | Technology |
|
|
194
|
+
|-------|-----------|
|
|
195
|
+
| Backend | Python 3.10+ / FastAPI / SQLAlchemy |
|
|
196
|
+
| Database | SQLite (zero-config, auto-created) |
|
|
197
|
+
| Frontend | Jinja2 + vanilla JS + SSE streaming |
|
|
198
|
+
| AI | Anthropic SDK (DeepSeek / OpenAI / Claude compatible) |
|
|
199
|
+
| Export | python-docx (Chinese font configured), markdown |
|
|
200
|
+
| Design | Zero build tools, single CSS file |
|
|
201
|
+
|
|
202
|
+
## Contributing
|
|
203
|
+
|
|
204
|
+
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
205
|
+
|
|
206
|
+
1. Fork the repo
|
|
207
|
+
2. Create a branch (`git checkout -b feat/your-feature`)
|
|
208
|
+
3. Commit your changes
|
|
209
|
+
4. Push and open a Pull Request
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
MIT — see [LICENSE](LICENSE).
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<h1 align="center">Patent Drafting Assistant</h1>
|
|
2
|
+
<p align="center"><strong>专利撰写助手 — AI-powered patent disclosure drafting</strong></p>
|
|
3
|
+
|
|
4
|
+
<p align="center">
|
|
5
|
+
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License">
|
|
6
|
+
<img src="https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white" alt="Python 3.10+">
|
|
7
|
+
<img src="https://img.shields.io/badge/Backend-FastAPI-009688?logo=fastapi&logoColor=white" alt="FastAPI">
|
|
8
|
+
<img src="https://img.shields.io/badge/AI-Anthropic%20SDK-8b5cf6" alt="Anthropic SDK">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="#features">Features</a> •
|
|
13
|
+
<a href="#quick-start">Quick Start</a> •
|
|
14
|
+
<a href="#usage">Usage</a> •
|
|
15
|
+
<a href="#chapter-structure">Structure</a> •
|
|
16
|
+
<a href="#customizing">Customize</a> •
|
|
17
|
+
<a href="#contributing">Contributing</a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Input your core technical concept and let AI generate a complete 10-chapter Chinese patent disclosure. Supports streaming generation, per-chapter editing, auto figure prompts, version history, and DOCX/Markdown export — all through a clean local web UI.
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
- **AI-driven drafting** — Generate a complete patent disclosure from a single technical concept
|
|
27
|
+
- **10-chapter standard structure** — Follows Chinese patent disclosure conventions
|
|
28
|
+
- **Concept-first workflow** — Analyze your concept first, then generate chapters based on structured extraction
|
|
29
|
+
- **Technical feature analysis** — AI extracts key elements, innovation points, and expected effects
|
|
30
|
+
- **Streaming generation** — Watch each chapter generate in real time via SSE
|
|
31
|
+
- **Per-chapter editing** — Edit any chapter manually, switch between Markdown edit and preview modes
|
|
32
|
+
- **Auto figure prompts** — AI inserts `[Figure N: description]` markers; right panel shows the figure checklist
|
|
33
|
+
- **Version history** — Every save creates a snapshot; rollback anytime
|
|
34
|
+
- **DOCX export** — Professional Word documents with correct Chinese fonts (Song Ti / Hei Ti)
|
|
35
|
+
- **Markdown export** — Plain text for other editing tools
|
|
36
|
+
- **Zero-config LLM** — Auto-reads API keys from Claude Code settings or environment variables
|
|
37
|
+
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
### Prerequisites
|
|
41
|
+
|
|
42
|
+
- Python **3.10+**
|
|
43
|
+
- An Anthropic-compatible LLM API (e.g. DeepSeek, OpenAI, Claude)
|
|
44
|
+
|
|
45
|
+
### Install
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/Dyp130/Patent-assistant.git
|
|
49
|
+
cd Patent-assistant
|
|
50
|
+
pip install -r requirements.txt
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Configure
|
|
54
|
+
|
|
55
|
+
Copy the example env file and set your credentials:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
cp .env.example .env
|
|
59
|
+
# Edit .env with your API key, base URL, and model
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Or export as environment variables:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
export ANTHROPIC_BASE_URL="https://api.deepseek.com"
|
|
66
|
+
export ANTHROPIC_AUTH_TOKEN="your-api-key"
|
|
67
|
+
export ANTHROPIC_MODEL="deepseek-chat"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If you have [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed, the app automatically reads API config from `~/.claude/settings.json`.
|
|
71
|
+
|
|
72
|
+
### Launch
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
python run.py
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Open **http://127.0.0.1:8000**
|
|
79
|
+
|
|
80
|
+
## Usage
|
|
81
|
+
|
|
82
|
+
### Workflow
|
|
83
|
+
|
|
84
|
+
| Step | Action |
|
|
85
|
+
|------|--------|
|
|
86
|
+
| 1 | Click **New Patent Draft**, choose patent type, and enter your core technical concept |
|
|
87
|
+
| 2 | Click **Save Concept**, then optionally **Analyze Technical Features** |
|
|
88
|
+
| 3 | Click **Generate All** (or select individual chapters via **AI Generate**) |
|
|
89
|
+
| 4 | Review, edit, and preview each chapter |
|
|
90
|
+
| 5 | Export as **DOCX** or **Markdown** |
|
|
91
|
+
|
|
92
|
+
### Screenshots
|
|
93
|
+
|
|
94
|
+
<!-- TODO: add screenshots -->
|
|
95
|
+
<p align="center">
|
|
96
|
+
<em>Screenshots coming soon — run <code>python run.py</code> to see it in action.</em>
|
|
97
|
+
</p>
|
|
98
|
+
|
|
99
|
+
## Chapter Structure
|
|
100
|
+
|
|
101
|
+
| # | Chapter (EN) | Chapter (中文) | Description |
|
|
102
|
+
|---|-------------|---------------|-------------|
|
|
103
|
+
| 1 | Title | 发明名称 | Concise, ≤25 characters, no marketing terms |
|
|
104
|
+
| 2 | Technical Field | 技术领域 | Specific technical domain |
|
|
105
|
+
| 3 | Background Art | 背景技术 | 2-3 existing solutions and their shortcomings |
|
|
106
|
+
| 4 | Purpose | 发明目的 | Technical problems to be solved |
|
|
107
|
+
| 5 | **Technical Solution** | **技术方案** | Core chapter: elements, relationships, mechanisms |
|
|
108
|
+
| 6 | Beneficial Effects | 有益效果 | Quantitative/qualitative advantages |
|
|
109
|
+
| 7 | Drawing Description | 附图说明 | Numbered list of all required figures |
|
|
110
|
+
| 8 | Detailed Embodiments | 具体实施方式 | At least one complete, reproducible embodiment |
|
|
111
|
+
| 9 | Alternative Embodiments | 替代方案 | Optional variants and alternatives |
|
|
112
|
+
| 10 | Key Points & Protection | 关键点与保护点 | Innovation points ranked by importance |
|
|
113
|
+
|
|
114
|
+
## Customizing
|
|
115
|
+
|
|
116
|
+
Edit `config/prompts.yaml` to adjust AI generation behavior for each chapter — no code changes needed. Variables use `{placeholder}` syntax.
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
chapter_5_technical_solution:
|
|
120
|
+
system: |
|
|
121
|
+
你是一位资深的中国专利代理人。
|
|
122
|
+
请根据以下核心技术构思,撰写"技术方案"章节。
|
|
123
|
+
...
|
|
124
|
+
user: |
|
|
125
|
+
发明名称:{title}
|
|
126
|
+
核心技术构思:{technical_concept}
|
|
127
|
+
...
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Project Structure
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Patent-assistant/
|
|
134
|
+
├── config/
|
|
135
|
+
│ ├── settings.py # Configuration & env reading
|
|
136
|
+
│ ├── prompts.yaml # AI prompt templates
|
|
137
|
+
│ └── chapter_schema.yaml # Chapter definitions
|
|
138
|
+
├── src/
|
|
139
|
+
│ ├── main.py # FastAPI application entry
|
|
140
|
+
│ ├── db/ # Database setup (SQLAlchemy + SQLite)
|
|
141
|
+
│ ├── routes/ # Project, chapter, generation, export APIs
|
|
142
|
+
│ ├── models/ # ORM models and Pydantic schemas
|
|
143
|
+
│ ├── services/ # AI generation, analysis, export
|
|
144
|
+
│ ├── templates/ # Jinja2 HTML templates
|
|
145
|
+
│ └── static/ # CSS & vanilla JavaScript
|
|
146
|
+
├── .env.example # API configuration template
|
|
147
|
+
├── requirements.txt
|
|
148
|
+
├── run.py # Launch script
|
|
149
|
+
└── README.md
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Tech Stack
|
|
153
|
+
|
|
154
|
+
| Layer | Technology |
|
|
155
|
+
|-------|-----------|
|
|
156
|
+
| Backend | Python 3.10+ / FastAPI / SQLAlchemy |
|
|
157
|
+
| Database | SQLite (zero-config, auto-created) |
|
|
158
|
+
| Frontend | Jinja2 + vanilla JS + SSE streaming |
|
|
159
|
+
| AI | Anthropic SDK (DeepSeek / OpenAI / Claude compatible) |
|
|
160
|
+
| Export | python-docx (Chinese font configured), markdown |
|
|
161
|
+
| Design | Zero build tools, single CSS file |
|
|
162
|
+
|
|
163
|
+
## Contributing
|
|
164
|
+
|
|
165
|
+
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
166
|
+
|
|
167
|
+
1. Fork the repo
|
|
168
|
+
2. Create a branch (`git checkout -b feat/your-feature`)
|
|
169
|
+
3. Commit your changes
|
|
170
|
+
4. Push and open a Pull Request
|
|
171
|
+
|
|
172
|
+
## License
|
|
173
|
+
|
|
174
|
+
MIT — see [LICENSE](LICENSE).
|
|
File without changes
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
chapters:
|
|
2
|
+
- order: 1
|
|
3
|
+
name: "发明名称"
|
|
4
|
+
key: "title"
|
|
5
|
+
mandatory: true
|
|
6
|
+
description: "简洁、准确地反映发明的技术主题,一般不超过25个字,不使用营销性词汇"
|
|
7
|
+
prompt_key: "chapter_1_title"
|
|
8
|
+
|
|
9
|
+
- order: 2
|
|
10
|
+
name: "技术领域"
|
|
11
|
+
key: "technical_field"
|
|
12
|
+
mandatory: true
|
|
13
|
+
description: "明确发明所属或直接应用的具体技术领域,范围不宜过宽"
|
|
14
|
+
prompt_key: "chapter_2_technical_field"
|
|
15
|
+
|
|
16
|
+
- order: 3
|
|
17
|
+
name: "背景技术"
|
|
18
|
+
key: "background_art"
|
|
19
|
+
mandatory: true
|
|
20
|
+
description: "引证2-3项现有技术,指出其存在的缺陷或不足之处"
|
|
21
|
+
prompt_key: "chapter_3_background_art"
|
|
22
|
+
|
|
23
|
+
- order: 4
|
|
24
|
+
name: "发明目的"
|
|
25
|
+
key: "purpose"
|
|
26
|
+
mandatory: true
|
|
27
|
+
description: "针对背景技术中的每项缺陷,明确本发明要解决的技术问题"
|
|
28
|
+
prompt_key: "chapter_4_purpose"
|
|
29
|
+
|
|
30
|
+
- order: 5
|
|
31
|
+
name: "技术方案"
|
|
32
|
+
key: "technical_solution"
|
|
33
|
+
mandatory: true
|
|
34
|
+
description: "核心章节:详细描述技术方案的构成要素、相互关系、工作机制和参数等"
|
|
35
|
+
prompt_key: "chapter_5_technical_solution"
|
|
36
|
+
|
|
37
|
+
- order: 6
|
|
38
|
+
name: "有益效果"
|
|
39
|
+
key: "beneficial_effects"
|
|
40
|
+
mandatory: true
|
|
41
|
+
description: "与现有技术对比,定量或定性地说明本发明的有益效果"
|
|
42
|
+
prompt_key: "chapter_6_beneficial_effects"
|
|
43
|
+
|
|
44
|
+
- order: 7
|
|
45
|
+
name: "附图说明"
|
|
46
|
+
key: "drawing_description"
|
|
47
|
+
mandatory: true
|
|
48
|
+
description: "列出每幅图的编号和简要说明,提示需在文档中插入附图的位置"
|
|
49
|
+
prompt_key: "chapter_7_drawing_description"
|
|
50
|
+
|
|
51
|
+
- order: 8
|
|
52
|
+
name: "具体实施方式"
|
|
53
|
+
key: "detailed_embodiments"
|
|
54
|
+
mandatory: true
|
|
55
|
+
description: "至少一个完整、可重现的具体实施例,可包含多个变体"
|
|
56
|
+
prompt_key: "chapter_8_detailed_embodiments"
|
|
57
|
+
|
|
58
|
+
- order: 9
|
|
59
|
+
name: "替代方案"
|
|
60
|
+
key: "alternative_embodiments"
|
|
61
|
+
mandatory: false
|
|
62
|
+
description: "可选的替代实施例,描述技术特征的变体或替代实现方式"
|
|
63
|
+
prompt_key: "chapter_9_alternative_embodiments"
|
|
64
|
+
|
|
65
|
+
- order: 10
|
|
66
|
+
name: "关键点与保护点"
|
|
67
|
+
key: "key_points"
|
|
68
|
+
mandatory: true
|
|
69
|
+
description: "按重要性从高到低列出本发明的创新点和需要保护的要点"
|
|
70
|
+
prompt_key: "chapter_10_key_points"
|