手搓标讯系统实战——win11/CherryStudio/Icompify/剑鱼标讯/Gitea

Tnotices 本地标讯助手 · 搭建与使用指南

适用对象:需要在本地/内网复现「智能体 + 剑鱼标讯 + Gitea」标讯跟进平台的销售、售前、投标管理人员。

本文不含 Cherry Studio 安装、不含本地 Gitea 搭建;默认两者已可用。

参考实现:https://github.com/xztjhs/Tnotices(推荐本地使用Gitea来实现)


0. 这套系统能做什么

能力 说明
每日自动抓取 智能体按关键词矩阵抓取四川/西藏标讯,去重后入库
变更跟踪 自动识别更正、补遗、延期、答疑、质疑
中标跟踪 抓取中标/成交公告,回填中标单位、金额、公示日期
异常识别 废标、流标、终止自动转异常状态
自动完结 中标公示满 30 天自动标记"已完结",不再巡检
Gitea 首页看板 仓库首页 README 直接显示项目清单
交互看板 index.html 支持搜索、筛选、排序
事件审计 每次变更写入 data/events.jsonl,可回溯

核心原则 :Gitea 是唯一可信归档,data/projects.json 是唯一数据源,脚本只做确定性处理,智能体只做"检索 + 判断 + 录入"。

30 分钟快速复现

步骤 动作 对应章节
1 配置 icompify 模型并测试工具调用 Step 1
2 创建标讯助手 Agent,粘贴系统提示词 Step 2
3 解压模板包到 D:\Tnotices Step 3--5
4 改 config/settings.json 的 Gitea 地址/owner/repo Step 4
5 导入初始 CSV,recompute + render Step 6--7
6 打开本地看板验收 Step 7
7 配 GITEA_TOKEN,init-repo + push Step 8
8 建每天 08:30 的定时任务,手动跑 5 个项目验证 Step 9--10

1. 架构

复制代码
┌─────────────────────────────────────────────────────────────┐
│ Cherry Studio                                                │
│  ├─ 模型服务:icompify / deepseek-v4.1-flash-1017            │
│  ├─ 智能体:标讯跟进助手(浏览器 + 文件 + Shell + 定时)      │
│  └─ 定时任务:每天 08:30                                     │
└───────────────┬─────────────────────────────────────────────┘
                │ 浏览器检索 / CLI 更新
                ▼
┌─────────────────────────────────────────────────────────────┐
│ 本地工作目录 D:\Tnotices                                     │
│  ├─ data/projects.json     项目主数据(唯一数据源)           │
│  ├─ data/events.jsonl      事件流水(只追加)                 │
│  ├─ scripts/tnotices.py    更新/渲染/推送                     │
│  ├─ README.md              自动生成,Gitea 首页展示           │
│  ├─ index.html             自动生成,交互看板                 │
│  └─ reports/YYYY-MM-DD.md  每日日报                           │
└───────────────┬─────────────────────────────────────────────┘
                │ git push
                ▼
┌─────────────────────────────────────────────────────────────┐
│ 本地 Gitea:admin/Tnotices(私有)                            │
│  ├─ 首页 README 项目清单                                      │
│  ├─ 代码/脚本/配置                                            │
│  └─ 提交历史 = 每日快照                                       │
└─────────────────────────────────────────────────────────────┘

2. 前置条件

项 要求 检查命令
操作系统 Windows 10/11,PowerShell 5.1+ $PSVersionTable.PSVersion
Cherry Studio 已安装,可创建智能体、可开浏览器 打开应用
本地 Gitea 已运行,能创建私有仓库 浏览器打开 Gitea
剑鱼标讯 有账号,可登录 浏览器打开 jianyu360.cn
icompify 算力 有 API Key,模型支持工具调用 见 Step 1
Git 2.40+ git --version
uv Cherry 自带或单独安装 uv --version
Python 3.11+(由 uv 管理,无需单独装) uv run python --version

重要 :智能体要操作浏览器、执行 Shell,模型必须支持 Function Calling / Tool Use。如果 icompify 该模型不支持工具调用,智能体只能聊天,无法完成抓取。Step 1 会做一次工具调用测试。


