{% extends "base.html" %} {% block title %}{{ name }} — News Harvester{% endblock %} {% block extra_head %} {% if auto_refresh %} {% endif %} {% endblock %} {% block content %}

{{ name }}

{% if continue_status and continue_status.running %}
{{ continue_status.mode | replace('resume', '续采') | replace('repair', '修复') }}任务运行中… (启动于 {{ continue_status.start }}) 页面每 10 秒自动刷新
{% endif %}
编辑配置
返回列表

Timer 信息

运行时间
{{ run_time }}
状态
{% if props.active == 'active' %} active {% else %} {{ props.active }} {% endif %}
上次触发
{{ props.last }}
下次触发
{{ props.next }}
{% if conf %}

栏目配置 ({{ name }}.conf)

{% for k, v in conf.items() %} {% endfor %}
{{ k }}{{ v }}
{% else %}

栏目配置

无独立配置,继承 default.conf

{% endif %} {% if business_result %}

采集结果

结果状态
{{ '成功' if business_result.status == 'SUCCESS' else '失败' }}
成功 / 失败 / 目标
{{ business_result.succeeded_count }} / {{ business_result.failed_count }} / {{ business_result.requested_count }}
{% for failure in business_result.failures %}

{{ failure.type }} · {{ failure.message }} {% if failure.url %}({{ failure.url }}){% endif %}

{% endfor %} {% for warning in business_result.warnings %}

提示:{{ warning }}

{% endfor %} {% if business_result.source_exhausted %}

已无更多新文章:{{ business_result.exhaustion_reason }}

{% endif %}
{% for article in business_result.articles %} {% set archive = article.archive if article.archive is defined else {} %} {% set archive_props = archive.get('properties', {}) %} {% endfor %}
文章状态正文长度分类 / 标签失败原因
{% if article.url.startswith('https://') or article.url.startswith('http://') %}{{ article.title or article.url }}{% else %}{{ article.title }}{% endif %}
预览归档原文与属性 {% if archive.get('loaded') %}
{{ archive.get('body', '') }}
查看 Obsidian 属性
{{ archive_props | tojson(indent=2) }}
{% elif article.body is defined %}

{{ article.summary | default('') }}

{{ article.body }}
{% else %}

未能读取归档原文{% if archive.get('error') %}:{{ archive.error }}{% endif %}

{% endif %}

归档:{{ article.archive_path or '未归档' }}

{{ '成功' if article.status == 'SUCCESS' else '失败' }} {% if archive.get('body_length') is not none %}{{ archive.body_length }} 字符{% elif article.body_length is defined %}{{ article.body_length }} 字符{% else %}—{% endif %} {{ archive_props.get('category', article.category | default('')) }}
{{ archive_props.get('tags', article.tags | default([])) | join(' · ') }}
{{ article.failure_type or '—' }}{% if article.failure_reason %}
{{ article.failure_reason }}{% endif %}{% for evidence in article.quality_evidence %}{% if evidence != article.failure_reason %}
{{ evidence }}{% endif %}{% endfor %}
查看统一 JSON
{{ business_result | tojson(indent=2) }}
{% elif legacy_result is not none %}

历史采集结果

此记录使用旧版文本格式,未经过新版正文质量核验。

{{ legacy_result }}
{% endif %} {% if log_info %}

最近运行

状态
{{ log_info.get('status', '?') }}
成本
{{ log_info.get('cost', '-') }}
耗时
{{ log_info.get('duration', '-') }}
Turns
{{ log_info.get('turns', '-') }}
Provider
{{ log_info.get('provider', '-') }}
修改时间
{{ log_info.get('mtime', '?') }}
{% if log_info.get('session') %}
Claude Session ID
{{ log_info.session }}
{% endif %}

运行日志 (.last.log)

{{ log_info.raw }}
{% else %}

最近运行

暂无运行记录

{% endif %} {% if json_meta %}

Claude JSON 元数据

总成本
${{ json_meta.cost }}
Turns
{{ json_meta.turns }}
API 耗时
{{ json_meta.duration_api }} ms
is_error
{{ json_meta.is_error }}
Terminal
{{ json_meta.terminal }}
{% if json_meta.session_id and json_meta.session_id != '-' %}
Session ID
{{ json_meta.session_id }}
{% endif %} {% if json_meta.usage %}

Token 用量

{% for k, v in json_meta.usage.items() %} {% endfor %}
类型Token 数
{{ k }}{{ v }}
{% endif %} {% if json_meta.permission_denials %}

权限拒绝 ({{ json_meta.permission_denials|length }} 次)

{{ json_meta.permission_denials | tojson(indent=2) }}
{% endif %}

来源: {{ json_info.path }}

{% endif %}

历史执行记录

{% if history_runs %}
{% for run in history_runs %} {% endfor %}
运行时间类型状态文章(成功 / 失败 / 目标)Provider耗时
{{ run.run_at }} {{ run.mode }} {{ '成功' if run.status == 'SUCCESS' else '失败' if run.status == 'FAILED' else '旧版记录' if run.status == 'LEGACY' else run.status }} {% if run.requested_count is not none %}{{ run.succeeded_count }} / {{ run.failed_count }} / {{ run.requested_count }}{% else %}—{% endif %} {{ run.provider }} {{ run.duration }} 查看
{% else %}

暂无可读取的历史执行记录

{% endif %} {% endblock %}