1778682052

This commit is contained in:
Docker7530
2026-05-13 22:20:54 +08:00
parent 6b50219f55
commit 7f14056210
96 changed files with 3297 additions and 354 deletions
+16
View File
@@ -0,0 +1,16 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:MCP 工具 header 优化开发。(李春良 5)
- [x] 测试:IBS 7.19.0 版本需求测试,分省结算页面隐藏合作服务商。(李英浩 0.5)
- [x] 项目:智能体展示会议。(李春良 2)
# 日志
查一下近半年,带宽数据。
1. 模型
2. 部署
3. 工具开发
# 总结
+29
View File
@@ -0,0 +1,29 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:nanguapi 信安信息处理。(佟彤 0.5)
- [x] 开发:MCP 工具 header 优化开发,今天把 MCP 的请求头归成一个字段,然后清理了原本的两个 header 字段,实现了 MCP 的请求头的动态处理。。(李春良 7)
# 日志
```
select *
from big_cloud_information_domain
where domain in ('test.nanguapi.com',
'xly20727test01.nanguapi.com',
'xly20727test02.nanguapi.com',
'xly20727ramtest01.nanguapi.com',
'xly20727ramtest02.nanguapi.com',
'xly20727test05.nanguapi.com',
'gx0727test01.nanguapi.com',
'syj20727test01.nanguapi.com',
'gx0727test02.nanguapi.com',
'gx0727test03.nanguapi.com',
'gx0727test04.nanguapi.com',
'gx0727test05.nanguapi.com',
'gx0727test06.nanguapi.com');
```
# 总结
这两天吃药弄的我是真的难受,整个人下午 3 点前极度难受。
+9
View File
@@ -0,0 +1,9 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS 7.20.0 版本需求评审。(姬高峰 2)
- [x] 开发:MCP 工具开发,增加角色模块、移除 mcp_api_key、工具组扩充、文档优化、工具组重命名。(李春良 5.5)
# 日志
# 总结
+31
View File
@@ -0,0 +1,31 @@
# 任务
# 日志
我现在的需求是实现一个 sing-box 代理工具的配置文件生成工具。
sing-box 的配置文件是 JSON 格式的,包含顶层的几大块(比如 log、DNS 等)。由于它的配置经常变动,且生成逻辑非常复杂,导致使用成本很高。
我想通过以下方式来优化:
1. 模块化构建(搭积木方式):
用户可以选择顶层模块(如 log 模块),系统自动列出该模块下对应的子模块及其默认值。工具仅负责配置文件的生成,不做任何自定义的配置覆盖。
2. AI 对话接口:
提供一个 AI 接口,当用户询问某个配置的作用或搭配建议时,AI 可以根据源码进行分析并给出结果,以此避免文档与源码不匹配的情况。
# 总结
清明节第一天,昨天晚上又是不知道自己怎么睡着的,晚上起来了好几次,总感觉身上像是发烧一样,早晨起来妈妈已经回家了。
上午收拾了下,屋子,我去公司把饭盒拿了回来。
中午去吃了鸡公煲,感觉一般,也不知道是不是自己胃口的问题,田宝感觉辣,就带他吃的包子。
下午我们出发去了颐和园,这里人真的是超级多,田宝也很给力。我到下午3点整个人又恢复了一些状态。6点回家。田宝在车上睡了一会儿。
总感觉自己心里很着急,想干这个干那个。
前几天有听到一句很不错的话,如果你
+26
View File
@@ -0,0 +1,26 @@
# 任务
# 日志
它做的事情是当用户中断操作时,为所有还没跑完的工具调用生成一个错误结果,而不是让整个消息链断掉,会话得以完整继续,Claude 知道哪里出了问题,从那里接着干。
专业工程师在架构决策、关键节点审查、边界情况处理这些地方保留人工判断,把 Claude 当成一个执行层,而不是一个决策层,出了问题,先定位,再告诉 Claude 具体修哪里,修成什么样。
```
/etc/claude-code/CLAUDE.md # 系统级,管理员配置
~/.claude/CLAUDE.md # 用户级,个人全局偏好
~/.claude/rules/*.md # 用户级规则模块
./CLAUDE.md # 项目级,团队共享
./.claude/rules/*.md # 项目级规则模块
./CLAUDE.local.md # 本地私有覆盖,加进 .gitignore
```
越靠近当前工作目录的文件,加载越晚,在 LLM 的上下文窗口里位置越靠后,而 LLM 对越靠后的内容注意力权重越高。
这是整个记忆系统里最值得理解的一个分工。
CLAUDE.md 是你写给 Claude 的项目架构、技术栈、编码规范、禁止事项。这些是不变的规则,需要你主动维护。
# 总结
今天超级大的风,跑了趟白浮泉吹懵逼了。中午吃了火锅。
+11
View File
@@ -0,0 +1,11 @@
# 任务
# 日志
# 总结
中午小杨做了卤肉饭。我去买了半只烤鸭。中午和田宝一起看了哈哈哈哈哈综艺,不知道田宝有没有看懂也一直跟着乐。哈哈。
下午妈妈五点多才到家。田宝又去公园和瑞瑞玩儿了一会儿。
晚上又吃了芝士烤冷面。
+40
View File
@@ -0,0 +1,40 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:/api/statistic/flow 接口日期异常,这里有个知识点,如果使用 + 号 URL 会默认转义为空格。(佟彤 0.5)
- [x] 开发:MCP 服务开发,增加角色层次,了解 mcp 存储机制。(李春良 7)
# 日志
```
@ᥫᩣⱄᐝ 您好, 这个加上好,返回如下,辛苦帮忙再看下
加上之后调用返回400 {'message': 'date error!'}
url
https://p.cdn.10086.cn
/api/statistic/flow
?domain=files.steam.nsclouds.cn
&detail=1
&start=2026-04-07T08:45:00+08:00
&end=2026-04-07T09:45:00+08:00
2011-12-03T10:15:30+08:00
2023-10-25T11:30:00%2B08:00
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiI1anAwNDRjcy1tbmNzYWJnMmN1YmxuNnNjIiwiZXhwIjoxNzc1NTcwOTUxLCJpYXQiOjE3NzU1Mjc3NTEsImlzcyI6ImNtY2RuIn0=.GUxGk5bAhhuXgEpyxr9qfINcGZ9zLR9XF-ppdzi6Ne0=
```
- [x] **开发**:参加 IBS 项目每日晨会,同步昨日开发进度、遗留问题及风险点,明确当日开发任务与协作事项,保障项目迭代节奏。(李春良 0.5)
- [x] **客响**:响应线上问题排查,定位 `/api/statistic/flow` 接口日期参数异常;**关键知识点**:URL 中 `+` 号会被默认解析为空格,导致日期格式化失败,已梳理原因及规范写法,避免同类问题复现。(佟彤 0.5)
- [x] **开发**:推进 MCP 服务核心开发,**新增并实现角色层次结构**,完善权限与层级逻辑;深入研究 MCP 底层存储机制、数据持久化策略及读写流程,为后续功能扩展打下基础。(李春良 7)
# 总结
开始运动,跑步。
找张泽弄鞋子。又玩儿了半天 sing-box。
下午学英语。
早早的回家了。
+14
View File
@@ -0,0 +1,14 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS-V7.19.0升级文档。(黄寅杰 0.5
- [x] 项目:IBS 7.20.0 版本评审。(李春良 1)
- [x] 客响:BPM 必填字段校验,尝试热部署解决。(李春良 1)
# 日志
# 总结
跑步。
又是 sing-box 的一天,开了几个英语视频,真不能再弄这个网络。
+28
View File
@@ -0,0 +1,28 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:IBS 7.20.0 版本评审。(李春良 1)
- [x] 客响:客户经理管理员数据导出。(佟彤 0.5)
- [x] 开发:IBS 7.20.0 需求分析,自有业务中间话单统计-支持域名全选(李春良 6)
# 日志
为 excalicode 设计的专业标志,扁平矢量风格,几何形状,线条干净,居中排版,高对比度。灵感源自附上的参考图片视觉风格。4k 分辨率,高细节,杰作,工作室级别画质。—— 宽高比 1:1
argo 有点意思,但是读音 阿狗 让我感觉有点怪。
帮我翻译为英文提示词: 为 null 设计的专业标志,扁平矢量风格,几何形状,线条干净,居中排版,高对比度。灵感源自附上的参考图片视觉风格。内容我有一点想法:
```
> null_ (后面跟一个闪烁的光标符)
```
4k 分辨率,高细节,杰作,工作室级别画质。—— 宽高比 1:1
# 总结
爬楼梯。
脚手架!!!
[DDD 脚手架【Maven 在线版】 | 小傅哥 bugstack 虫洞栈](https://bugstack.cn/md/road-map/ddd-archetype-maven.html)
+14
View File
@@ -0,0 +1,14 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,中国移动CDN信控能力优化需求,开发完成。(李春良 7.5)
# 日志
一款专业极简风格标志设计,呈现文本 `> _` 字样,字体标志。灵感源自计算机终端命令提示符,带闪烁光标下划线。可以设计一个夸张的呈现方式,但不偏离主题。符号要大气,背景和主题色设计的夸张协调一些,颜色不想要偏科技配色。扁平矢量风格,线条利落,适用于企业形象识别、高科技初创公司及UI/UX视觉素材。4K分辨率,细节极致丰富即使当作小头像也要表现清楚突出主题,大师级作品,完美居中构图,画面比例1:1。
# 总结
海阳、衍君中午在一起溜达了溜达,谈论了一下关于海阳面试的事情。
下班给海阳打电话聊了一下关于小红书和直播的事情。
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
claude mcp remove morecup-context
# 总结
公园玩儿了下,傍晚带妈妈去吃了板面。
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
# 总结
早晨陪着小杨去昌平中医医院。然后没回家去了白浮泉森林牧场,感觉这个地方还可以,就是家和稍微的贵一些,有超大的蹦床。
田宝理发了,这是他第一次。敢在理发店洗头。
+25
View File
@@ -0,0 +1,25 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,7.20.0-自有业务中间话单统计-支持域名全选,开发 50%。(李春良 7.5)
# 日志
Windows\PowerShell\按需下载万象方案-词库-模型-utf-8.ps1 -schemaType 0 -cliTargetFolder "E:\Software\Rime\data" -disableCNB
我项目里把 backendUrl 换成了 httpUrlbackendMethod 换成了 httpMethodbackendTimeout 换成了 httpTimeout。McpToolEntity 相关的我已经换完了,还有一起其他地方还没换名字,帮我处理一下。
```
# 1. 软重置到指定提交(保留所有更改在暂存区)
git reset --soft 7753f17b1de7add00daeb946b5c98c677c79b996
# 2. 提交合并后的更改(请替换为你的提交信息)
git commit -m "项目结构优化"
# 3. 强制推送到远端(⚠️ 确保远端分支没有其他人基于旧提交工作)
git push --force-with-lease
```
# 总结
早晨去了中医院,感觉还是有改变的,这次一定要坚持吃药。晚上下班去拿药。
+12
View File
@@ -0,0 +1,12 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 需求开发,7.20.0-自有业务中间话单统计-支持域名全选,开发完成。(李春良 5.5)
- [x] 客响:icws.jb51.net 高级配置查询问题。(李春良 1)
- [x] 客响:001-20260326005、046-20260402-0047 验收反馈问题。(佟彤 1)
# 日志
# 总结
刷完了 ai gateway 的网管课程。
+33
View File
@@ -0,0 +1,33 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,50%。(李春良 7)
- [x] 子雯:IBS 7.20.0 版本用例研讨,HCDN业务标准化接入-典基平面接入与基础数据模型扩展。(郑子雯 0.5)
# 日志
当前项目是 spring ai 的源码,我另一个 mcp 网管引入了:
```
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>
```
结合源码给我讲讲 mcpSyncServer.addTool(spec); 的原理,以及项目启动
```
@Tool(description = "根据角色 Key 查询该角色下所有可用的工具组信息。" +
"返回 JSON 格式,包含 tool_groups 数组,每个元素有 api_key 和 description。" +
"用于在调用具体工具前,先查询当前角色可用的工具组有哪些。")
public String selectToolGroup(@ToolParam(description = "角色 Key") String roleKey) {
```
这种代码是如何注册的。底层数据结构是怎么样的,详细,但是通俗易懂易于理解。
最终输出一个 MCP 原理说明 md 文档。
# 总结
优化了一下 mcp 的项目架构。
+34
View File
@@ -0,0 +1,34 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,开发完成。(李春良 7.5)
# 日志
为我的项目补充 readme 文档,但是要求精简,不要太花哨。因为我有专门维护 API 文档的的文件夹。
根据我当前的库表设计,我想实现的是用户先创建工具,然后创建工具组可以绑定多个工具,工具也可以绑定多个工具组,然后用户创建角色,角色可以绑定多个工具组,工具组可以绑定多个角色。用户可以用户可以删除工具,解除和工具组的关系,可以删除工具组解除和工具和角色的关系,用户可以删除角色,解除和工具组的关系。
帮我看看我的这个功能设计是否合理。然后看下我当前提供的所有 controller 是否能满足场景。
相当于我现在这个项目的权限过滤依托于 Filter 是吧。
我的整个设计是通过 角色 key 得到 角色 所有工具组的key 然后让智能体决策用哪个工具组,那是不是要改一下filter 的逻辑。针对这个工具RoleToolSelectionTool放开权限因为这时候智能体是用 角色 key 来的。
AI 用 roleKey 调 MCP
→ Filter 识别为角色认证,roleAuth=true
→ tools/list 只返回 select_tool_group
→ AI 调 select_tool_group(roleKey) 拿到工具组列表
→ AI 决策选工具组,改用 toolGroupApiKey 重新连接 MCP
→ Filter 识别为工具组认证,toolGroupId=X
→ tools/list 返回该工具组的工具
→ AI 正常调用工具
# 总结
+12
View File
@@ -0,0 +1,12 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,HCDN业务标准化接入-典基平面接入与基础数据模型扩展,开发完成。(李春良 4.5)
- [x] 客响:业务受理 200A260416481673001 重复反馈。(张鹏豪 1)
- [x] 客响:咪咕客户问题,上传IBS证书提示报错,用外部的工具将原有Sectigo的根证书更新成 DigiCert证书后,再次上传成功了,咱IBS证书校验是必须要用DigiCert证书吗?根据客户上传的证书链检测,末端证书在拉取其颁发者证书时失败,无法校验到可信根证书,暂无法确认该证书由正规可信机构颁发。需补充上传完整证书链文件,完成合规性校验。(李春良 2)
# 日志
# 总结
海阳离职了,IBS 认识最早的一个人,他确定了下周三离职。聊了很多关于面试的事情。
+7
View File
@@ -0,0 +1,7 @@
# 任务
# 日志
# 总结
公园。
+9
View File
@@ -0,0 +1,9 @@
# 任务
# 日志
# 总结
约了李万讲解少儿编程的流程。作为自己第一个副业的发展方向。
最近在看林兆伦的趣味网络图解从基础到应用,这个书说实话一点页不趣味,很底层。有些内容无法理解还是瞎读了一遍,希望在脑子里有些概念。
+13
View File
@@ -0,0 +1,13 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 客响:处理信安信息山东 www.yssylt.com 硕安科技有限公司 鲁ICP备07003074号-1 未备案域名。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。(李春良 7)
# 日志
# 总结
晚上和张泽海阳吃了散伙饭,感觉通过聊天能感受到项目已经越来越不行了。
回家尝试给田宝讲了 scrach。感觉这个最难的地方是如何把你自己很明白的事情给小朋友说清楚。
+11
View File
@@ -0,0 +1,11 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本测试用例评审。(郑子雯 0.5)
- [x] 开发:IBS 7.20.0 版本 AI 代码编写。(李春良 1)
- [x] 项目:IBS审计材料。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测。(郑子雯 5.5)
# 日志
# 总结
+11
View File
@@ -0,0 +1,11 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,前后端联调,4/5。(郑子雯 2.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发。编写 selectToolGroup 工具并进行调试,针对 selectToolGroup 工具权限进行单独过滤。(李春良 5)
# 日志
# 总结
海阳离职了。
+36
View File
@@ -0,0 +1,36 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:IBS 7.20.0 版本冒烟测试用例自测,完成。(郑子雯 3.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具部署。(张鹏豪 3)
# 日志
NLP = Natural Language Processing
BERT 是谷歌 2018 年发布的一款预训练 NLP 大模型全称:Bidirectional Encoder Representations from Transformers 中文:基于 Transformer 的双向编码器表征
LLM = Large Language Model 中文:大语言模型
| 模型 | 定位 | 能力 |
| ---- | ---- | ------------------ |
| BERT | 理解模型 | 只看懂文本,不会自由创作 |
| GPT | 生成模型 | 主打写字、聊天 |
| LLM | 统称 | 所有巨型 AI 语言模型都叫 LLM |
这里的 PMF = Product-Market Fit 中文标准翻译:产品市场契合
SGD = Stochastic Gradient Descent 中文:随机梯度下降
为了解决这个问题,许多代理系统实现了上下文截断或压缩策略。但过度激进的压缩不可避免地导致信息丢失。这个问题是根本性的:代理本质上必须根据所有先前状态预测下一个动作——而你无法可靠地预测哪个观察结果可能在十步之后变得至关重要。从逻辑角度看,任何不可逆的压缩都带有风险。
结构化的外部记忆。
创建一个todo.md文件
关于 [AI代理的上下文工程:构建Manus的经验教训](https://manus.im/zh-cn/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus),上下文工程是一个可以拉开差距以及迅速迭代的工程,其中 KV 缓存机制至关重要,遮蔽方法是一个不错的理念,不要改变结构而是决定哪些工具的展示。记忆系统非常重要,一味的压缩不一定带来好的体验。不要被少样本示例所困,适当的打破结构。
KV 缓存,文章 [Transformers KV Caching Explained | by João Lages | Medium](https://medium.com/@joaolages/kv-caching-explained-276520203249) 我个人理解,就是如果不用缓存,每次都会把前边生成过的字再计算一遍,但是如果有缓存了,那么前边的 kv 的值就不会再次计算了,而是直接启用,但是缓存的只有 kv 那么则不会影响模型预测输出。
# 总结
+167
View File
@@ -0,0 +1,167 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:需求拆分工具调试。(张鹏豪 1)
- [x] 项目:cosmic 拆分预填。(李春良 3)
# 日志
HCDN业务标准化接入-典基平面接入与基础数据模型扩展
105
需求背景:现有配置管理不支持冲突域名,不同CPID下同名域名下发配置失败、展示异常。
具体描述:
1、配置管理页面兼容冲突域名;
2.不同CPID下客户传入原始域名,自动转为带后缀冲突域名下发给配管;
3.客户查看时自动转回原始域名展示;
4.相同CPID不做转换;
5.子账号页面同步支持。
1. 基本配置,基础信息查询;3
2. 编辑 ipv6 配置;2
缓存配置
回源配置
HTTPS配置
高级配置
---
需求背景:省侧用户找不到新增域名入口,删除工单为冗余流程。
具体描述:
1. 变更工单中冗余的“删除”子流程;
2. 新增“新增域名工单”;
3. 运营查询新增“新增域名工单” 类型;
4. 保留原工单类型用于历史工单查询;
5. 优化表单交互,更易理解与操作。
需求背景:为支撑政企三网 CDN 多供应商服务,需新增第三方 CDN 业务平面,实现与 BOSS、CRS、BPM、配管全流程对接,满足异网服务快速上线。具体描述:1. 扩展话单、运营数据、API、集中运管、BPM 接口规范,新增厂商枚举值;2. 实现新平面话单解析、入库、计费对账能力;3. 数据统计、实时监控、内容中心、用量查询支持新平面筛选与展示;4. 域名配置、内容预热刷新、封禁解禁兼容新平面;5. 全流程打通业务开通、配置下发、状态回调,确保供应商接入标准化。
设计功能点
数据统计:
带宽
流量
请求数
状态码
域名按峰值排行
实时监控:
带宽
流量
请求数
状态码
内容中心
带宽
流量
请求数
回源带宽
回源流量
用量查询
带宽
流量
请求数
非省内引入域名带宽
地区分布
统计报表
企业月流量
非系统分发域名日峰值
试商用客户峰值带宽(企业)
试商用客户峰值带宽(订购)
运营指标导出
报表新增
计费对账
话单导出-计费话单
话单导出-中间话单
话单统计
平面结算
分省结算
自有业务中间话单统计
中间话单统计
业务运维/配置管理
域名管理
批量域名管理
全站加速控制台/统计分析/数据统计
带宽
流量
请求数
状态码
直播控制台/域名管理
域名管理
直播控制台/统计分析/状态码
"直播控制台/统计分析/直播统计
下行带宽/流量上行带宽观众数推流路数"
直播控制台/统计分析/流播放画像
直播控制台/统计分析/增值服务统计
直播控制台/流监控/推流帧码率
直播控制台/流监控/历史推流列表
冲突域名管理
冲突域名查询
# 总结
今天有开始了需求拆分工作。久违的有弄了好久的拆分工具。感觉过的好快,去年为了这个工具搭进去了好多时间和经历,不知不觉现在再看这个方式已经落伍了。
+15
View File
@@ -0,0 +1,15 @@
# 任务
# 日志
VgK6K!5VTeoHTW
# 总结
上午和田宝去了公园,中午去了大集,中间小杨和我说五一的安排我表示五一不想出门。心里变的怪怪的。
中午吃完饭就睡觉了。
最近看了星球大战。感觉这个挺不错的。体验了很早很早之前的能有这样的作品的神奇。
我现在有点分不清是我的问题,还是什么在影响着我的,我做的到底是不是太差劲了,或者自己是个骗子一样。
+13
View File
@@ -0,0 +1,13 @@
# 任务
# 日志
# 总结
早晨和小杨去了中医医院,看完病我们直接去沙河大集了,准备等第二天我拿药的时候再一起煎药。
沙河大集装修了。尝了榴莲饼,网红毛毛里脊。感觉这次干净多了。但是我们发现小寨的摊位在沙河大集貌似没有那么火。
中间给田宝淘了一个玩具花了 40。但是下午就让田宝玩儿牺牲了。
今天看到了一句话,折磨我们的都是想象,这个实在是太符合我了。
+17
View File
@@ -0,0 +1,17 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 项目:完成 4 月的研发过程管理任务清单。(李春良 1)
- [x] 项目:关于联调时间,BBOSS 周二,BPM 周三。(张鹏豪 0.5)
- [x] 客响:www.qdgyy.cn 信安信息数据冗余清理,此域名在 IBS 已不存在,已同步信安信息删除。(赵普明 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,3.9 客服智能体一期底层大模型替换&mcp开发,增加版本、增加工具显示内容,默认值问题(李春良 5.5)
# 日志
httpmethod
# 总结
早晨去开药。
下班拿药。
+21
View File
@@ -0,0 +1,21 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,OCT 7.20.0 工具并发更新覆盖问题、工具增加展示名称字段,默认值复写 schema 问题(李春良 7)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,BBOSS 环境存在问题。(张鹏豪 0.5)
- [x] 开发:monitor 邮件问题。(张鹏豪 1)
# 日志
```
// 1. VPN 控制与认证(必须走物理网卡,确保随时可达)
"111.1.51.182/32", // SDP 控制中心域名解析出的 IP
"112.17.28.117/32" // SPA 单包授权敲门用的固定 IP
// 2. 公司内网业务资源(OA办公 + 开发环境)
// "172.22.0.0/16", // 你的 OA 内网段
// "10.54.0.0/16" // 你的开发内网段
```
# 总结
今天想到一个关于核桃识别的想法,可以实现 AI 配对。感觉整体是可行的。
+631
View File
@@ -0,0 +1,631 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,HCDN业务标准化接入-典基平面接入与基础数据模型扩展。(张鹏豪 5)
- [x] 开发:monitor 邮件问题,新增日志及 sendIllegalDomainEmail 测试接口。(张鹏豪 1)
- [x] 测试:新增的参数“IsCreditControl”为非枚举值时,增加校验。(郑子雯 1)
- [x] 测试:企业月流量中分发平面下拉框信息与实际分发平面信息不对等。(李英浩 0.5)
# 日志
现在想要讨论一个新功能的方案,关于配置。也是代理工具主要的一个部分。
当前我有两个主要的功能模块:
1. 控制(这个模块填写的配置链接获取的必须是完整的配置包含节点信息的。)
2. 日志
首先节点的来源从一个 clash 订阅获取,这里我我希望实现类似于 Sub-Store 那种效果(此项目在 D:\MyCode\Study\Sub-Store 中,你可以翻看实现逻辑),这个功能点就是从一个 clash 顺利转换出各种协议的 sing-box 节点备用。
用户可以提供一个自己的预填模版(没有节点信息):类似:
```
{
"inbounds": [
{
"tag": "mixed-in",
"type": "mixed",
"listen": "127.0.0.1",
"listen_port": 20122
},
{
"tag": "tun-in",
"type": "tun",
"address": ["172.18.0.1/30"],
"auto_route": true,
"strict_route": true,
"route_exclude_address": ["111.1.51.182/32", "112.17.28.117/32"],
"stack": "mixed",
"platform": {
"http_proxy": {
"enabled": true,
"server": "127.0.0.1",
"server_port": 20122
}
}
}
],
"outbounds": [
{
"tag": "默认",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "✈️ Telegram",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "▶️ YouTube",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "📺 Netflix",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🌐 Google",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🤖 AI",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "💭 X",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "♾️ Meta",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "🎬 TikTok",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益"
]
},
{
"tag": "💰 PayPal",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": [
"默认",
"🇺🇸 美国",
"🇭🇰 香港",
"🇹🇼 台湾",
"🇸🇬 新加坡",
"🇯🇵 日本",
"公益",
"直连"
]
},
{
"tag": "🇺🇸 美国",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": ["🇺🇸 美国自动♻️"]
},
{
"tag": "🇭🇰 香港",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": ["🇭🇰 香港自动♻️"]
},
{
"tag": "🇹🇼 台湾",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇸🇬 新加坡",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇯🇵 日本",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "🇺🇸 美国自动♻️",
"type": "urltest",
"outbounds": [],
"url": "http://www.apple.com/library/test/success.html",
"interrupt_exist_connections": true
},
{
"tag": "🇭🇰 香港自动♻️",
"type": "urltest",
"outbounds": [],
"url": "http://www.apple.com/library/test/success.html",
"interrupt_exist_connections": true
},
{
"tag": "公益",
"type": "selector",
"interrupt_exist_connections": true,
"outbounds": []
},
{
"tag": "直连",
"type": "direct"
}
],
"route": {
"rules": [
{
"action": "hijack-dns",
"port": 53
},
{
"action": "reject",
"network": "udp",
"port": 443
},
{
"action": "sniff"
},
{
"action": "reject",
"protocol": "quic"
},
{
"action": "hijack-dns",
"protocol": "dns"
},
{
"type": "logical",
"mode": "or",
"rules": [
{
"domain_suffix": ["excalicode.org"]
},
{
"ip_cidr": ["82.158.226.4"]
}
],
"outbound": "直连"
},
{
"rule_set": ["Telegram", "Telegram_Ip"],
"outbound": "✈️ Telegram"
},
{
"rule_set": ["Youtube"],
"outbound": "▶️ YouTube"
},
{
"rule_set": ["Netflix"],
"outbound": "📺 Netflix"
},
{
"rule_set": ["Google"],
"outbound": "🌐 Google"
},
{
"rule_set": ["OpenAI", "Claude", "Gemini"],
"outbound": "🤖 AI"
},
{
"rule_set": ["X"],
"outbound": "💭 X"
},
{
"rule_set": ["FaceBook"],
"outbound": "♾️ Meta"
},
{
"rule_set": ["TikTok"],
"outbound": "🎬 TikTok"
},
{
"rule_set": ["PayPal"],
"outbound": "💰 PayPal"
},
{
"rule_set": [
"GeoSite-Private",
"GeoSite-CN",
"GeoIP-Private",
"GeoIP-CN"
],
"outbound": "直连"
}
],
"rule_set": [
{
"tag": "Work",
"type": "remote",
"url": "https://raw.githubusercontent.com/Docker7530/netbox/refs/heads/main/sing-box/rule_set/work.srs",
"download_detour": "默认"
},
{
"tag": "Telegram",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-telegram.srs",
"download_detour": "默认"
},
{
"tag": "Telegram_Ip",
"type": "remote",
"url": "https://raw.githubusercontent.com/DustinWin/ruleset_geodata/refs/heads/sing-box-ruleset/telegramip.srs",
"download_detour": "默认"
},
{
"tag": "Youtube",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-youtube.srs",
"download_detour": "默认"
},
{
"tag": "Netflix",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-netflix.srs",
"download_detour": "默认"
},
{
"tag": "Google",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-google.srs",
"download_detour": "默认"
},
{
"tag": "OpenAI",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-openai.srs",
"download_detour": "默认"
},
{
"tag": "Claude",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-anthropic.srs",
"download_detour": "默认"
},
{
"tag": "Gemini",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-google-gemini.srs",
"download_detour": "默认"
},
{
"tag": "X",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-x.srs",
"download_detour": "默认"
},
{
"tag": "FaceBook",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-facebook.srs",
"download_detour": "默认"
},
{
"tag": "TikTok",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-tiktok.srs",
"download_detour": "默认"
},
{
"tag": "PayPal",
"type": "remote",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/refs/heads/rule-set/geosite-paypal.srs",
"download_detour": "默认"
},
{
"tag": "GeoSite-Private",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/private.srs",
"download_detour": "默认"
},
{
"tag": "GeoSite-CN",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/cn.srs",
"download_detour": "默认"
},
{
"tag": "GeoIP-Private",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geoip/private.srs",
"download_detour": "默认"
},
{
"tag": "GeoIP-CN",
"type": "remote",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geoip/cn.srs",
"download_detour": "默认"
}
],
"auto_detect_interface": true,
"default_domain_resolver": {
"server": "Local-DNS"
}
},
"dns": {
"servers": [
{
"tag": "Local-DNS",
"type": "https",
"domain_resolver": "Hosts",
"server": "doh.pub"
},
{
"tag": "Fakeip-DNS",
"type": "fakeip",
"inet4_range": "198.18.0.0/15",
"inet6_range": "fc00::/18"
},
{
"tag": "Work-Test-DNS",
"type": "udp",
"server": "172.22.102.231",
"bind_interface": "wg0"
},
{
"tag": "Work-Oa-DNS",
"type": "udp",
"server": "10.54.2.232",
"bind_interface": "wg0"
},
{
"tag": "Hosts",
"type": "hosts",
"predefined": {
"doh.pub": ["1.12.12.21", "120.53.53.53"]
}
}
],
"rules": [
{
"domain": ["koms.komect.net"],
"server": "Work-Oa-DNS"
},
{
"rule_set": ["Work"],
"server": "Work-Test-DNS"
},
{
"rule_set": ["GeoSite-Private", "GeoSite-CN"],
"server": "Local-DNS"
},
{
"query_type": ["A", "AAAA"],
"server": "Fakeip-DNS"
}
],
"strategy": "prefer_ipv4"
},
"experimental": {
"clash_api": {
"external_controller": "0.0.0.0:9595",
"external_ui": "ui",
"external_ui_download_url": "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip",
"external_ui_download_detour": "默认",
"secret": ""
},
"cache_file": {
"enabled": true,
"store_fakeip": true,
"store_rdrc": true
}
}
}
```
这个东西先设计为通过 URL 拉取的形式吧类似与这种:
```
https://raw.githubusercontent.com/Docker7530/netbox/refs/heads/main/sing-box/config/config_sub.json
```
然后重点来了,我想给用户一个脚本区域。实现节点和模版配置的拼接类似:
```
const CONFIG = {
name: "all",
type: "collection",
includeUnsupportedProxy: false,
groups: [
{
outbound: "🇭🇰 香港",
tags: String.raw`^(?!.*公益).*(港|hk|hongkong|kong kong|🇭🇰)`,
},
{
outbound: "🇹🇼 台湾",
tags: String.raw`^(?!.*公益).*(台|tw|taiwan|🇹🇼)`,
},
{
outbound: "🇯🇵 日本",
tags: String.raw`^(?!.*公益).*(日本|jp|japan|🇯🇵)`,
},
{
outbound: "🇸🇬 新加坡",
tags: String.raw`^(?!.*公益).*(新|sg|singapore|🇸🇬)`,
},
{
outbound: "🇺🇸 美国",
tags: String.raw`^(?!.*公益).*(美|us|unitedstates|united states|🇺🇸)`,
},
{ outbound: "公益", tags: String.raw`公益` },
],
};
const args = (typeof $arguments === "object" && $arguments) || {};
const subscriptionName =
(typeof args.name === "string" && args.name.trim()) || CONFIG.name;
const t = args.type?.trim?.().toLowerCase?.();
const subscriptionType =
t === "s" || t === "subscription" ? "subscription" : CONFIG.type;
const rawConfig = $content ?? $files?.[0];
const parser = ProxyUtils.JSON5 || JSON;
const config = parser.parse(rawConfig);
if (!Array.isArray(config.outbounds)) {
throw new TypeError("配置文件格式错误: outbounds 字段缺失或不是数组");
}
const proxies = await produceArtifact({
name: subscriptionName,
type: subscriptionType,
platform: "sing-box",
produceType: "internal",
produceOpts: {
"include-unsupported-proxy": CONFIG.includeUnsupportedProxy,
},
});
const rules = CONFIG.groups.map((rule) => ({
outboundReg: new RegExp(rule.outbound, "i"),
tagReg: new RegExp(rule.tags, "i"),
}));
for (const outbound of config.outbounds) {
if (!Array.isArray(outbound.outbounds)) continue;
const targetRules = rules.filter(({ outboundReg }) =>
outboundReg.test(outbound.tag)
);
for (const { tagReg } of targetRules) {
const matchedTags = proxies
.filter(({ tag }) => tagReg.test(tag))
.map(({ tag }) => tag);
if (matchedTags.length > 0) {
outbound.outbounds.push(...matchedTags);
} else if (!outbound.outbounds.includes("直连")) {
outbound.outbounds.push("直连");
}
}
}
config.outbounds.push(...proxies);
$content = JSON.stringify(config, null, 2);
```
这是我在 substore 的实现效果,你可以更具咋们当前的项目设计一下这个脚本操作怎么暴露给用户合适。更高级,现代化,符合咋们的项目。
然后还有个问题,这里生成的配置怎么和 控制模块结合,是以控制模块选择应用的形式还是怎么合适。先出一版设计方案。
---
招聘【全栈工程师】全职/兼职
1. 工作内容:宠物类小程序全栈维护,前端后端及开发 bug 修复
2. 工作待遇:工资面谈,创始股权激励
3. 要求:熟悉 ai 工作原理,有 5 年以上全栈经验,5-10 年技术开发经验
4. 工作时间:弹性工作制,时间灵活
5. 工作地点:接受线上办公
6. 联系方式:18613375551
---
```
curl --location 'http://localhost:8082/api/monitor/ops/illegal/domain/email/send?email=15033848944%40163.com' \
--header 'Content-Type: application/json' \
--data '[
{
"provider": "阿里云",
"domain": "example.com"
},
{
"provider": "腾讯云",
"domain": "test.com"
}
]'
```
# 总结
+12
View File
@@ -0,0 +1,12 @@
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 测试:新增域名工单,校验是否有在途的 esop 和 cache+ 自助域名工单。(张鹏豪 2)
# 日志
详细了解了退休金及算的原理。我个人的感觉就是你只要追这平均工资就不会被落下。
# 总结
详细了解了退休金及算的原理。又成长了。