3. Step 1:在 Cherry Studio 配置 icompify 模型

3.1 添加提供商

  1. 打开 Cherry Studio → 设置 → 模型服务。
  2. 点击 添加提供商 ,选择 OpenAI 兼容 / 自定义。
  3. 填写:
    • 名称:icompify
    • API 地址:以 icompify 控制台的「API Base URL」为准,通常以 /v1 结尾
    • API Key:icompify 控制台创建
  4. 保存。

不同 icompify 账号的 Base URL 可能不同,本文不写死地址;以控制台显示为准。

3.2 添加模型

在 icompify 提供商下点击 添加模型:

字段 值
模型 ID deepseek-v4.1-flash-1017(以控制台模型列表为准)
显示名称 DeepSeek V4.1 Flash 1017
模型类型 对话 / Chat
上下文长度 按控制台标称填写(建议 ≥64K)
最大输出 8192 或更高
工具调用 必须开启(若提供商有该开关)

如果控制台只给 deepseek-v4.1-flash,就填这个;1017 可能是批次/版本号。以控制台模型列表的精确 ID 为准,不要凭记忆猜。

保存后点击 检查连接,确认返回正常。

3.3 设为默认模型

设置 → 默认模型 → 助手模型选择 DeepSeek V4.1 Flash 1017。

3.4 工具调用冒烟测试

新建一个临时对话,发送:

复制代码
请调用浏览器工具打开 https://example.com ,然后告诉我页面标题。
  • 如果模型正确发起工具调用并返回标题 → 通过。
  • 如果只回复文字、不调用工具 → 该模型/提供商未开启 Tool Use,需要换模型或联系 icompify 开通。

4. Step 2:创建标讯助手智能体

4.1 新建智能体

Cherry Studio → 智能体 → 新建智能体:

项 建议值
名称 标讯助手(四川/西藏)
模型 DeepSeek V4.1 Flash 1017
温度 0.2--0.3(结构化任务,低温度更稳)
最大输出 8192
工具 浏览器、文件读写、Shell/终端、定时任务、记忆、网页搜索

不同 Cherry 版本的工具有无差异;至少要保证 浏览器 和 文件/终端 可用。若没有 Shell 工具,可安装 filesystem + shell 类 MCP 服务器替代;完全不装 Shell 时,智能体只负责浏览器检索并输出结构化 JSON,CLI 更新/推送由人工在 PowerShell 执行。

4.2 系统提示词(直接复制)

非浪潮或其他区域,替换提示词首段的公司、区域、产品线即可;其余规则通用。

text 复制代码
# 角色
你是「招投标与客户情报专员」,为浪潮四川/西藏区域提供标讯检索、情报整理与跟进管理服务。
业务领域:服务器、存储、AI/算力、HPC、云、数据中心、信创、行业信息化。
重点区域:四川、西藏。客户类型:政府、央国企、医疗、教育、金融、能源、企业。

# 第一优先级原则
1. 真实优先:未从页面/工具实际读取的信息,不得补全、猜测或"合理推断"为事实。缺数据写"未披露",推断值加 [推测]。
2. 凭据安全:账号密码只在登录步骤内部使用,永不在回复、表格、文件名、知识库、脚本、日志中回显或复述,包括部分打码。
3. 授权边界:只使用用户明确提供的账号做只读浏览与导出。不注册新账号、不改密码/资料、不购买会员、不点击付费升级、不群发、不提交表单或报价。
4. 最小动作:能用一次请求拿到的,不做十次;复用已保存登录态;不遍历全站、不高频刷新、不做压力式抓取。
5. 不越权决策:投标/报价/放弃只给建议与依据,最终由人决定。

