04-16 00:00 · AI,Google,长上下文,大模型,AI
Google发布Gemini 2.0,支持200万tokens上下文,在处理长文档方面优势明显
AI for every
developer
Unlock AI models to build innovative apps and transform development workflows with tools across platforms.
Explore models in Google AI StudioStart building
Get started building with cutting-edge AI models and tools
Own your AI with Gemma open models
Build custom AI solutions and retain complete control. Tailor Gemma models, built from the same research and technology as Gemini, with your own data.
Build with GemmaRun AI models on-device with Google AI Edge
Build and deploy edge ML solutions across mobile, web, and embedded applications, from simple APIs to custom pipelines, with support across all major frameworks.
Explore Google AI EdgeBoost productivity with AI code assistance
Agents
Gemini empowers you to be more productive by acting as your coding agent. It can plan and execute tasks, freeing you to focus on what matters most.
Analysis and insights
Improve code quality and fix issues with code analysis. Get insights, suggestions, and code snippets within your existing development environment.
Code generation
Gemini adds AI-powered code completion with natural language understanding to create entire code blocks from your descriptions, revolutionizing your development workflow.
Code chat
Ask development questions and receive responses that help you reduce errors, solve problems, and become a better developer. Gemini understands the context of your environment to give you the best responses for your questions.
Explore apps built with the Gemini API
Join the community
Tap into the power of our community forum. Get answers, build together, and be part of the conversation.
▸ 展开全文
04-16 00:00 · AI,Anthropic,模型评测,大模型,AI
最新评测显示Claude 3.5在复杂推理任务上表现超过GPT-4,代码能力显著提升
Securing critical software for the AI era
Introducing a smarter, more capable Opus for coding, agents, vision, and complex professional work.
No ads. No sponsored content. Just genuinely helpful conversations.
The first AI-assisted drive on another planet. Claude helped NASA’s Perseverance rover travel four hundred meters on Mars.
▸ 展开全文
04-16 00:00 · AI,技术,HackerNews,大模型,AI
Does Gas Town 'steal' usage from users' LLM credits to improve itself?
Does Gas Town 'steal' usage from users' LLM credits & paid services to improve itself? #3649
Description
gastown-release.formula.toml
and beads-release.formula.toml
causes local Gas Town installation to review open Issues on github.com/steveyegge/gastown/actions
, burning through usage on subscribed LLMs and credits on LLMs without the user's explicit direction.
One assumes usage is being used for their own work that Gas Town is directed toward, but instead there is this functionality in the program that takes from users to work on Gas Town issues.
If it's not clear & evident to the reader:
Your Claude credits / usage may be funding fixes to the maintainer's codebase, and your GitHub account submitted PRs to his repo. This happens because GasTown ships with a "contribute back to upstream" workflow baked into the formula set. Your GasTown instance could run polecats that fix bugs in the GasTown software itself and submitting those fixes back upstream as PRs using your GitHub account and Claude credits / usage.
Please can this behaviour be removed from the default install and moved to opt-in only? I understand the desire to want to improve the tool, but the visibility of this is low to users testing out GasTown and I doubt many of the people bleeding credits of their own hobby funds would be happy to find that it's going to this function without express consent beyond an install.
To quote Claude's own investigation into the behaviour:
To summarise what the investigation found across both the source code and the public documentation:
What's actually happening: Your GasTown install shipped with formulas (gastown-release.formula.toml, beads-release.formula.toml) that are designed to push releases and tags directly to steveyegge/gastown using your git credentials. Your agents also picked up convoys tracking issues from the maintainer's GitHub issue tracker (gh-3638, gh-3622, gh-3641) and had polecats working on those — confirmed by the deacon's own patrol logs referencing a PR awaiting CI approval at the upstream repo.
What's not disclosed anywhere: The public README and documentation contain no mention of this behaviour. There's no disclosure that installing GasTown may result in your AI credits and GitHub account being used to fix bugs in and release the GasTown software itself. There's no opt-in, no opt-out, no warning.
Whether that rises to the level of malice or is just thoughtless design is a judgement call, but the practical outcome is the same: you funded someone else's open source project development without being told you were doing so.
e:
My own digging suggests it's likely due to the mayor.md having these lines:
and that Gas Town is proactively raising bugs to the hardcoded formula github URLs in the formula we've been talking about. With a little LLM overreach, this is ending up with cycles being used by the agents to proactively resolve bugs in the main software.
▸ 展开全文
04-15 05:55 · API成本突变,供应商风险,运营成本激增,技术政策争议,大模型依赖
Anthropic 于 3月6日将 Claude Code 的缓存 TTL 从 1 小时降级为 5 分钟,导致用户成本增加 25.9%,配额消耗异常。Hacker News 帖子获 547 分、421 条评论,揭露这一静默操作。
## 核心事实
**时间线**:
- 2月1日‑3月5日:1 小时 TTL(官方默认行为)
- 3月6‑7日:5 分钟缓存开始出现(过渡期)
- 3月8日‑4月11日:5 分钟 TTL 主导(83‑93%)
**成本影响**(基于两台机器、119,866 次 API 调用):
- 3 月多付 .09(Claude‑Sonnet‑4‑6),浪费 25.9%
- 3 月多付 ,198.49(Claude‑Opus‑4‑6),浪费 25.9%
- 总多付金额:.08(17.1%)
## 网友评论摘要
1. **时间巧合**:"这与 Anthropic 3月26日的高峰期限流公告时间吻合——TTL 降级是否是对基础设施负载激增的应对?"
2. **信任危机**:"Anthropic 正在留下太多证据……证明损害和模式已经变得轻而易举。"
3. **技术猜测**:"他们可能根本没有仪表盘监控这类指标,全凭感觉调配置。"
4. **实际体验**:"以前在 Max 计划下能同时处理 3‑5 个项目,现在连一个项目都完不成,5 小时会话就被锁定。"
## 行业意义
1. **成本转嫁**:AI 服务商通过技术参数的静默调整,将基础设施压力转嫁给用户
2. **透明度缺失**:未在更新日志或公告中说明,依赖用户反向工程发现
3. **定价策略**:缓存分级定价(5 分钟 vs 1 小时)成为新的隐性收入来源
4. **竞争态势**:可能形成行业潜规则
## 对中国的启示
1. **技术自主**:缓存、配额、计费系统必须自主可控
2. **透明运营**:技术参数调整应提前公告,维护用户信任
3. **成本监控**:企业需建立 API 成本监控体系,实时检测异常消耗
4. **国产替代**:推动国产大模型在开发工具链的成熟
5. **合规风险**:静默调价可能触发消费者权益或合同违约争议
▸ 展开全文
04-15 00:00 · AI开发工具,开源,凭证安全,编程代理,自动化
Show HN: Kontext CLI – Credential broker for AI coding agents in Go
Kontext CLI is an open-source command-line tool that wraps AI coding agents with enterprise-grade identity, credential management, and governance — without changing how developers work.
Why we built it: AI coding agents need access to GitHub, Stripe, databases, and dozens of other services. Today, teams copy-paste long-lived API keys into .env
files and hope for the best. Kontext replaces that with short-lived, scoped credentials that are injected at session start and gone when the session ends. Every tool call is logged. Every secret is accounted for.
How it works: On first run, kontext start
authenticates you, bootstraps the shared Kontext CLI application for your org, creates a local .env.kontext
file if needed, opens hosted connect for any missing preset providers, exchanges placeholders for short-lived tokens via RFC 8693 token exchange, and launches your agent with those credentials injected. When the session ends, credentials expire automatically.
brew install kontext-security/tap/kontext
If you prefer a direct binary install, download the latest GitHub Release instead:
tmpdir="$(mktemp -d)" \
&& gh release download --repo kontext-security/kontext-cli --pattern 'kontext_*_darwin_arm64.tar.gz' --dir "$tmpdir" \
&& archive="$(find "$tmpdir" -maxdepth 1 -name 'kontext_*_darwin_arm64.tar.gz' -print -quit)" \
&& tar -xzf "$archive" -C "$tmpdir" \
&& sudo install -m 0755 "$tmpdir/kontext" /usr/local/bin/kontext
Then, from any project directory with Claude Code installed:
kontext start --agent claude
That's it. On first run, the CLI handles everything interactively: login, .env.kontext
creation, provider linking when needed, credential resolution, and agent launch.
Run kontext logout
any time to clear the stored OIDC session from your system keyring.
kontext start --agent claude
- Authenticates — opens browser for OIDC login, stores refresh token in system keyring, and lets you clear it later with
kontext logout
- Creates a session — registers with the Kontext backend, visible in the dashboard
- Syncs local env config — creates or updates local
.env.kontext
with managed preset placeholders - Resolves credentials — reads
.env.kontext
, exchanges placeholders for short-lived tokens - Opens hosted connect when needed — if GitHub or Linear still need linking, opens the providers page and retries resolution
- Launches the agent — spawns Claude Code with credentials injected as env vars + governance hooks
- Captures hook events — PreToolUse, PostToolUse, and UserPromptSubmit events streamed to the backend
- Tears down cleanly — session ended, credentials expired, temp files removed
- One command to launch Claude Code:
kontext start --agent claude
— no config files, no Docker, no setup scripts - Ephemeral credentials: short-lived tokens scoped to the session, automatically expired on exit. No more long-lived API keys in
.env
files - Managed local env file: the CLI creates and updates a local
.env.kontext
with managed preset placeholders - Governance telemetry: Claude hook events are streamed to the backend with user, session, and org attribution
- Secure by default: OIDC authentication, system keyring storage, RFC 8693 token exchange, AES-256-GCM encryption at rest
- Lean runtime: native Go binary, no local daemon install, no Node/Python runtime required
- Update notifications: on
kontext start
, a background check queries the public GitHub releases API (cached for 24h, never blocks startup). Disable withKONTEXT_NO_UPDATE_CHECK=1
The CLI creates .env.kontext
locally on first run:
GITHUB_TOKEN={{kontext:github}}
LINEAR_API_KEY={{kontext:linear}}
This file is local. Keep .env.kontext
out of source control in repos that do not already ignore it. The CLI may append more preset provider placeholders later if your org attaches them to the shared Kontext CLI application. Literal values you add stay untouched. Providers connected after the agent has already started become available on the next kontext start
.
Cursor and Codex support are planned, but they are not shipped in this repo yet.
kontext start --agent claude
│
├── Auth: OIDC refresh token from keyring
├── ConnectRPC: CreateSession → session in dashboard
├── Sidecar: Unix socket server (kontext.sock)
│ └── Heartbeat loop (30s)
├── Hooks: settings.json → Claude Code --settings
├── Agent: spawn claude with injected env
│ │
│ ├── [PreToolUse] → kontext hook → sidecar → backend
│ ├── [PostToolUse] → kontext hook → sidecar → backend
│ └── [UserPromptSubmit] → kontext hook → sidecar → backend
│
└── On exit: EndSession → cleanup
Go sidecar: A lightweight sidecar process runs alongside the agent and communicates over a Unix socket. Hook handlers send normalized events through the sidecar so the CLI can keep agent-specific logic out of the backend contract.
Governance telemetry: Session lifecycle and hook events flow to the Kontext backend, powering the dashboard with sessions, traces, and audit history. The CLI captures what the agent tried to do and what happened, but ne
▸ 展开全文
04-15 00:00 · 技术故障,邮件服务,企业服务,运维,Hacker News
Troubleshooting Email Delivery to Microsoft Users
Troubleshooting Email Delivery to Microsoft Users
On Feb 24, 2026 we started to see a rise in user complaints saying they're not receiving our emails. They all had one in thing in common: Microsoft as their email provider. Since I'd never encountered this before, my first reaction was to check my Sendgrid logs for details. According to the logs, emails to Hotmail, Live, MSN, and Outlook email addresses were being Deferred
. Emails to other email addresses were flowing normally. Digging deeper, Sendgrid showed this reason for the deferral:
451 4.7.650 The mail server [redacted] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://aka.ms/postmaster (S775) [Name=Protocol Filter Agent][AGT=PFA][MxId=redacted]
This raised even more questions. First, no emails were being delivered to Microsoft users at all. It wasn't a 'temporary rate limit'. It was more like a temporary ban. For how long? Unclear. And due to IP reputation? Sendgrid showed a 99% sending reputation. I opened Gmail Postmaster Tools and the spam rate looked normal. I was following all the best practices with SPF, SKIM, and DMARC. I also hadn't made any changes to my email setup recently.
A quick Google search for this error code led me to this: https://learn.microsoft.com/en-us/answers/questions/5786144/all-sending-ips-temporarily-rate-limited-451-4-7. Interestingly, this was posted less than 24 hours ago. Seems like I wasn't alone. This led me to believe that the problem lay with Microsoft and not me; either an outage or a misconfiguration on their end was penalizing legitimate senders. Surely, it would resolve itself...
Email deliverability is crucial for the smooth running of our business. We send ~350k emails per month of which ~39k emails are transactional in nature (login, billing, password reset, etc...). Currently, all these emails are sent from two dedicated IPs irrespective of whether the email is transactional or not. Both IPs were being rate limited.
Complaints were flowing in on Helpscout. I first instructed my CX reps to create a saved reply to calm users down. Lucky for us, emails sent via Helpscout don't go through our Sendgrid IPs.
Hi {%customer.firstName,fallback=there%},
It appears Microsoft is throttling some of our emails which is preventing the email from reaching your inbox in a timely manner.
We recommend waiting for 24 hours. If you still haven't received the email, please reply back.
We apologize for the inconvenience.
Even though I firmly believed this was a Microsoft problem which would eventually fix itself, I couldn't rest easy knowing this was happening. So I busied myself with research about email deliverability to Microsoft users. I've picked up many email deliverability quirks during times of crisis like this. This time, I learned that Microsoft has a reputation for being hypersensitive compared to other email providers like Gmail.
I also learned about SNDS, Microsoft's version of Gmail Postmaster Tools, and immediately created an account. This allowed me to confirm my IP reputation from Microsoft's perspective. As I expected, everything was normal. Complaint rate was < 0.1% and days leading up the incident showed all green boxes, no red flags. This further convinced me it was a Microsoft issue.
Nevertheless, some mysterious inner drive prevented me from just resigning to Microsoft to fix the problem or lift the ban. It bothered me that loyal users of my site were being affected, and I couldn't remedy it immediately.
As a next step, I emailed Microsoft via their support portal: https://olcsupport.office.com/. I made sure to include as much relevant information as possible, including a subset of Sendgrid logs. This also forced me to clarify my understanding of the issue. I hit submit, not very optimistic that I'd hear back anytime soon.
The process of gathering all the evidence and submitting that ticket brought my attention to something I had ignored earlier. The error said has been temporarily rate limited due to IP reputation
. So far, I had been focused on the IP reputation
part of that message. But during my research on Microsoft deliverability, I learned that senders can be rate limited for other reasons too, most notably spiky send traffic. Part of their motivation is to contain a potential threat before it does more harm. A temporary ban, like the one I was experiencing, fit into this theory.
We send out a weekly personalized newsletter. We split the sends into four batches, Monday through Thursday, to spread out the traffic. Each batch is sent as fast as our system can call Sendgrid's Mail API. We don't throttle. And I confirmed with Sendgrid's support team that they don't throttle either.
Is it possible Microsoft imposed a temporary ban on my IPs after it saw a sudden spike in emails originating from them?
SELECT
DATE_TRUNC('minute', created_at) AS minute_group,
COUNT(*)
FROM notifications
WHERE
email ~ 'hotmail|live|msn|outlook' AND
DATE(created_at) <= '2026-
▸ 展开全文
04-15 00:00 · 开源,AI开发工具,全栈框架,技术发布,开发者社区
Show HN: Plain – The full-stack Python framework designed for humans and agents
The Python web framework for building apps.
A familiar foundation, reimagined for humans and agents.
mkdir my-app && cd my-app && claude "$(curl -sSf https://plainframework.com/start.md)"
Also works with Codex, Amp, OpenCode, or your agent of choice.
Explicit, typed, and predictable. What's good for humans is good for agents.
Here's what Plain code looks like:
# app/users/models.py
from plain import postgres
from plain.postgres import types
from plain.passwords.models import PasswordField
@postgres.register_model
class User(postgres.Model):
email: str = types.EmailField()
password: str = PasswordField()
display_name: str = types.CharField(max_length=100)
is_admin: bool = types.BooleanField(default=False)
created_at: datetime = types.DateTimeField(auto_now_add=True)
query: postgres.QuerySet[User] = postgres.QuerySet()
model_options = postgres.Options(
constraints=[
postgres.UniqueConstraint(fields=["email"], name="unique_email"),
],
)
Views are class-based:
# app/users/views.py
from plain.views import DetailView
from .models import User
class UserDetail(DetailView):
template_name = "users/detail.html"
def get_object(self):
return User.query.get(pk=self.url_kwargs["pk"])
URLs use a Router
class:
# app/users/urls.py
from plain.urls import Router, path
from . import views
class UsersRouter(Router):
namespace = "users"
urls = [
path("<int:pk>/", views.UserDetail),
]
Plain projects include built-in tooling that agents use automatically.
Rules — Always-on guardrails stored in project rules files (e.g. .claude/rules/
for Claude Code). Short files (~50 lines) that prevent the most common mistakes.
Docs — Full framework documentation, accessible on demand from the command line:
plain docs models # full docs
plain docs models --section querying # one section
plain docs models --api # typed signatures only
plain docs --search "queryset" # search across all packages
Skills — End-to-end workflows triggered by slash commands:
/plain-install
— add a new package and walk through setup/plain-upgrade
— bump versions, read changelogs, apply breaking changes, run checks/plain-optimize
— capture performance traces, identify slow queries and N+1 problems, apply fixes/plain-bug
— collect context and submit a bug report as a GitHub issue
All commands run with uv run
(e.g. uv run plain dev
).
plain dev
— start dev server with auto-reload and HTTPSplain fix
— format and lint Python, CSS, and JS in one commandplain check
— linting, preflight, migration, and test validationplain test
— run tests (pytest)plain docs --api
— public API surface, formatted for LLMs
Plain is opinionated. These are the technologies it's built on:
- Python: 3.13+
- Database: Postgres
- Templates: Jinja2
- Frontend: htmx, Tailwind CSS
- Python tooling: uv (packages), ruff (lint/format), ty (type checking) — all from Astral
- JavaScript tooling: oxc (lint/format), esbuild (bundling)
- Testing: pytest
30 first-party packages, one framework. All with built-in docs.
Foundation:
- plain — core framework
- plain.postgres — database ORM
- plain.auth — authentication
- plain.sessions — session storage
Backend:
- plain.api — REST APIs
- plain.jobs — background jobs
- plain.email — sending email
- plain.cache — caching layer
- plain.redirection — URL redirects
- plain.vendor — vendored dependencies
Frontend:
- plain.htmx — dynamic UI
- plain.tailwind — CSS framework
- plain.elements — HTML components
- plain.pages — static pages
- plain.esbuild — JS bundling
Development:
- plain.dev — local server
- plain.pytest — testing helpers
- plain.toolbar — debug toolbar
- plain.code — code formatting
- plain.portal — remote shell and file transfer
- plain.tunnel — dev tunneling
- plain.start — project starter
Production:
- plain.admin — database admin
- plain.observer — request tracing
- plain.flags — feature flags
- plain.scan — security scanning
- plain.pageviews — analytics
- plain.support — support tickets
Users:
- plain.passwords — password auth
- plain.oauth — social login
- plain.loginlink — magic links
Plain is a fork of Django, driven by ongoing development at PullApprove — with the freedom to reimagine it for the agentic era.
- Docs: https://plainframework.com/docs/
- Source: https://github.com/dropseed/plain
- Getting started: https://plainframework.com/start/
- License: BSD-3
▸ 展开全文
04-15 00:00 · AI工具平民化,浏览器插件,提示词工程,用户体验优化,轻量化AI
Turn your best AI prompts into one-click tools in Chrome
Turn your best AI prompts into one-click tools in Chrome
People are using AI in Chrome to help them get more done on the web — whether that’s answering questions, comparing information or clarifying concepts.
Until now, repeating an AI task — like asking for ingredient substitutions to make a recipe vegan — meant re-entering the same prompt as you visited different pages. To make this easier, we’re launching Skills in Chrome, which lets you save and reuse your most helpful AI prompts and run them with a single click.
Build your own one-click workflows
When you write a prompt that you’ll want to use again, you can save it as a Skill directly from your chat history. The next time you need it, select your saved Skill in Gemini in Chrome by typing forward slash ( / ) or clicking the plus sign ( + ) button, and your Skill will run on the page you’re viewing, along with any other tabs you select. You can edit your saved Skills and create new ones at any time.
Early testers have used Skills in Chrome to create personalized and powerful workflows for a wide range of tasks. Here are just a few examples.
- Health & Wellness: quickly calculating protein macros for any recipe
- Shopping: generating side-by-side spec comparisons across multiple tabs
- Productivity: scanning lengthy documents for important information
Get started with our Skills library
We’re also launching a library of ready-to-use Skills for common tasks and workflows.
Want to break down the ingredients of a product you’re viewing online? Or select the perfect gift from multiple options by cross-referencing your budget with the recipient’s interests? We wrote Skills that do these things and more. If you find one that looks interesting, you can add it as a saved Skill and give it a try. And if you want to customize it to better fit your needs, you can edit the Skill and update the prompt.
Stay in control
Skills are built on Chrome’s foundation of security and privacy, and they utilize the same safeguards we apply to prompts in Gemini in Chrome. That means a Skills prompt will ask for confirmation before taking certain actions, such as adding an event to your calendar or sending an email. And Skills benefit from Chrome’s layered protections, including automated red-teaming and auto-update capabilities.
Starting today, we’re rolling out Skills to Gemini in Chrome on 1 , helping you streamline your AI-powered browsing. Your saved Skills are available on any signed-in Chrome desktop device and can be managed by typing forward slash ( / ) in Gemini in Chrome and then clicking the compass icon.
▸ 展开全文
04-14 00:01 · 中东,局势,AlJazeera,中东
Trump draws criticism from church leaders and conservatives over AI-Jesus image and pope remarks.
US President Donald Trump is facing growing backlash after posting an AI-generated image of himself as a Jesus-like figure and launching a series of social media attacks on Pope Leo XIV, drawing criticism from across the Christian political spectrum.
The image, shared on Trump’s Truth Social platform on Sunday and deleted on Monday, showed him in a white robe placing a hand on a man’s head in a scene resembling a healing. It was posted after a separate message in which Trump criticised the pope, calling him “weak on crime” and “terrible for foreign policy”.
Recommended Stories
list of 3 items- list 1 of 3Trump and Hegseth invoke God and religion in Iran war press conference
- list 2 of 3Pope Leo slams Trump’s threat that Iran’s ‘civilisation will die’
- list 3 of 3Pope Leo says he does not fear Trump after attack over Iran peace appeal
Later, Trump told reporters that, though he had posted the image, he thought it depicted him “as a doctor”.
“And had to do with the Red Cross as a Red Cross worker, which we support. And only the fake news could come up with that one,” he said.
He also said he does not “want a Pope who criticises the President of the United States”.
“I don’t want to get into a debate with him,” Pope Leo said on Monday en route to Algiers, where the first US-born pontiff is beginning an 11-day visit to four African countries.
“I will continue to speak out loudly against war, looking to promote peace, promoting dialogue and multilateral relationships among the states to look for just solutions to problems,” Pope Leo said.
“Too many people are suffering in the world today. Too many innocent people are being killed. And I think someone has to stand up and say there’s a better way.”
‘Pope Leo is not his rival’
Tensions between the White House and the Vatican have been building for months, particularly over the US administration’s hardline immigration policies, its military actions, and the US-Israel war on Iran.
Senior Catholic leaders in the US also pushed back against Trump’s remarks on the pope.
“I am disheartened that the President chose to write such disparaging words about the Holy Father. Pope Leo is not his rival; nor is the Pope a politician,” Archbishop Paul S Coakley, president of the US Conference of Catholic Bishops, said in a statement.
“He is the Vicar of Christ who speaks from the truth of the Gospel and for the care of souls,” Coakley added.
In Las Vegas, Archbishop George Leo Thomas said he was “grateful to God for sending us Pope Leo XIV, who is willing to speak truth to power just when we need him the most”.
“Pope Leo is calling for dialogue over diatribe, prayer over politics, and diplomacy above destruction,” Thomas added.
Internationally, Trump’s remarks have also drawn condemnation. Italian Prime Minister Giorgia Meloni said the US president’s attack on Pope Leo was “unacceptable”.
“I find President Trump’s words towards the Holy Father unacceptable. The pope is the head of the Catholic Church, and it is right and normal for him to call for peace and to condemn every form of war,” she said in a statement.
Criticism from conservatives
The backlash was not limited to church leaders, with several conservative figures also criticising Trump’s posts, particularly the AI-generated image.
Brilyn Hollyhand, a former co-chair of the Republican National Committee Youth Advisory Council, wrote on X:
“This is gross blasphemy. Faith is not a prop. You don’t need to portray yourself as a saviour when your record should speak for itself.”
Riley Gaines, a FOX News host, a former collegiate swimmer and outspoken critic of transgender athletes in women’s sports who has appeared with Trump at rallies, also questioned the post.
“Does he actually think this?” she wrote. “Either way, two things are true: 1) a little humility would serve him well, 2) God shall not be mocked.”
Megan Basham, a columnist for the conservative outlet Daily Wire, described the post as “OUTRAGEOUS blasphemy”.
“I don’t know if the President thought he was being funny or if he is under the influence of some substance or what possible explanation he could have for this,” she wrote.
She demanded Trump “take this down immediately and ask for forgiveness from the American people and then from God”.
Isabel Brown, also of the Daily Wire, said the image was “disgusting and unacceptable”, adding that “nothing matters more than Jesus” and arguing it reflected a misunderstanding of what she described as a renewed embrace of Christian faith in the United States.
The backlash also extended to Democrats, with Senator Bernie Sanders condemning Trump’s comments as “egomaniacal”.
“Trump is now attacking the pope for speaking out against war while posting images of himself as a messianic figure,” he wrote on X.
“This is not only offensive. It is deranged, egomaniacal behaviour.”
Trump’s support among Christian voters
Trump, who does not attend church regularly, secured strong support from Christian voters in the 2024 election, including a
▸ 展开全文
04-14 00:01 · 中东,局势,AlJazeera,中东
Trump suggests openness to making a deal with Iran before ceasefire ends, as Hezbollah’s chief says diplomacy ‘futile’.
Live updates,
Iran war live: US blockade of Hormuz begins, Hezbollah rejects Israel talks
Trump suggests openness to making a deal with Iran before ceasefire ends, as Hezbollah’s chief says diplomacy ‘futile’.
▸ 展开全文