简介

“诤略参谋(Critistrat)”是一个接入了 DeepSeek-R1 的、前后端分离的 Web 应用,旨在帮助用户——

  • 管理项目及其计划;
  • 根据已有的项目背景制订计划;
  • 指出已有计划的不妥之处,提出全局性和针对性的改进方案,最终根据被采纳的改进方案改进原计划;
  • 为计划绘制流程图;
  • 分析计划所需的预算和潜在风险。

DeepSeek-R1 在此项目中扮演虎视眈眈的对手和吹毛求疵的参谋,以对抗姿态帮助用户找出并弥补计划缺陷。“诤”表直言劝诫,“略”表计划。“参谋”表明它是盟友而非敌人,是辅助而非主导。

  • DeepSeek-R1 是对世界知识的有损压缩,更容易从多个角度分析问题、提出跨领域解决方案。这会帮助用户扩展认知边界、为计划补充用户缺失的视角和遗漏的因素。
  • DeepSeek-R1 以旁观者的视角分析问题,不受当局者的思维定式和情绪影响。当用户陷入看似合理的逻辑陷阱,明知自己出错却因思维惯性反复犯错、难以溯源时,DeepSeek-R1 能够跳出固有框架,直指问题核心,帮助用户摆脱错误循环。
  • DeepSeek-R1 永不懈怠地严格执行包含复杂方法论的指令。当用户为节省精力而在思想上懈怠、明知风险却仍故意抛弃已知方法论时,永不懈怠的 DeepSeek-R1 充当最后一道防线,让方法论总被执行、风险总被考虑。

诤略参谋为用户提供了丰富的个性化配置项,包括但不限于创造力等级、严格等级、人格和上下文策略。用户可以根据场景特点的差异组合不同的配置,以获得更具个性化的体验和更高质量的结果。



开发团队

本项目源于山东大学软件学院 2025 年创新项目实训,由一支五人小队开发。开发成果包含发布到 Gitee 的源程序、发布在 CSDN 上的项目文档和各开发成员发布在 CSDN 上的开发日志。

团队成员



项目文件结构

