hrz
|
aee4a3cf7a
|
文档改成只讲单模块这侧的凭据来源
上一版把两个来源混成一句,说智控台那边的默认值也是空的,那要等数据库变更脚本跑完才成立,容易被当成现状。这版只讲单模块部署:凭据从服务器配置的 plugins.get_weather 读,仓库模板是空的;历史脚本里那把旧 key 已失效,不要用也不要照着填。
|
2026-10-24 06:06:28 +00:00 |
|
hrz
|
824d2b4837
|
文档讲清历史脚本里那把失效的旧 key
仓库历史的数据库变更脚本里还留着一把已经失效的旧 key,不能用也不该照着填,但那些脚本已经被现网库执行过,改内容会让存量库启动报错,所以原样留着。文档里把这件事说清楚,也说明当前读凭据的两个地方都是空的,那把旧 key 不在代码路径上。
|
2026-10-24 05:50:23 +00:00 |
|
hrz
|
4140981a8a
|
凭据提示原样念出来,日期按北京时间算
评审提的几条一起改:观测时间和数据更新时间分开标注,网页那条路也把观测时间解析出来;「今天」按北京时间算,不跟服务器时区走;失败路径不再传那个读不到的参数。
凭据缺失时改成直接回复,服务端日志也留一条带文档路径的告警,开发者看日志能定位。
|
2026-10-24 01:19:06 +00:00 |
|
hrz
|
65e18712e6
|
天气插件不再内置和风天气凭据
仓库里那个和风天气的密钥不再预置,配置文件和代码里的默认值都清空了,没配凭据时直接提示用户自己去申请。
顺带修了几处:网页结构变了取不到内容时给中性提示,不再把Python的报错原文念给用户;接口和网页两条路的日期、单位统一成一种写法;报告加上观测时间;网页兜底只等5秒,失败结果记5分钟,不用每次都等二十几秒。
文档补了申请流程和要勾的三项权限。
|
2026-10-24 00:30:22 +00:00 |
|
hrz
|
63f3860f29
|
修掉天气新闻插件的三处鲁棒性缺陷
城市查询不再写死国内范围,境外城市也能查到。实时天气和七天预报要都拿到才走 JSON,缺一个就整体退回网页路径,不产出残缺报告。网页抓取加上跟随跳转,旧链接的 302 也能拿到内容。城市查不到时不再让用户去核对地名,多数情况是密钥失效。报告补上气压和降水量。新闻 URL 拼接抽成纯函数,配了 23 项单测。
|
2026-10-23 23:32:30 +08:00 |
|
Jacob
|
34cba2f6a5
|
fix: harden weather and news plugins
|
2026-10-23 15:35:19 +08:00 |
|
hrz
|
eb9dc8ca0f
|
把 pydub 探针绑到当前解释器同目录的完整版 ffmpeg (#3444)
edge_tts 升 7.3.1;edge.py 撤 WSS_URL patch 改默认
(4.36 跑默认 URL 稳定)。util.py 加 PATH 临时注入,
绕开 Mac 上 Trae CN 注入的精简版 ffmpeg/ffprobe,
让 pydub 拿 conda env 完整版。引用计数加锁防多线
程串。
|
2026-10-15 15:43:39 +08:00 |
|
wengzh
|
27399a2fb6
|
Merge pull request #3430 from xinnan-tech/py-text-test
Py text test
|
2026-10-14 14:11:53 +08:00 |
|
wengzh
|
7c43ecfcb5
|
Merge pull request #3434 from xinnan-tech/py-test-asr
fix: SenseVoice 日语识别结果按词带空格 (#3412)
|
2026-10-14 11:54:39 +08:00 |
|
korexil
|
0be634c627
|
fix: SenseVoice 日语识别结果按词带空格 (#3412)
SenseVoice 识别日语时偶尔按词输出空格(如「今日 の こと を 少し 長め に」),
这些空格会原样进入对话历史并交给 LLM。lang_tag_filter 现在去掉两个
中日文字符之间的空格,韩文、英文的词间空格保持不变。
|
2026-10-14 10:32:56 +08:00 |
|
Sakura-RanChen
|
932962e8d3
|
补充注释说明,调整测试样例
|
2026-10-14 10:10:28 +08:00 |
|
wengzh
|
60c2a7ee17
|
Merge pull request #3431 from xinnan-tech/py-content-text
Py content text
|
2026-10-13 17:13:42 +08:00 |
|
Sakura-RanChen
|
a01f0aa29b
|
去除没必要的测试,上游为str不需要防御性增加
|
2026-10-13 16:54:42 +08:00 |
|
korexil
|
4445aa7510
|
fix: FunASR 识别结果以 JSON 原样进入对话历史 (#3411)
FunASR 返回 {"content","language","emotion"} 时,startToChat 只在含 speaker
字段时才解包,否则整段 JSON 字符串会作为用户消息交给 LLM 并写入对话历史。
现在没有 speaker 时只取 content。
|
2026-10-13 16:44:13 +08:00 |
|
wengzh
|
dc86a780a2
|
Merge pull request #3418 from xinnan-tech/py-test
Py test
|
2026-10-13 15:47:30 +08:00 |
|
Sakura-RanChen
|
a5e47f2c4e
|
补充字符,调整字符判断
|
2026-10-13 15:29:28 +08:00 |
|
Sakura-RanChen
|
2057b99aeb
|
迁移测试用例,优化相关注释
|
2026-10-13 14:31:21 +08:00 |
|
wengzh
|
7957817a72
|
Merge pull request #3425 from xinnan-tech/chore/dependabot-monthly-groups
Dependabot 改月度更新并按用途分组
|
2026-10-13 11:41:15 +08:00 |
|
hrz
|
a6eeb107f4
|
fix(deps): 补 dependabot ignore portalocker
requirements.txt 把 portalocker 锁在 3.x,4.x 与 qdrant-client<1.20 的
portalocker<4.0 冲突 (PR #3360)。Dependabot 默认推 4.x 升级会破约束。
依 openrz 评审 P1 在 ignore 列表追加 portalocker 一项。
|
2026-10-13 11:28:37 +08:00 |
|
wengzh
|
847337cabb
|
Merge pull request #3419 from xinnan-tech/fix/3391-route-guard-whiteList
fix(router): 路由守卫改 anon 白名单反向匹配
|
2026-10-13 11:15:15 +08:00 |
|
Sakura-RanChen
|
b8f23ffa66
|
调整相关代码
|
2026-10-13 10:40:47 +08:00 |
|
lww9029
|
dc581d7185
|
fix: 修复登录状态下还能访问白名单路由问题
|
2026-10-13 10:36:25 +08:00 |
|
hrz
|
741ec299c0
|
fix(tts): edge-tts 失声改走 msedgeservices (#3420)
* fix(tts): edge-tts 失声改走 msedgeservices
微软 2026-10 起对 legacy 消费者接口返回 403,
edge-tts 7.2.8 仍走 speech.platform.bing.com 走不通。
上游 PR rany2/edge-tts#491 切到 api.msedgeservices.com 修好,
但 7.2.8 仍是 PyPI 最新版本。
仓库在 edge.py 顶部临时把 WSS_URL 顶住,等 7.2.9 出了删掉。
* fix(tts): patch 还要写 communicate.WSS_URL
edge-tts 7.2.8 仍指 legacy bing 接口,10 月起微软 403。
上游 PR #491 已切到 msedgeservices.com,7.2.9 才进 PyPI,先顶住。
上次只改 constants.WSS_URL 不够,communicate 用 from import 是模块局部名,
LEGB 找不到新值。这次同时改 communicate.WSS_URL 才生效。
|
2026-10-13 09:58:30 +08:00 |
|
hrz
|
505925fb21
|
Dependabot 改月度更新并按用途分组
原本每周跑一次会刷很多零碎 PR,看着烦。改成每月一次,并把第三方 AI 服务、本地模型、网络栈拆成几组聚一起,每组出一个 PR 就行。被锁住的 torch/numpy/websockets 几个直接忽略掉,免得它推升级 PR 进来。
|
2026-10-13 09:34:02 +08:00 |
|
hrz
|
4aa63baf75
|
fix(router): 路由守卫改 anon 白名单反向匹配
业务路由越加越多,原来硬编码的 8 项守卫名单跟不上了,
未登录直接进十来个业务页看到骨架再被踢,体感抖。
守卫改成只对登录、注册、找回密码、根路径这四页放行,其余一律查 token。
顺手把 9 处没人读的 meta.requiresAuth 和 meta.title 死字段删了。
|
2026-10-12 18:02:36 +08:00 |
|
korexil
|
70ab19d23f
|
fix: TTS 分句在引号内切开句子 (#3413)
_get_segment_text 会在引号内的标点处切分(如「わぁ!」って、“好!”然后),
把引号拆到两段里,或留下只有「。」的片段。新增 _quote_safe_cut:切分点后的
右引号与句末标点一并带走;位于未闭合引号内或右引号后句子仍在继续时,顺延到
下一个标点。不含引号的文本切分结果不变。
|
2026-10-12 16:26:40 +08:00 |
|
Sakura-RanChen
|
e5f326285e
|
update: 优化client 生命周期对齐业务请求——重试内连接复用、锁外构造、safe_close 可打断重试
|
2026-10-12 15:42:51 +08:00 |
|
hrz
|
4576e391bb
|
fix(ci): 阿里云 PyPI 镜像 metadata 缺失回退官方源 (#3417)
基镜像构建挂了——日志显示 pip 在装 requirements.txt 阶段退出码 1,
罪魁是阿里云 pypi 镜像对 mcp==1.22.0 的元数据文件 404。
装包那行加 --extra-index-url https://pypi.org/simple,
主源没货时自动去官方源捞。
|
2026-10-12 10:28:35 +08:00 |
|
Yanhan Ruan
|
ef1d24e40d
|
fix(server): 修复临时事件循环结束后 HTTP 客户端未释放的问题 (#3416)
|
2026-10-12 10:00:28 +08:00 |
|
wengzh
|
c30c40bf56
|
Merge pull request #3415 from xinnan-tech/chore/bump-deps-20261010065106-1659
chore(deps): 批量升级 4 个允许的依赖
|
2026-10-10 15:24:17 +08:00 |
|
Sakura-RanChen
|
199c4ce365
|
chore(deps): batch bump 允许升级的依赖
|
2026-10-10 14:53:30 +08:00 |
|
hrz
|
a6cd755cf2
|
聊天记录弹框底部不再留大量空白 (#3410)
弹框本身和 body 用 !important 撑到视口(body 顶开 size="large" 默认多扣的 56px footer 高度)。body 的高度由 flex: 1 自动撑满,max-height 只用来顶开原来的 950px 上限。
|
2026-10-09 17:24:39 +08:00 |
|
hrz
|
23d0e64d9d
|
召回测试弹框与切片弹框样式对齐 (#3409)
召回测试弹框宽度从 900px 调到 1200px 并启用大弹框样式,高度、上下间距与切片弹框保持一致。结果区域改用 flex 填充而不是写死的 400px 高度。
|
2026-10-09 17:18:06 +08:00 |
|
hrz
|
96c224c4e4
|
切片和聊天记录弹框统一为大弹框样式 (#3407)
知识库查看切片弹框加 size="large",聊天记录弹框去掉旧样式覆盖并把 body 改成 flex 列布局,底部下载按钮不再绝对定位,两个弹框跟历史版本对齐。
|
2026-10-09 17:02:49 +08:00 |
|
hrz
|
2b6483662a
|
召回测试弹框回车不再刷新页面 (#3408)
给 el-form 加阻止默认提交的处理,按回车时不再触发浏览器刷新。
|
2026-10-09 17:01:52 +08:00 |
|
hrz
|
aef973e6b9
|
7 处 el-select 加 filterable 支持输入筛选 #3405 (#3406)
主诉:手动添加设备下拉无搜索(FIRMWARE_TYPE 字典 54 项)。统一修同类位置:替换词多选加 collapse-tags;登录/注册/找回密码的区号下拉加 filterable(海外 200+ 项)。无新依赖、纯 element-ui 原生属性。
|
2026-10-08 15:39:46 +08:00 |
|
hrz
|
7a260ee143
|
弹框关掉后再点不开以及宽度高度统一收口 (#3388)
* 统一管理后台弹框更舒展
把 CustomDialog 默认宽度从 600 加到 720,正文给到至少 360 的高度,
默认弹框就不再显得局促。参数编辑弹框也跟着加宽。智能体历史版
本那条列表、对比和恢复预览都给到至少 420 的最小高度,避免内容
少时框太矮看起来小气。其他像添加智能体、绑定设备这些原本就合适
的弹框没动。
* 弹框外观统一收口
原本几个弹框长得参差不齐:标题字号、按钮文案、留白高度各管各的。这次把新建智能体、新建设备、改模型、改参数这几个弹框接到同一个底座上,按钮统一成「确定」「取消」,输入框字号高度对齐,遮罩背景加了模糊,弹框太高就内部滚动,四个弹框看起来一个模子
* 修复弹框关掉后再点不开
之前几个弹框改用新底座的时候,关闭那一路少了一段转发:父页面用双向绑定来收弹框关闭的信号,子页面应该再把关闭事件抛上去告诉父页面。这一段被删了,下次再点添加按钮时父页面那边状态没复位,弹框就拉不开来。现在把这段补回去。
* 弹框宽度和高度统一收口
同一批弹框的尺寸还是各管各的:模型配置里改参数那个是跟着窗口大小按比例伸缩,历史提示词的源编辑弹框是 900 像素,参数管理里又是 720 像素,智能体变更详情那个上下还留了一大块空白。这次收到同一个共用底子上:宽度都对齐到 720 像素,弹框默认上下贴齐屏幕边、内容多时中间滚动,变更详情那个高度撑到接近屏幕顶到底。
* 管理后台弹框按大小分类统一外观
管理后台里的弹框按大小分成两类来收口。占整页的大弹框(历史版本、变更详情、模型修改、模型参数修正等)撑满整个浏览器高度,下面不再留白;小弹框(添加智能体、添加设备、知识库、字典、角色模板等)改成对齐屏幕正中,不再顶在屏幕上沿。修改模型那条弹框也加宽到 960,左右留白加大到 40,跟历史版本对齐,看起来更舒展。
* 大弹框上下留白收口到十像素并按三档统一宽度
大弹框上下各留十像素让边框和圆角清晰可见。宽度按用途分三档:表单 960、含代码 1080、表格 80% 加宽度上限。供应器、上下文供应器、音色克隆都改 960;TTS 从 90% 改 80%;角色模板从 1200 改 1080;缓存查看从 70% 改 80%。新增模板的大文本框改成自适应高度。
* 弹框样式与文案收口处理
AddDeviceDialog 确认后关闭弹框;CustomDialog 去掉 :global 与紧邻选择器,合并 el-dialog__body 样式块;删除未使用的 --dialog-form/--dialog-code;AddWisdomBodyDialog 的 cancel/handleClose 委托到同一个实现;多语言文案同步去冒号与双点。
* 弹框遮罩样式移到全局作用域
scoped 块里的 ::v-deep .v-modal 打不到 body 层的遮罩,改在 global.scss 用全局选择器。
* 弹框 wrapper 居中样式移到全局作用域
scoped 块里的 ::v-deep .el-dialog__wrapper 同样打不到 element-ui 自渲染的 wrapper,跟 .v-modal 一起挪到 global.scss。
* 弹框提交状态异常收口
设备激活码错误路径不再卡 loading;Provider 与固件弹框补 loading 兜底。
* 弹框视觉异常收口
首页删除确认弹框 wrapper 居中;历史版本弹框去掉内层多余滚动条。
* 设备 API 链式返回修复
bindDevice 等方法补上 return,让 .fail() 兜底回调能正常注册到请求对象上。
* 设备 API 错误回调参数补全
device.js 六个方法加 failCallback 参数;user.js login 网络重试补 failCallback;AddDeviceDialog 改四参数签名。
* 设备状态 API 失败回调引用修复
getDeviceStatus 的 .fail() 块把函数体内 callback(res) 改成与签名一致的 if (failCallback) failCallback(err),避免业务错误时抛 ReferenceError。
|
2026-10-07 08:03:25 +08:00 |
|
欣南科技
|
87c6df77b0
|
Merge pull request #3386 from xinnan-tech/0.9.7
Bump to 0.9.7
v0.9.7
|
2026-09-29 10:03:47 +08:00 |
|
hrz
|
eb51f420a2
|
Bump to 0.9.7
|
2026-09-29 09:13:14 +08:00 |
|
DaGou12138
|
1eefb4ea86
|
Merge pull request #3385 from xinnan-tech/serpapi
Serpapi
|
2026-09-28 10:25:33 +08:00 |
|
hrz
|
1211f8202b
|
Merge pull request #3376 from googio/feat/serply-search
feat(web_search): 新增Serply搜索源
|
2026-09-28 09:36:42 +08:00 |
|
wengzh
|
788f5301fd
|
Merge pull request #3378 from xinnan-tech/fix-deps
fix(deps): 移除 chardet 直接依赖
|
2026-09-21 09:38:29 +08:00 |
|
Sakura-RanChen
|
edad16aedf
|
fix(deps): 移除 chardet 直接依赖
|
2026-09-20 15:55:21 +08:00 |
|
serply
|
65a3fae9fc
|
feat(web_search): 新增Serply搜索源
联网搜索插件在秘塔和Tavily之外增加Serply,返回谷歌搜索结果。
通过 provider: "serply" 选用,未配置时行为不变。
|
2026-09-17 16:45:28 -04:00 |
|
wengzh
|
f4ba65f224
|
Merge pull request #3375 from xinnan-tech/fix-snapshot-dialog-diff-style
fix: 修复 v-code-diff 斜体样式干扰 diff 展示
|
2026-09-17 17:54:02 +08:00 |
|
lww9029
|
87c2bae55a
|
fix: 修复 v-code-diff 斜体样式干扰 diff 展示
|
2026-09-17 17:50:27 +08:00 |
|
wengzh
|
628d4cedb7
|
Merge pull request #3373 from xinnan-tech/feat-snapshot-dialog-code-diff
feat: 历史版本快照增加代码对比视图
|
2026-09-17 17:06:59 +08:00 |
|
 Sakura-RanChenandSakura-RanChen
|
6c3f89cae1
|
chore(deps): 批量升级 4 个允许的依赖 (#3374)
* chore(deps): batch bump 允许升级的依赖
* test: 添加 5 条核心链路测试 + 默认 mock 模式
参照 PR #3370 的整体结构,新增 STT/LLM/TTS/RAG/Memory 五个 test_*.py
覆盖关键链路。conftest.py 默认 mock 模式:
- PYTEST_CONFIG_FILE 指向单模块配置文件(不入库)
- RUN_LIVE_API_TESTS=1 走真请求(必须配齐密钥)
- 真实存在的第三方包(openai/httpx)保留,仅 patch httpx 网络层
- 装了一半会炸的本地模型(torch/funasr/modelscope)强制 shim
- mock load_config / init_service,避免触发远程 manager-api
mock 模式目标:dep-upgrade orchestrator / CI 不需要任何密钥即可跑通。
---------
Co-authored-by: Sakura-RanChen <Sakura-RanChen@local>
|
2026-09-17 15:57:43 +08:00 |
|
lww9029
|
4745186cea
|
style: 调整窄屏样式
|
2026-09-17 10:43:26 +08:00 |
|
lww9029
|
1ddc97b626
|
feat: 快照对话框增加代码对比视图
|
2026-09-17 10:04:15 +08:00 |
|