# 浏览器任务协议
1. 先访问目标站点确认是否已登录;已登录直接检索,不重复登录。
2. 需要登录时从配置读取账号密码,在页面输入框填写并提交;回复中只描述"已使用账号 A 登录 X 站点"。
3. 遇到图形验证码、短信/邮箱验证码、扫码、滑块、人机校验:立即暂停,提示用户在浏览器中手动完成,不得识别、绕过、猜解或反复提交。
4. 登录成功后确认并持久化登录态,用一次轻量校验确认有效。
5. 连续登录失败 2 次即停止并上报,避免账号被风控锁定。
6. 浏览器操作频率不超过 3 次/秒。

# 检索策略
- 关键词用组合维度:产品词 × 同义词/俗称 × 行业词 × 采购环节词。
- 明确筛选条件后再翻页:发布时间、区域、采购人类型、金额、采购方式、公告类型。
- 翻页到"结果明显无关"或"已覆盖时间窗"即停止。
- 记录本次检索参数(站点/关键词/筛选/页数/时间)。
- 站点不可访问、需付费或仅会员可见:标注"受限",不尝试技术规避。

# 信息提取字段
项目名称|项目编号|公告类型|采购人|代理机构|预算/控制价/中标金额(注明币种与含税口径)|采购方式|标段/包组|发布媒体|发布时间|报名截止|投标截止/开标|交付期|资格与资质要求|评分办法要点|联系人/电话/地址(仅公开展示的)|来源 URL|抓取时间|信息完整度。
规范化:日期 YYYY-MM-DD HH:mm;金额注明单位与是否含税;多站点冲突以采购人官方平台为准。

# 去重与变更
- 去重键:采购人 + 项目编号(或规范化项目名称) + 公告类型 + 发布日期。
- 与上次快照比对,输出增量:新增 / 关键字段变更 / 截止临近(≤3天)/ 已截止 / 已出结果 / 流标废标。

# 输出风格
- 中文,先结论后依据;能表格不写段落;金额、日期、比例给具体数字。
- 每个事实后跟来源与时间;没有来源的话不说。
- 不用"据了解""业内普遍认为"等无源表述。
- 长任务分阶段汇报:检索完成 → 抽取完成 → 整理完成。

# 红线
- 禁止暴露、暗示或部分展示账号密码、Cookie、Token。
- 禁止编造项目、金额、联系人、中标单位、工商数据。
- 禁止绕过验证码、反爬机制、付费墙,或使用他人账号。
- 禁止替用户做投标承诺、报价、签署、对外发送任何消息。
- 禁止把个人隐私(身份证、私人手机号、住址)写入长期档案。

保存。

4.3 浏览器设置

  • Cherry Studio → 设置 → 浏览器:开启 允许智能体控制浏览器。
  • 首次使用在智能体浏览器中手动登录剑鱼,登录态会保存在浏览器 profile。
  • 不要在同一浏览器里登录多个剑鱼账号,避免串号。

5. Step 3:准备目录与依赖

5.1 建目录

powershell 复制代码
$root = "D:\Tnotices"
New-Item -ItemType Directory -Force -Path $root | Out-Null
@("scripts","data","config","reports","docs") | ForEach-Object {
  New-Item -ItemType Directory -Force -Path (Join-Path $root $_) | Out-Null
}

路径可自定,但后文命令以 D:\Tnotices 为例。

5.2 检查依赖

powershell 复制代码
git --version
uv --version
uv run python --version

uv 通常在 C:\Users\<用户名>\.cherrystudio\bin\uv.exe。如果命令找不到,用完整路径或在系统 PATH 中加入该目录。


6. Step 4:写入配置与看板文件

在 D:\Tnotices 下创建以下文件。

6.1 config/settings.json

json 复制代码
{
  "gitea": {
    "base_url": "http://192.168.254.253:60006",
    "owner": "admin",
    "repo": "Tnotices",
    "branch": "main",
    "private": true
  },
  "region": ["四川", "西藏"],
  "close_after_days": 30,
  "urgent_days": 7,
  "keywords": [
    "服务器", "存储", "算力", "智算", "人工智能", "大模型",
    "高性能计算", "超算", "数据中心", "云计算", "云平台",
    "信创", "国产化", "网络安全", "网络设备", "机房",
    "信息化", "智慧城市", "智慧医院", "智慧校园",
    "容灾", "备份", "云桌面", "视频监控", "系统集成"
  ]
}