critistrat/                       # 诤略参谋 CRITISTRAT 项目 Git 仓库
├── .gitignore
│           
├── front-end/                    # 前端 Vue3 项目
│   ├── public/
│   │   ├── imgs/                 # LOGO 等图像
│   │   └── sounds/               # 音效
│   │       ├── ambience/         # 氛围音效
│   │       └── ...               # 一个文件夹对应一个组件的音效
│   ├── src/                      # 源码
│   │   ├── components/           # 可复用组件
│   │   │   ├── FormWrapper.vue   # 博客二中的三件套
│   │   │   ├── Btn.vue           # 博客二中的三件套
│   │   │   ├── Field.vue         # 博客二中的三件套
│   │   │   ├── Txt.vue           # Field 变种
│   │   │   ├── TaskBtn.vue       # 博客三中的 Btn 变种,进行 LLM 相关任务用
│   │   │   └── ...             
│   │   ├── views/                # 渲染在非顶层 RouterView 中的面板
│   │   ├── layouts/              # 渲染在顶层 RouterView 中的面板
│   │   │   ├── Welcome.vue       # “报上名来”页
│   │   │   ├── WorkSpace.vue     # 核心工作区
│   │   │   └── NotFound.vue      # 404 页
│   │   ├── config/               # 全局设置(其实就是把常量汇集起来)
│   │   ├── utilities/            # 工具函数或对象
│   │   │   ├── http.js           # axios 请求/响应配置
│   │   │   ├── validators.js     # Field 组件使用的 validator(前端校验函数)
│   │   │   ├── ocrHelper.js      # 利用 OCR 向 Txt 追加文本相关函数
│   │   │   └── tools.js          # 常用工具函数
│   │   ├── router/               # 路由层级配置      
│   │   ├── stores/               # 响应式状态集中管理
│   │   │   ├── plan.js           # 项目、计划与计划下参谋生成项相关状态
│   │   │   ├── user.js           # 自动登录和主题等全局配置相关状态
│   │   │   ├── memory.js         # 记忆相关状态
│   │   │   ├── personality.js    # 人格相关状态
│   │   │   ├── txt.js            # Txt 的“注册表”,路由守卫据此给出未保存时路由 Modal 提醒
│   │   │   ├── task.js           # 任务系统核心逻辑,包含轮询
│   │   │   ├── toast.js          # 博客三中弹窗系统的 Toast 部分,与 axios 响应拦截器协作
│   │   │   ├── notification.js   # 博客三中弹窗系统的 Notification 部分,与任务系统协作
│   │   │   └── modal.js          # 博客三中弹窗系统的 Modal 部分           
│   │   ├── styles/               # 全局样式和变量、函数、动画、响应式定义
│   │   │   ├── main.scss         # 联系各 partial、全局重置、定义 CSS 颜色变量、可复用样式
│   │   │   ├── _variables.scss   # 颜色、字号、圆角等变量
│   │   │   ├── _mixins.scss      # 共用小代码段
│   │   │   ├── _keyframes.scss   # 共用关键帧动画
│   │   │   └── _breakpoints.scss # 未来实现响应式网站用 
│   │   ├── App.vue
│   │   └── main.js
│   ├── index.html                # 在这里设置资源引用、favicon 等
│   ├── persona-viz.html          # 官方人格深度可视化介绍页,详见项目文档九
│   ├── package.json
│   └── vite.config.js            # 插件、服务器代理等配置
│
├── back-end/                          # 后端
│   ├── src/main/java/com.critistrat.backend/
│   │   ├── service/                   # 业务层:写逻辑,供 controller 调用
│   │   │   ├── EmailService           # 发送邮箱验证码
│   │   │   ├── LLMService             # One API 异步请求和响应处理,详见博客三
│   │   │   ├── ContextFileService     # 文件上传、删除、阈值判断等
│   │   │   ├── AliDocumentParsingService    # 利用阿里云文档大模型解析用户上传的文件
│   │   │   ├── PlanTransactionalUpdater     # 应对计划生成异步任务出现竞态条件的情况
│   │   │   ├── SuggestionPositionCorrector  # 为参谋提出的针对性建议确定原文起止索引
│   │   │   └── ...
│   │   ├── controller/                # 接口层:RESTful API,接收和响应 HTTP 请求
│   │   │   ├── AuthController         # 一些 Jwt 不检查的登录前操作
│   │   │   ├── LLMController          # POST /api/llm/xx 提交任务,详见博客三
│   │   │   ├── TaskController         # 任务系统初始化和轮询自用,详见博客三
│   │   │   └── ...
│   │   ├── entity/                    # 实体类
│   │   │   ├── User
│   │   │   ├── Project
│   │   │   ├── Plan
│   │   │   ├── EmailCode              # 邮箱验证码
│   │   │   ├── EmailUsage             # 枚举类,反映邮箱验证码的用途
│   │   │   ├── Task                   # 任务系统自用
│   │   │   ├── TaskStatus             # 枚举类,反映任务状态
│   │   │   └── ...
│   │   ├── repository/                # JPA 接口
│   │   ├── format/                    # 数据传输模型
│   │   │   ├── BizCode                # 业务码
│   │   │   ├── StdResponse            # 统一响应格式
│   │   │   ├── Conversation           # 结构化上下文
│   │   │   ├── CCO                    # Chat Completions API 返回数据的格式
│   │   │   ├── CCR                    # 调用 Chat Completions API 时需先把 Conversation 对象转为 CCR 对象,再进行序列化
│   │   │   └── ...
│   │   ├── exception/                
│   │   │   ├── GlobalExceptionHandler # MVC 层全局异常处理器
│   │   │   ├── ErrorAggregator        # /error API,其实就一 RESTful Controller
│   │   │   ├── BizException           # 建议在异常情况下用 BizCode 实例化并抛出之
│   │   │   ├── AutoLoginFailedException
│   │   │   ├── OutputFormatException  # LLM 输出不符合格式异常
│   │   │   └── PromptInvalidException # 语义审查不通过异常
│   │   ├── config/               
│   │   │   ├── SecurityConfig         # Security 过滤器链配置
│   │   │   ├── WebClientConfig        # 配置调用 LLM API 的对象,类似 axios 的配置
│   │   │   └── WebConfig              # 配置 /avatars/** 静态资源映射
│   │   ├── security/                  # Security 过滤器链相关,详见博客二
│   │   │   ├── CustomAuthenticationEntryPoint
│   │   │   │                          # 自定义入口点,会把异常请求转发到 /error
│   │   │   └── JwtAuthFilter          # JwtAuthFilter 相关配置
│   │   ├── utility/                   # 工具
│   │   │   ├── JwtUtil                # 签发、校验 Jwt 等函数
│   │   │   └── Utility                # 其他工具函数。大部分 LLM 提示词集中于此
│   │   └── BackEndApplication.java    # 启动类
│   ├── pom.xml                        # Maven 配置(第三方库)
│   ├── resources/
│   │   ├── application.yml            # 后端配置(数据库、邮箱、端口、API、文件、阈值等)
│   │   └── ...
│   ├── uploads/             # 用户上传的文件
│   │   ├── avatars/         # 人格使用的头像
│   │   └── k/               # 用户以文件形式上传的、项目 k 的上下文
│   └── ...
├── database/            
│   └── data.db          # SQLite 数据库文件
└── README.md            # 显示在 Gitee 仓库首页的介绍

注:更详细的信息见《一、项目伊始》

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