move public setting entry to left side nav; rename feature ui text

This commit is contained in:
geekgeekrun
2026-02-09 07:52:33 +08:00
parent bfb4fa6e8d
commit 6ab40f759a
7 changed files with 104 additions and 146 deletions

View File

@@ -16,7 +16,7 @@
## 程序有哪些功能?运行逻辑是什么?怎样使用?
### Boss炸弹
### 自动开聊
扩列神器按照你所设置的求职偏好自动开聊推荐职位列表中的匹配的Boss。可以帮你开聊推荐列表中的职位、根据设置的求职期望推荐的职位以及根据你设置的关键词通过搜索找到的职位可以通过拖拽的方式自定义搜索顺序哦~
<img width="1309" alt="image" src="https://github.com/user-attachments/assets/fda33e53-347b-453d-a791-5a1dcd506605" />
@@ -45,10 +45,10 @@
https://github.com/user-attachments/assets/672f1637-dd54-416c-922e-1ecf09b0874a
### 已读不回提醒器
### 已读不回复聊
Boss不明原因已读不回简历就是投不出去
已读不回提醒器,有事没事提醒一下已读不回的 Ta助力把握每次机会
已读不回复聊,有事没事提醒一下已读不回的 Ta助力把握每次机会
<img width="1024" alt="image" src="https://github.com/user-attachments/assets/51a43b0f-118d-4b0a-957c-40a5367e29e4" />
@@ -76,20 +76,20 @@ Boss不明原因已读不回简历就是投不出去
<img width="576" alt="image" src="https://github.com/user-attachments/assets/ef91642f-b0b0-438f-8c66-e650f0de139b" />
### 已读不回提醒器提示词模板编辑
### 已读不回复聊提示词模板编辑
对生成的提醒消息不够满意?您不妨可以自己进行编辑提示词,来获得您期望的结果
<img width="1139" alt="image" src="https://github.com/user-attachments/assets/db956573-61c0-44d4-b588-5c04fe941f84" />
### 已读不回提醒器提醒过程模拟
### 已读不回复聊提醒过程模拟
想要测试配置的某一款模型可不可用?想测试使用当前配置生成的内容效果如何?那就来这里试试吧
<img width="600" alt="image" src="https://github.com/user-attachments/assets/3b2776bd-ae5b-48d1-a01c-0819509d96a1" />
### 配置模板选项
初次见面,不会配置本程序?当心配置出现问题?本程序为一些关键的功能配置(例如:Boss炸弹中的期望公司设置、职位详情筛选设置;大语言模型设置)加入了配置模板,让本程序更易用,助你轻松完成配置,开始求职。不妨来试试吧
初次见面,不会配置本程序?当心配置出现问题?本程序为一些关键的功能配置(例如:自动开聊中的期望公司设置、职位详情筛选设置;大语言模型设置)加入了配置模板,让本程序更易用,助你轻松完成配置,开始求职。不妨来试试吧
<img width="576" alt="image" src="https://github.com/user-attachments/assets/2cccfece-17e7-4cc2-bf33-67f0ce500625" />
@@ -144,7 +144,7 @@ Boss不明原因已读不回简历就是投不出去
人工筛选这些职位会有很大的心智负担,真的会吐……
因此,我在Boss炸弹代码中,加入了清理机制,将通过标记不合适的方式,尝试让这些不活跃职位、不合适职位消失;保证只开聊符合你口味的职位。
因此,我在自动开聊代码中,加入了清理机制,将通过标记不合适的方式,尝试让这些不活跃职位、不合适职位消失;保证只开聊符合你口味的职位。
## 使用必读及免责声明
如下是使用必读及免责声明,请您务必逐条阅读;本程序首次启动时,您还会再看到一次;若您不接受如下提到的任何内容,请不要使用本程序。

View File

@@ -3,7 +3,7 @@
<FlyingCompanyLogoList class="flying-company-logo-list" />
<div class="tip">
<article>
<h1>👋 BOSS炸弹正在运行</h1>
<h1>👋 自动开聊正在运行</h1>
<p>💬 正在为你开聊BOSS请静候佳音</p>
<p>📱 你可以在<b>手机</b> / <b>平板电脑</b>使用BOSS直聘App与为你开聊的BOSS聊天</p>
<p>🍀 祝你求职顺利</p>

