feat: start脚本支持 conda activate stock

This commit is contained in:
2026-01-28 00:22:01 +08:00
parent 086af75b3e
commit 7ae3d16a5e
6 changed files with 637 additions and 381 deletions

View File

@@ -0,0 +1,82 @@
# 交互限制规则
本规则定义了与用户交互时的行为限制。
## 代码编写限制
### 规则描述
在编写任何代码之前,必须先向用户询问并获得明确许可。
### 具体规则
- **禁止直接编写代码**:任何代码修改、新增文件、代码重构都必须先询问用户
- **询问内容**:明确说明将要编写/修改的代码内容、目的和位置
- **获得许可**:等待用户确认后才能执行代码编写
- **代码审查**:编写完成后应展示代码内容供用户审查
### 询问示例
```
我计划在 `main/utils/data_process.py` 文件中添加一个新的数据处理函数 `normalize_data()`,用于对因子数据进行标准化处理。
具体改动:
1. 在文件末尾添加新的函数
2. 函数接收 DataFrame 和列名作为参数
3. 返回标准化后的 DataFrame
是否允许我编写这段代码?
```
### 允许的操作(无需询问)
- 创建空的模板文件
- 创建空的类或函数框架(不含实现)
- 读取现有文件内容
## 命令执行限制
### 规则描述
禁止直接执行任何命令,所有命令执行都必须先询问用户。
### 具体规则
- **禁止直接执行命令**:任何 CLI 命令、脚本执行都必须先询问用户
- **命令说明**:明确说明命令的内容、目的和预期影响
- **获得许可**:等待用户确认后才能执行命令
- **结果展示**:命令执行后应展示结果供用户确认
### 询问示例
```
我需要执行以下命令来更新项目的依赖:
```bash
pip install --upgrade pandas numpy
```
这将更新 pandas 和 numpy 包到最新版本。是否允许执行?
```
### 允许的操作(无需询问)
- 查看文件列表(`list_files`
- 读取文件内容(`read_file`
- 查看帮助信息
## 违反规则的处理
### 轻微违反
- 立即停止当前操作
- 向用户说明违反了哪条规则
- 重新按照规则流程执行
### 严重违反
- 暂停当前会话
- 向用户报告违规行为
- 等待用户重新确认是否继续
## 相关规则文件
- [rules_index.md](rules_index.md) - 规则索引
- [restricted_files.md](restricted_files.md) - 限制文件规则
- [restricted_reads.md](restricted_reads.md) - 读取限制规则

View File

@@ -0,0 +1,183 @@
# 代码修改需求审查规则
本规则定义了代码修改前的需求审查流程,确保修改工作符合项目需求,避免引入不必要的变更。
## 规则目的
- 规范代码修改流程,确保修改符合需求
- 避免在修改过程中引入与任务无关的功能变更
- 提高代码修改的可控性和可追溯性
## 修改前检查
### 需求文件检查
在修改任何代码文件前,必须执行以下检查:
1. **检查需求md文件**
- 检查目标模块目录下是否存在需求md文件
- 匹配模式:`*.md``requirement*.md`
- 常见命名:`requirement.md``requirement_xxx.md``模块名_requirement.md`
2. **阅读并理解需求**
- 如果存在需求md文件必须先阅读并理解其内容
- 明确任务目标和修改范围
- 记录关键需求点
3. **不存在需求文件**
- 如果不存在需求md文件继续正常修改流程
- 仍需与用户确认修改范围和目标
### 检查示例
```python
import os
def check_requirement_file(module_path):
"""检查模块目录下是否存在需求md文件"""
md_files = [f for f in os.listdir(module_path)
if f.endswith('.md') or f.lower().startswith('requirement')]
if md_files:
print(f"发现需求文件: {md_files}")
return True
return False
# 推荐做法
def before_modify_code(module_path):
"""修改代码前的检查流程"""
if check_requirement_file(module_path):
print("请先阅读需求md文件并理解需求内容")
# 读取并分析需求文件
# 确认修改范围和目标
else:
print("未发现需求文件,继续正常流程")
```
## 修改范围控制
### 严格遵守需求范围
- **只修改任务要求的功能相关代码**
- **禁止修改与任务要求无关的功能代码**
- **禁止在修改过程中引入意外的功能变更**
### 范围控制原则
| 场景 | 正确做法 | 错误做法 |
|------|----------|----------|
| 修改函数A | 只修改函数A相关的代码 | 同时修改函数B、C |
| 添加新功能 | 在指定位置添加 | 在其他地方添加辅助功能 |
| 修复bug | 只修复目标bug | 顺便优化其他代码 |
| 重构代码 | 只重构必要部分 | 大规模重构无关模块 |
### 示例说明
```python
# 任务要求:修复 get_factor 函数中的除零错误
# 正确做法:只修复除零问题,不修改其他内容
def get_factor(df, window=5):
epsilon = 1e-8 # 防止除零
result = df["close"] / (df["high"] - df["low"] + epsilon)
return result
# 错误做法:在修复过程中引入了不必要的变更
def get_factor(df, window=5):
# 不应该添加日志功能(除非需求要求)
logger.info(f"Calculating factor with window={window}")
epsilon = 1e-8
result = df["close"] / (df["high"] - df["low"] + epsilon)
# 不应该修改返回值类型(除非需求要求)
return {"factor": result, "window": window}
```
### 变更影响评估
在修改过程中,如果发现可能影响其他功能的改动:
1. **暂停当前修改**
2. **评估影响范围**
3. **与用户确认**:说明影响和变更原因
4. **获得许可**:确认是否继续修改
```python
# 发现可能影响其他功能的示例
def modify_function():
"""修改函数时发现可能影响其他功能"""
potential_impact = True
if potential_impact:
# 暂停修改,与用户确认
print("发现可能影响其他功能的变更,请确认是否继续")
# 等待用户确认后再执行修改
```
## 例外情况
以下情况可以进行小幅调整,但需在提交前说明:
### 1. 语法错误和拼写问题
```python
# 允许的修复
def caculate_factor(): # 拼写错误
return "calculated" # 修正为 calculate
# 允许
def calculate_factor():
return "calculated"
```
### 2. 代码格式化调整
```python
# 为了代码格式化一致性可以进行格式调整
# 之前
def example_function(df,parameter1,parameter2):
result=df["col"]/(df["high"]-df["low"]+epsilon)
return result
# 之后(格式调整)
def example_function(df, parameter1, parameter2):
result = df["col"] / (df["high"] - df["low"] + epsilon)
return result
```
### 3. 明显的性能优化
```python
# 明显的性能优化可以进行
# 优化前
def slow_calculation(df):
result = []
for i in range(len(df)):
result.append(df["close"].iloc[i] * 2)
return result
# 优化后
def fast_calculation(df):
result = df["close"] * 2
return result
```
## 提交前检查清单
在提交代码修改前,确认以下事项:
- [ ] 修改内容符合需求文件要求(如果存在)
- [ ] 没有引入与任务无关的功能变更
- [ ] 没有破坏现有功能
- [ ] 格式调整已说明
- [ ] 性能优化已说明
- [ ] 语法错误已修复
## 相关规则文件
- [rules_index.md](rules_index.md) - 规则索引
- [interaction_rules.md](interaction_rules.md) - 交互限制规则
- [formatting.md](formatting.md) - 代码格式化规则

View File

@@ -10,6 +10,8 @@
| [naming_conventions.md](naming_conventions.md) | 命名约定规范 | 高 |
| [restricted_files.md](restricted_files.md) | 限制文件修改规则 | 高 |
| [restricted_reads.md](restricted_reads.md) | 限制文件读取规则 | 高 |
| [interaction_rules.md](interaction_rules.md) | 交互限制规则 | 高 |
| [requirement_review.md](requirement_review.md) | 代码修改需求审查规则 | 高 |
| [rule_formatting_guide.md](rule_formatting_guide.md) | 规则编写指南 | 中 |
## 规则说明
@@ -64,6 +66,23 @@
- **列表枚举**:使用 `-`, `*` 枚举具体规则
- **代码示例**:使用 ``` 包含代码示例
### 6. 交互限制规则 [interaction_rules.md](interaction_rules.md)
定义与用户交互时的行为限制:
- **代码编写**:必须先询问用户,获得许可后才能编写代码
- **命令执行**:必须先询问用户,获得许可后才能执行命令
- **询问内容**:明确说明将要执行的操作、目的和影响
### 7. 代码修改需求审查规则 [requirement_review.md](requirement_review.md)
规范代码修改前的需求审查流程:
- **修改前检查**检查模块目录下是否存在需求md文件
- **修改范围控制**:只修改任务要求的功能相关代码
- **变更影响评估**:发现可能影响其他功能的改动时先与用户确认
- **例外情况**:语法错误、代码格式化、性能优化可小幅调整
## 项目结构
```
@@ -71,9 +90,11 @@ NewStock/
├── .kilocode/
│ └── rules/
│ ├── formatting.md # 代码格式化规则
│ ├── naming_conventions.md # 命名约定规
│ ├── naming_conventions.md # 命名约定规
│ ├── restricted_files.md # 限制文件修改规则
│ ├── restricted_reads.md # 限制文件读取规则
│ ├── interaction_rules.md # 交互限制规则
│ ├── requirement_review.md # 代码修改需求审查规则
│ └── rule_formatting_guide.md # 规则编写指南
├── main/
│ ├── factor/ # 因子计算模块