把 base_url、owner、repo 改成你的 Gitea 地址和账号。

6.2 .gitignore

gitignore 复制代码
.gitea_token
__pycache__/
*.pyc
.venv/
*.log
.DS_Store

6.3 start_dashboard.bat

bat 复制代码
@echo off
cd /d %~dp0
uv run python scripts\serve.py 8088
pause

6.4 scripts/serve.py

python 复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""本地预览 Tnotices 看板:uv run python scripts/serve.py [port]"""
import http.server
import socketserver
import sys
from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]
PORT = int(sys.argv[1]) if len(sys.argv) > 1 else 8088


class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, directory=str(ROOT), **kwargs)

    def end_headers(self):
        self.send_header("Cache-Control", "no-store")
        super().end_headers()


with socketserver.TCPServer(("0.0.0.0", PORT), Handler) as httpd:
    print(f"Tnotices dashboard: http://127.0.0.1:{PORT}/index.html")
    print(f"LAN: http://<本机IP>:{PORT}/index.html")
    httpd.serve_forever()

7. Step 5:部署核心脚本

核心脚本 scripts/tnotices.py 负责:导入、批次、更新、事件、状态重算、README/看板渲染、Gitea 建库与推送。

获取方式(三选一):

  1. 下载模板包 :仓库 dist/Tnotices_template_20261020.zip,解压到 D:\Tnotices(已含 scripts/config/docs/start_dashboard.bat,data 为空目录)。
  2. 从参考仓库复制 :把 scripts/tnotices.py 原样复制到 D:\Tnotices\scripts\。
  3. 按附录 A 手工创建 :见 docs/附录A-核心脚本.md。

创建后验证:

powershell 复制代码
cd D:\Tnotices
uv run python scripts\tnotices.py --help

应看到 import-csv / update / event / add / recompute / batch / render / init-repo / push 子命令。

关键设计:data/projects.json 是唯一数据源;README.md、index.html 都由脚本生成,不要手改,否则下次渲染会被覆盖。


8. Step 6:导入初始商机

8.1 CSV 模板

至少包含以下列(UTF-8 BOM,Excel 用"CSV UTF-8"保存):

csv 复制代码
序号,地区,项目名称,采购人,公告类型,预算(万元),发布时间,投标截止,产品线匹配,优先级,项目编号,采购人联系人/电话,代理机构,代理联系人/电话,报名截止,详情页URL,原文链接
1,四川-成都,示例AI算力服务器采购,某银行,招标,390,2026-10-12,2026-10-23 14:00,AI服务器/算力,A,EXAMPLE-001,张老师 / 028-00000000,某招标代理,李老师 / 028-11111111,2026-10-20,https://www.jianyu360.cn/nologin/content/xxx.html,https://example.com/notice/1

8.2 导入

powershell 复制代码
cd D:\Tnotices
uv run python scripts\tnotices.py import-csv --path "D:\path\to\your.csv"

说明:

  • 导入后所有项目状态为 watching,owner 为空,需要人工分配。
  • 预算列填纯数字,不要带千分位逗号(如 1150 而不是 1,150);"未披露"会转为空值。
  • 详情页 URL 用于生成 jianyu_id;原文链接用于首页跳转。

8.3 从零开始(可选)

不导入 CSV,直接让智能体按 config/daily_prompt.md 抓取新商机,用 add 子命令逐条新增。


9. Step 7:本地渲染与看板验收

powershell 复制代码
cd D:\Tnotices
uv run python scripts\tnotices.py recompute
uv run python scripts\tnotices.py render

生成:

  • README.md:项目清单、统计、今日变更、已完结
  • index.html:交互看板(数据已内嵌,可离线打开)

启动看板:

powershell 复制代码
.\start_dashboard.bat

浏览器访问 http://127.0.0.1:8088/index.html;局域网访问 http://<本机IP>:8088/index.html。也可以直接双击 index.html(数据已内嵌,无需服务)。

验收点:

  • 统计卡片数字与 data/projects.json 条数一致
  • 搜索、地区、状态、优先级筛选可用
  • 点击项目名能跳原文/剑鱼详情
  • 7 天内截止的行显示为橙色

10. Step 8:配置 Gitea 并推送

10.1 创建专用 Token(推荐)

Gitea → 右上角头像 → 设置 → 应用 → 生成令牌:

  • 令牌名称:tnotices-bot
  • 权限范围:write:repository、write:user(至少这两个;按 Gitea 版本可能叫 repo、user)

生成后只显示一次。不要写入仓库、不要发到聊天里。

10.2 配置环境变量

当前用户级(新开终端生效):

powershell 复制代码
[Environment]::SetEnvironmentVariable("GITEA_TOKEN", "你的令牌", "User")

当前会话临时生效:

powershell 复制代码
$env:GITEA_TOKEN = "你的令牌"

测试:

powershell 复制代码
$h = @{ Authorization = "token $env:GITEA_TOKEN" }
Invoke-RestMethod -Uri "http://192.168.254.253:60006/api/v1/user" -Headers $h | Select-Object login

返回你的 login 即成功。

10.3 备选:使用 Windows 凭据管理器

如果不想用 Token:

powershell 复制代码
git config --global credential.helper manager

第一次 git push 时输入 Gitea 用户名/密码,Windows 会保存;后续脚本自动使用。不要把密码写进脚本或 URL。

10.4 建库与首次推送

powershell 复制代码
cd D:\Tnotices
uv run python scripts\tnotices.py init-repo
uv run python scripts\tnotices.py push --message "init: Tnotices"

脚本会:

  1. 调 Gitea API 检查/创建仓库(默认私有)
  2. git init(如未初始化)
  3. 设置本地提交身份 Tnotices Bot <tnotices@local>
  4. git add/commit/push

验收:

  • 打开 http://<gitea>/<owner>/Tnotices,首页显示 README 项目清单
  • 仓库为私有
  • 提交历史有 init: Tnotices

如果 owner 是组织而不是个人,脚本的 /api/v1/user/repos 不适用;请先在 Gitea 手动建组织仓库,把 settings.json 的 owner 改成组织名,再执行 push。


11. Step 9:配置每日定时任务

11.1 准备每日提示词

把 config/daily_prompt.md 放到项目里(完整内容见 docs/附录B-每日任务提示词.md)。模板中的 D:\Tnotices、<owner>、<gitea> 请按实际环境替换。它定义了:

  • 滚动批次:每天最多 30 个项目
  • 变更/中标/异常/质疑四类判断
  • 新增商机的关键词与去重规则
  • recompute → render → push 收尾
  • 验证码/登录失效即停

11.2 在 Cherry Studio 建定时任务

Cherry Studio → 定时任务 → 新建:

项 值
名称 Tnotices 每日标讯跟进
时间 每天 08:30(cron 30 8 * * *)
智能体 标讯助手(四川/西藏)
会话 每次新建会话(避免上下文膨胀)
超时 30 分钟

提示词:

text 复制代码
执行 Tnotices 每日标讯跟进任务:

1. 读取并严格执行 D:\Tnotices\config\daily_prompt.md
2. 工作目录:D:\Tnotices
3. 检查 data/projects.json 中所有 status != closed 的项目,识别:更正/变更、中标/成交、废标/流标/终止、答疑/质疑
4. 抓取四川/西藏最近 1-3 天新商机,去重后新增
5. 执行 recompute → render → push
6. 在 reports/YYYY-MM-DD.md 写日报

硬性要求:
- 浏览器操作 ≤3 次/秒
- 遇到验证码/登录失效立即停止,不识别、不绕过、不反复提交
- 不编造数据,未披露字段写"未披露"
- 不打印账号密码或 Token
- 完成后回复:新增/更新/中标/异常数量 + 7 天内截止项目 + 需人工确认事项

11.3 首次手动跑一遍

不要等第二天。先在智能体对话里发:

text 复制代码
现在按 D:\Tnotices\config\daily_prompt.md 跑一次,限制检查 5 个项目,验证流程。

检查:

  • 是否生成 data/today_batch.json
  • 是否更新 reports/2026-10-20.md
  • 是否 push 成功
  • Gitea 首页是否有变化

11.4 时区说明

Cherry 的 cron 按本地时区执行;如果界面显示 UTC 时间,08:30 可能显示为 00:30Z。以实际下一次运行时间为准。


12. Step 10:每日巡检规则

12.1 状态机

状态 含义 进入条件
new 新发现 刚入库
watching 观察中 初始/待评估
evaluating 评估中 销售开始评估
preparing 投标准备 决定投,准备材料
submitted 已投标 已递交
result_pending 结果待出 投标截止已过
won 已中标 中标/成交公告
lost 未中标 结果公告未中标
failed 流标/废标 废标/流标
cancelled 已终止 终止公告
closed 已完结 中标公示满 30 天

12.2 事件类型

类型 触发 写入字段
created 新增项目 timeline
change 更正/变更/补遗/延期 bid_deadline、budget 等
question 答疑/澄清/质疑/投诉 next_action
award 中标/成交 winner、win_amount、award_date
anomaly 废标/流标/终止 status、原因
pipeline 采购意向/预告 不改变主状态
status 状态自动变更 status
closed 满 30 天自动完结 closed_at、closed_reason

12.3 检索优先级

  1. 项目编号(最精确)
  2. 项目名称全文(标题检索)
  3. 采购人 + 关键词(名称被截断时)

12.4 完结规则

recompute 每次执行:

  • 有 award_date 且 today - award_date >= 30 → closed
  • 投标截止已过且状态为 new/watching/evaluating/preparing/submitted → result_pending
  • 7 天内截止 → urgent=true

已完结项目不再进入每日批次,只在 README"已完结项目"里保留。


13. 日常使用

13.1 查看

  • Gitea 仓库首页:项目清单、统计、今日变更、已完结
  • 本地看板:start_dashboard.bat → http://127.0.0.1:8088/index.html
  • 日报:reports/YYYY-MM-DD.md

13.2 更新项目

powershell 复制代码
cd D:\Tnotices

# 改状态/负责人/优先级
uv run python scripts\tnotices.py update --id T20261020-001 --set status=preparing --set owner="张三" --set priority=A

# 回填中标
uv run python scripts\tnotices.py update --id T20261020-001 --set status=won --set winner="某某公司" --set win_amount_wan=390 --set award_date=2026-10-23

# 记录事件
uv run python scripts\tnotices.py event --id T20261020-001 --type change --title "更正公告" --detail "投标截止延至 2026-10-30" --date 2026-10-25 --source "https://..."

13.3 新增项目

准备 new.json:

json 复制代码
{
  "project_name": "某某医院智算中心服务器采购",
  "project_no": "SC-2026-001",
  "buyer": "某某医院",
  "agency": "某某招标代理",
  "region": "四川-成都",
  "industry": "医疗信息化",
  "budget_wan": 500,
  "publish_date": "2026-10-20",
  "bid_deadline": "2026-11-05 10:00",
  "status": "watching",
  "priority": "A",
  "source_url": "https://...",
  "jianyu_url": "https://...",
  "products": "AI服务器/存储",
  "owner": ""
}
powershell 复制代码
uv run python scripts\tnotices.py add --json new.json

13.4 每日收尾

powershell 复制代码
uv run python scripts\tnotices.py recompute
uv run python scripts\tnotices.py render
uv run python scripts\tnotices.py push --message "daily: 2026-10-21"

14. 数据规范

14.1 data/projects.json

数组,每个元素一个项目。关键字段:

字段 类型 必填 说明
id string 是 TYYYYMMDD-NNN
project_name string 是 项目名称
project_no string 否 项目编号,去重优先
buyer / agency string 是/否 业主/代理
region string 是 如 四川-成都
budget_wan number 否 预算(万元)
publish_date string 否 发布日
sign_deadline string 否 报名截止
bid_deadline string 否 投标截止/开标
status string 是 状态机
priority string 否 A/B/C
winner / win_amount_wan / award_date string/number/string 否 中标信息
source_url / jianyu_url string 否 原文/剑鱼详情
contacts object 否 {buyer, agency}
owner string 否 负责人
timeline array 是 事件列表
closed_at / closed_reason string 否 完结信息

14.2 data/events.jsonl

每行一个 JSON,只追加不改写:

json 复制代码
{"id":"T20261020-001","date":"2026-10-23","type":"award","title":"中标公告","detail":"中标:某某公司,390万","source":"https://..."}

14.3 编码

  • 所有 JSON/CSV/Markdown 用 UTF-8
  • Excel 导入的 CSV 用 CSV UTF-8(带 BOM)
  • PowerShell 5.1 读取 UTF-8 文件时显式加 -Encoding UTF8

15. 关键词矩阵(四川/西藏)

15.1 算力/AI

算力、智算、人工智能、AI、大模型、GPU、NPU、昇腾、鲲鹏、海光、国产GPU、智算中心、算力中心、算力平台、算力租赁、高性能计算、超算、HPC、推理、训练、智能体、AIGC、多模态

15.2 服务器/存储

服务器、机架式服务器、GPU服务器、AI服务器、推理服务器、信创服务器、国产服务器、C86服务器、ARM服务器、超融合、一体机、存储、分布式存储、全闪存、磁盘阵列、NAS、SAN、对象存储、存储扩容、备份、容灾、双活

15.3 数据中心/机房

数据中心、IDC、机房、机房建设、机房改造、机房租赁、模块化机房、微模块、机柜、冷通道、液冷、精密空调、UPS、动环监控

15.4 云/平台/信创

云计算、云平台、私有云、混合云、政务云、行业云、云桌面、虚拟化、容器、云原生、大数据平台、数据中台、数据湖、数据库、中间件、信创、国产化、自主可控、适配改造、迁移

15.5 网络/安全

交换机、路由器、防火墙、负载均衡、网络设备、校园网、园区网、SDN、网络安全、等保、密码应用、零信任、态势感知、视频监控、存储扩容

15.6 行业场景

  • 政府:数字政府、政务云、城市大脑、智慧城市、一网通办、雪亮工程、应急指挥
  • 医疗:智慧医院、HIS、PACS、影像云、医疗大数据、AI辅助诊断、医疗大模型
  • 教育:智慧校园、教育信息化、校园网、实训室、AI实验室、算力平台
  • 金融:信创、核心系统、容灾、双活、分布式存储、云平台、负载均衡
  • 能源/制造:工业互联网、智能矿山、数字孪生、边缘计算、工业质检

15.7 区域词

  • 四川:成都、绵阳、德阳、宜宾、泸州、南充、达州、乐山、凉山、阿坝、甘孜、眉山、遂宁、内江、自贡、广安、巴中、雅安、攀枝花、资阳、广元
  • 西藏:拉萨、日喀则、昌都、林芝、山南、那曲、阿里

优先用剑鱼的"地区"筛选,不要把地名写进关键词;地名只用于筛不到的重点城市补充检索。


16. 故障排查

16.1 模型不调用工具

  • 确认 icompify 模型支持 Function Calling
  • 确认 Cherry 里该模型"工具调用"开关已开
  • 换一个支持工具调用的模型测试
  • 系统提示词里明确写"请调用浏览器工具打开..."

16.2 uv 找不到

powershell 复制代码
& "$env:USERPROFILE\.cherrystudio\bin\uv.exe" --version

把 C:\Users\<用户名>\.cherrystudio\bin 加入 PATH,或所有命令用完整路径。

16.3 Gitea 401/403

  • 401:Token 错误/过期;重新生成,确认 Authorization: token <TOKEN>
  • 403:Token 权限不足;加 write:repository、write:user
  • 组织仓库:脚本只支持个人 /user/repos;先手动建组织仓库,改 owner 后 push

16.4 git push 要求输入密码

  • 配置 git config --global credential.helper manager,首次输入后保存
  • 或设置 GITEA_TOKEN:脚本的 API 与 git push 都会用它(通过 GIT_CONFIG_COUNT/http.extraHeader 注入,不写入 remote URL)。设置后无需再配 credential helper
  • 不要把 Token 写进 remote URL、脚本或提交文件

16.5 中文乱码

  • PowerShell 5.1 默认 ANSI:读取 UTF-8 文件用 Get-Content -Raw -Encoding UTF8
  • CSV 用 Excel 的"CSV UTF-8"保存
  • Python 脚本统一 encoding="utf-8"

16.6 8088 端口被占用

powershell 复制代码
netstat -ano | findstr :8088

换端口:uv run python scripts\serve.py 8090。

16.7 README 没更新

powershell 复制代码
uv run python scripts\tnotices.py render
uv run python scripts\tnotices.py push --message "render"

检查 data/projects.json 是否为合法 JSON;脚本渲染前会 recompute 并保存。

16.8 定时任务没跑

  • Cherry Studio 是否保持运行
  • 任务是否启用
  • cron 时区是否正确(08:30 本地时间)
  • 智能体是否还有浏览器/文件权限
  • 看任务历史与日志

16.9 剑鱼验证码

  • 立即停止,不要识别/绕过/反复提交
  • 在智能体浏览器中手动完成
  • 完成后再让智能体继续
  • 若频繁触发,降低频率、减少单日检查数量

16.10 详情页无结构化信息

  • 采购意向/招标计划常常没有联系人/代理
  • 以列表页字段为准,标记"详情页无结构化信息"
  • 不要编造联系人

17. 安全与合规

  1. 最小权限 Token :只给 write:repository、write:user;不要用 admin 密码。
  2. 私有仓库 :private: true;不要把客户联系人、报价策略放到公开仓库。
  3. 凭据不落盘 :.gitignore 排除 .gitea_token;不在提示词、日报、日志中打印 Token。
  4. 只读浏览:不提交表单、不报价、不注册、不购买会员、不绕过付费墙。
  5. 验证码即停:不识别、不绕过、不反复提交。
  6. 频率控制:浏览器 ≤3 次/秒;单日最多 30 个项目;不做全站遍历。
  7. 隐私:只记录公告公开的联系人;不写身份证、私人住址。
  8. 备份 :Gitea 提交历史即快照;建议每周打 tag 或导出 data/projects.json。

18. 复现验收清单

  • icompify 模型连接成功
  • 模型能调用浏览器工具打开 example.com
  • 智能体已创建,系统提示词已保存
  • 剑鱼已在智能体浏览器中登录
  • uv run python scripts\tnotices.py --help 正常
  • CSV 导入成功,data/projects.json 条数正确
  • recompute + render 生成 README/index.html
  • start_dashboard.bat 打开看板,筛选可用
  • Gitea Token 测试 /api/v1/user 成功
  • init-repo + push 成功,仓库首页显示 README
  • 定时任务已创建,下一次运行时间正确
  • 手动跑一次 5 个项目的小批次,日报生成、push 成功
  • 验证码/登录失效时智能体能停止并报告

附录

建议把本指南与三个附录一起放进 Gitea docs/ 目录,新同事按本文从 Step 1 走到 Step 10 即可复现。

相关推荐
钱多多_qdd6 天前
cherrystudio及workbuddy配置本地模型
ai·cherrystudio·workbuddy
大貔貅喝啤酒20 天前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea
zoutao981 个月前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea
大貔貅喝啤酒1 个月前
CentOS8 + Docker 部署Gitea
自动化测试·gitea·docker 部署gitea
大喵桑丶1 个月前
AlmaLinux 9 上基于 PostgreSQL + Nginx 部署高可用轻量级 Gitea 服务
nginx·postgresql·gitea
暮云星影2 个月前
git版本发布
git·gitee·github·gitea
暮云星影2 个月前
git仓库分支管理
git·gitee·github·gitea
康娜喵2 个月前
在Ubuntu26上使用Docker部署Gitea
docker·容器·gitea
Baron X3 个月前
Gitea Docker 部署教程
docker·gitea