View File

@@ -3,7 +3,7 @@
<FlyingCompanyLogoList class="flying-company-logo-list" />
<div class="tip">
<article>
<h1>👋 已读不回提醒器正在运行</h1>
<h1>👋 已读不回复聊正在运行</h1>
<p>🍀 祝你求职顺利</p>
</article>
<el-button :disabled="isStopping" @click="handleStopButtonClick">停止开聊</el-button>

View File

@@ -10,25 +10,6 @@
<div class="form-wrap geek-auto-start-run-with-boss">
<el-form ref="formRef" :model="formContent" label-position="top" :rules="formRules">
<el-card class="config-section">
<div flex>
<el-form-item>
<div>
<div font-size-14px>BOSS直聘 Cookie</div>
<el-button size="small" type="primary" @click="handleClickLaunchLogin"
>编辑Cookie</el-button
>
</div>
</el-form-item>
<div w1px class="bg-#dee1e8" ml16px mr16px />
<el-form-item>
<div>
<div font-size-14px>浏览器</div>
<el-button size="small" type="primary" @click="handleClickBrowserSetting"
>编辑浏览器设置</el-button
>
</div>
</el-form-item>
</div>
<div>
<div font-size-14px>
摸鱼模式
@@ -1617,32 +1598,6 @@ const normalizeExpectCompanies = () => {
.join(',')
}
const handleClickLaunchLogin = async () => {
gtagRenderer('launch_login_clicked')
try {
await electron.ipcRenderer.invoke('login-with-cookie-assistant')
ElMessage({
type: 'success',
message: 'Cookie 保存成功'
})
} catch {
//
}
}
const handleClickBrowserSetting = async () => {
gtagRenderer('browser_setting_clicked')
try {
await electron.ipcRenderer.invoke('config-with-browser-assistant')
ElMessage({
type: 'success',
message: '浏览器设置保存成功'
})
} catch {
//
}
}
const expectCompanyTemplateList = [
{
name: '默认值',

View File

@@ -7,27 +7,14 @@
:model="formContent.autoReminder"
label-position="top"
>
<div flex>
<el-form-item label="BOSS直聘 Cookie">
<el-button size="small" type="primary" @click="handleClickLaunchLogin"
>编辑Cookie</el-button
>
</el-form-item>
<div w1px class="bg-#dee1e8" ml16px mr16px />
<el-form-item label="浏览器">
<el-button size="small" type="primary" @click="handleClickBrowserSetting"
>编辑浏览器设置</el-button
>
</el-form-item>
</div>
<el-form-item>
<div>
<el-checkbox v-if="!expectJobTypeRegExpStr?.trim()" :model-value="false" disabled>
发送提醒消息前先按照Boss炸弹-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
发送提醒消息前先按照自动开聊-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
</el-checkbox>
<template v-else>
<el-checkbox v-model="formContent.autoReminder.onlyRemindBossWithExpectJobType">
发送提醒消息前先按照Boss炸弹-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
发送提醒消息前先按照自动开聊-职位类型正则校验正在与Boss沟通的岗位是否满足期望校验通过后再提醒
</el-checkbox>
<div ml1.5em color-gray>
<div>当前职位类型正则{{ expectJobTypeRegExpStr?.trim() }}</div>
@@ -74,32 +61,6 @@
RECHAT_CONTENT_SOURCE.GEMINI_WITH_CHAT_CONTEXT
"
>
<el-form-item class="mb4px">
<div>
<el-button size="small" type="primary" @click="handleClickConfigLlm">
配置大语言模型
</el-button>
<div class="font-size-12px color-#666">
支持
<span
class="pl6px pr6px pt4px pb2px color-white border-rd-full font-size-0.8em"
style="background-color: #3c4efd"
>DeepSeek-V3</span
>
<span
class="ml4px pl6px pr6px pt4px pb2px color-white border-rd-full font-size-0.8em"
style="background-color: #000000"
>GPT-4o mini</span
>
<span
class="ml4px pl6px pr6px pt4px pb2px color-white border-rd-full font-size-0.8em"
style="background-color: #462ac4"
>Qwen2.5</span
>
模型;支持多个“服务商-模型”组合按权重搭配使用
</div>
</div>
</el-form-item>
<el-form-item class="mb4px">
<div>
<el-button size="small" type="primary" @click="handleClickEditResume">
@@ -562,31 +523,6 @@ const restoreDefaultTemplate = async () => {
})
}
const handleClickLaunchLogin = async () => {
gtagRenderer('launch_login_clicked')
try {
await electron.ipcRenderer.invoke('login-with-cookie-assistant')
ElMessage({
type: 'success',
message: 'Cookie 保存成功'
})
} catch {
//
}
}
const handleClickBrowserSetting = async () => {
gtagRenderer('browser_setting_clicked')
try {
await electron.ipcRenderer.invoke('config-with-browser-assistant')
ElMessage({
type: 'success',
message: '浏览器设置保存成功'
})
} catch {
//
}
}
const currentStamp = ref(new Date())
let timer = 0
function updateCurrentStamp() {
@@ -604,15 +540,6 @@ const rechatLimitDateString = computed(() => {
).format('YYYY-MM-DD HH:mm:ss')
})
const handleClickConfigLlm = async () => {
gtagRenderer('config_llm_clicked')
try {
await electron.ipcRenderer.invoke('llm-config')
} catch (err) {
console.log(err)
}
}
const handleClickEditResume = async () => {
gtagRenderer('edit_resume_clicked')
try {
@@ -634,7 +561,7 @@ const rechatLlmFallbackOptions = [
value: RECHAT_LLM_FALLBACK.SEND_LOOK_FORWARD_EMOTION
},
{
name: '退出已读不回提醒器',
name: '退出已读不回复聊',
value: RECHAT_LLM_FALLBACK.EXIT_REMINDER_PROGRAM
}
]

View File

@@ -1,10 +1,10 @@
<template>
<div class="flex h100vh">
<div class="flex flex-col min-w200px w200px pt30px pl30px aside-nav of-hidden">
<div class="flex flex-col min-w250px w250px pt30px pl30px aside-nav of-hidden">
<div class="nav-list flex-1 of-auto">
<RouterLink v-show="false" to="./TaskManager">任务管理</RouterLink>
<RouterLink to="./GeekAutoStartChatWithBoss">
Boss炸弹
自动开聊
<el-tooltip
placement="right"
:enterable="false"
@@ -53,7 +53,7 @@
</el-tooltip>
</RouterLink>
<RouterLink to="./ReadNoReplyReminder">
已读不回提醒器
已读不回自动复聊
<el-tooltip
placement="right"
:enterable="false"
@@ -63,7 +63,7 @@
<div w-480px>
<div>
Boss不明原因已读不回简历就是投不出去<br />
已读不回提醒器有事没事提醒一下已读不回的 Ta助力把握每次机会
已读不回自动复聊提醒一下已读不回的 Boss助力把握每次机会
</div>
<br />
<div>匹配逻辑</div>
@@ -85,11 +85,51 @@
<QuestionFilled w-1em h-1em mr10px />
</el-tooltip>
</RouterLink>
<hr w180px />
<a href="javascript:void(0)" @click="handleLaunchBossSite">
手动逛Boss<TopRight w-1em h-1em mr10px />
<a href="javascript:void(0)" @click="handleClickLaunchBossLogin">
编辑登录凭据<TopRight w-1em h-1em mr10px />
</a>
<hr w180px />
<a href="javascript:void(0)" @click="handleLaunchBossSite">
手动逛<TopRight w-1em h-1em mr10px />
</a>
<hr w230px />
<a href="javascript:void(0)" @click="handleClickBrowserSetting">
编辑浏览器偏好<TopRight w-1em h-1em mr10px />
</a>
<a href="javascript:void(0)" @click="handleClickConfigLlm">
配置大语言模型
<div>
<el-tooltip
placement="right"
:enterable="false"
@show="gtagRenderer('tooltip_show_for_rnrr_entry')"
>
<template #content>
<div class="font-size-12px">
支持
<span
class="pl6px pr6px pt4px pb2px color-white border-rd-full font-size-0.8em"
style="background-color: #3c4efd"
>DeepSeek-V3</span
>
<span
class="ml4px pl6px pr6px pt4px pb2px color-black border-rd-full font-size-0.8em"
style="background-color: #fff"
>GPT-4o mini</span
>
<span
class="ml4px pl6px pr6px pt4px pb2px color-white border-rd-full font-size-0.8em"
style="background-color: #462ac4"
>Qwen2.5</span
>
模型<br />支持多个服务商-模型组合按权重搭配使用
</div>
</template>
<QuestionFilled w-1em h-1em mr10px />
</el-tooltip>
<TopRight w-1em h-1em mr10px />
</div>
</a>
<hr w230px />
<RouterLink to="./StartChatRecord">开聊记录</RouterLink>
<RouterLink to="./MarkAsNotSuitRecord">标记不合适记录</RouterLink>
<RouterLink to="./JobLibrary">职位库</RouterLink>
@@ -152,6 +192,7 @@ import useBuildInfo from '@renderer/hooks/useBuildInfo'
import { debounce } from 'lodash'
import { gtagRenderer } from '@renderer/utils/gtag'
import { useUpdateStore, useTaskManagerStore } from '../../store/index'
import { ElMessage } from 'element-plus'
useRouter()
@@ -188,6 +229,41 @@ function handleViewNewReleaseClick() {
const taskManagerStore = useTaskManagerStore()
void taskManagerStore
const handleClickLaunchBossLogin = async () => {
gtagRenderer('launch_login_clicked')
try {
await electron.ipcRenderer.invoke('login-with-cookie-assistant')
ElMessage({
type: 'success',
message: '登录凭据保存成功'
})
} catch {
//
}
}
const handleClickBrowserSetting = async () => {
gtagRenderer('browser_setting_clicked')
try {
await electron.ipcRenderer.invoke('config-with-browser-assistant')
ElMessage({
type: 'success',
message: '浏览器偏好保存成功'
})
} catch {
//
}
}
const handleClickConfigLlm = async () => {
gtagRenderer('config_llm_clicked')
try {
await electron.ipcRenderer.invoke('llm-config')
} catch (err) {
console.log(err)
}
}
</script>
<style lang="scss" scoped>
@@ -198,9 +274,9 @@ void taskManagerStore
display: flex;
align-items: center;
justify-content: space-between;
height: 2.5em;
height: 2em;
box-sizing: border-box;
padding-left: 2em;
padding-left: 1.5em;
&.router-link-active {
background-color: #fff;
font-weight: 700;

View File

@@ -56,7 +56,7 @@ const routes: Array<RouteRecordRaw> = [
path: '/readNoReplyReminderLlmMock',
component: () => import('@renderer/page/ReadNoReplyReminderLlmMock/index.vue'),
meta: {
title: '已读不回提醒器 大语言模型测试'
title: '已读不回复聊 大语言模型测试'
}
},
{
@@ -75,14 +75,14 @@ const routes: Array<RouteRecordRaw> = [
path: 'GeekAutoStartChatWithBoss',
component: () => import('@renderer/page/MainLayout/GeekAutoStartChatWithBoss/index.vue'),
meta: {
title: 'BOSS炸弹'
title: '自动开聊'
}
},
{
path: 'ReadNoReplyReminder',
component: () => import('@renderer/page/MainLayout/ReadNoReplyReminder.vue'),
meta: {
title: '已读不回提醒器'
title: '已读不回复聊'
}
},
{
@@ -130,14 +130,14 @@ const routes: Array<RouteRecordRaw> = [
path: 'prepareRun',
component: () => import('@renderer/page/GeekAutoStartChatWithBoss/PrepareRun.vue'),
meta: {
title: 'BOSS炸弹 正在预热'
title: '自动开聊 正在预热'
}
},
{
path: 'runningStatus',
component: () => import('@renderer/page/GeekAutoStartChatWithBoss/RunningStatus.vue'),
meta: {
title: 'BOSS炸弹 正在为你开聊BOSS'
title: '自动开聊 正在为你开聊BOSS'
}
},
{
@@ -147,7 +147,7 @@ const routes: Array<RouteRecordRaw> = [
'@renderer/page/GeekAutoStartChatWithBoss/RunningStatusForReadNoReplyReminder.vue'
),
meta: {
title: '已读不回提醒器 正在为你开聊BOSS'
title: '已读不回复聊 正在为你开聊BOSS'
}
}
]